DE102022100815A1 - Lautstärkensteuerung für audio- und videokonferenzanwendungen - Google Patents

Lautstärkensteuerung für audio- und videokonferenzanwendungen Download PDF

Info

Publication number
DE102022100815A1
DE102022100815A1 DE102022100815.0A DE102022100815A DE102022100815A1 DE 102022100815 A1 DE102022100815 A1 DE 102022100815A1 DE 102022100815 A DE102022100815 A DE 102022100815A DE 102022100815 A1 DE102022100815 A1 DE 102022100815A1
Authority
DE
Germany
Prior art keywords
participant
user
representation
volume level
user interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022100815.0A
Other languages
English (en)
Inventor
Henning Lysdal
Ruthie Lyle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102022100815A1 publication Critical patent/DE102022100815A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

In verschiedenen Beispielen kann, wenn ein lokaler Benutzer eine Instanz einer Videokonferenz-Anwendung initiiert, dem Benutzer eine Benutzerschnittstelle (UI) bereitgestellt werden, die sowohl ein Icon anzeigt, das zu dem Benutzer korrespondiert, als auch mehrere andere Icons, die zu Teilnehmern in der Instanz der Videokonferenz-Anwendung korrespondieren. Wenn die Benutzer sich unterhalten, kann der lokale Benutzer finden, dass ein spezifischer Teilnehmer verglichen mit den anderen entfernten Benutzern laut spricht. Der lokale Benutzer kann dann ein Icon auswählen, das zu dem spezifischen Teilnehmer korrespondiert und das Icon weg von dem Icon des lokalen Benutzers im UI bewegen. Basierend auf dem Bewegen des Icons des entfernten Benutzers weg von dem Icon des Benutzers, kann das System die Ausgabelautstärke der Audiodaten für den Teilnehmer reduzieren. Ferner kann, wenn der lokale Benutzer das Teilnehmericon näher an das Icon des lokalen Benutzers bewegt, die Lautstärke für den Teilnehmer vergrößert werden.

Description

  • HINTERGRUND
  • Benutzer von Mehrparteien-Anwendungen - wie beispielweise Online-Videokonferenzen, Game-Streaming-Services, Video-Streaming-Services usw. - finden es oft schwierig, ihre Aufmerksamkeit auf einen Sprecher oder einen Teilnehmer zu konzentrieren, wenn mehrere Teilnehmer gleichzeitig sprechen, oder wenn verschiedene Teilnehmer auf verschiedenen Lautstärkenpegeln sprechen. Zum Beispiel können zwei Teilnehmer gleichzeitig sprechen, aber einer könnte im Vergleich zu einem leiseren Teilnehmer sehr laut sprechen. In diesem Fall kann ein Benutzer, der den Audiostream empfängt, Schwierigkeiten haben, den leiseren Teilnehmer zu hören und/oder zu verstehen, insbesondere wenn beide Teilnehmer gleichzeitig sprechen. Während der Benutzer die Ausgabelautstärke für alle Teilnehmer des Streams erhöhen oder senken kann, wird die Lautstärke für jeden einzelnen Teilnehmer des Streams durch Faktoren außerhalb der Steuerung des Benutzers bestimmt - wie beispielsweise wie laut Teilnehmer sprechen und/oder wo die anderen Teilnehmer ihre Mikrofone relativ zu sich selbst setzen. Infolgedessen muss der empfangende Benutzer versuchen, das Wortgefecht zu entschlüsseln, leisere Teilnehmer bitten lauter zu sprechen oder lautere Teilnehmer leiser zu sprechen, und/oder versuchen, die Reihenfolge zu steuern, in der die Teilnehmer sprechen, so dass es weniger Wortgefechte gibt. Diese Optionen können jedoch für einen Benutzer unbequem sein oder sind nicht verfügbar, beispielsweise wenn der Benutzer ein Teilnehmer ist, ohne Zugang zu Mikrofonfunktionen oder anderen Kommunikationsmitteln, um ihre Erfahrung mit den Lautstärkepegeln anderer Teilnehmer zu vermitteln.
  • ZUSAMMENFASSUNG
  • Ausführungsbeispiele der vorliegenden Offenbarung betreffen eine positionsbasierte Lautstärkensteuerung für Audio- und Videokonferenzen. Systeme und Verfahren werden offenbart, die aktualisierte Lautstärkensettings auf einen Anwendungsteilnehmer anwenden, basierend auf Manipulationen an einem Teilnehmericon. Zum Beispiel und im Gegensatz zu konventionellen System, wie beispielsweise die oben beschriebenen, modifizieren Systeme und Verfahren der vorliegenden Offenbarung automatisch eine Lautstärkenausgabe für Audiodaten, die zu einem entfernten Teilnehmer korrespondieren (z.B. andere Benutzer innerhalb der Instanz der Anwendung), wenn ein lokaler Benutze ein Icon (z.B. Miniaturbild, Kachel (tile), Videospeisung (video feed), Bild, Avatar, graphisches Bild oder andere Repräsentation), das mit dem entfernten Teilnehmer assoziiert ist, bewegt (z.B. auf ein Icon zu oder von einem Icon weg, welches mit dem lokalen Benutzer assoziiert ist) oder auf andere Weise manipuliert (z.B. verkleinert, um eine Lautstärke zu reduzieren, oder vergrößert, um eine Lautstärke zu vergrößern).
  • Als ein nicht beschränkendes Beispiel kann, wenn ein lokaler Benutzer eine Instanz einer Videokonferenz-Anwendung initiiert, dem Benutzer eine Benutzerschnittstelle (user interface, UI) bereitgestellt werden, die sowohl ein Icon (oder andere Repräsentation oder Indikatoren), das zu dem Benutzer korrespondiert, als auch ein oder mehrere andere Icons anzeigt, die zu Teilnehmern in der Instanz der Videokonferenz-Anwendung korrespondieren. Jedoch kann, wenn die Benutzer sich unterhalten, der lokale Benutzer finden, dass ein bestimmter Teilnehmer verglichen mit den anderen Teilnehmern sehr laut spricht. Der lokale Benutzer kann dann ein Icon, das zu dem bestimmten Teilnehmer korrespondiert, auswählen und das Icon weiter weg von dem Icon des lokalen Benutzers in der UI bewegen. Basierend darauf, dass das Icon des bestimmten Benutzers weiter weg von dem Icon des lokalen Benutzers bewegt wird, kann das System ein Subset von Audiodaten (z.B. von innerhalb eines Streams von Audiodaten) identifizieren, das zu dem bestimmten Teilnehmer korrespondiert, und die Ausgabelautstärke der Audiodaten für den Teilnehmer reduzieren. Ferner, oder alternativ, kann, wenn der lokale Benutzer das Icon des Teilnehmers näher an das Icon des lokalen Benutzers bewegt, die Lautstärke der Audiodaten für den Teilnehmer vergrößert werden. Vorteilhafterweise kann der lokale Benutzer die Ausgabelautstärke einstellen, die zu jedem entfernten Benutzer korrespondiert, indem er jedes Icon entfernter Benutzer relativ zu dem Icon des lokalen Benutzers positioniert - wodurch der lokale Benutzer befähigt wird, die Konversation innerhalb der Videokonferenz-Anwendung klarer zu verstehen und nachzuverfolgen.
  • Figurenliste
  • Die vorliegenden Systeme und Verfahren zur positionsbasierten Lautstärkensteuerung für Audio- und Videokonferenzen werden hierin, mit Bezug auf die angefügten Zeichnungsfiguren, unten im Detail beschrieben, wobei:
    • 1 ein beispielhaftes Audiomanipulationssystem ist, das zum Verwenden beim Implementieren einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist;
    • 2A-2C beispielhafte Benutzerschnittstellen (Uls) zum Manipulieren von Benutzericons darstellen, die zum Verwenden beim Implementieren einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet sind;
    • 3 eine beispielhafte UI zum Manipulieren von Benutzericons darstellt, die zum Verwenden beim Implementieren einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist;
    • 4 ein Flussdiagramm ist, das ein Verfahren zum Aktualisieren von Audiosettings basierend auf Manipulationen eines Icons zeigt, das zum Verwenden beim Implementieren einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist;
    • 5 ein Blockdiagramm eines beispielhaften Content-Streaming-Systems ist, das zum Verwenden beim Implementieren einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist;
    • 6 ein Blockdiagramm einer beispielhaften Rechenvorrichtung ist, die zum Verwenden beim Implementieren einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist; und
    • 7 ein Blockdiagramm eines beispielhaften Datencenters ist, das zum Verwenden beim Implementieren einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist.
  • DETAILLIERTE BESCHREIBUNG
  • Systeme und Verfahren werden offenbart, die sich auf eine positionsbasierte Lautstärkensteuerung für Audio und Videokonferenzen beziehen. Obwohl dies primär im Zusammenhang mit Videokonferenz-Implementierungen beschrieben wird, ist dies nicht einschränkend gedacht und die Systeme und Verfahren der vorliegenden Offenbarung können auch in jede Implementierung zum Aktualisieren von Audiosettings, basierend auf Manipulationen an einem Icon, implementiert werden. Als nicht einschränkende Beispiele, können die hierin beschriebenen Systeme und Verfahren für Videostreaming-Anwendungen, Spielestreaming-Anwendungen, virtuelles Lernen Anwendungen, Anwendungen zum Teilen von sozialen Medien, Anwendungen zum Teilen von Videos und/oder anderen Anwendungstypen implementiert werden, wo Lautstärkenanpassung an einen oder mehrere Teilnehmer gemacht werden können.
  • In einigen Ausführungsbeispielen, wo ein lokaler Benutzer eine Instanz einer Videokonferenz-Anwendung initiiert, kann der Benutzer mit einer Benutzerschnittstelle (UI) versorgt werden, die sowohl ein Icon (oder eine andere Repräsentation oder Indikator), das zu dem Benutzer korrespondiert, als auch einige andere Icons (oder Repräsentationen oder Indikatoren) anzeigt, die zu Teilnehmern in der Instanz der Videokonferenz-Anwendung korrespondieren. Anfänglich kann ein Lautstärkepegel für einen entfernten Benutzer gesetzt werden - wie beispielsweise ein Defaultpegel, der durch die Anwendung gesetzt wird, oder basierend auf einem gelernten oder benutzerkonfigurierten Lautstärkepegel, der zu spezifischen Teilnehmern korrespondiert. Zusätzlich oder alternativ kann der lokale Benutzer manuell auswählen oder für spezifische Teilnehmer einen Defaultpegel vorspezifizieren (z.B. mittels Auswählens eines Benutzericons und Setzens eines Lautstärkepegels für einen spezifischen Benutzer, vor Initialisierung der Videokonferenz). Jedoch kann, während der Benutzer sich unterhält, der lokale Benutzer finden, dass ein spezifischer Teilnehmer sehr laut oder sehr leise verglichen mit den anderen Teilnehmern spricht, wobei die Inkonsistenz entweder zu Schwierigkeiten beim Hören oder Unannehmlichkeit führt, wenn die gleichen allgemeinen Lautstärkepegel für alle Teilnehmer verwendet werden. Der lokale Benutzer kann dann ein Icon auswählen, das zu dem spezifischen Teilnehmer korrespondiert, und eine Lautstärkenausgabe für Audiodaten modifizieren, die (z.B. spezifisch) zu dem spezifischen Teilnehmer korrespondiert, indem er das Icon bewegt oder auf andere Weise manipuliert (z.B. verkleinern der Icongröße, um Lautstäke zu reduzieren, vergrößern der Icongröße, um Lautstärke zu vergrößern). Zum Beispiel kann der lokale Benutzer ein Icon eines lauteren Teilnehmers weg von dem Icon des lokalen Benutzers in der Benutzerschnittstelle bewegen. Basierend auf dem Bewegen des Icons des lauteren Teilnehmers weg von dem Icon des lokalen Benutzers kann das System einen aktualisierten Lautstärkepegel (z.B. reduzierten der Lautstärke) für das Icon des lauteren Teilnehmers bestimmen. Nachfolgend kann das System ein Subset von Audiodaten identifizieren (z.B. von innerhalb eines oder mehrerer Streams von Audiodaten), das zu dem lauteren Teilnehmer korrespondiert und die Ausgabelautstärke der Audiodaten für den lauteren Teilnehmer reduzieren. Ferner kann, wenn der lokale Benutzer ein Icon eines Benutzers näher zu dem Icon des lokalen Benutzers bewegt, die Lautstärke der Audiodaten, die für den Teilnehmer ausgegeben werden, automatisch vergrößern. In einem oder mehreren Ausführungsbeispielen kann der lokale Benutzer ein Icon oder eine andere Repräsentation von einem oder mehreren Teilnehmern auf einen (vor)bestimmten Bereich innerhalb der Benutzerschnittstelle positionieren oder repositionieren, der mit einem spezifischen Effekt assoziiert ist. Zum Beispiel kann ein lokaler Benutzer die Icons eines oder mehrerer Teilnehmer auf einen Bereich repositionieren, der dazu bestimmt ist, einen Lautstärkepegel für Audiodaten zu erhöhen, die zu den Teilnehmern mit Repräsentationen korrespondieren, die in dem Bereich positioniert sind. Ähnlich kann der lokale Benutzer die Icons von einem oder mehreren Teilnehmern auf einen Bereich repositionieren, der dazu bestimmt ist, einen Lautstärkepegel für Audiodaten zu reduzieren (oder stumm zu stellen), der zu den Teilnehmern mit Repräsentationen korrespondiert, die in dem Bereich positioniert sind. Vorteilhafterweise kann der lokale Benutzer, korrespondierend zu jedem Teilnehmer (einschließlich mehrere zur gleichen Zeit), die Ausgabelautstärke steuern, indem das Icon jedes Teilnehmers relativ zu dem Icon des lokalen Benutzers positioniert wird - wodurch das Benutzererlebnis für den lokalen Benutzer vergrößert wird, indem dynamische Anpassung von Audiosettings (z.B. Lautstärke, Höhen, Bass, Geräuschaufhebung, usw.) auf einer je-Teilnehmer-Basis zugelassen wird.
  • In anderen Ausführungsbeispielen kann ein Benutzer, korrespondierend zu einem Teilnehmer, einen Lautstärkepegel für Audiodaten anpassen, indem die Größe des Icons des Teilnehmers, das zu dem Teilnehmer korrespondiert, manipuliert. Zum Beispiel kann der Benutzer, in einer Anwendung auf einem mobilen Gerät mit Touchscreen (z.B. Smartphone, Tablet, usw.), - wo die Bildschirmgröße für eine distanzbasierte Iconmanipulation geeignet sein kann - eine Auf- und Zuziehen Hinein/Hinaus-Geste (pinch-to-zoom in/out gesture) an dem Icon des Teilnehmers durchführen, wodurch die Größe eines Icons eines Benutzers vergrößert oder verkleinert wird, abhängig ob die Geste eine Aufziehen-Geste (z.B. Auswählen eines Icons, Verwenden zweier Finger und Auseinanderspreizen der Finger) oder eine Zuziehen-Geste (z.B. Auswählen eines Icons, Verwenden zweier Finger und Bewegen der Finger aufeinander zu) ist. Demgemäß kann ein Lautstärkepegel mit einer relativen Größe des Teilnehmericons assoziiert werden. Zum Beispiel kann sich, wenn der Benutzer die Größe eines Teilnehmericons vergrößert, ein Lautstärkepegel für Audiodaten, die mit dem Teilnehmer assoziiert sind, erhöhen und kann sich, wenn der Benutzer die Größe des Teilnehmericons verkleinert, der Lautstärkepegel für die Audiodaten reduzieren, oder umgekehrt. Ähnlich kann die Icongröße verwendet werden, um ein Lautstärkepegel in Desktopanwendungen zu erhöhen/reduzieren. Jedoch kann, wo kein Touchscreen verfügbar ist, der Benutzer eine Ecke oder eine Seite eines Icons eines Teilnehmers auswählen und die Ecke oder Seite manipulieren, um die Größe oder Dimensionen des Icons des Teilnehmers anzupassen.
  • In einigen Ausführungsbeispielen kann eine Konfiguration von Teilnehmericons auf einer ersten Vorrichtung eines Benutzers dynamisch auf eine zweite Vorrichtung eines Benutzers portiert werden. Zum Beispiel kann ein Benutzer ein oder mehrere Teilnehmericons konfigurieren, während er in einer Instanz einer Anwendungssitzung auf dem Personal Computer (OC) des Benutzers teilnimmt, und eine neue Instanz der Anwendungssitzung auf der mobilen Vorrichtung des Benutzers initiieren (z.B. unter Verwenden gemeinsamer Login-Informationen für die zwei Instanzen der Anwendungssitzung). Auf Initiierung der neuen Instanz der Anwendungssitzung auf der mobilen Vorrichtung des Benutzers hin kann das System auf die Konfiguration und/oder Lautstärkepegel des einen oder der mehreren Teilnehmericons von der Instanz der Anwendungssitzung auf dem PC des Benutzers zugreifen, und das eine oder die mehreren Teilnehmericons auf der mobilen Vorrichtung anpassen, damit die Lautstärkepegel für jeden entsprechenden Teilnehmer matchen. Lautstärkepegel können verwendet werden um eine Konfiguration auf einer neuen Benutzerschnittstelle für die Anwendungssitzung nachzubilden. Zum Beispiel können die Lautstärkepegel, die zu jedem Teilnehmer korrespondieren, verwendet werden, um die Größe der Teilnehmericons auf der mobilen Vorrichtung anzupassen.
  • In einigen Ausführungsbeispielen kann ein Lautstärkepegel über Anwendungen hinweg basierend auf In-Anwendungs-Distanz/Position angepasst werden. Zum Beispiel können zwei oder mehr Spieleravatare miteinander in einer virtuellen Umgebung - wie beispielsweise einem Videospiel - verlinkt werden (z.B. via ein API, Plug-In, usw.). Die Distanz/Position von einem oder mehreren Teilnehmeravataren relativ zu einem Benutzeravatar innerhalb der virtuellen Umgebung kann verwendet werden, um einen Lautstärkepegel, einschließlich eines räumlichen Lautstärkepegels (z.B. links, rechts, vorne, hinten, oben, unten, usw.), des spezifischen Teilnehmeravatar anzupassen. Ausgabelautstärkesettings können kalibriert werden, um eine Realwelt Umgebung zu imitieren. Zum Beispiel kann, basierend auf einen Teilnehmeravatar, der eine Distanz entfernt von, und orientiert bezüglich zu, der Position des Benutzeravatar ist, das System den Lautstärkepegel anpassen, korrespondierend zu der Teilnehmeravatarausgabe an den Benutzer (z.B. via die Stereokopfhörer des Benutzers, Stereolautsprecher, Surroundsound-Lautsprecher, Lautsprecher-Arrays, usw.). Wenn sich die Distanz und/oder Position während der Anwendungssitzung ändert, kann das System den Lautstärkepegel entsprechend ändern. Indem der Lautstärkepegel basierend auf einer relativen Position des Benutzeravatar und des einen oder der mehreren Teilnehmeravatare angepasst wird, kann der Benutzer schneller oder einfacher den einen oder die mehreren Teilnehmeravatare in der virtuellen Umgebung lokalisieren.
  • In einigen Ausführungsbeispielen kann jeder teilnehmende Benutzer in einer Anwendungssitzung eine unterschiedliche Konfiguration von Icons auf seiner lokalen Vorrichtung ausbilden. Zum Beispiel kann ein erster Benutzer ein Icon eines zweiten Benutzers nahe an das Icon des ersten Benutzers auf der Vorrichtung des ersten Benutzers heran bewegen, während der zweite Benutzer das Icon des ersten Benutzers weit weg von dem Icon des zweiten Benutzers auf der Vorrichtung des zweiten Benutzers bewegen kann. Als solches wird der Lautstärkepegel des zweiten Benutzers auf der Vorrichtung des ersten Benutzers erhöhen und der Lautstärkepegel des ersten Benutzers wird auf der Vorrichtung des zweiten Benutzers reduziert. In einigen Ausführungsbeispielen kann jeder Benutzer mit einem Realtime-Feedback versorgt werden, hinsichtlich darauf wie sein Icon auf der Vorrichtung des anderen Benutzers konfiguriert wird (z.B. weiter weg oder näher bewegt). Zum Beispiel kann ein Benutzer, dessen Icon weiter von dem Icon eines anderen Benutzers wegbewegt wurde, so dass der Lautstärkepegel des Benutzers reduziert wurde (z.B. unter eine Schwelle), mit einem Indikator versorgt werden - wie beispielsweise eine Liste von Benutzern, die den Benutzer wahrscheinlich nicht hören können - um den Benutzer zu informieren, dass der/die andere(n) Benutzer den Benutzer nicht mehr hören können. Diese Information kann nützlich sein, um den Benutzer zu informieren, wie sie in der Anwendungssitzung wahrgenommen werden (z.B. zu lautes/leises Sprechen oder beteiligt an Nebensprechen). In einigen Ausführungsbeispielen können die Benutzer auswählen (z.B. an/abmelden), ob sie Informationen bezüglich Benutzericons Bewegungen/Konfigurationen an Benutzer bereitstellen wollen, die in der Anwendungssitzung teilnehmen.
  • In einigen Ausführungsbeispielen, wie beispielsweise wo ein erster Benutzer einen Lautstärkepegel eines zweiten Benutzers unter eine Schwelle verringert hat, und der erste Benutzer den zweiten Benutzer nicht länger hören kann, kann der zweite Benutzer fähig sein, den ersten Benutzer auf eine Anzahl von Wegen wieder einzubeziehen. Zum Beispiel kann der zweite Benutzer dem ersten Benutzer ein nonverbales Feedback in der Form eines Handhebens, einer Nachricht, eines Pop-up-Anzeigers und/oder andere Mittel nonverbaler Kommunikation bereitstellen. Ferner kann in einigen Ausführungsbeispielen das System einen Computerlinguistikprozessor (natural language processor, NLP) einsetzen, der bestimmen kann, wenn ein Name eines Benutzers ausgesprochen wird. Dem obigen Beispiel folgend kann, basierend auf dem Bestimmen, dass der zweite Benutzer den Namen des ersten Benutzers ausgesprochen hat, das System den Lautstärkepegel des zweiten Benutzers erhöhen, so dass der erste Benutzer den zweiten Benutzer hören kann, was es dem zweiten Benutzer ermöglicht, den ersten Benutzer wieder zu beteiligen.
  • In weiteren Ausführungsbeispielen kann das System Daten von jeder Anzahl von Anwendungssitzungen der Anwendung sammeln und aufnehmen, die mittels einer oder mehrerer maschinenlern-Modelle, einen oder mehreren Deep Neural Networks (DNNs) und/oder einer oder mehrerer anderer Algorithmentypen zu prozessieren sind, entweder lokal oder auf einem Remote-Server, um typische Benutzerverhalten zu bestimmen. Zum Beispiel können Abschwächungsdaten, eine Liste von Benutzern, Tageszeit, Meetinginhalt und/oder andere kontextabhängige Daten verwendet werden, um typische Benutzerverhaltensvorhersagen für einen gegebenen Kontext zu erzeugen. Diese Vorhersagen können verwendet werden, um automatische Abschwächungsoperationen für einen Benutzer durchzuführen. Zum Beispiel kann, wenn ein Benutzer typischerweise ein Benutzereicon manipuliert oder auf andere Weise bewirkt, dass dieser, der mit einem leise sprechenden Benutzer assoziiert ist, während eines wöchentlichen Budgetmeeting näher an das Icon des Benutzers ist, aber das Icon des leise sprechenden Benutzers manipuliert oder auf andere Weise bewirkt, dass dieser während einer monatlichen virtuellen Happy Hour weiter weg von dem Icon des Benutzers ist, das System dieses Verhalten lernen und die Position des Icons des leise sprechenden Benutzers in zukünftigen Budgetmeetings und virtuellen Happy Hours automatisch anpassen.
  • Mit Bezug auf 1 ist 1 ein beispielhaftes Audiomanipulationssystem 100 (alternativ hierin als „System 100“ in Bezug genommen), in Übereinstimmung mit einigen Ausführungsbeispielen der vorliegenden Offenbarung. Es sollte verstanden werden, dass diese und andere Anordnungen, die hierin beschrieben werden, nur als Beispiele dargelegt werden. Andere Anordnungen und Elemente (z.B. Maschinen, Schnittstellen, Funktionen, Befehle, Gruppierungen von Funktionen, usw.) können zusätzlich oder anstelle von den gezeigten verwendet werden und einige Elemente können komplett weggelassen werden. Ferner sind viele der hierin beschriebenen Elemente funktionale Entitäten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und Position implementiert sein können. Verschiedene Funktionen, die hierin als von Entitäten durchgeführt beschrieben werden, können mittels Hardware, Firmware und/oder Software ausgeführt werden. Zum Beispiel können verschiedene Funktionen mittels eines Prozessors ausgeführt werden, der Befehle, die im Speicher gespeichert sind, ausführt. In einigen Ausführungsbeispielen kann das System 100 ähnliche Komponenten, Features und/oder Funktionalität umfassen, wie die von beispielhaften Content-Streaming-System 500 von 5, beispielhaften Rechenvorrichtung 600 von 6 sein und/oder beispielhaften Datencenters700 von 7.
  • Das Audiomanipulationssystem 100 kann, neben anderen Dingen, Client-Vorrichtungen 102A und 102B (hierin gemeinsam als „Client-Vorrichtungen 102“ in Bezug genommen) und einen Anwendungsserver 104 umfassen. Obwohl die Client-Vorrichtungen 102A und 102B in 1 dargestellt sind, ist dies nicht einschränkend gedacht. In irgendeinem Beispiel kann da irgendeine Anzahl (z.B. eine oder mehrere) Client-Vorrichtungen 102 sein. Komponenten des Audiomanipulationssystems 100 können über Netzwerk(e) 106 kommunizieren. Das/die Netzwerk(e) können ein Weitverkehrsnetz (Wide Area Network, WAN) (z.B. das Internet, ein Telefonnetz (public switched telephone network, PSTN), usw.), ein lokales Netzwerk (Local Area Network, LAN) (z.B. Wi-Fi, ZigBee, Z-Wave, Bluetooth, Bluetooth Low Energy (BLE), Ethernet, Ultrabreitband (ultra wide band, UWB), usw.), ein Niedrigenergieweitverkehrsnetz (low power wide area network, LPWAN) (z.B. LoRaWAN, Sigfox, usw.) ein globales Navigationssatellitensystem-Netzwerk (global navigation satellite system, GNSS) (z.B. das Globale Positionsbestimmungssystem, GPS) und/oder einen anderen Netzwerktyp umfassen. In jedem Beispiel können alle der Komponenten des Audiomanipulationssystems 100 mit einer oder mehreren der anderen Komponenten über ein oder mehrere der Netzwerk(e) 106 kommunizieren.
  • Die Client-Vorrichtungen 102 können ein Smartphone, einen Laptopcomputer, einen Tabletcomputer, einen Desktopcomputer, eine anziehbare Vorrichtung, eine Spielekonsole, ein virtuelle/erweiterte/gemischte-Realität System (z.B. ein Headset, ein Computer, eine Spielekonsole, Fernbedienung(en), Steuerung(en), und/oder andere Komponenten), eine Streaming-Vorrichtung (z.B. ein NVIDIA SHIELD), eine Smart-Home-Vorrichtung, die einen intelligenten persönlichen Assistenten, einen anderen Typ von Vorrichtung, der fähig ist, Videokonferenzen zu unterstützen, oder andere Anwendungstypen (z.B. Spielespielen, Videochatten, Kundendienstchat, usw.) umfasst, und/oder eine Kombination davon umfassen.
  • Die Client-Vorrichtungen 102A/102B können eine Client-Anwendung 108A/108B, eine Anzeige 110A/110B, eine Kommunikationsschnittstelle 112A/112B, eine Eingabevorrichtung(en) 114A/114B, und/oder lokalen Speicher 116A/116B umfassen. Obwohl nur wenige Komponenten und/oder Features der Client-Vorrichtungen 102 in 1 dargestellt sind, ist dies nicht beabsichtig einschränkend zu sein. Zum Beispiel können die Client-Vorrichtungen 102 zusätzliche oder alternative Komponenten umfassen, wie beispielsweise solche, die unten in Bezug auf 6 und 7 beschrieben sind.
  • Die Client-Anwendung 108A und 108B (hierin gemeinsam als „Client-Vorrichtung 108“ in Bezug genommen) kann eine mobile Anwendung, eine Computer-Anwendung, eine Konsolen-Anwendung und/oder anderen Typ von Anwendung umfassen. Die Client-Anwendungen 108 können Instruktionen umfassen, die, wenn mittels eines Prozessors/en ausgeführt, den/die Prozessor(en) dazu bringen, ohne Beschränkung, Eingabedaten zu empfangen, die für Benutzereingaben in die eine oder mehreren Eingabevorrichtung(en) 114 repräsentativ sind, die Eingabedaten zu dem/den Anwendungs-Servern 104 zu übermitteln, Anwendungsdaten aus Memory oder lokalen Speicher 116 abzurufen, die Anwendungsdaten unter Verwenden der Kommunikationsschnittstellen 112 von dem/den Anwendungs-Server(n) 104 zu empfangen, und die Anzeige der Anwendung auf der Anzeige 110 zu bewirken. Zum Beispiel kann die Client-Anwendung 108 als ein Koordinator operieren, um Streaming einer Videokonferenzsitzung zu ermöglichen, die mit der Client-Anwendung auf der Client-Vorrichtung 102 assoziiert ist. Die Client-Anwendung 108 kann auch Instruktionen umfassen, die, wenn mittels eines Prozessors/en ausgeführt, den/die Prozessor(en) dazu bringen, Daten an den/die Anwendungs-Server 104 zu übertragen und von diesem/n zu empfangen. Zum Beispiel kann die Client-Anwendung 108A Realtime-Feedback zu dem/den Anwendungsserver(n) 104 übertragen, bezüglich Iconmanipulationen, die auf der Client-Anwendung 108A durchgeführt werden, und Realtime-Feedback von dem/den Anwendungs-Server(n) 104 empfangen, bezüglich Iconmanipulationen die auf der Client-Anwendung 108B durchgeführt werden. In anderen Beispielen kann die Client-Anwendung 108A Sitzungsdaten (z.B. Abschwächungsdaten, eine Liste von Benutzern, Tageszeit, Meetinginhalt und/oder andere kontextabhängige Daten) von irgendeiner Anzahl von Anwendungssitzungen an den/die Anwendungsserver 104 übertragen. In solchen Beispielen kann die Host-Anwendung 118 typische Benutzerverhaltensvorhersagen für einen gegebenen Kontext erzeugen (z.B. mittels eines maschinenlern-Modells, eines Deep Neural Network (DNN), oder eines anderen Algorithmustyps).
  • Die Anzeigen 110A und 110B (hierin gemeinsam als „Anzeigen 110“ in Bezug genommen) können jede Art von Anzeige umfassen, die fähig ist die Anwendung anzuzeigen (z.B. eine lichtemittierende Diode Anzeige (LED), eine organische LED Anzeige (OLED), eine Flüssigkristallanzeige (LCD), eine aktive-Matrix OLED-Anzeige (AMOLED), eine Quantenpunkt-Anzeige (quantum dot display, QDD), eine Plasmaanzeige, eine LED/LCD-Anzeige und/oder einen anderen Typ von Anzeige). In einigen Beispielen kann die Anzeige 110 mehr als eine Anzeige (z.B. Doppel-Monitor-Anzeige für einen Computer) umfassen. In einigen Beispielen ist die Anzeige eine Touchscreen-Anzeige, wie ein Touchscreen eines Smartphones, Tabletcomputers, Laptopcomputers oder so ähnlich, wo der Touchscreen zumindest eine der Eingabe-Vorrichtung(en) 114 der Client-Vorrichtungen 102 ist.
  • Die Eingabe-Vorrichtung(en) 114A und 114B (hierin gemeinsam als „Eingabevorrichtung(en) 114“ in Bezug genommen) kann/können jede Art von Vorrichtungen umfassen, die fähig sind Benutzereingaben für die Anwendung bereitzustellen. Die Eingabe-Vorrichtung(en) kann/können eine Tastatur, eine Maus, ein Mikrophon(e), eine Touchscreen-Anzeige, eine Steuerung(en), eine Fernbedienung(en), ein Headset (z.B. Sensoren eines virtuelle/erweiterte/gemischte Realität Headsets) und/oder andere Typen von Eingabe-Vorrichtungen umfassen.
  • Die Kommunikationsschnittstellen 112A, 112B, 112C (hierin gemeinsam als „Kommunikationsschnittstellen 112“ in Bezug genommen) können eine oder mehrere Komponenten und Features zum Kommunizieren über ein oder mehrere Netzwerke, wie beispielsweise das/die Netzwerk(e) 106, hinweg umfassen. Die Kommunikationsschnittstellen 112 können konfiguriert sein, um via jede Anzahl von Netzwerk(en) 106 zu kommunizieren, die hierin beschrieben sind. Zum Beispiel können, um in dem Audiomanipulationssystem 100 von 1 zu kommunizieren, die Client-Vorrichtungen 102 eine Ethernet oder Wi-Fi Verbindung durch einen Router verwenden, um auf das Internet zuzugreifen, um mit dem/den Anwendungsserver(n) 104 und/oder mit anderen Client-Vorrichtungen 102 zu kommunizieren.
  • Der lokale Speicher 116A und 116B (hierin gemeinsam als „lokaler Speicher 116“ in Bezug genommen) kann eines von einer Vielzahl von computerlesbaren Medien umfassen. Die computerlesbaren Medien können alle verfügbaren Medien sein, auf die mittels der Client-Vorrichtungen 102 zugegriffen werden kann. Die computerlesbaren Medien können sowohl volatile als auch nichtvolatile Medien, und entfernbare und nicht-entfernbare Medien umfassen. Auf dem Wege eines Beispiels, und nicht einer Einschränkung, können die computerlesbaren Medien Computer-Speicher-Medien und Kommunikationsmedien aufweisen. Der lokale Speicher 116 kann zusätzliche oder alternative Komponenten umfassen, wie beispielsweise solche, die hierin mit Bezug auf den Speicher 604 von 6 beschrieben werden. In Übereinstimmung mit einigen Ausführungsbeispielen der vorliegenden Offenbarung können Teile der Client-Anwendung 108 in dem lokalen Speicher 116 gespeichert werden. In einigen Ausführungsbeispielen können Anwendungssitzungsdaten - wie beispielsweise Abschwächungsdaten, eine Liste von Benutzern, Tageszeit, Meetinginhalt und/oder andere kontextabhängige Daten - in dem lokalen Speicher 116 gespeichert werden.
  • Der/die Anwendungsserver 104 kann/können Host-Anwendung 118 und Kommunikationsschnittstelle 112C umfassen. Die Host-Anwendung 118 kann den Client-Anwendungen 108 entsprechen. Jedoch kann die Host-Anwendung 118, eher als Audiomanipulationsoperationen (z.B. Modifizieren einer Lautstärkenausgabe für Audiodaten, die zu einem entfernten Teilnehmer korrespondieren) lokal auf Client-Vorrichtungen 102 auszuführen, die hierin beschriebenen Audiomanipulationsoperationen auf den Anwendungsservern 104 ausführen und modifizierte Audiodaten an die Client-Vorrichtungen 102 kommunizieren. Wie oben beschrieben kann die Kommunikationsschnittstelle 112C eine oder mehrere Komponenten und Features zum Kommunizieren über ein oder mehrere Netzwerke hinweg umfassen. Obwohl nur einige Komponenten und/oder Features des/der Anwendungsserver 104 in 1 dargestellt sind, ist dies nicht gedacht einschränkend zu sein. Zum Beispiel kann der/die Anwendungsserver 104 zusätzliche oder alternative Komponenten umfassen, wie beispielweise solche die unten mit Bezug auf das beispielhafte Content-Streaming-Systems 500 von 5, die beispielhafte Rechenvorrichtung 600 von 6 und/oder das beispielhafte Datencenter 700 von 7 beschrieben werden.
  • Im Betrieb, wenn die Client-Vorrichtungen 102 eine Instanz einer Videokonferenz-Anwendung als Teil einer Videokonferenzsitzung via die Client-Vorrichtung 108 initiieren, können die Client-Vorrichtungen 102 jede mit einer graphischen UI ausgestattet werden, die Icons anzeigt, die zu jedem Benutzer korrespondieren, der an der Instanz der Videokonferenz-Anwendung teilnimmt. Die Icons können, ohne Einschränkung, ein Miniaturbild, eine Kachel, eine Video-Einspeisung (z.B. ein Fenster mit einem Livevideo, wie beispielsweise das, das von einer Kamera des spezifischen Benutzers aufgenommen wird), ein Standbild, ein virtueller Hintergrund, ein Avatar, graphisches Bild oder eine andere Repräsentation umfassen. Anfänglich kann ein Lautstärkepegel für Benutzer gesetzt sein - wie beispielsweise ein Defaultpegel, der von der Client-Anwendung 108 gesetzt wird oder basierend auf einem gelernten Lautstärkepegel oder benutzerkonfigurierten Lautstärkepegel, korrespondierend zu spezifischen Benutzern. Zum Beispiel kann Client-Vorrichtung 102A durch einen lokalen Benutzer betrieben werden und eine Vielzahl von Client-Vorrichtungen 102B können jeweils von einer Vielzahl von entfernten Benutzern betrieben werden. In solch einem Beispiel, wenn die Benutzer sich unterhalten, kann der lokale Benutzer finden, dass ein spezifischer entfernter Benutzer oder Teilnehmer im Vergleich zu den anderen entfernten Benutzern sehr laut spricht. Die Client-Vorrichtung 102A kann dann, von dem lokalen Benutzer, via die Eingabevorrichtungen 114A sowohl eine Iconauswahl, die zu dem spezifischen entfernten Benutzer korrespondiert, als auch eine Manipulation des Icons, das zu dem spezifischen entfernten Benutzer korrespondiert, empfangen. Zum Beispiel kann der lokale Benutzer das Icon des spezifischen entfernten Benutzers manipulieren oder auf andere Weise bewirken, dass dieser weiter von dem Icon des lokalen Benutzers, wie dieser visuell (z.B. graphisch) auf der UI präsentiert wird, bewegt wird. Basierend darauf, dass das Icon des spezifischen entfernten Benutzers weiter weg von dem Icon des lokalen Benutzers, wie visuell auf der UI präsentiert, bewegt wird, kann die Client-Anwendung 108A zumindest ein Subset von Audiodaten, die von einer Client-Vorrichtung 102B empfangen werden, das mit dem spezifischen entfernten Benutzer assoziiert ist, identifizieren, und die Lautstärkenausgabe mittels der Client-Vorrichtung 102A für zumindest das Subset von Audiodaten reduzieren.
  • Als ein Beispiel und mit Bezug auf die 2A-2C stellen die 2A-2C beispielhafte Uls zum Manipulieren von Benutzericons dar, die zum Verwenden beim Implementieren von zumindest einigen Ausführungsbeispielen der vorliegenden Offenbarung geeignet sind. 2A umfasst Anwendungs-Ul 200A, Präsentation 202, Benutzericon 204 und Teilnehmericons 206, 208, 210 und 212. Im Betrieb kann ein Benutzer, der mit dem Benutzericon 204 assoziiert ist, und Benutzer, die jeweils mit den Teilnehmericons 206, 208, 210 bzw. 212 assoziiert sind, an einer Anwendungssitzung teilnehmen. Anwendungs-Ul 200A kann zu einer Instanz einer Anwendung - wie beispielswiese eine online Videokonferenz, ein Spielestreaming-Service, ein Videostreaming-Service, usw. - aus der Perspektive eines lokalen Benutzers korrespondieren, der mit dem Benutzericon 204 assoziiert ist. Anfänglich kann der Benutzer, der mit dem Benutzericon 204 assoziiert ist, einen Lautstärkepegel für jeden der Benutzer setzen, der mit jedem der Teilnehmericons 206, 208, 210 bzw. 212 assoziiert ist. Zusätzlich oder alternativ kann mittels der Anwendung oder basierend auf einem erlernten Lautstärkepegel korrespondierend für spezifische Teilnehmer ein Defaultpegel für die Anwendungssitzung gesetzt werden.
  • In einigen Ausführungsbeispielen kann ein Ausgabe-Audiopegel für einen Teilnehmericons 206, 208, 210 und 212 invers mit einer Distanz zwischen dem Benutzericon 204 und den Teilnehmericons 206, 208, 210 und 212 in Beziehung stehen. Zum Beispiel, hinwendend zu 2B, kann, wenn sich die Benutzer unterhalten, der Benutzer, der mit dem Benutzericon 204 assoziiert ist, finden, dass einer oder mehrere Benutzer, die mit Teilnehmericons 206, 208, 210 und/oder 212 assoziiert sind, sehr laut/leise verglichen mit den anderen Benutzern spricht/sprechen. Um die Benutzer, die an der Anwendungssitzung teilnehmen, komfortabler zu hören und zu verstehen, kann der Benutzer, der mit dem Benutzericon 204 assoziiert ist, dann das Teilnehmericon 208 auswählen und den Teilnehmericon 208 näher zu dem Benutzericon 204 bewegen, wodurch die Ausgabelautstärke für den Benutzer, der mit den Teilnehmericon 208 assoziiert ist, erhöht wird. Gleichermaßen kann der Benutzer, der mit dem Benutzericon 204 assoziiert ist, das Teilnehmericon 212 auswählen und das Teilnehmericon 212 weg von dem Benutzericon 204 bewegen, wodurch die Ausgabelautstärke für den Benutzer, der mit den Teilnehmericon 212 assoziiert ist, reduziert wird. Jedoch kann die Änderung der Lautstärke oder anderer Audiosettings auch einen anderen Zusammenhang haben, wie, dass ein Näherbewegen die Lautstärke reduzieren kann, während ein weiter weg Bewegen die Lautstärke erhöhen kann, abhängig von dem Ausführungsbeispiel und/oder den Settings des spezifischen Benutzers.
  • In einigen Ausführungsbeispielen kann ein Ausgabe-Audiopegel für einen Teilnehmericons 206, 208, 210 und 212 direkt mit einer Größe der Teilnehmericons 206, 208, 210 und 212 in Beziehung stehen. Zum Beispiel, hinwendend zu 2C, kann, wenn sich die Benutzer unterhalten, der Benutzer, der mit dem Benutzericon 204 assoziiert ist, finden, dass einer oder mehrere Benutzer, die mit Teilnehmericons 206, 208, 210 und/oder 212 assoziiert sind, sehr laut/leise verglichen mit den anderen Benutzern spricht/sprechen. Der Benutzer, der mit dem Benutzericon 204 assoziiert ist, kann dann den Teilnehmericon 206 auswählen und den Teilnehmericon 206 vergrößern (oder eine Vergrößerung bewirken), unter Verwenden einer Aufziehgeste (pinch-to-zoom“ in gesture) 212A (z.B. Auswählen des Icons 206 unter Verwenden von zwei Finger und Auseinanderspreizen der Finger), wodurch sowohl die Größe des Teilnehmericons 206 als auch die Ausgabelautstärke für den Benutzer, der mit dem Teilnehmericon 206 assoziiert ist, vergrößert wird. Gleichermaßen kann der Benutzer, der mit dem Benutzericon 204 assoziiert ist, den Teilnehmericon 210 auswählen und den Teilnehmericon 210 verkleinern (oder eine Verkleinerung bewirken), unter Verwenden einer Zuziehgeste (pinch-to-zoom“ out gesture) 212B (z.B. Auswählen des Icons 210 unter Verwenden von zwei Finger und Aufeinander-zu-Ziehen der Finger), wodurch sowohl die Größe des Teilnehmericons 210 als auch die Ausgabelautstärke für den Benutzer, der mit den Teilnehmericon 206 assoziiert ist, reduziert wird. In einigen Ausführungsbeispielen kann die Ausgabelautstärke bestimmt werden, indem die Größe der Teilnehmericons 206, 208, 210 und 212 mit einer Defaultgröße verglichen wird (z.B. einer anfänglichen Größe beim Start einer Anwendungssitzung). In anderen Ausführungsbeispielen kann die Ausgabelautstärke bestimmt werden, indem die Größe von jedem der Teilnehmericons 206, 208, 210 und/oder 212 mit jedem der anderen Teilnehmericons 206, 208, 210 und/oder 212 verglichen wird. Zum Beispiel kann das Teilnehmericon 206, welches das größte ist, eine Ausgabelautstärke von 100% haben und die Teilnehmericons 208 und 212, die ungefähr 25% der Größe des Teilnehmericons 206 haben, können eine Ausgabelautstärke von 25% haben. Jedoch kann, wenn die Größe des Teilnehmericons 206 reduziert wird, um die Größe der Teilnehmericons 208 und 210 zu matchen, jeder der Teilnehmericons 206, 208 und 212 eine Ausgabelautstärke von 100% haben, weil jeder der Teilnehmericons 206, 208 und 212 dann das größte Teilnehmericon in der Anwendungs-Ul 200C sein würde.
  • Mit Bezug auf 3 stellt 3 eine beispielhafte UI zum Manipulieren von Benutzericons dar, die zum Verwenden beim Implementieren von einigen Ausführungsbeispielen der vorliegenden Offenbarung geeignet ist. 3 beinhaltet Anwendungs-Ul 300, Benutzericon 304 und Teilnehmericons 306, 308, 310, 312 und 314. Im Betrieb, anfänglich, kann jeder der Teilnehmericons 306, 308, 310, 312 und 314 in gleicher Distanz um das Benutzericon 304 platziert werden. Zum Beispiel kann jeder der Teilnehmericons 306, 308, 310, 312 und 314 auf eine der Radialabstandslinien 302A, 302B, 302C, 302D und 302E platziert werden. Wenn sich die Benutzer unterhalten, kann der Benutzer, der mit dem Benutzericon 304 assoziiert ist, finden, dass einer oder mehrere Benutzer, die mit Teilnehmericons 306, 308, 310, 312 und 314 assoziiert sind, sehr laut/leise verglichen mit den anderen Benutzern spricht/sprechen. Als solches kann der Benutzer, der mit dem Benutzericon 304 assoziiert ist, dann einen oder mehrere der Teilnehmericons 306, 308, 310, 312 und 314 auswählen und das eine oder die mehreren Teilnehmericons weiter weg von dem Benutzericon 304 oder näher zu dem Benutzericon 304 bewegen. Die Radialabstandslinien 302A, 302B, 302C, 302D und 302E können zu Lautstärkeausgabepegeln korrespondieren, wobei ein Lautstärkeausgabepegel invers mit einer Distanz zu Benutzericon 304 im Zentrum der Anwendungs-UI 300 in Beziehung steht. Zum Beispiel kann Teilnehmericon 306, das das nächste Teilnehmericon zum Benutzericon 304 ist, mit der im Vergleich zu den Teilnehmericons 308, 310, 312 und 314 höchsten Lautstärkeausgabe assoziiert sein. Wie folgt kann das Teilnehmericon 314 mit der im Vergleich zu den Teilnehmericons 306, 308, 310 und 312 niedrigsten Lautstärkeausgabe assoziiert sein. Während die 3 Radialabstandslinien 302A, 302B, 302C, 302D und 302E zeigt, ist dies nur für Darstellungszwecke gemeint und ist nicht als einschränkend gedacht. Die Distanz zwischen Benutzericon 304 und jedem der Teilnehmericons 306, 308, 310, 312 und 314 kann gemessen werden unter Verwenden jeder Anzahl von Radialabstandslinien und/oder mittels direkter Messung der Distanz. Ferner sind Ausführungsbeispiele der Anwendungs-UI 300 nicht auf zwei Dimensionen beschränkt und können in drei Dimensionen (3D) implementiert werden, was es einen Benutzer, der mit dem Benutzericon 304 assoziiert ist, ermöglicht, die Teilnehmericons 306, 308, 310, 312 und 314 in 3D relativ zu dem Benutzericon 304 sphärisch zu platzieren.
  • Nun Bezug nehmend auf 4 weist jeder Block von Verfahren 400, das hierin beschrieben wird, einen Berechnungsprozess auf, der unter Verwenden von irgendeiner Kombination von Hardware, Firmware und/oder Software durchgerührt werden kann. Zum Beispiel können verschiedene Funktionen mittels eines Prozessors verrichtet werden, der im Speicher gespeicherte Instruktionen ausführt. Das Verfahren 400 kann auch als computerlesbare Instruktionen verkörpert werden, die auf Computerspeichermedien gespeichert sind. Das Verfahren 400 kann mittels Standalone-Anwendung, eines Service oder gehosteten Service (standalone oder in Kombination mit einem anderen gehosteten Service) oder als Plug-In zu einem anderen Produkt, um einige zu nennen, bereitgestellt werden. Zusätzlich wird Verfahren 400 beispielhaft in Bezug auf das System von 1 beschrieben. Jedoch kann dieses Verfahren zusätzlich oder alternativ mittels jedes einen Systems oder jeder Kombination von Systemen ausgeführt werden, einschließlich, aber nicht darauf beschränkt, der hierin beschriebenen.
  • 4 ist ein Flussdiagramm, das ein Verfahren zum Aktualisieren von Audiosettings basierend auf Manipulationen an einem Icon zeigt, das zum Verwenden beim Implementieren einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist. Das Verfahren 400 umfasst, bei Block B402, ein Initiieren einer Instanz einer Anwendung auf einer Client-Vorrichtung eines Benutzers. Zum Beispiel kann ein Benutzer eine Instanz der Anwendung auf der Vorrichtung des Benutzers initiieren, indem ein Icon ausgewählt wird, um die Anwendung zu öffnen, ein Link ausgewählt wird, um einer Anwendungssitzung beizutreten, eine Webpage besucht wird und/oder andere Mittel eines Initiierens einer Instanz der Anwendung.
  • Das Verfahren 400 umfasst, bei Block B404, ein Bewirken eines Anzeigens, innerhalb einer Benutzerschnittstelle der Instanz der Anwendung, eines Benutzericons, der zu dem Benutzer korrespondiert, und eines oder mehrerer Teilnehmericons, die zu einem oder mehreren Teilnehmern einer Anwendungssitzung der Anwendung korrespondieren. Zum Beispiel kann, wenn ein lokaler Benutzer eine Instanz einer Videokonferenz-Anwendung initiiert, dem Benutzer eine Benutzerschnittstelle (UI) bereitgestellt werden, die sowohl ein Icon, das zu dem Benutzer korrespondiert, als auch einige andere Icons anzeigt, die zu Teilnehmern der Instanz der Videokonferenz-Anwendung korrespondieren.
  • Das Verfahren 400 umfasst, bei Block B406, ein Empfangen von Eingabedaten, die repräsentativ für eine oder mehrere Eingaben sind, die ein Teilnehmericon von dem einen oder mehreren Teilnehmericons manipuliert. Zum Beispiel kann der lokale Benutzer ein Icon auswählen, das zu einem spezifischen Teilnehmer korrespondiert und dieses Icon von dem Icon des lokalen Benutzers innerhalb einer Benutzerschnittstelle wegbewegen (oder eine Bewegung verursachen).
  • Das Verfahren 400 umfasst, bei Block B408, ein Bestimmen, in Reaktion auf eine oder mehrere Eingaben, von aktualisierten Audiosettings, die zu einem Teilnehmer korrespondieren, der mit dem Teilnehmericon assoziiert ist. Zum Beispiel kann, basierend auf einem Bewegen (oder Bewirken einer Bewegung) eines Icons eines entfernten Benutzers weg von einem Icon eines lokalen Benutzers, das System einen aktualisierten Lautstärkepegel (z.B. reduzierte Lautstärke) für das Icon des entfernten Benutzers bestimmen.
  • Das Verfahren 400 identifiziert, bei Block B410, zumindest einen Teil von Audiodaten von einer Anwendungssitzung, der zu dem Teilnehmer korrespondiert. Zum Beispiel kann, basierend auf einem Bewegen eines Icons eines entfernten Benutzers weg von einem Icon eines lokalen Benutzers, das System ein Subset von Audiodaten (z.B. von innerhalb eines Streams von Audiodaten) identifizieren, das zu dem entfernten Benutzer korrespondiert.
  • Das Verfahren 400 umfasst, bei Block B412, ein Anwenden der aktualisierten Audiosettings auf zumindest den Teil der Audiodaten. Zum Beispiel kann, basierend auf dem Identifizieren eines Subsets von Audiodaten, das zu dem entfernten Benutzer korrespondiert, das System die Ausgabelautstärke der Audiodaten für den entfernten Benutzer reduzieren/erhöhen.
  • BEISPIELHAFTES CONTENT-STREAMING-SYSTEM
  • Nun Bezug nehmend auf 5 ist 5 ein beispielhaftes Systemdiagramm für ein Content-Streaming-System 500, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. 5 umfasst einen/mehrere Anwendungsserver 502 (der/die ähnliche(n) Komponenten, Merkmale und/oder Funktionalitäten wie die beispielhafte Rechenvorrichtung 600 von 6 umfassen kann/können), Client-Vorrichtung(en) 504 (die ähnliche Komponenten, Merkmale und/oder Funktionalitäten wie die beispielhafte Rechenvorrichtung 600 von 6 umfassen kann/können) und Netzwerk(e) 506 (das/die ähnlich wie das/die Netzwerk(e), die hierin beschrieben sind, sein kann/können). In einigen Ausführungsbeispielen der vorliegenden Offenbarung kann das System implementiert sein. Die Anwendungssitzung kann zu einer Spiele-Streaming-Anwendung (z.B. NVIDIA GeFORCE NOW), einer remote Desktop-Anwendung, einer Simulations-Anwendung (z.B. autonome oder halbautonome Fahrzeugsimulation), rechnergestütztes Konstruieren- (computer aided design, CAD)-Anwendungen, virtuelle Realitäts- (VR) und/oder Erweiterte Realitäts- (AR)-Streaming-Anwendungen, Deep-Learning-Anwendungen und/oder anderen Anwendungstypen korrespondieren.
  • Im System 500 mag/mögen, für eine Anwendungssitzung, die Client-Vorrichtung(en) 504 nur Eingabedaten in Reaktion auf Eingaben in die EingabeVorrichtung(en) empfangen, die Eingabedaten zu Anwendungsserver(n) 502 übertragen, kodierte Anzeigedaten von dem/den Anwendungsserver(n) 502 empfangen und die Anzeigedaten auf Anzeige 524 anzeigen. Als solches wird das rechenmäßig intensivere Berechnen und Prozessieren auf den/die Anwendungsserver 502 ausgelagert (z.B. wird Rendern - insbesondere Ray- oder Pfad-Tracing - für graphische Ausgabe der Anwendungssitzung mittels der GPU(s) des/der Anwendungsserver(n) 502 ausgeführt). Mit anderen Worten wird die Anwendungssitzung von dem/den Anwendungsserver(n) 502 zu der/den Client-Vorrichtung(en) 504 gestreamt, wodurch die Vorgaben für die Client-Vorrichtung(en) 504 fürs Graphikprozessieren und Rendern reduziert werden.
  • Zum Beispiel kann, bezüglich einer Instanziierung einer Anwendungssitzung, eine Client-Vorrichtung 504 einen Frame der Anwendungssitzung auf Anzeige 524 anzeigen, basierend auf Empfangen der Anzeigedaten von dem/den Anwendungsserver(n) 502. Die Client-Vorrichtung 504 kann eine Eingabe zu einer oder mehreren Eingabe-Vorrichtung(en) empfangen und in Reaktion Eingabedaten erzeugen. Die Client-Vorrichtung 504 kann die Eingabedaten via die Kommunikationsschnittstelle 520 und über das/die Netzwerk(e) 506 (z.B. das Internet) zu dem/den Anwendungsserver(n) 502 übertragen, und der/die Anwendungsserver 502 kann/können die Eingabedaten via die Kommunikations-Schnittstelle 518 empfangen. Die CPU(s) 508 kann/können die Eingabedaten empfangen, die Eingabedaten prozessieren und Daten zu der/den GPU(s) übertragen, was die GPU(s) veranlasst, ein Rendering der Anwendungssitzung zu erzeugen. Zum Beispiel können die Eingabedaten für eine Bewegung von einem Charakter des Benutzers in einer Spielesitzung in einer Spieleanwendung, einem Abfeuern einer Waffe, Nachladen, Abgeben eines Balles, Drehen eines Fahrzeugs, usw. repräsentativ sein. Die Rendering-Komponente 512 kann die Anwendungssitzung (z.B. repräsentativ für das Ergebnis der Eingabedaten) rendern und die Render-Erfassungskomponente 514 kann das Rendering der Anwendungssitzung als Anzeigedaten (z.B. als Bilddaten, die den gerenderten Frame der Anwendungssitzung erfassen) erfassen. Das Rendering der Anwendungssitzung kann ray- oder pfad-traced Beleuchtungs- und/oder Schatteneffekte umfassen, die unter Verwenden von einer oder mehreren Parallel-Prozessier-Einheiten des/der Anwendungsserver(s) 502 berechnet werden - wie beispielsweise GPUs, die ferner die Verwendung von einen oder mehreren dedizierten Hardwarebeschleunigern oder Prozessierkernen einsetzen können, um Ray- oder Pfad-Tracing-Techniken durchzuführen. In einigen Ausführungsbeispielen können eine oder mehrere virtuelle Maschinen (VMs) - z.B. welche eine oder mehrere virtuelle Komponenten, wie beispielweise vGPUs, vCPUs, usw., umfassen - mittels des/der Anwendungsserver 502 verwendet werden, um die Anwendungssitzungen zu unterstützen. Der Encoder 516 kann dann die Anzeigedaten kodieren, um kodierte Anzeigedaten zu erzeugen, und die kodierten Anzeigedaten können über das/die Netzwerk(e) 506 via die Kommunikations-Schnittstelle 518 zu der Client-Vorrichtung 504 übertragen werden. Die Client-Vorrichtung 504 kann die kodierten Anzeigedaten via die Kommunikations-Schnittstelle 520 empfangen und der Decoder 522 kann die kodierten Anzeigedaten dekodieren, um die Anzeigedaten zu erzeugen. Die Client-Vorrichtung 504 kann dann die Anzeigedaten via die Anzeige 524 anzeigen.
  • BEISPIELHAFTE RECHENVORRICHTUNG
  • 6 ist ein Blockdiagramm von einem beispielhaften Rechengerät(en) 600, das/die zur Verwendung bei der Implementierung einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist/sind. Rechengerät 600 kann ein Interconnect-System 602 umfassen, das direkt oder indirekt die folgenden Geräte koppelt: Speicher 604, eine oder mehrere zentrale Verarbeitungseinheiten (CPUs) 606, eine oder mehrere Grafikverarbeitungseinheiten (GPUs) 608, eine Kommunikationsschnittstelle 610, Eingabe-/Ausgabe-(E/A-)-Ports 612, Eingabe-/Ausgabekomponenten 614, eine Leistungsversorgung 616 und eine oder mehrere Präsentationskomponenten 618 (z. B. Anzeige(n)), und eine oder mehrere Logikeinheiten 620. In zumindest einem Ausführungsbeispiel kann das/die Rechengerät(e) 600 eine oder mehrere virtuelle Maschinen (VMs) aufweisen und/oder irgendwelche von dessen Komponenten können virtuelle Komponenten (z.B. virtuelle Hardware-Komponenten) aufweisen. Als nicht einschränkende Beispiele können eine oder mehrere der GPUs 608 eine oder mehrere vGPUs aufweisen, eine oder mehrere der CPUs 606 können eine oder mehrere vCPUs aufweisen und/oder eine oder mehrere der Logik-Einheiten 620 können eine oder mehrere virtuelle Logik-Einheiten aufweisen. Als solches kann/können ein oder mehrere Rechengeräte 600 diskrete Komponenten (z.B. eine vollständige GPU, die dem Rechengerät 600 fest zugeordnet ist), virtuelle Komponenten (z.B. ein Abschnitt einer GPU, der dem Rechengerät 600 fest zugeordnet ist), oder eine Kombination davon umfassen.
  • Obwohl die verschiedenen Blöcke in 6 als über das Interconnect-System 602 mit Leitungen verbunden dargestellt sind, ist dies nicht einschränkend zu verstehen und dient nur der Übersichtlichkeit. In einigen Ausführungsbeispielen kann z. B. eine Präsentationskomponente 618, wie ein Anzeigegerät, als eine E/A-Komponente 614 betrachtet werden (z. B. wenn die Anzeige ein Touchscreen ist). Als ein anderes Beispiel können die CPUs 606 und/oder GPUs 608 Speicher umfassen (z. B. kann der Speicher 604 ein Speichergerät zusätzlich zum Speicher der GPUs 608, der CPUs 606 und/oder anderer Komponenten darstellen). Mit anderen Worten ist das Rechengerät von 6 lediglich illustrativ. Es wird nicht zwischen solchen Kategorien wie „Workstation“, „Server“, „Laptop“, „Desktop“, „Tablet“, „Client-Vorrichtung“, „mobiles Gerät“, „Handheld-Gerät“, „Spielkonsole“, „elektronische Steuereinheit (ECU)“, „Virtual-Reality-System“ und/oder anderen Geräte- oder Systemtypen unterschieden, da alle als im Umfang der Rechenvorrichtung von 6 liegend in Betracht gezogen werden.
  • Das Interconnect-System 602 kann einen oder mehrere Links oder Busse repräsentieren, wie z. B. einen Adressbus, einen Datenbus, einen Steuerbus oder eine Kombination davon. Das Interconnect-System 602 kann einen oder mehrere Bus- oder Linktypen umfassen, z. B. einen ISA-Bus (Industry Standard Architecture), einen EISA-Bus (Extended Industry Standard Architecture), einen VESA-Bus (Video Electronics Standards Association), einen PCI-Bus (Peripheral Component Interconnect), einen PCIe-Bus (Peripheral Component Interconnect express), und/oder einen anderen Typ von Bus oder Link. In einigen Ausführungsbeispielen, gibt es direkte Verbindungen zwischen Komponenten. Zum Beispiel kann die CPU 606 direkt an den Speicher 604 verbunden sein. Ferner kann die CPU 606 direkt an die GPU 608 verbunden sein. Wo es eine direkte, oder point-to-point, Verbindung zwischen Komponenten gibt, kann das Interconnect-System 602 einen PCIe Link umfassen, um die Verbindung auszuführen. In diesen Beispielen braucht ein PCI Bus nicht in dem Rechengerät 600 enthalten zu sein.
  • Der Speicher 604 kann jedes von einer Vielzahl von computerlesbaren Medien umfassen. Bei den computerlesbaren Medien kann es sich um alle verfügbaren Medien handeln, auf die das Rechengerät 600 zugreifen kann. Die computerlesbaren Medien können sowohl flüchtige als auch nichtflüchtige Medien sowie entfernbare und nicht-entfernbare Medien umfassen. Beispielhaft und nicht einschränkend können die computerlesbaren Medien Computer-Speichermedien und Kommunikationsmedien umfassen.
  • Die Computer-Speichermedien können sowohl flüchtige als auch nicht flüchtige Medien und/oder entfernbare und nicht entfernbare Medien umfassen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen, wie z. B. computerlesbare Anweisungen, Datenstrukturen, Programmmodulen und/oder andere Datentypen, implementiert sind. Beispielsweise kann der Speicher 604 computerlesbare Anweisungen speichern (z. B., die ein oder mehrere Programme und/oder ein oder mehrere Programmelemente darstellen, wie z. B. ein Betriebssystem). Computerspeichermedien können RAM, ROM, EEPROM, Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, Digital Versatile Disks (DVD) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium, das zur Speicherung der gewünschten Informationen verwendet werden kann und auf die das Rechengerät 600 zugreifen kann, umfassen, sind aber nicht darauf beschränkt. Wie hierin verwendet, umfasst der Begriff „Computer-Speichermedien“ nicht Signale per se.
  • Das Computerspeichermedium kann computerlesbare Instruktionen, Datenstrukturen, Programmmodule und/oder andere Datentypen in einem modulierten Datensignal verkörpern, wie beispielsweise einer Trägerwelle oder einem anderen Transportmechanismus, und umfasst jedes Informations-Übermittlungs-Medium. Der Term „moduliertes Datensignal“ kann sich auf ein Signal beziehen, das ein oder mehrere seiner Charakteristiken in solch einer Weise gesetzt oder geändert hat, um Information in das Signal zu kodieren. Auf dem Wege eines Beispiels und nicht Beschränkung kann das Computerspeichermedium drahtgebundene Medien, wie ein drahtgebundenes Netzwerk oder eine Direkt-Draht-Verbindung, und drahtlose Medien, wie akustische, RF, Infrarot und andere drahtlose Medien, umfassen. Kombinationen von allen oben genannten sollen ebenfalls innerhalb des Umfangs von computerlesbaren Medien umfasst sein.
  • Die CPU(s) 606 kann/können so konfiguriert sein, dass sie zumindest einige der computerlesbaren Anweisungen ausführt/ausführen, um eine oder mehrere Komponenten des Rechengeräts 600 zu steuern, um eines oder mehrere der hier beschriebenen Verfahren und/oder Prozesse durchzuführen. Die CPU(s) 606 kann/können jeweils einen oder mehrere Kerne umfassen (z. B. einen, zwei, vier, acht, achtundzwanzig, zweiundsiebzig, usw.), die in der Lage sind, eine Vielzahl von Software-Threads simultan zu verarbeiten. Die CPU(s) 606 kann/können jede Art von Prozessor umfassen und je nach Art des implementierten Rechengeräts 600 unterschiedliche Typen von Prozessoren umfassen (z. B. Prozessoren mit weniger Kernen für mobile Geräte und Prozessoren mit mehr Kernen für Server). Zum Beispiel kann, je nach Art des Rechengeräts 600, der Prozessor ein ARM-Prozessor (Advanced RISC Machines Processor) sein, der unter Verwenden eines reduzierten Befehlssatzes (RISC) implementiert ist, oder ein x86-Prozessor, der unter Verwenden eines komplexen Befehlssatzes (Complex Instruction Set Computing, CISC) implementiert ist. Das Rechengerät 600 kann eine oder mehrere CPUs 606 umfassen, zusätzlich zu einem oder mehreren Mikroprozessoren oder Zusatz-Coprozessoren, wie z. B. mathematischen Coprozessoren.
  • Zusätzlich oder alternativ zu der/den CPU(s) 606 kann/können die GPU(s) 608 so konfiguriert sein, dass sie zumindest einige der computerlesbaren Anweisungen ausführt/ausführen, um eine oder mehrere Komponenten des Rechengeräts 600 zu steuern, um eines oder mehrere der hierin beschriebenen Verfahren und/oder Prozesse durchzuführen. Eine oder mehrere der GPU(s) 608 kann/können eine integrierte GPU (z. B. mit einem oder mehreren der CPU(s) 606) sein und/oder eine oder mehrere der GPU(s) 608 kann/können eine diskrete GPU sein. In Ausführungsbeispielen kann/können eine oder mehrere der GPU(s) 608 ein Coprozessor von einer oder mehreren der CPU(s) 606 sein. Die GPU(s) 608 kann/können von dem Rechengerät 600 zum Rendern von Grafiken (z. B. 3D-Grafiken) verwendet werden oder um Universalberechnungen durchzuführen. Zum Beispiel kann/können die GPU(s) 608 zum Universalberechnen auf GPU(s) (General-Purpose computing in GPUs, GPGPU) verwendet werden. Die GPU(s) 608 kann/können hunderte oder tausende von Kernen umfassen, die in der Lage sind, hunderte oder tausende von Software-Threads simultan zu verarbeiten. Die GPU(s) 608 kann/können als Reaktion auf Rendering-Befehle (z. B. Rendering-Befehle von der/den CPU(s) 606, die über eine Host-Schnittstelle empfangen werden) Pixeldaten für Ausgabebilder erzeugen. Die GPU(s) 608 kann/können einen Grafikspeicher, z. B. einen Anzeigespeicher, zum Speichern von Pixeldaten oder irgendwelchen anderen geeigneten Daten, wie zum Beispiel GPGPU Daten, umfassen. Der Anzeigespeicher kann als Teil des Speichers 604 eingefügt sein. Die GPU(s) 608 kann/können zwei oder mehr GPUs umfassen, die parallel arbeiten (z. B. über eine Verbindung). Die Verbindung kann die GPUs direkt (z. B. unter Verwenden von NVLINK) verbinden oder kann die GPUs durch einen Switch (z. B. unter Verwenden von NVSwitch) verbinden. Wenn zusammen kombiniert, kann jede GPU 608 Pixeldaten oder GPGPU Daten für verschiedene Teile einer Ausgabe oder für verschiedene Ausgaben erzeugen (z. B. eine erste GPU für ein erstes Bild und eine zweite GPU für ein zweites Bild). Jede GPU kann ihren eigenen Speicher umfassen oder Speicher gemeinsam mit anderen GPUs nutzen.
  • Zusätzlich oder alternativ zu der/den CPU(s) 606 und/oder der/den (GPU(s) 608 kann/können die Logikeinheit(en) 620 so konfiguriert sein, dass sie zumindest einige der computerlesbaren Anweisungen ausführt/ausführen, um eine oder mehrere Komponenten des Rechengeräts 600 zu steuern, um eines oder mehrere der hierin beschriebenen Verfahren und/oder Prozesse durchzuführen. In Ausführungsbeispielen kann/können die CPU(s) 606, die GPU(s) 608 und/oder die Logikeinheit(en) 620 einzeln oder zusammen jede Kombination der Verfahren, Prozesse und/oder Teile davon ausführen. Eine oder mehrere der Logikeinheiten 620 kann/können Teil von und/oder in eine oder mehrere der CPU(s) 606 und/oder der GPU(s) 608 integriert sein und/oder eine oder mehrere der Logikeinheiten 620 kann/können diskrete Komponenten oder auf andere Weise extern zu der/den CPU(s) 606 und/oder der/den GPU(s) 608 sein. In Ausführungsbeispielen kann/können eine oder mehrere der Logikeinheiten 620 ein Coprozessor von einer oder mehreren der CPU(s) 606 und/oder einer oder mehreren der GPU(s) 608 sein.
  • Beispiele für die Logikeinheit(en) 620 umfassen einen oder mehrere Prozessorkerne und/oder Komponenten davon, wie beispielsweise Tensorkerne (TCs), Tensor Processing Units (TPUs), Pixel Visual Cores (PVCs), Vision Processing Units (VPUs), Graphikprozessorcluster (GPCs), Texture Processing Clusters (TPCs), Streaming Multiprocessors (SMs), Baum-Traversierungseinheiten (Tree Traversal Units, TTUs), künstliche Intelligenz Beschleuniger (Artificial Intelligence Accelerators, AlAs), Deep Learning Beschleuniger (DLAs), Arithmetisch-logische Einheiten (ALUs), Anwendungsspezifische integrierte Schaltungen (ASICs), Gleitkommaeinheiten (FPUs), Eingabe/Ausgabe-(E/A)-Elemente, Peripheral Component Interconnect (PCI), Peripheral Component Interconnect Express (PCle) Elemente, und/oder ähnliche.
  • Die Kommunikationsschnittstelle 610 kann einen oder mehrere Empfänger, Sender und/oder Transceiver umfassen, die es dem Rechengerät 600 ermöglichen, mit anderen Rechengeräten über ein elektronisches Kommunikationsnetzwerk zu kommunizieren, einschließlich drahtgebundener und/oder drahtloser Kommunikationen. Die Kommunikationsschnittstelle 610 kann Komponenten und Funktionalität umfassen, die eine Kommunikation über jedes von einer Anzahl von verschiedenen Netzwerken ermöglichen, wie z. B. drahtlose Netzwerke (z. B. Wi-Fi, Z-Wave, Bluetooth, Bluetooth LE, ZigBee, usw.), drahtgebundene Netzwerke (z. B. Kommunikation über Ethernet oder InfiniBand), Weitverkehrsnetzwerke mit geringer Leistung (z. B. LoRaWAN, SigFox, usw.) und/oder das Internet.
  • Die E/A-Anschlüsse 612 können es ermöglichen, dass das Rechengerät 600 mit anderen Geräten logisch gekoppelt ist, einschließlich der E/A-Komponenten 614, der Präsentationskomponente(n) 618 und/oder anderer Komponenten, von denen einige in das Rechengerät 600 eingebaut (z. B. integriert in) sein können. Beispielhafte E/A-Komponenten 614 umfassen ein Mikrofon, eine Maus, eine Tastatur, einen Joystick, ein Gamepad, eine Spielsteuerung, eine Satellitenschüssel, einen Scanner, einen Drucker, ein drahtloses Gerät, usw. Die E/A-Komponenten 614 können eine natürliche Benutzerschnittstelle (NUI) bereitstellen, die Luftgesten, Stimme oder andere physiologische Eingaben verarbeitet, die von einem Benutzer erzeugt werden. In einigen Fällen können Eingaben zur weiteren Verarbeitung an ein geeignetes Netzwerkelement übertragen werden. Eine NUI kann eine beliebige Kombination aus Spracherkennung, Stifterkennung, Gesichtserkennung, biometrischer Erkennung, Gestenerkennung sowohl auf dem Bildschirm als auch neben dem Bildschirm, Luftgesten, Kopf- und Augenverfolgung und Berührungserkennung (wie unten in größeren Detail beschrieben) in Verbindung mit einer Anzeige des Rechengeräts 600 implementieren. Das Rechengerät 600 kann Tiefenkameras, wie z. B. stereoskopische Kamerasysteme, Infrarotkamerasysteme, RGB-Kamerasysteme, Touchscreen-Technologie und Kombinationen davon, zur Gestendetektion und -erkennung umfassen. Zusätzlich kann das Rechengerät 600 Beschleunigungsmesser oder Gyroskope (z. B. als Teil einer Trägheitsmesseinheit (IMU)) umfassen, die Erkennung von Bewegung ermöglichen. In einigen Beispielen kann die Ausgabe der Beschleunigungsmesser oder Gyroskope von dem Rechengerät 600 verwendet werden, um immersive Augmented Reality oder virtuelle Realität zu rendern.
  • Die Leistungsversorgung 616 kann eine fest verdrahtete Stromversorgung, eine Batteriestromversorgung oder eine Kombination davon umfassen. Die Stromversorgung 616 kann das Rechengerät 600 mit Strom versorgen, um den Betrieb der Komponenten des Rechengeräts 600 zu ermöglichen.
  • Die Präsentationskomponente(n) 618 kann/können eine Anzeige (z. B. einen Monitor, einen Touchscreen, einen Fernsehbildschirm, ein Heads-up-Display (HUD), andere Anzeigetypen oder eine Kombination davon), Lautsprecher und/oder andere Präsentationskomponenten umfassen. Die Präsentationskomponente(n) 618 kann/können Daten von anderen Komponenten (z. B. der/den GPU(s) 608, der/den CPU(s) 606, usw.) empfangen und die Daten ausgeben (z. B. als ein Bild, Video, Ton, usw.).
  • BEISPIELHAFTES DATENCENTER
  • 7 illustriert ein beispielhaftes Datencenter 700, das zumindest in einem Ausführungsbeispiel der vorliegenden Offenbarung verwendet werden kann. Das Datencenter 700 kann eine Datencenter-Infrastrukturschicht 710, eine Framework-Schicht 720, eine Softwareschicht 730 und/oder eine Anwendungsschicht 740 umfassen.
  • Wie in 7 gezeigt, kann die Datencenter-Infrastrukturschicht 710 einen Ressourcen-Orchestrator 712, gruppierte Berechnungsressourcen 714 und Knoten-Berechnungsressourcen („Knoten C.R.s“) 716(1)-716(N), wobei „N“ eine ganze positive Integerzahl repräsentiert, umfassen. In zumindest einem Ausführungsbeispiel können die Knoten C.R.s 716(1)-716(N), sind aber nicht darauf beschränkt, jede Anzahl von Zentralen Verarbeitungseinheiten („CPUs“) oder andere Prozessoren (einschließlich Beschleunigern, Field Programmable Gate Arrays (FPGAs), Graphikprozessoren oder Graphikprozessoreinheiten (GPUs), usw.), Memoryvorrichtungen (z.B. dynamische Festwertspeicher), Speichervorrichtungen (z.B. Festkörper- oder Plattenlaufwerke), Netzwerk Eingabe/Ausgabe-(„NW E/A“)-Vorrichtungen, Netzwerkswitches, Virtuelle Maschinen („VMs“), Powermodule, und/oder Kühlmodule, usw. umfassen. In einigen Ausführungsbeispielen können ein oder mehrere Knoten C.R.s von den Knoten C.R.s 716(1)-716(N) zu einem Server korrespondieren, der eine oder mehrere der oben genannten Berechnungsressourcen hat. Zusätzlich können, in einigen Ausführungsbeispielen, die Knoten C.R.s 716(1)-716(N) eine oder mehrere virtuelle Komponenten, wie beispielsweise vGPUs, vCPUs und/oder ähnliche umfassen und/oder einer oder mehrere der Knoten C.R.s 716(1)-716(N) können zu einer virtuellen Maschine (VM) korrespondieren.
  • In zumindest einem Ausführungsbeispiel können gruppierte Berechnungsressourcen 714 separate Gruppierungen von Knoten C.R.s 716 einschließen, die innerhalb eines oder mehrerer Racks (nicht gezeigt) untergebracht sind, oder viele Racks, die in Datencentern an verschiedenen geographischen Positionen (nicht gezeigt) untergebracht sind. Separate Gruppierungen von Knoten C.R.s 716 innerhalb gruppierter Berechnungsressourcen 714 können gruppierte Berechnungs-, Netzwerk-, Memory-, oder Speicher-Ressourcen einschließen, die konfiguriert oder allokiert sein können, um eine oder mehrere Arbeitslasten zu unterstützen. In zumindest einem Ausführungsbeispiel können mehrere Knoten C.R.s 716 einschließlich CPUs, GPUs und/oder anderer Prozessoren innerhalb eines oder mehrerer Racks gruppiert sein, um Rechenressourcen bereitzustellen, um eine oder mehrere Arbeitslasten zu unterstützen. Das eine oder die mehrere Racks können auch jede Anzahl von Powermodulen, Kühlmodulen und/oder Netzwerk-Switches in jeder Kombination umfassen.
  • Der Ressourcen-Orchestrator 722 kann einen oder mehrere Knoten C.R.s 716(1)-716(N) und oder gruppierte Berechnungs-Ressourcen 714 konfigurieren oder anderweitig steuern. In zumindest einem Ausführungsbeispiel kann Ressourcen-Orchestrator 722 eine Software-Design-Infrastruktur-(SDI)-Management-Entität für das Datencenter 700 umfassen. Der Ressourcen-Orchestrator kann Hardware, Software oder irgendeine Kombination davon umfassen.
  • In zumindest einem Ausführungsbeispiel, wie in 7 gezeigt, kann Framework-Schicht 720 einen Job-Scheduler 732, einen Konfigurationsmanager 734, einen Ressourcenmanager 736 und/oder ein verteiltes File-System 738 umfassen. Die Framework-Schicht 720 kann ein Framework umfassen, um Software 732 von Softwareschicht 730 und/oder eine oder mehrere Anwendung(en) 742 von Anwendungsschicht 740 zu unterstützen. Die Software 732 oder Anwendung(en) 742 können web-basierte Servicesoftware bzw. Anwendungen umfassen, wie diejenige, die vom Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt werden. Die Framework-Schicht 720 kann, ist aber nicht darauf beschränkt, ein Typ von Freier- und Open-Source Software Web-Anwendungs-Framework sein, wie zum Beispiel Apache SparkTM (nachfolgend „Spark“), das ein verteiltes File-System 738 für Datenprozessierung in großen Maßstab (z.B. „Big Data“) verwenden kann. In zumindest einem Ausführungsbeispiel kann Job-Scheduler 732 einen Spark-Treiber umfassen, um Scheduling von Arbeitslasten zu ermöglichen, unterstützt mittels verschiedener Schichten vom Datencenter 700. Der Konfigurationsmanager 734 kann fähig sein, verschiedene Schichten, wie beispielsweise Software-Schicht 730 und Framework-Schicht 720, einschließlich Spark und verteiltem File-System 738 zum Unterstützen von Datenprozessierung großen Maßstabs, zu konfigurieren. Der Ressourcenmanager 736 kann fähig sein, geclusterte oder gruppierte Berechnungsressourcen zu managen, die einer Unterstützung vom verteiltem File-System 738 und Job-Scheduler 732 zugeordnet oder allokiert sind. In zumindest einem Ausführungsbeispiel können geclusterte oder gruppierte Berechnungsressourcen gruppierte Berechnungsressource 714 bei der Datencenter-Infrastrukturschicht 710 umfassen. Der Ressourcenmanager 1036 kann mit Ressourcen-Orchestrator 712 koordinieren, um diese zugeordneten oder allokierten Berechnungsressourcen zu managen.
  • In zumindest einem Ausführungsbeispiel kann Software 732, die in Softwareschicht 730 enthalten ist, Software enthalten, die von zumindest Teilen von Knoten C.R.s 716(1)-716(N), gruppierten Berechnungsressourcen 714 und/oder verteilten File-System 738 von Framework-Schicht 720 verwendet wird. Ein oder mehrere Typen von Software können, aber sind nicht darauf beschränkt, Internet Webpage Suchsoftware, E-Mail Virus-Scansoftware, Datenbank-Software und Streaming Videoinhalt-Software umfassen.
  • In zumindest einem Ausführungsbeispiel kann/können Anwendung(en) 742, die in Anwendungs-Schicht 740 enthalten sind, ein oder mehrere Typen von Anwendungen umfassen, die durch zumindest Teile von Knoten C.R.s 716(1)-716(N), gruppierten Berechnungsressourcen 714 und/oder verteilten File-System 738 von Framework-Schicht 720 verwendet werden. Ein oder mehrere Typen von Anwendungen können umfassen, sind aber nicht darauf beschränkt: jede Anzahl von einer genomischen Anwendung, einem kognitiven Berechnen (cognitive compute) und einer maschinenlern-Anwendung, einschließlich Trainings- oder Inferenzier-Software, maschinenlern-Framework-Software (z.B. PyTorch, TensorFlow, Caffe, usw.) und/oder andere maschinenlern-Anwendungen, die in Verbindung mit einem oder mehreren Ausführungsbeispielen verwendet werden.
  • In zumindest einem Ausführungsbeispiel kann jeder von Konfigurationsmanager 734, Ressourcenmanager 736 und Ressourcen-Orchestrator 712 jede Anzahl und Typ von selbstmodifizierenden Aktionen implementieren, basierend auf jedem Umfang und Typ von Daten, die in jeder technisch realisierbare Weise erlangt werden. Selbstmodifizierende Aktionen können einen Datenbank-Operator von Datencenter 700 davon befreien möglicherweise schlechte Konfigurations-Entscheidungen zu machen und möglicherweise unausgenutzte und/oder schlecht performende Teile eines Datencenters vermeiden.
  • Das Datencenter 700 kann Tools, Services, Software oder andere Ressourcen umfassen, um eine oder mehrere maschinenlern-Modelle zu trainieren, oder Informationen vorherzusagen oder zu folgern, unter Verwenden eines oder mehrerer maschinenlern-Modelle, in Übereinstimmung mit einem oder mehreren hierin beschriebenen Ausführungsbeispielen. Zum Beispiel kann ein oder mehrere maschinenlern-Modelle mittels Berechnens von Gewichtsparametern trainiert werden, gemäß einer Neuronalen Netzwerk-Architektur, unter Verwenden von Software und/oder Berechnungsressourcen, die oben in Bezug auf das Datencenter 700 beschrieben wurden. In zumindest einem Ausführungsbeispiel können trainierte oder eingesetzte maschinenlern-Modelle, die zu einem oder mehreren Neuronalen Netzwerken korrespondieren, verwendet werden, um Informationen abzuleiten oder vorherzusagen, unter Verwenden von Ressourcen die oben in Bezug auf das Datencenter 700 beschrieben wurden, mittels Verwendens von Gewichtsparametern, die durch eine oder mehrere Trainingstechniken berechnet wurden, wie die, aber nicht auf diese eingeschränkt, hierin beschriebenen.
  • In zumindest einem Ausführungsbeispiel kann das Datencenter 700 CPUs, anwendungsspezifische integrierte Schaltkreise (ASICs), GPUs, FPGAs und/oder andere Hardware (oder virtuelle Berechnungsressourcen, die dazu korrespondieren) verwenden, um Training und/oder Ableiten durchzuführen, unter Verwenden von oben beschriebenen Ressourcen. Ferner können eine oder mehrere oben beschriebene Software- und/oder Hardwareressourcen als ein Service konfiguriert werden, um es Nutzern zu erlauben, um zu trainieren oder Ableiten von Informationen durchzuführen, wie beispielsweise Bilderkennung, Spracherkennung oder andere Services künstlicher Intelligenz.
  • BEISPIELHAFTE NETZWERKUMGEBUNGEN
  • Netzwerkumgebungen, die für die Verwendung beim Implementieren von Ausführungsbeispielen der Offenbarung geeignet sind, können eine oder mehrere Client-Vorrichtungen, Server, netzgebundenen Speicher (network attached storage, NAS), andere Backend-Vorrichtungen und/oder andere Vorrichtungstypen umfassen. Die Client-Vorrichtungen, Server und/oder andere Vorrichtungs-Typen (z.B. jede Vorrichtung) kann auf einer oder mehreren Instanzen der Rechenvorrichtung(en) 600 von 6 implementiert werden - z.B. kann jede Vorrichtung ähnliche Komponenten, Merkmale und/oder Funktionalität der Rechenvorrichtung(en) 600 umfassen. Zusätzlich, wo Backend-Vorrichtungen (z.B. Server, NAS, usw.) implementiert werden, können die Backend-Vorrichtungen als Teile eines Datencenters 700 eingebunden sein, von dem ein Beispiel hierin in größeren Detail unter Bezug auf 7 beschrieben ist.
  • Komponenten einer Netzwerk-Umgebung können miteinander via ein Netzwerk(e) kommunizieren, das/die kabelgebunden, kabellos oder beides sein kann/können. Das Netzwerk kann mehrere Netzwerke oder ein Netzwerk von Netzwerken umfassen. Auf dem Wege eines Beispiels kann das Netzwerk ein oder mehrere Weitverkehrsnetze (Wide Area Networks, WANs), ein oder mehrere lokale Netzwerke (Local Area Networks, LANs), ein oder mehrere öffentliche Netzwerke z.B. das Internet und/oder ein Telefonnetz (public switched telephone network, PSTN), und/oder ein oder mehrere private Netzwerke umfassen. Wo das Netzwerk ein drahtloses Telekommunikationsnetzwerk umfasst, können Komponenten, wie beispielsweide eine Basisstation, ein Kommunikationsturm oder selbst Zugangspunkte (access points) (sowie auch andere Komponenten) eine drahtlose Konnektivität bereitstellen.
  • Kompatible Netzwerkumgebungen können eine oder mehrere Peer-to-Peer Netzwerkumgebungen - in dem Fall mag ein Server nicht in einer Netzwerkumgebung enthalten sein - und eine oder mehrere Client-Server Netzwerkumgebungen - in dem Fall können ein oder mehrere Server in einer Netzwerkumgebung enthalten sein - umfassen. In Peer-to-Peer Netzwerkumgebungen kann eine hierin in Bezug auf einen oder mehrere Server beschriebene Funktionalität auf jeder Anzahl von Client-Vorrichtungen implementiert werden.
  • In zumindest einem Ausführungsbeispiel kann eine Netzwerkumgebung eine oder mehrere cloudbasierte Netzwerkumgebungen, eine verteilte-Berechnungsumgebung (distributed computing environment), eine Kombination davon, usw. umfassen. Eine cloudbasierte Netzwerkumgebung kann eine Framework-Schicht, einen Job-Scheduler, einen Ressourcenmanager und ein verteiltes File-System umfassen, die auf einen oder mehreren Servern implementiert werden, die einen oder mehrere Kern-Netzwerk-Server und/oder Edge-Server umfassen. Eine Framework-Schicht kann ein Framework umfassen, um Software von einer Softwareschicht und/oder eine oder mehrere Anwendung(en) von einer Anwendungsschicht zu unterstützen. Die Software oder Anwendung(en) können web-basierte Servicesoftware bzw. Anwendungen umfassen. In Ausführungsbeispielen können ein oder mehrere Client-Vorrichtungen die web-basierte Service-Software oder Anwendungen verwenden (z.B. indem auf die Service-Software und/oder Anwendungen via eine oder mehrere Programmschnittstellen (APIs) zugegriffen wird). Die Framework-Schicht kann, ohne darauf beschränkt zu sein, ein Typ von Freier- und Open-Source Software Web Anwendungs-Framework sein, wie eines das ein verteiltes Filesystem für Datenprozessierung in großen Maßstab (z.B. „Big Data“) verwendet.
  • Eine cloudbasierte Netzwerkumgebung kann Cloud Computing und/oder Cloud-Speichern bereitstellen, das jede Kombination von Berechnungs- und/oder Datenspeicherungsfunktionen ausführt, die hierin beschrieben sind (oder eine oder mehrere Teile davon). Jede dieser verschiedenen Funktionen können über mehrere Positionen von Zentral- oder Kernserver verteilt sein (z.B. von einem oder mehreren Datencentern, die über einen Staat, eine Region, ein Land, dem Globus, usw. verteilt sind). Wenn eine Verbindung zu einem Nutzer (z.B. eine Client-Vorrichtung) relativ nahe zu einem Edge-Server(n) ist, kann ein oder mehrere Kern-Server den/die Edge-Server für zumindest einen Teil der Funktionalität ausersehen. Eine cloudbasierte Netzwerkumgebung kann privat sein (z.B. auf eine einzelne Organisation beschränkt), kann öffentlich sein (z.B. nutzbar für viele Organisationen) und/oder eine Kombination davon (z.B. eine hybride Cloudumgebung).
  • Der/die Client-Vorrichtung(en) kann/können zumindest einige der Komponenten, Merkmale und Funktionalitäten der beispielhaften Rechenvorrichtung(en) 600, die hierin mit Bezug auf 6 beschrieben wurde(n) umfassen. Auf dem Wege eines Beispiels und nicht beschränkend kann eine Client-Vorrichtung als ein Personal Computer (PC), ein Laptopcomputer, eine mobile Vorrichtung, ein Smartphone, ein Tabletcomputer, eine Smartwatch, ein anziehbarer Computer, ein Personal Digital Assistant (PDA), ein MP3-Spieler, ein virtuelle Realität Headset, ein Global Positioning System (GPS) oder Vorrichtung, ein Videospieler, eine Videokamera, eine Überwachungsvorrichtung oder System, ein Fahrzeug, ein Boot, ein fliegendes Fahrzeug, eine virtuelle Maschine, eine Drohne, ein Roboter, eine Handheld-Kommunikationsvorrichtung, eine Krankenhaus-Vorrichtung, eine Spielevorrichtung oder -system, ein Unterhaltungssystem, ein Fahrzeugcomputersystem, eine eingebettete Systemsteuerung, eine Fernbedienung, ein Gerät, eine Unterhaltungselektronik-Vorrichtung, eine Workstation, eine Edge-Vorrichtung, irgendeine Kombination von diesen skizzierten Vorrichtungen oder irgendeine andere geeignete Vorrichtung verkörpert sein.
  • Die Offenbarung kann im allgemeinen Kontext von Computercode oder maschinell verwendbaren Anweisungen beschrieben werden, einschließlich computerausführbarer Anweisungen, wie z. B. Programmmodule, die von einem Computer oder einer anderen Maschine, wie z. B. einem Personal Data Assistant oder einem anderen Handheld-Gerät, ausgeführt werden. Im Allgemeinen beziehen sich Programmmodule, einschließlich Routinen, Programme, Objekten, Komponenten, Datenstrukturen, usw., auf Codes, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die Offenbarung kann in einer Vielzahl von Systemkonfigurationen praktiziert werden, einschließlich Handheld-Geräten, Unterhaltungselektronik, Universalcomputern, spezielleren Rechengeräten, usw. Die Offenbarung kann auch in verteilten Rechenumgebungen angewendet werden, in denen Aufgaben von entfernt arbeitenden Geräten ausgeführt werden, die über ein Kommunikationsnetzwerk verbunden sind.
  • Wie hier verwendet, sollte eine Rezitation von „und/oder“ in Bezug auf zwei oder mehr Elemente interpretiert werden, nur ein Element oder eine Kombination von Elementen zu meinen. Beispielsweise kann „Element A, Element B und/oder Element C“ nur Element A, nur Element B, nur Element C, Element A und Element B, Element A und Element C, Element B und Element C oder die Elemente A, B und C umfassen. Darüber hinaus kann „zumindest eines von Element A oder Element B“ zumindest eines von Element A, zumindest eines von Element B oder zumindest eines von Element A und zumindest eines von Element B umfassen. Weiter kann „zumindest eines von Element A und Element B“ zumindest eines von Element A, zumindest eines von Element B oder zumindest eines von Element A und zumindest eines von Element B umfassen.
  • Der Gegenstand der vorliegenden Offenbarung wird hierin spezifisch beschrieben, um gesetzliche Anforderungen zu erfüllen. Die Beschreibung selbst soll jedoch nicht den Umfang dieser Offenbarung einschränken. Vielmehr haben die Erfinder in Erwägung gezogen, dass der beanspruchte Gegenstand auch auf andere Weisen verkörpert werden kann, um andere Schritte oder Kombinationen von Schritten ähnlich den in diesem Dokument beschriebenen in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien zu umfassen. Ferner sollten, obwohl die Begriffe „Schritt“ und/oder „Block“ hierin verwendet werden können, um verschiedene Elemente von verwendeten Verfahren zu bezeichnen, die Begriffe nicht so ausgelegt werden, dass sie eine bestimmte Reihenfolge unter oder zwischen den verschiedenen hier offenbarten Schritten implizieren, solange nicht und außer, wenn die Reihenfolge der einzelnen Schritte ausdrücklich beschrieben wird.

Claims (27)

  1. Ein Verfahren aufweisend: Verwenden, innerhalb einer Benutzerschnittstelle einer Instanz einer ausgeführten Anwendung, einer Client-Vorrichtung eines Benutzers, Bewirken einer Anzeige einer Repräsentation des Benutzers und eines oder mehrerer Teilnehmerrepräsentationen, die zu einem oder der mehreren Teilnehmer einer Anwendungssitzung der Anwendung korrespondieren; Empfangen von Eingabedaten, die für eine oder mehrere Eingaben repräsentativ sind, die zu einer Manipulation von zumindest einer Teilnehmerrepräsentation der einen oder mehreren Teilnehmerrepräsentationen korrespondieren; Bestimmen, in Reaktion auf die einen oder mehreren Eingaben, von aktualisierten Audiosettings, die zu zumindest einem Teilnehmer korrespondieren, der mit der zumindest einen Teilnehmerrepräsentation assoziiert ist; Identifizieren zumindest eines Teils von Audiodaten von der Anwendungssitzung, der zu dem zumindest einem Teilnehmer korrespondiert; und Anwenden der aktualisierten Audiosettings auf zumindest den Teil der Audiodaten.
  2. Das Verfahren nach Anspruch 1, wobei die eine oder die mehreren Eingaben, die zu einer Manipulation der zumindest einen Teilnehmerrepräsentation korrespondiert, zu einem Umpositionieren der zumindest einen Teilnehmerrepräsentation in Bezug auf eine Position der Benutzerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, korrespondiert.
  3. Das Verfahren nach Anspruch 2, wobei: die aktualisierten Audiosettings ein Anpassen eines Lautstärkepegels, der zu den zumindest einem Teilnehmer korrespondiert, umfassen, wenn die zumindest eine Teilnehmerrepräsentation relativ zu einer Position der Benutzerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, umpositioniert wird.
  4. Das Verfahren nach Anspruch 3, wobei Anpassen des Lautstärkepegels zumindest eines aufweist von: Erhöhen des Lautstärkepegels, wenn die zumindest eine Teilnehmerrepräsentation näher an eine Position der Benutzerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, umpositioniert wird; oder Reduzieren des Lautstärkepegels, wenn die zumindest eine Teilnehmerrepräsentation ferner von einer Position der Benutzerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, umpositioniert wird.
  5. Das Verfahren nach irgendeinem vorherigen Anspruch, wobei die eine oder mehreren Eingaben, die zu einer Manipulation der zumindest einen Teilnehmerrepräsentation korrespondieren, zu einer Anpassung einer Größe der zumindest einen Teilnehmerrepräsentation korrespondieren.
  6. Das Verfahren nach Anspruch 5, wobei: die aktualisierten Audiosettings ein Anpassen eines Lautstärkepegels, der zu den zumindest einem Teilnehmer korrespondiert, umfassen, wenn eine Größe der zumindest eine Teilnehmerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, angepasst wird.
  7. Das Verfahren nach Anspruch 6, wobei das Anpassen eines Lautstärkepegels zumindest eines aufweist von: Erhöhen des Lautstärkepegels, wenn die Größe des zumindest einen Teilnehmericons relativ zu einer Größe der Benutzerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, vergrößert wird; oder Reduzieren des Lautstärkepegels, wenn die Größe des zumindest einen Teilnehmericons relativ zu einer Größe der Benutzerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, verkleinert wird.
  8. Das Verfahren nach irgendeinem vorherigen Anspruch, wobei die Anwendung zu zumindest einem von einer Konferenz-Anwendung, einer Spielestreaming-Anwendung, einer Inhaltsstreaming-Anwendung oder einer Telefonservice-Anwendung korrespondiert.
  9. Das Verfahren nach irgendeinem vorherigen Anspruch, ferner aufweisend: Empfangen von Daten, die für eine Indikation, dass der zumindest eine Teilnehmern auf den Benutzer eingeht, repräsentativ sind; und Anpassen der aktualisierten Audiosettings zu neu aktualisierten Audiosettings, zumindest zum Teil basierend darauf, dass der zumindest eine Teilnehmer auf den Benutzer eingeht.
  10. Das Verfahren nach irgendeinem vorherigen Anspruch, wobei zumindest eines von einer Position in Bezug auf die Repräsentation des Benutzers oder von einer Größe innerhalb der Benutzerschnittstelle von zumindest einer der einen oder mehreren Teilnehmerrepräsentationen initialisiert wird, basierend zumindest zum Teil auf vergangene Manipulationen der einen der mehreren Teilnehmericonsrepräsentationen von einer oder mehreren vergangenen Anwendungssitzungen.
  11. Das Verfahren nach irgendeinem vorherigen Anspruch, ferner aufweisend: Empfangen von Daten, die dafür repräsentativ sind, dass zumindest einer der Teilnehmer eine Repräsentation manipuliert, die zu dem Benutzer innerhalb der Anwendungssitzung korrespondiert; und Bewirken einer Anzeige, innerhalb der Benutzerschnittstelle, einer Indikation des Manipulierens der Repräsentation, die zu dem Benutzer korrespondiert.
  12. Ein Prozessor aufweisend: einen oder mehrere Schaltkreise, um: ein Anzeigen, innerhalb einer Benutzerschnittstelle einer Anwendung, einer Repräsentation eines Benutzers, die zu einem Benutzer korrespondiert, und einer oder mehrerer Teilnehmerrepräsentationen, die zu einem oder mehreren Teilnehmer einer Anwendungssitzung korrespondieren, zu bewirken; Eingabedaten, die für eine oder mehrere Eingaben in die Benutzerschnittstelle repräsentativ sind, zu empfangen, wobei die eine oder mehreren Eingaben zu einer Manipulation von zumindest einer Teilnehmerrepräsentation der einen oder mehreren Teilnehmerrepräsentationen korrespondieren; in Reaktion auf die einen oder mehreren Eingaben aktualisierte Audiodaten zu erzeugen, basierend zumindest zum Teil auf einem Anpassen eines Lautstärkepegels, der mit zumindest einem Teil von empfangenen Audiodaten assoziiert ist, der zu zumindest einem Teilnehmer korrespondiert, der mit der zumindest einen Teilnehmerrepräsentation assoziiert ist; und Ausgabe der aktualisierten Audiodaten zu bewirken.
  13. Der Prozessor nach Anspruch 12, wobei die eine oder mehreren Eingaben zu einem Umpositionieren der zumindest einen Teilnehmerrepräsentation in Bezug auf die Repräsentation des Benutzers, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, korrespondiert.
  14. Der Prozessor nach Anspruch 13, wobei das Anpassen eines Lautstärkepegels aufweist, Anpassen eines Lautstärkepegels, der zu den zumindest einem Teilnehmer korrespondiert, wenn die zumindest eine Teilnehmerrepräsentation relativ zu einer Position der Benutzerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, umpositioniert wird.
  15. Der Prozessor nach Anspruch 14, wobei Anpassen des Lautstärkepegels zumindest eines aufweist von: Erhöhen des Lautstärkepegels, wenn die Teilnehmerrepräsentation näher an die Repräsentation des Benutzers, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, umpositioniert wird; oder Erhöhen des Lautstärkepegels, wenn die Teilnehmerrepräsentation weiter von der Repräsentation des Benutzers, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, umpositioniert wird.
  16. Der Prozessor nach irgendeinem der Ansprüche 12 bis 15, wobei die oder mehreren Eingaben zu einer Anpassung einer Größe der zumindest einen Teilnehmerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, korrespondieren.
  17. Der Prozessor nach Anspruch 16, wobei das Anpassen eines Lautstärkepegels ein Anpassen eines Lautstärkepegels aufweist, der zu dem zumindest einem Teilnehmer korrespondiert, wenn eine Größe der zumindest einen Teilnehmerrepräsentation, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, angepasst wird.
  18. Der Prozessor nach Anspruch 17, wobei das Anpassen eines Lautstärkepegels zumindest eines aufweist von: Erhöhen des Lautstärkepegels, wenn eine Größe der Teilnehmerrepräsentation, wie unter Verwendung der Benutzerschnittstelle abgebildet, vergrößert wird; oder Reduzieren des Lautstärkepegels, wenn eine Größe der Teilnehmerrepräsentation, wie unter Verwendung der Benutzerschnittstelle abgebildet, verkleinert wird.
  19. Der Prozessor nach irgendeinem der Ansprüche 12 bis 18, wobei der Prozessor in zumindest einem enthalten ist von: einem System zum Durchführen von Deep-Learning-Operationen; einem System, das unter Verwenden einer Edge-Vorrichtung implementiert ist; einem System, das eine oder mehrere virtuelle Maschinen (VMs) beinhaltet; einem System, das zumindest teilweise in einem Datencenter implementiert ist; oder einem System, das zumindest teilweise unter Verwenden von Cloud-Berechnungs-Ressourcen implementiert ist.
  20. Ein System aufweisend: eine oder mehrere Prozessiereinheiten; und eine oder mehrere Speichereinheiten um Instruktionen zu speichern, die, wenn sie mittels der einen oder mehreren Prozessiereinheiten ausgeführt werden, die eine oder mehreren Prozessiereinheiten dazu bringen, Operationen auszuführen, die aufweisen: Initialisieren einer Instanz einer Anwendung auf einer Client-Vorrichtung eines Benutzers; Bewirken einer Anzeige, innerhalb einer Benutzerschnittstelle der Instanz der Anwendung, einer Repräsentation des Benutzers, die zu dem Benutzer korrespondiert, und einer oder mehrerer Teilnehmerrepräsentationen, die zu einem oder mehreren Teilnehmern einer Anwendungssitzung der Anwendung korrespondieren; Empfangen von Eingabedaten, die dafür repräsentativ sind, dass eine oder mehrere Eingaben zumindest eine Teilnehmerrepräsentation der einen oder mehreren Teilnehmerrepräsentationen manipulieren; Bestimmen, in Reaktion auf die eine oder mehreren Eingaben, von aktualisierten Audiosettings, die zu zumindest einem Teilnehmer korrespondieren, der mit der zumindest einen Teilnehmerrepräsentation assoziiert ist; Identifizieren zumindest eines Teils von Audiodaten von der Anwendungssitzung, der zu dem zumindest einem Teilnehmer korrespondiert; und Anwenden der aktualisierten Audiosettings auf zumindest den Teil der Audiodaten.
  21. Das System nach Anspruch 20, wobei die eine oder mehreren Eingaben, die die zumindest eine Teilnehmerrepräsentation manipulieren, zu einem Umpositionieren der zumindest einen Teilnehmerrepräsentation in Bezug auf eine Repräsentation des Benutzers, wie sie unter Verwendung der Benutzerschnittstelle abgebildet ist, korrespondieren.
  22. Das System nach Anspruch 21, wobei die aktualisierten Audiosettings ein Anpassen eines Lautstärkepegels umfassen, der zu dem zumindest einen Teilnehmer korrespondiert.
  23. Das System nach Anspruch 22, wobei das Anpassen eines Lautstärkepegels, der zu dem zumindest einem Teilnehmer korrespondiert, zumindest eines aufweist von: Erhöhen des Lautstärkepegels, wenn die zumindest eine Teilnehmerrepräsentation näher an die Repräsentation des Benutzers innerhalb der Benutzerschnittstelle umpositioniert wird; oder Reduzieren des Lautstärkepegels, wenn die zumindest eine Teilnehmerrepräsentation weiter von der Repräsentation des Benutzers innerhalb der Benutzerschnittstelle umpositioniert wird.
  24. Das System nach irgendeinem der Ansprüche 20 bis 23, wobei die eine oder mehreren Eingaben, die die zumindest eine Teilnehmerrepräsentation manipulieren, zu einem Anpassen einer Größe der zumindest einen Teilnehmerrepräsentation korrespondieren.
  25. Das System nach Anspruch 24, wobei die aktualisierten Audiosettings ein Anpassen eines Lautstärkepegels umfassen, der zu dem zumindest einem Teilnehmer korrespondiert.
  26. Das System nach Anspruch 25, wobei das Anpassen eines Lautstärkepegels zumindest eines aufweist von: Erhöhen des Lautstärkepegels, wenn die zumindest eine Teilnehmerrepräsentation innerhalb der Benutzerschnittstelle in der Größe vergrößert wird; oder Reduzieren des Lautstärkepegels, wenn die zumindest eine Teilnehmerrepräsentation innerhalb der Benutzerschnittstelle in der Größe verkleinert wird.
  27. Das System nach irgendeinem der Ansprüche 20 bis 26, wobei das System in zumindest einem enthalten ist von: einem System zum Durchführen von Deep-Learning-Operationen; einem System, das unter Verwenden einer Edge-Vorrichtung implementiert ist; einem System, das eine oder mehrere virtuelle Maschinen (VMs) beinhaltet; einem System, das zumindest teilweise in einem Datencenter implementiert ist; oder einem System, das zumindest teilweise unter Verwenden von Cloud-Berechnungs-Ressourcen implementiert ist.
DE102022100815.0A 2021-01-20 2022-01-14 Lautstärkensteuerung für audio- und videokonferenzanwendungen Pending DE102022100815A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/153,466 2021-01-20
US17/153,466 US11487498B2 (en) 2021-01-20 2021-01-20 Volume control for audio and video conferencing applications

Publications (1)

Publication Number Publication Date
DE102022100815A1 true DE102022100815A1 (de) 2022-07-21

Family

ID=82217894

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022100815.0A Pending DE102022100815A1 (de) 2021-01-20 2022-01-14 Lautstärkensteuerung für audio- und videokonferenzanwendungen

Country Status (4)

Country Link
US (1) US11487498B2 (de)
JP (1) JP2022111966A (de)
CN (1) CN114816315A (de)
DE (1) DE102022100815A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11943072B2 (en) 2021-03-30 2024-03-26 Snap Inc. Providing a room preview within a virtual conferencing system
US11689696B2 (en) 2021-03-30 2023-06-27 Snap Inc. Configuring participant video feeds within a virtual conferencing system
US11979244B2 (en) 2021-09-30 2024-05-07 Snap Inc. Configuring 360-degree video within a virtual conferencing system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006616B1 (en) * 1999-05-21 2006-02-28 Terayon Communication Systems, Inc. Teleconferencing bridge with EdgePoint mixing
US8190438B1 (en) * 2009-10-14 2012-05-29 Google Inc. Targeted audio in multi-dimensional space
US10979671B1 (en) * 2020-05-20 2021-04-13 Leo McElroy Internet communication system that modifies users' perceptions based on their proximity within a virtual space
US11575531B2 (en) * 2020-06-02 2023-02-07 Preciate Inc. Dynamic virtual environment

Also Published As

Publication number Publication date
CN114816315A (zh) 2022-07-29
JP2022111966A (ja) 2022-08-01
US11487498B2 (en) 2022-11-01
US20220229626A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
US11546550B2 (en) Virtual conference view for video calling
DE102022100815A1 (de) Lautstärkensteuerung für audio- und videokonferenzanwendungen
DE112021001301T5 (de) Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe
US11741949B2 (en) Real-time video conference chat filtering using machine learning models
DE102017122379A1 (de) Umsetzbare Vorschläge für Aktivitäten
DE112016005809T5 (de) Lichtfeld-Rendering eines Bildes unter Verwendung variabler Rechenkomplexität
US20230017111A1 (en) Spatialized audio chat in a virtual metaverse
US11757974B2 (en) System and method for online litigation platform
DE102022100521A1 (de) Automatische inhaltserkennung und information im livestreaming geeignet für videospiele
DE102022106956A1 (de) Konversationelle ki-plattformen mit dialogintegration von geschlossenen domänen und offenen domänen
DE102023100874A1 (de) Effiziente Synchronisationsbarrieren für mehrere Vorrichtungen durch Multicasting
DE102022107672A1 (de) Cloud-ausführung von audio/video compositing-anwendungen
DE102021125895A1 (de) Latenzbestimmungen für einrichtungen mit menschlicher schnittstelle
DE202017105869U1 (de) Kontextabhängige automatische Gruppierung
DE102023125923A1 (de) Generative modelle maschinellen lernens für datenschutzerhaltende synthetische datenerzeugung unter verwendung von diffusion
DE102022132167A1 (de) Spielstilanalyse für Spielempfehlungen
DE112022002137T5 (de) Hybrides differenzierbares Rendering für Lichttransportsimulationssysteme und -Anwendungen
DE112020003896T5 (de) Raytracing für automatische belichtung
DE102022121250B4 (de) Entropiebasiertes Vorfiltern unter Verwenden neuronaler Netzwerke für Streaming-Anwendungen
US20190012470A1 (en) Systems and methods for determining values of conditions experienced by a user, and using the values of the conditions to determine a value of a user permission to apply to the user
DE112022003518T5 (de) Automatische instanziierung von nativen virtuellen schnittstellen für streaminganwendungen
DE102023109585A1 (de) Skalierung von videostreaming vermittels virtueller auflösungsanpassung
DE102023120493A1 (de) Frameraten-heraufkonvertieren unter verwenden von optischem fluss
US11818192B2 (en) Encoding output for streaming applications based on client upscaling capabilities
US20240098303A1 (en) Encoding output for streaming applications based on client upscaling capabilities

Legal Events

Date Code Title Description
R012 Request for examination validly filed