DE102022119403A1 - Verfahren und vorrichtungen, um private verbale nebengespräche bei virtuellen sitzungen zu ermöglichen - Google Patents

Verfahren und vorrichtungen, um private verbale nebengespräche bei virtuellen sitzungen zu ermöglichen Download PDF

Info

Publication number
DE102022119403A1
DE102022119403A1 DE102022119403.5A DE102022119403A DE102022119403A1 DE 102022119403 A1 DE102022119403 A1 DE 102022119403A1 DE 102022119403 A DE102022119403 A DE 102022119403A DE 102022119403 A1 DE102022119403 A1 DE 102022119403A1
Authority
DE
Germany
Prior art keywords
audio
channel
binaural
audio channel
user
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
DE102022119403.5A
Other languages
English (en)
Inventor
Hector Cordourier Maruri
Jose Rodrigo Camacho Perez
Julio Cesar Zamora Esquivel
Willem Beltman
Paulo Lopez Meyer
Alejandro Ibarra Von Borstel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102022119403A1 publication Critical patent/DE102022119403A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/563User guidance or feature selection
    • H04M3/564User guidance or feature selection whereby the feature is a sub-conference
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/568Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/11Positioning of individual sound objects, e.g. moving airplane, within a sound field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/01Enhancing the perception of the sound image or of the spatial distribution using head related transfer functions [HRTF's] or equivalents thereof, e.g. interaural time difference [ITD] or interaural level difference [ILD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Stereophonic System (AREA)

Abstract

Eine beispielhafte Vorrichtung, die eine Prozessorschaltung beinhaltet, um Anweisungen auszuführen, um einer Videokonferenzsitzung beizutreten, die einen ersten Audiokanal beinhaltet, wobei der erste Audiokanal ein erstes binaurales Audio unter einem ersten Winkel beinhaltet; als Reaktion darauf, dass ein Benutzer einem zweiten Audiokanal in der Videokonferenzsitzung beitritt, Auswählen eines zweiten Winkels für den zweiten Audiokanal und eines dritten Winkels für den ersten Audiokanal; Erzeugen eines überlagerten binauralen Audiosignals, das ein zweites binaurales Audiosignal und ein drittes binaurales Audiosignal enthält; und Ausgeben des überlagerten binauralen Audiosignals, so dass erste Audiodaten von dem ersten Audiokanal, die in dem dritten binauralen Audiosignal enthalten sind, von einer ersten Position basierend auf dem dritten Winkel zu stammen scheinen und zweite Audiodaten von dem zweiten Audiokanal, die in dem zweiten binauralen Audiosignal enthalten sind, von einer zweiten Position basierend auf dem zweiten Winkel zu stammen scheinen.

Description

  • GEBIET DER OFFENBARUNG
  • Diese Offenbarung betrifft allgemein Videokonferenzen und insbesondere Verfahren und Vorrichtungen, um private verbale Nebengespräche bei virtuellen Sitzungen zu ermöglichen.
  • HINTERGRUND
  • Virtuelle Konferenzplattformen und Videokonferenzplattformen sind unerlässlich, um in den meisten industriellen, kommerziellen, akademischen und staatlichen Umgebungen zusammenzuarbeiten. In einigen Beispielen stellen Interaktionen durch Fernkommunikationsplattformen eine große Menge der gesamten Interaktionen dar, die in großen Organisationen auftreten. Virtuelle Konferenzplattformen und Videokonferenzplattformen stellen eine Eins-zu-Allen-Art von Interaktion bereit, bei der alle Teilnehmer an einem Treffen das gleiche Audio hören und jederzeit die gleichen visuellen Daten sehen.
  • Figurenliste
    • 1 ist eine schematische Veranschaulichung einer beispielhaften Umgebung, in der Lehren dieser Offenbarung implementiert werden können.
    • 2 ist ein Blockdiagramm einer beispielhaften Videokonferenzschaltung, die in der beispielhaften Umgebung von 1 enthalten ist.
    • 3 ist ein Schaltbild einer beispielhaften binauralen Audioverarbeitung im Einklang mit den Lehren dieser Offenbarung.
    • 4A, 4B sind schematische Darstellungen von Anzeigen von der beispielhaften Videokonferenzschaltung aus 1 und/oder 2.
    • 5 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen darstellt, die durch beispielhafte Prozessorschaltungen zum Implementieren der beispielhaften Videokonferenzschaltung aus 1 und/oder 2 ausgeführt werden können.
    • 6 ist ein Blockdiagramm einer beispielhaften Verarbeitungsplattform, die eine Prozessorschaltung aufweist, die so strukturiert ist, dass sie die beispielhaften maschinenlesbaren Anweisungen von 5 ausführt, um die beispielhafte Videokonferenzschaltung von 1 und/oder 2 zu implementieren.
    • 7 ist ein Blockdiagramm einer beispielhaften Implementierung der Prozessorschaltung von 6.
    • 8 ist ein Blockdiagramm einer anderen beispielhaften Implementierung der Prozessorschaltung von 6.
    • 9 ist ein Blockdiagramm einer beispielhaften Softwareverteilungsplattform (z. B. eines oder mehrerer Server) zum Verteilen von Software (z. B. Software, die den beispielhaften maschinenlesbaren Anweisungen von 5 entspricht) zu Client-Vorrichtungen, die mit Endbenutzern und/oder Verbrauchern (z. B. zur Lizenz, zum Verkauf und/oder zur Verwendung) assoziiert sind, Einzelhändlern (z. B. Zum Verkauf, Weiterverkauf, Lizenz und/oder Unterlizenz) und/oder Originalgerätehersteller (OEMs) (z. B. zur Aufnahme in Produkte, die zum Beispiel an Einzelhändler und/oder an andere Endbenutzer, wie etwa Direktkaufkunden, verteilt werden sollen).
  • Die Figuren sind nicht maßstabsgetreu. Stattdessen kann die Dicke der Schichten oder Regionen in den Zeichnungen vergrößert sein. Obwohl die Figuren Schichten und Regionen mit klaren Linien und Grenzen zeigen, können manche oder alle dieser Linien und/oder Grenzen idealisiert werden. In Wirklichkeit können die Grenzen und/oder Linien nicht wahrnehmbar, vermischt und/oder unregelmäßig sein. Im Allgemeinen werden über die Zeichnung(en) und die beigefügte schriftliche Beschreibung hinweg dieselben Bezugszeichen verwendet, um auf dieselben oder ähnliche Teile Bezug zu nehmen. Wie hierin verwendet, können Verbindungsreferenzen (zum Beispiel angebracht, gekoppelt, verbunden und zusammengefügt) Zwischenglieder zwischen den Elementen, auf die durch die Verbindungsreferenz verwiesen wird, und/oder eine Relativbewegung zwischen diesen Elementen beinhalten, sofern nicht anders angegeben. Daher leiten Verbindungsreferenzen nicht notwendigerweise ab, dass zwei Elemente direkt verbunden sind und/oder sich in fester Beziehung zueinander befinden. Wie hier verwendet, ist die Angabe, dass sich ein beliebiger Teil in „Kontakt“ mit einem anderen Teil befindet, mit der Bedeutung definiert, dass es keinen Zwischenteil zwischen den zwei Teilen gibt.
  • Sofern nicht spezifisch anders angegeben, werden Deskriptoren, wie etwa „erste/r/s“, „zweite/r/s“, „dritte/r/s“ usw., hierin verwendet, ohne irgendeine Bedeutung von Priorität, physischer Reihenfolge, Anordnung in einer Liste und/oder Ordnung auf irgendeine Weise zu unterstellen oder anderweitig anzugeben, sondern werden lediglich als Bezeichnungen und/oder willkürliche Namen verwendet, um Elemente zum einfachen Verständnis der offenbarten Beispiele zu unterscheiden. Bei manchen Beispielen kann der Deskriptor „erstes“ verwendet werden, um auf ein Element in der ausführlichen Beschreibung zu verweisen, während auf das gleiche Element in einem Anspruch mit einem unterschiedlichen Deskriptor, wie etwa „zweites“ oder „drittes“, verwiesen wird. In derartigen Fällen versteht es sich, dass derartige Deskriptoren lediglich zum eindeutigen Identifizieren jener Elemente verwendet werden, die zum Beispiel ansonsten einen gleichen Namen teilen könnten. Wie hierin verwendet, umfasst die Formulierung „in Kommunikation“, einschließlich Varianten davon, direkte Kommunikation und/oder indirekte Kommunikation durch eine oder mehrere Zwischenkomponenten und erfordert keine direkte physische (z. B. verdrahtete) Kommunikation und/oder konstante Kommunikation, sondern umfasst vielmehr außerdem selektive Kommunikation in periodischen Intervallen, geplanten Intervallen, aperiodischen Intervallen und/oder einmalige Ereignisse. Wie hier verwendet, ist „Prozessorschaltung“ so definiert, dass sie (i) einen oder mehrere elektrische Spezialschaltungen beinhaltet, die zum Durchführen einer oder mehrerer spezieller Operationen strukturiert sind und eine oder mehrere halbleiterbasierte Logikvorrichtungen (z. B. elektrische Hardware, die durch einen oder mehrere Transistoren implementiert wird) beinhaltet, und/oder (ii) eine oder mehrere halbleiterbasierte Allzweckschaltungen, die mit Anweisungen zum Durchführen spezieller Operationen programmiert sind und eine oder mehrere halbleiterbasierte Logikvorrichtungen (z. B. elektrische Hardware, die durch einen oder mehrere Transistoren implementiert wird) beinhalten. Beispiele für Prozessorschaltkreise beinhalten programmierte Mikroprozessoren, feldprogrammierbare Gate-Arrays (FPGAs), die Befehle instanziieren können, Zentralprozessoreinheiten (CPUs), Grafikprozessoreinheiten (GPUs), Digitalsignalprozessoren (DSPs), XPUs oder Mikrosteuerungen und integrierte Schaltungen, wie etwa anwendungsspezifische integrierte Schaltkreise (ASICs). Beispielsweise kann eine XPU durch ein heterogenes Computersystem implementiert werden, das mehrere Arten von Prozessorschaltkreisen (z. B. einen oder mehrere FPGAs, eine oder mehrere CPUs, einen oder mehrere GPUs, einen oder mehrere DSPs usw. und/oder eine Kombination davon) und Anwendungsprogrammierschnittstelle(n) (API(s)) aufweist, die die Rechenaufgabe(n) dem/denjenigen der mehreren Arten von Verarbeitungsschaltkreisen zuweisen können, der/die am besten zur Ausführung der Rechenaufgabe(n) geeignet ist/sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Virtuelle Konferenzplattformen und Videokonferenzplattformen sind unerlässlich, um in den meisten industriellen, kommerziellen, akademischen und staatlichen Umgebungen zusammenzuarbeiten. In einigen Beispielen repräsentieren Interaktionen durch Fernkommunikationsplattformen eine große Menge der gesamten Interaktionen, die in großen Organisationen auftreten. Allerdings weisen diese Plattformen im Vergleich zu persönlichen Treffen einige Einschränkungen auf. Virtuelle Konferenzplattformen und Videokonferenzplattformen stellen eine Eins-zu-Allen-Art von Interaktion bereit, bei der alle Teilnehmer an einem Treffen das gleiche Audio hören und jederzeit die gleichen visuellen Daten sehen. Interaktionen in den virtuellen Konferenzplattformen und Videokonferenzplattformen sind monolithisch und störend von Natur, da jede Beteiligung immer auf alle Teilnehmer an dem Treffen gerichtet ist. Bei aktuellen virtuellen Konferenzplattformen und Videokonferenzplattformen sind die Teilnehmer nicht in der Lage, nahtlos mit einem anderen spezifischen Teilnehmer (z. B. Nebensprechen zwischen zwei Teilnehmern) zu interagieren, ohne die gesamte virtuelle Versammlung zu unterbrechen. Aktuelle virtuelle Konferenzplattformen und Videokonferenzplattformen gehen davon aus, dass alle Kommunikationen alle Teilnehmer involvieren, so dass diese Plattformen einen einzigen Audiokanal für alle Teilnehmer und den Moderator bereitstellen. In einigen Beispielen wollen jedoch möglicherweise zwei Teilnehmer spezifische Punkte während eines genauen Moments einer Darstellung teilen oder hervorheben, ohne die Aufmerksamkeit vom Moderator abzulenken oder das gesamte Treffen zu unterbrechen.
  • Aktuelle virtuelle Konferenzplattformen und Videokonferenzplattformen weisen parallele Direct Messaging (DM)-Texting-Systeme auf, die es den Teilnehmern gestatten, direkt mit einem anderen Teilnehmer zu kommunizieren, ohne die gesamte Sitzung zu unterbrechen. Das Verwenden eines parallelen DM-Texting-Systems erfordert jedoch, dass der empfangende Teilnehmer eine solche parallele Plattform kennt und bereit ist, während des Gesprächs zu schreiben, ohne von anderen Teilnehmern beobachtet zu werden (z. B. kann der empfangende Teilnehmer seinen Anzeigebildschirm nicht teilen). Außerdem ist das Texten unter Verwendung eines parallelen DM-Texting-Systems üblicherweise langsamer und anfälliger für Missverständnisse zwischen den Teilnehmern. Alternativ kann ein Teilnehmer das virtuelle Konferenztreffen unterbrechen, um die Frage zu stellen oder einen Kommentar bereitzustellen oder zu warten, bis der Hauptsprecher eine Möglichkeit gibt, dass das Publikum daran teilnimmt, anstatt zu versuchen, mit einem anderen Teilnehmer zu kommunizieren (z. B. Nebensprechen). Das Stören eines Treffens für eine Frage oder einen an einen anderen Teilnehmer gerichteten Kommentar kann jedoch als unwirtschaftlich betrachtet werden und könnte die anderen Teilnehmer verstimmen. In anderen Beispielen kann der Teilnehmer entscheiden, die Frage einfach nicht zu stellen und die Antwort von einer anderen Quelle in Zukunft zu erhalten. Falls ein Teilnehmer jedoch seine Fragen oder Kommentare zurück hält, könnte dies den Teilnehmer von dem Treffen verstimmen, und die Kommunikation wird im Allgemeinen kompromittiert, falls ein Teilnehmer nicht in der Lage ist, seine Anfragen zu unterbreiten und/oder anderweitig daran teilzunehmen.
  • Bei persönlichen Treffen ist es üblich, dass die Teilnehmer in Echtzeit Fragen stellen und Kommentare abgeben. Diese kurzen Interaktionen sind manchmal für Teammitglieder notwendig, um schnelle Fragen zu lösen, die keine Unterbrechung des Hauptsprechers erfordern. Virtuelle Konferenzplattformen und Videokonferenzplattformen stellen jedoch keine direkte persönliche Option bereit, um dies zu adressieren, abgesehen von parallelen DM-Texting-Kommunikationen. Hierin offenbarte Beispiele ermöglichen einen privaten Audiokanal zwischen zwei oder mehr Teilnehmer während virtueller Präsentationen, um eine direkte Kommunikation zu ermöglichen, ohne das Treffen zu unterbrechen (z. B. Nebensprechen). Hierin offenbarte Beispiele stellen den privaten sekundären Audiokanal bereit, um gleichzeitig mit dem Hauptpräsentationsaudio im primären Audiokanal der Videokonferenzplattform wiedergegeben zu werden. Aus der Sicht eines empfangenden Teilnehmers sorgen die hier beschriebenen Beispiele dafür, dass der Hauptton so erscheint, als käme er aus größerer Entfernung, während der Ton des Teilnehmers im sekundären Audiokanal so erscheint, als käme er aus der Nähe (z. B. von einer Person an der Seite des Teilnehmers). Die hier offenbarten Beispiele verwenden binaurale 3D-Audiotechniken.
  • Hierin offenbarte Beispiele ermöglichen einen privaten, sekundären Audiokanal zwischen zwei oder mehr Zuschauern/Teilnehmern während Videokonferenzsitzungen. In den hierin offenbarten Beispielen wird der sekundäre Audiokanal gleichzeitig mit dem primären Audiokanal wiedergegeben, der das Hauptpräsentationsaudio beinhaltet, aber die sekundären Audiokanäle werden virtuell auf einer anderen Ebene und einem anderen Ort als der primäre Audiokanal wiedergegeben. In hierin offenbarten Beispielen ist die Kommunikation im sekundären Audiokanal privat, zweckmäßig, nahtlos und stört den Hauptsprecher des primären Audiokanals nicht. Die hier offenbarten Beispiele bieten eine ähnliche Erfahrung wie eine physische Konferenz, bei der eine Person mit einer anderen Person, die neben ihr sitzt, sprechen/flüstern kann. Hierin offenbarte Beispiele verwenden binaurale Audioverarbeitung auf dem primären Audiokanal und dem sekundären Audiokanal, um den Teilnehmern des sekundären Audiokanals zu ermöglichen, sich gegenseitig sowie den Hauptsprecher des primären Audiokanals gleichzeitig zu hören. Hierin offenbarte Beispiele verwenden binaurale Audioverarbeitung, um virtuelle Positionen des Audios, das in dem primären Audiokanal enthalten ist, und des Audios, das in dem sekundären Audiokanal enthalten ist, bereitzustellen, um einem Teilnehmer zu ermöglichen, leicht zwischen den zwei Audioströmen zu unterscheiden. In einigen Beispielen hierin verwenden Teilnehmer, die an dem sekundären Audiokanal beteiligt sind, Stereokopfhörer während der Videokonferenzsitzung, um die binaurale Audioverarbeitung zu ermöglichen. Hierin offenbarte Beispiele ermöglichen es einem Teilnehmer auszuwählen, ob er einem sekundären Audiokanal beitreten/sich in diesem einklinken soll. In einigen hierin offenbarten Beispielen kann der sekundäre Audiokanal mehrere Teilnehmer (z. B. mehr als zwei) beinhalten. In manchen hierin offenbarten Beispielen ist die binaurale Audioverarbeitung anpassbar, so dass sie mehrere Positionen für das Audio in dem sekundären Audiokanal beinhaltet, die der Anzahl von Teilnehmern in dem sekundären Audiokanal entsprechen.
  • Hierin offenbarte Beispiele stellen verbale Kommunikation zwischen spezifischen Teilnehmern einer Videokonferenzsitzung bereit, um eine schnelle, direkte Interaktion ohne Störung der verbleibenden Teilnehmer der Videokonferenzsitzung zu ermöglichen. Hierin offenbarte Beispiele stellen ein persönliches, effektives und effizientes Benutzererlebnis zum direkten Kommunizieren mit einem Teilnehmer an einer Videokonferenzsitzung bereit, anstelle von Texting oder anderen aktuellen, störenden Optionen. Die hier offenbarten Beispiele ermöglichen eine natürliche, präsenzähnliche Interaktion, die den Teilnehmern virtueller Konferenzsitzungen hilft, miteinander zu kommunizieren und in Kontakt zu bleiben. Die Verwendung der binauralen Audioverarbeitung in den hier offenbarten Beispielen gestattet es dem Zuhörer, Prioritäten zu setzen und zu wählen, wem er zuhören möchte (z. B. dem Hauptmoderator des primären Audiokanals oder dem/den anderen Teilnehmer(n) des sekundären Audiokanals). In den hier offenbarten Beispielen verbessert die binaurale Audioverarbeitung die Verständlichkeit und vermeidet Interferenzen zwischen den verschiedenen Stimmen der Audiokanäle, indem sie das Übersprechen reduziert, selbst wenn der Hauptsprecher und der oder die anderen Teilnehmer gleichzeitig sprechen.
  • In einigen Beispielen können die hierin offenbarten Beispiele einen Bericht von Teilnehmer-Interaktionsebenen für eine Videokonferenzsitzung bereitstellen. Hierin offenbarte Beispiele können einem Moderator der Videokonferenzsitzung über Schlüsselmomente des Gesprächs Rückmeldung liefern, die abgefragt wurden, die Anwesenheitsinteraktionen erhöhen (z. B. Erzeugen eines oder mehrerer sekundärer Audiokanäle zwischen Teilnehmern zur direkten Kommunikation).
  • 1 ist eine schematische Veranschaulichung einer beispielhaften Umgebung 100, in der Lehren dieser Offenbarung implementiert werden können. Die beispielhafte Umgebung 100 beinhaltet ein beispielhaftes Benutzergerät 102 zum Teilnehmen an Videokonferenzsitzungen. Das beispielhafte Benutzergerät 102 kann zum Beispiel ein Smartphone, eine Personal-Computing-Vorrichtung (PC-Vorrichtung), wie etwa zum Beispiel ein Laptop, ein Desktop, ein elektronisches Tablet, ein Hybrid- oder konvertierbarer PC usw., und/oder andere geeignete Vorrichtungen sein. In einigen Beispielen beinhaltet das Benutzergerät 102 ein oder mehrere beispielhafte Mikrofone 104 und einen beispielhaften Anzeigebildschirm 106. In hierin offenbarten Beispielen wird der Anzeigebildschirm 106 von einem Gehäuse des Benutzergerätes 102 getragen und über eine Außenfläche des Gehäuses zugänglich und kann somit als eine fahrzeuginterne Benutzereingabevorrichtung für das Benutzergerät 102 betrachtet werden.
  • In manchen Beispielen beinhaltet das Benutzergerät 102 zusätzlich oder alternativ externe Vorrichtungen, die kommunikativ mit dem Benutzergerät 102 gekoppelt sind, wie etwa ein beispielhaftes Audiogerät 108. Das beispielhafte Audiogerät 108 kann ein Kopfhörer, Lautsprecher, Ohrhörer usw. sein. Das beispielhafte Audiogerät 108 kann über eine oder mehrere drahtgebundene oder drahtlose Verbindungen mit dem Benutzergerät 102 kommunikativ verbunden sein. Das beispielhafte Benutzergerät 102 beinhaltet zudem einen beispielhaften Prozessor 110, der Software ausführt, um eine oder mehrere Antworten basierend auf einem oder mehreren Benutzereingabeereignissen (z. B. Berührungsereignis(en), Tastatureingabe(n), Mauseingabe(n) usw.) über den Anzeigebildschirm 106 und/oder über eine externe Vorrichtung (z. B. eine Tastatur, eine Maus usw.) zu interpretieren und auszugeben.
  • In dem dargestellten Beispiel aus 1 beinhaltet der Prozessor 110 eine beispielhafte Videokonferenzschaltung 112 zum Ausführen von Software zur Teilnahme an einer Videokonferenzsitzung mit einem oder mehreren anderen Benutzergeräten. Die Videokonferenzschaltung 112 verwaltet die Teilnahme eines Benutzers an einer Videokonferenzsitzung über das Benutzergerät 102. Die Videokonferenzschaltung 112 verwaltet einen primären Audiokanal von der Videokonferenzsitzung und gibt den primären Audiokanal an das Audiogerät 108 aus. Die Videokonferenzschaltung 112 verwaltet auch Audio vom Benutzer des Benutzergerätes 102 von dem einen oder den mehreren Mikrofonen 104. Die Videokonferenzschaltung 112 analysiert Eingaben vom Benutzer des Benutzergerätes 102 in Bezug auf die Videokonferenzsitzung über den Anzeigebildschirm 106 und/oder über eine externe Vorrichtung (z. B. eine Tastatur, eine Maus usw.). Beispielsweise kann der Benutzer des Benutzergerätes 102 eine Auswahl treffen, um der Videokonferenzsitzung beizutreten oder diese zu verlassen, und/oder der Benutzer kann eine Auswahl treffen, um einen sekundären Audiokanal mit einem oder mehreren anderen Teilnehmern der Videokonferenzsitzung zu starten oder beizutreten.
  • Die Videokonferenzschaltung 112 erzeugt einen oder mehrere private sekundäre Audiokanäle zwischen dem Benutzer des Benutzergerätes 102 und einem oder mehreren Teilnehmern während der Videokonferenzsitzung als Reaktion auf eine Benutzerauswahl, um einem sekundären Audiokanal beizutreten oder diesen zu starten. Die Videokonferenzschaltung 112 gibt den sekundären Audiokanal an einen Teilnehmer gleichzeitig mit dem primären Audiokanal (z. B. dem Hauptpräsentationsaudio) aus. Die Videokonferenzschaltung 112 gibt den einen oder die mehreren sekundären Audiokanäle virtuell auf einer anderen Ebene und einem anderen Ort als der primäre Audiokanal aus. Die Videokonferenzschaltung 112 verwendet binaurale Audioverarbeitung auf dem primären Audiokanal und dem einen oder den mehreren sekundären Audiokanälen, um den Teilnehmern des einen oder der mehreren sekundären Audiokanäle zu ermöglichen, sich gegenseitig sowie den Hauptsprecher des primären Audiokanals gleichzeitig zu hören. Die Videokonferenzschaltung 112 verwendet binaurale Audioverarbeitung, um virtuelle Positionen des Audios, das in dem primären Audiokanal enthalten ist, und des Audios, das in dem einen oder den mehreren sekundären Audiokanälen enthalten ist, bereitzustellen, um einem Teilnehmer zu ermöglichen, leicht zwischen den zwei Audioströmen zu unterscheiden. In einigen Beispielen verwenden Teilnehmer, die an dem einen oder den mehreren sekundären Audiokanälen beteiligt sind, während der Videokonferenzsitzung ein Audiogerät (z. B. das Audiogerät 108), um die binaurale Audioverarbeitung zu ermöglichen. Die Videokonferenzschaltung 112 ermöglicht es einem Teilnehmer auszuwählen, ob er einem sekundären Audiokanal (z. B. über den Anzeigebildschirm 106) beitreten/sich daran anschließen möchte. Eine beispielhafte Implementierung der beispielhaften Videokonferenzschaltung 112 wird im Folgenden in Verbindung mit 2 offenbart.
  • In dem dargestellten Beispiel aus 1 kommuniziert das Benutzergerät 102 über das beispielhafte Netzwerk 116 mit einem oder mehreren beispielhaften Benutzergeräten 114. In einigen Beispielen kann das Netzwerk 116 das Internet oder ein beliebiges anderes geeignetes externes Netzwerk sein. Das eine oder die mehreren Benutzergeräte 114 können zum Beispiel Smartphones und/oder PC (Personal Computing)-Vorrichtungen sein, wie etwa zum Beispiel ein Laptop, ein Desktop, ein elektronisches Tablet, ein hybrider oder konvertierbarer PC, usw. Das Benutzergerät 102 kann Daten an einen beispielhaften Prozessor 118 des/der Benutzergeräte(s) 114 senden und von diesem empfangen. In hierin offenbarten Beispielen kann das Benutzergerät 102 während einer Videokonferenzsitzung Audiodaten von dem bzw. den Benutzergeräten 114 übertragen und empfangen. In einigen Beispielen entsprechen das eine oder die mehreren Benutzergeräte 114 anderen Teilnehmern, die an der Videokonferenzsitzung beteiligt sind. In einigen Beispielen ist die Videokonferenzschaltung 112 auch durch Anweisungen implementiert, die auf dem Prozessor 118 des Benutzergerätes (der Benutzergeräte) 114 ausgeführt werden. Diese Komponenten können in Software, Firmware, Hardware oder in Kombination von zwei oder mehr von Software, Firmware und Hardware implementiert sein.
  • 2 ist ein Blockdiagramm der beispielhaften Videokonferenzschaltung 112, die in der beispielhaften Umgebung 100 aus 1 enthalten ist. Die beispielhafte Videokonferenzschaltung 112 weist eine beispielhafte Benutzerschnittstelle 202, eine beispielhafte Teilnehmerbestimmungsschaltung 204, eine beispielhafte Primärkanal-Audioverarbeitungsschaltung 206, eine beispielhafte Kanalauswahlschaltung 208, eine beispielhafte Sekundärkanal-Bestimmungsschaltung 210, eine (mehrere) beispielhafte virtuelle Maschine(n) 212, eine beispielhafte Sekundärkanal-Audioverarbeitungsschaltung 214 und eine beispielhafte Ausgangs-Audioverwaltungsschaltung 216 auf.
  • Die Benutzerschnittstelle 202 erhält Benutzerauswahldaten bezüglich einer Videokonferenzsitzung von einem Benutzer. In einigen Beispielen erhält die Benutzerschnittstelle 202 eine Auswahl vom Benutzer, um einer Videokonferenzsitzung beizutreten. In einigen Beispielen erhält die Benutzerschnittstelle 202 die Auswahl über einen Anzeigebildschirm (z. B. den Anzeigebildschirm 106 aus 1) und/oder über eine externe Vorrichtung (z. B. eine Tastatur, eine Maus usw.) und/oder über eine Sprachsteuerung (z. B. über ein Mikrofon). Die Benutzerschnittstelle 202 zeigt visuelle Daten/Informationen von der Videokonferenzsitzung zum Benutzer über den Anzeigebildschirm (z. B. den Anzeigebildschirm 106 aus 1). In einigen Beispielen erhält die Benutzerschnittstelle 202 eine Auswahl vom Benutzer, um dem einen oder den mehreren sekundären Audiokanälen in der Videokonferenzsitzung beizutreten oder diese zu ignorieren. Als Reaktion darauf, dass die Benutzerschnittstelle 202 eine Auswahl des Benutzers zum Beitritt zu einem oder mehreren sekundären Audiokanälen erhält, zeigt die Benutzerschnittstelle 202 dem Benutzer über den Anzeigebildschirm (z. B. den Anzeigebildschirm 106 von 1) einen Hinweis auf den Beitritt zu dem oder den sekundären Audiokanälen an.
  • In einigen Beispielen umfasst die Videokonferenzschaltung 112 Mittel zum Anzeigen einer Anzeige. Die Mittel zum Anzeigen können beispielsweise durch die Benutzerschnittstelle 202 implementiert sein. In einigen Beispielen kann die Benutzerschnittstelle 202 durch maschinenausführbare Befehle implementiert werden, wie beispielsweise durch mindestens die Blöcke 502, 516 von 5, die von einer Prozessorschaltung ausgeführt werden, die durch die beispielhafte Prozessorschaltung 612 von 6, die beispielhafte Prozessorschaltung 700 von 7 und/oder die beispielhafte Field Programmable Gate Array (FPGA)-Schaltung 800 von 8 implementiert werden kann. In anderen Beispielen wird die Benutzerschnittstelle 202 durch andere Hardware-Logikschaltungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination von Hardware, Software und/oder Firmware implementiert. Beispielsweise kann die Benutzerschnittstelle 202 von mindestens einer oder mehreren Hardwareschaltungen implementiert werden (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), ein Komparator, ein Operationsverstärker, eine Logikschaltung usw.), die so strukturiert sind, dass sie die entsprechende Operation ohne Ausführung von Software oder Firmware durchführen, aber auch andere Strukturen sind geeignet.
  • Im dargestellten Beispiel ermittelt die Benutzerschnittstelle 202 als Reaktion auf eine Auswahl zur Teilnahme an einer Videokonferenz eine Liste von Teilnehmern für die Videokonferenz, die von der Teilnehmerbestimmungsschaltung 204 bestimmt wird. In einigen Beispielen bestimmt die Teilnehmerbestimmungsschaltung 204 die Teilnehmerliste basierend auf Informationen vom Netzwerk 116 aus 1. In einigen Beispielen überträgt das Netzwerk 116 Daten von anderen Benutzergeräten (z. B. dem bzw. den Benutzergeräten 114 aus 1), die der Videokonferenzsitzung beigetreten sind. In einigen Beispielen empfängt die Teilnehmerbestimmungsschaltung 204 Identifikationsinformationen der anderen Benutzergeräte (z. B. der Benutzergeräte 114) über das Netzwerk 116, um die Teilnehmerliste zu bestimmen. In einigen Beispielen überträgt die Teilnehmerbestimmungsschaltung 204 die Teilnehmerliste an die Benutzerschnittstelle 202, um die Teilnehmerliste für den Benutzer über einen Anzeigebildschirm (z. B. den Anzeigebildschirm 106 aus 1) anzuzeigen.
  • In einigen Beispielen beinhaltet die Videokonferenzschaltung 112 Mittel zum Bestimmen einer Teilnehmerliste. Die Mittel zum Bestimmen können zum Beispiel durch die Teilnehmerbestimmungsschaltung 204 implementiert werden. In einigen Beispielen kann die Teilnehmerbestimmungsschaltung 204 durch maschinenausführbare Befehle implementiert werden, wie z. B. durch mindestens den Block 504 von 5, der durch eine Prozessorschaltung ausgeführt wird, die durch die beispielhafte Prozessorschaltung 612 von 6, die beispielhafte Prozessorschaltung 700 von 7 und/oder die beispielhafte FPGA-Schaltung 800 von 8 implementiert werden kann. In anderen Beispielen wird die Teilnehmerbestimmungsschaltung 204 durch andere Hardware-Logikschaltungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination von Hardware, Software und/oder Firmware implementiert. Beispielsweise kann die Teilnehmerbestimmungsschaltung 204 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, einen FPGA, einen ASIC, einen Komparator, einen Operationsverstärker, eine Logikschaltung usw.) implementiert werden, die so strukturiert sind, dass sie die entsprechende Operation ohne die Ausführung von Software oder Firmware durchführen, aber auch andere Strukturen sind geeignet.
  • In dem dargestellten Beispiel aus 2 verwaltet die Primärkanal-Audioverarbeitungsschaltung 206 die Audiodaten, die im primären Audiokanal der Videokonferenzsitzung enthalten sind. Die Primärkanal-Audioverarbeitungsschaltung 206 führt eine binaurale Audioverarbeitung auf dem primären Audiokanal der Videokonferenzsitzung durch. Um die binaurale Audioverarbeitung durchzuführen, stellt die Primärkanal-Audioverarbeitungsschaltung 206 einen Winkel für eine Position des binauralen Audios für den primären Audiokanal ein. In einigen Beispielen legt die Primärkanal-Audioverarbeitungsschaltung 206 den Winkel auf 90 Grad für die Position fest, um zu bewirken, dass das binaurale Audio für den primären Audiokanal als von einer Vorderseite des Benutzers kommend erscheint. Der Winkel ist relativ zum Benutzer und zum Anzeigebildschirm 106. Somit befinden sich 90 Grad direkt vor dem Benutzer. Dadurch wird simuliert, dass der Benutzer anwesend ist und einen Moderator (auf dem primären Audiokanal) vor sich sieht und hört. Der Winkel kann jedoch auf einen beliebigen Wert für die Position des binauralen Audios für den primären Audiokanal eingestellt werden. Die Primärkanal-Audioverarbeitungsschaltung 206 führt die binaurale Audioverarbeitung auf dem primären Audiokanal auf der Grundlage des für die Position eingestellten Winkels durch. Eine beispielhafte Implementierung der binauralen Audioverarbeitung, die durch die Primärkanal-Audioverarbeitungsschaltung 206 durchgeführt wird, wird unten in Verbindung mit 3 ausführlicher beschrieben. Die Primärkanal-Audioverarbeitungsschaltung 206 gibt das binaurale Audio für den primären Audiokanal an die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 aus.
  • In einigen Beispielen beinhaltet die Videokonferenzschaltung 112 Mittel zum Erzeugen von binauralem Audio. Beispielsweise können die Mittel zur Erzeugung durch die Schaltung zur Verarbeitung des primären Audiokanals 206 implementiert werden. In einigen Beispielen kann die Schaltung zur Verarbeitung des primären Audiokanals 206 durch maschinenausführbare Befehle implementiert werden, wie sie von mindestens den Blöcken 506, 508, 520, 524 von 5 implementiert werden, die von einer Prozessorschaltung ausgeführt werden, die von der beispielhaften Prozessorschaltung 612 von 6, der beispielhaften Prozessorschaltung 700 von 7 und/oder der beispielhaften FPGA-Schaltung 800 von 8 implementiert werden kann. In anderen beispielhaften Fällen wird die Schaltung zur Verarbeitung des primären Audiokanals 206 durch andere Hardware-Logikschaltungen, durch in Hardware implementierte Zustandsmaschinen und/oder eine andere Kombination aus Hardware, Software und/oder Firmware implementiert. Beispielsweise kann die Schaltung zur Verarbeitung des primären Audiokanals 206 durch mindestens eine oder mehrere Hardwareschaltungen implementiert werden (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, ein ASIC, ein Komparator, ein Operationsverstärker, eine Logikschaltung usw.), die so strukturiert sind, dass sie die entsprechende Operation ohne die Ausführung von Software oder Firmware durchführen, aber auch andere Strukturen sind geeignet.
  • Die Kanalauswahlschaltung 208 bestimmt auf der Grundlage der von der Benutzerschnittstelle 202 erhaltenen Benutzereingaben, wann sekundäre Audiokanäle erzeugt und/oder verbunden werden sollen. In einigen beispielhaften Fällen bestimmt die Kanalauswahlschaltung 208, ob es eine Auswahl von Teilnehmern für sekundäre Audiokanäle aus der Liste der Teilnehmer gibt, die von der Teilnehmerbestimmungsschaltung 204 bestimmt wurde. In einigen Beispielen kann die Benutzerschnittstelle 202 Benutzerauswahlen über einen Anzeigebildschirm erhalten (z. B. den Anzeigebildschirm 106 aus 1) und/oder über eine externe Vorrichtung (z. B. eine Tastatur, eine Maus usw.) und/oder eine Sprachsteuerung (z. B. über ein Mikrofon), die eine oder mehrere Auswahl(en) von Teilnehmer(n) aus der Liste von auf dem Anzeigebildschirm angezeigten Teilnehmern angeben. Die Kanalauswahlschaltung 208 bestimmt, dass der Benutzer einen sekundären Audiokanal startet, basierend auf der Identifizierung einer Benutzerauswahl von Teilnehmern aus der Teilnehmerliste.
  • In einigen Beispielen bestimmt die Kanalauswahlschaltung 208, ob eine Anforderung empfangen wird, einem sekundären Audiokanal beizutreten. In einigen Beispielen kann die Benutzerschnittstelle 202 eine Anforderung von anderen Teilnehmern der Videokonferenzsitzung über ein oder mehrere andere Benutzergeräte (z. B. das eine oder die mehreren Benutzergeräte 114 aus 1) empfangen. In solchen Beispielen bestimmt die Kanalauswahlschaltung 208, ob die Benutzerauswahl die Anforderung zum Beitreten zu dem sekundären Audiokanal akzeptieren soll. Die Kanalauswahlschaltung 208 bestimmt basierend auf den von der Benutzerschnittstelle 202 empfangenen Auswahldaten, ob eine Benutzerauswahl zum Annehmen der Anforderung vorhanden ist. In hierin offenbarten Beispielen bestimmt die Kanalauswahlschaltung 208 basierend darauf, ob der Benutzer dem sekundären Audiokanal beigetreten ist, ob der Benutzer mindestens einen Teilnehmer aus der Liste von Teilnehmern an der Videokonferenzsitzung auswählt, um einem sekundären Audiokanal beizutreten, oder der Benutzer wählt basierend auf dem Annehmen einer Anforderung von einem Teilnehmer an der Videokonferenzsitzung aus, dem sekundären Audiokanal beizutreten.
  • In einigen Beispielen umfasst die Videokonferenzschaltung 112 Mittel zum Bestimmen, dass der Benutzer einem Audiokanal beigetreten ist. Beispielsweise können die Mittel zum Bestimmen durch die Kanalauswahlschaltung 208 implementiert werden. In einigen Beispielen kann die Kanalauswahlschaltung 208 durch maschinenausführbare Befehle implementiert werden, wie sie zumindest in den Blöcken 510, 512, 514 von 5 implementiert sind, die durch eine Prozessorschaltung ausgeführt werden, die durch die beispielhafte Prozessorschaltung 612 von 6, die beispielhafte Prozessorschaltung 700 von 7 und/oder die beispielhafte FPGA-Schaltung 800 von 8 implementiert werden kann. In anderen beispielhaften Fällen wird die Kanalauswahlschaltung 208 durch andere Hardware-Logikschaltungen, hardwareimplementierte Zustandsmaschinen und/oder eine andere Kombination aus Hardware, Software und/oder Firmware implementiert. Beispielsweise kann die Kanalauswahlschaltung 208 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, einen FPGA, einen ASIC, einen Komparator, einen Operationsverstärker, eine Logikschaltung usw.) implementiert werden, die so strukturiert sind, dass sie die entsprechende Operation ohne die Ausführung von Software oder Firmware durchführen, aber auch andere Strukturen sind geeignet.
  • In einigen beispielhaften Fällen, wenn die Kanalauswahlschaltung 208 feststellt, dass der Benutzer dem sekundären Audiokanal beigetreten ist, passt die Verarbeitung des primären Audiokanals 206 den Winkel für die Position des binauralen Audios aus dem primären Audiokanal an. Die Primärkanal-Audioverarbeitungsschaltung 206 passt die Position des binauralen Audios für den primären Audiokanal an, um die Positionierung des Audios von dem sekundären Audiokanal zu berücksichtigen. Beispielsweise kann die Primärkanal-Audioverarbeitungsschaltung 206 den Winkel auf 45 Grad für die Position anpassen, um zu bewirken, dass das binaurale Audio für den primären Audiokanal als von einer Seite des Benutzers kommend erscheint. Die Primärkanal-Audioverarbeitungsschaltung 206 kann jedoch den Winkel auf einen beliebigen Wert für die Position des binauralen Audios für den primären Audiokanal anpassen. In solchen Beispielen führt die Primärkanal-Audioverarbeitungsschaltung 206 eine binaurale Audioverarbeitung auf dem primären Audiokanal mit dem angepassten Winkel durch. Die Primärkanal-Audioverarbeitungsschaltung 206 gibt das angepasste binaurale Audio für den primären Audiokanal an die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 aus.
  • In dem dargestellten Beispiel erzeugt die Sekundärkanal-Bestimmungsschaltung 210 einen sekundären Audiokanal, wenn die Kanalauswahlschaltung 208 bestimmt, dass der Benutzer dem sekundären Audiokanal beigetreten ist. Die Sekundärkanal-Bestimmungsschaltung 210 wählt einen Winkel für eine Position des Audios aus dem sekundären Audiokanal aus. In einigen Beispielen wählt die Sekundärkanal-Bestimmungsschaltung 210 einen 45-Grad-Winkel aus, um zu bewirken, dass das Audio für den sekundären Audiokanal von einer Seite des Benutzers stammt, während auch die Positionierung des Audios von dem primären Audiokanal unterstützt wird. Die Sekundärkanal-Bestimmungsschaltung 210 kann jedoch einen beliebigen Wert für den Winkel für die Position des Audios aus dem sekundären Audiokanal auswählen, solange der Wert des Winkels den eingestellten Winkel für die Position des binauralen Audios für den primären Audiokanal nicht beeinträchtigt. Wenn beispielsweise ein Benutzer dem sekundären Audiokanal beitritt, stellt die Schaltung zur Verarbeitung des primären Audiokanals 206 den Winkel des primären Kanals auf 45 Grad zu einer Seite (einer ersten Seite des Benutzers) ein, und die Schaltung zur Bestimmung des sekundären Kanals 210 wählt den Winkel für den sekundären Audiokanal auf 45 Grad zur anderen Seite (einer zweiten Seite des Benutzers).
  • In einigen Beispielen tritt der Benutzer in mehrere sekundäre Audiokanäle mit mehreren Teilnehmer (z. B. verschiedenen Teilnehmern auf jedem der sekundären Audiokanäle) ein. Die Sekundärkanal-Bestimmungsschaltung 210 wählt unterschiedliche jeweilige Winkel für unterschiedliche der sekundären Audiokanäle aus. Mit mehreren sekundären Audiokanälen scheinen die verschiedenen Teilnehmer also praktisch von verschiedenen Orten aus zu sprechen. Dies simuliert eine reale Umgebung, in der Stimmen verschiedener Teilnehmer unterschiedliche Ausgangspunkte haben.
  • In einem anderen Beispiel tritt der Benutzer in einen sekundären Audiokanal mit mehreren Teilnehmer auf demselben Kanal ein. In diesem Beispiel befinden sich die mehreren Teilnehmer in einem gemeinsamen Gespräch auf demselben sekundären Audiokanal. In diesem Beispiel wählt die Sekundärkanal-Bestimmungsschaltung 210 eine Anzahl von Winkeln aus, die der Anzahl unterschiedlicher Audiodaten (d. h. Teilnehmer) entsprechen, die in dem sekundären Audiokanal enthalten sind, ausgenommen den Benutzer. Somit wählt die Sekundärkanal-Bestimmungsschaltung 210 unterschiedliche Winkel für unterschiedliche Stimmen in dem sekundären Audiokanal aus. Wenn also mehrere Teilnehmer auf dem sekundären Audiokanal zu hören sind, scheinen die verschiedenen Teilnehmer praktisch von verschiedenen Orten aus zu sprechen. Dies simuliert eine reale Umgebung, bei der Stimmen unterschiedlicher Teilnehmer unterschiedliche Ausgangspunkte haben.
  • In einigen Beispielen umfasst die Videokonferenzschaltung 112 Mittel zum Auswählen eines Winkels für einen Audiokanal. Die Mittel zum Auswählen können zum Beispiel durch die Sekundärkanal-Bestimmungsschaltung 210 implementiert werden. In einigen Beispielen kann die Sekundärkanal-Bestimmungsschaltung 210 durch maschinenausführbare Befehle implementiert werden, wie beispielsweise durch mindestens Block 518 von 5, der durch eine Prozessorschaltung ausgeführt wird, die durch die beispielhafte Prozessorschaltung 612 von 6, die beispielhafte Prozessorschaltung 700 von 7 und/oder die beispielhafte FPGA-Schaltung 800 von 8 implementiert werden kann. In anderen Beispielen wird die Sekundärkanal-Bestimmungsschaltung 210 durch andere Hardware-Logikschaltungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination von Hardware, Software und/oder Firmware implementiert. Beispielsweise kann die Sekundärkanal-Bestimmungsschaltung 210 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, einen FPGA, einen ASIC, einen Komparator, einen Operationsverstärker, eine Logikschaltung usw.) implementiert werden, die so strukturiert sind, dass sie die entsprechende Operation ohne die Ausführung von Software oder Firmware durchführen, aber auch andere Strukturen sind geeignet.
  • In dem dargestellten Beispiel von 2 verwendet die Sekundärkanal-Bestimmungsschaltung 210 die virtuelle(n) Maschine(n) 212, um die binaurale Audioverarbeitung auf dem/den sekundären Audiokanal/Audiokanälen gleichzeitig und parallel zu der Schaltung zur Verarbeitung des primären Audiokanals 206 durchzuführen, die die binaurale Audioverarbeitung auf dem primären Audiokanal durchführt. Die virtuelle(n) Maschine(n) 212 ermöglicht (ermöglichen), dass sich der sekundäre Audiokanal virtuell auf einem von dem primären Audiokanal verschiedenen Pegel und Ort befindet. In dem dargestellten Beispiel beinhalten die eine oder die mehreren virtuellen Maschinen 212 die Sekundärkanal-Audioverarbeitungsschaltung 214. Die Sekundärkanal-Audioverarbeitungsschaltung 214 führt die binaurale Audioverarbeitung auf dem einen oder den mehreren sekundären Audiokanälen mit dem einen oder den mehreren ausgewählten Winkeln von der Sekundärkanal-Bestimmungsschaltung 210 durch. Die Sekundärkanal-Audioverarbeitungsschaltung 214 gibt das binaurale Audio für den einen oder die mehreren sekundären Audiokanäle an die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 aus. Eine beispielhafte Implementierung der binauralen Audioverarbeitung, die durch die Sekundärkanal-Audioverarbeitungsschaltung 214 durchgeführt wird, ist unten in Verbindung mit 3 ausführlicher offenbart.
  • In einigen Beispielen beinhaltet die Videokonferenzschaltung 112 Mittel zum Erzeugen von binauralem Audio. Die Erzeugungsmittel können zum Beispiel durch eine Sekundärkanal-Audioverarbeitungsschaltung 214 implementiert werden. In einigen Beispielen kann die Sekundärkanal-Audioverarbeitungsschaltung 214 durch maschinenausführbare Befehle implementiert werden, wie beispielsweise durch mindestens Block 522 von 5, der durch eine Prozessorschaltung ausgeführt wird, die durch die beispielhafte Prozessorschaltung 612 von 6, die beispielhafte Prozessorschaltung 700 von 7 und/oder die beispielhafte FPGA-Schaltung 800 von 8 implementiert werden kann. In anderen Beispielen wird die Sekundärkanal-Audioverarbeitungsschaltung 214 durch andere Hardware-Logikschaltungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination von Hardware, Software und/oder Firmware implementiert. Beispielsweise kann die Sekundärkanal-Audioverarbeitungsschaltung 214 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, einen FPGA, einen ASIC, einen Komparator, einen Operationsverstärker, eine Logikschaltung usw.) implementiert werden, die so strukturiert sind, dass sie die entsprechende Operation ohne die Ausführung von Software oder Firmware durchführen, aber auch andere Strukturen sind geeignet.
  • In dem dargestellten Beispiel empfängt die Ausgangs-Audioverwaltungsschaltung 216 das binaurale Audio für den primären Audiokanal von der Primärkanal-Audioverarbeitungsschaltung 206. In einigen Beispielen, wenn die Sekundärkanal-Bestimmungsschaltung 210 einen sekundären Audiokanal erzeugt, empfängt die Ausgangs-Audioverwaltungsschaltung 216 die binauralen Audiosignale für den primären Audiokanal auf der Grundlage eines eingestellten Winkels von der Schaltung zur Verarbeitung des primären Audiokanals 206, und die Ausgangs-Audioverwaltungsschaltung 216 empfängt die binauralen Audiosignale für den (die) sekundären Audiokanal (Audiokanäle) auf der Grundlage des (der) ausgewählten Winkels (Winkel) von der Sekundärkanal-Audioverarbeitungsschaltung 214. In solchen Beispielen überlagert die Ausgangs-Audioverwaltungsschaltung 216 das binaurale Audio des primären Audiokanals und des binauralen Audios des einen oder der mehreren sekundären Audiokanäle. In hierin offenbarten Beispielen gibt die Ausgangs-Audioverwaltungsschaltung 216 das binaurale Audio zum Benutzer über ein Audiogerät (z. B. das Audiogerät 108) aus.
  • In einigen Beispielen, wenn der Benutzer einem sekundären Audiokanal beitritt, kommuniziert der Benutzer auch (z. B. über das eine oder die mehreren beispielhaften Mikrofone 104 aus 1) in dem sekundären Audiokanal, der durch die Sekundärkanal-Bestimmungsschaltung 210 als Reaktion auf das binaurale Ausgangsaudio von der Ausgangs-Audioverwaltungsschaltung 216 erzeugt wird. In solchen Beispielen wählt der Benutzer einen Kanal aus, in dem zu kommunizieren ist (z. B. wählt der Benutzer den primären Audiokanal oder den sekundären Audiokanal aus). Falls ein Benutzer zum Beispiel den sekundären Audiokanal auswählt, dann überträgt die Ausgangs-Audioverwaltungsschaltung 216 (z. B. über das beispielhafte Netzwerk 116 aus 1) die Kommunikation von dem Benutzer (z. B. über das eine oder die mehreren Mikrofone 104 gesammelt) zu dem einen oder den mehreren Teilnehmern, die in dem sekundären Audiokanal enthalten sind. In einigen Beispielen bestimmt die Kanalauswahlschaltung 208 die Auswahl des Audiokanals vom Benutzer über die Benutzerschnittstelle 202 und überträgt die Benutzerauswahl an die Ausgangs-Audioverwaltungsschaltung 216.
  • In einigen Beispielen wählt der Benutzer, wenn der Benutzer mehrere sekundäre Audiokanäle mit mehreren Teilnehmern (z. B. verschiedenen Teilnehmern auf jedem der sekundären Audiokanäle) trifft, aus, in welchen der Audiokanäle (z. B. den primären Audiokanal oder einen der mehreren sekundären Audiokanäle) kommuniziert werden soll (z. B. über das eine oder die mehreren beispielhaften Mikrofone 104) als Reaktion auf das binaurale Ausgangsaudio von der Ausgangs-Audioverwaltungsschaltung 216. Falls ein Benutzer beispielsweise einen der mehreren sekundären Audiokanäle auswählt, dann überträgt die Ausgangs-Audioverwaltungsschaltung 216 (z. B. über das beispielhafte Netzwerk 116) die Kommunikation von dem Benutzer (z. B. über das eine oder die mehreren Mikrofone 104 gesammelt) an den einen oder die mehreren Teilnehmer, die in dem ausgewählten der mehreren sekundären Audiokanäle enthalten sind. In solchen Beispielen wird die Kommunikation vom Benutzer in dem durch den Benutzer ausgewählten Audiokanal übertragen (z. B. empfangen die Teilnehmer in den nicht ausgewählten Audiokanälen die Kommunikation nicht vom Benutzer). In einigen Beispielen bestimmt die Kanalauswahlschaltung 208 die Auswahl des Audiokanals vom Benutzer über die Benutzerschnittstelle 202 und überträgt die Benutzerauswahl an die Ausgangs-Audioverwaltungsschaltung 216.
  • In einigen Beispielen verfolgt die Ausgangs-Audioverwaltungsschaltung 216, wann der Benutzer während der Videokonferenzsitzung mit einem oder mehreren sekundären Audiokanälen interagiert. In solchen Beispielen erzeugt die Ausgangs-Audioverwaltungsschaltung 216 einen Bericht der Benutzerinteraktionen während der Videokonferenzsitzung. In einigen beispielhaften Fällen kann die Ausgangs-Audioverwaltungsschaltung 216 den Bericht über die Benutzerinteraktionen an einen Moderator der Videokonferenzsitzung (z. B. über das Netzwerk 116 von 1) übermitteln, damit ein Moderator ein Feedback über die Schlüsselmomente der Videokonferenzsitzung erhalten kann, die zu verstärkten Teilnehmerinteraktionen geführt haben (z. B. über sekundäre Audiokanäle).
  • In einigen Beispielen beinhaltet die Videokonferenzschaltung 112 Mittel zum Ausgeben von Audio. Die Mittel zum Ausgeben können beispielsweise durch eine Ausgangs-Audioverwaltungsschaltung 216 implementiert sein. In einigen Beispielen kann die Ausgangs-Audioverwaltungsschaltung 216 durch maschinenausführbare Befehle implementiert werden, wie sie zumindest in den Blöcken 526, 528 von 5 implementiert sind, die von einer Prozessorschaltung ausgeführt werden, die von der beispielhaften Prozessorschaltung 612 von 6, der beispielhaften Prozessorschaltung 700 von 7 und/oder der beispielhaften FPGA-Schaltung 800 von 8 implementiert werden kann. In anderen Beispielen wird die Ausgangs-Audioverwaltungsschaltung 216 durch andere Hardware-Logikschaltungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige andere Kombination von Hardware, Software und/oder Firmware implementiert. Beispielsweise kann die Ausgangs-Audioverwaltungsschaltung 216 durch mindestens eine oder mehrere Hardwareschaltungen (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, einen FPGA, einen ASIC, einen Komparator, einen Operationsverstärker, eine Logikschaltung usw.) implementiert werden, die so strukturiert sind, dass sie die entsprechende Operation ohne die Ausführung von Software oder Firmware durchführen, aber auch andere Strukturen sind geeignet.
  • 3 ist ein Schaltbild einer beispielhaften binauralen Audioverarbeitung 300 im Einklang mit den Lehren dieser Offenbarung. In den hier offenbarten Beispielen führen die Schaltung zur Verarbeitung des primären Audiokanals 206 und die Sekundärkanal-Audioverarbeitungsschaltung 214 von 2 die in 3 dargestellte binaurale Audioverarbeitung durch. In dem dargestellten beispielhaften Prozess beginnt die binaurale Audioverarbeitung 300 mit dem Empfangen eines Eingangsaudiosignals 302. In einigen beispielhaften Fällen kann das Eingangsaudiosignal 302 ein Audiosignal von einem primären Audiokanal sein, das von der Schaltung zur Verarbeitung des primären Audiokanals 206 empfangen wird. In anderen beispielhaften Fällen kann das Eingangsaudiosignal 302 ein Audiosignal von einem sekundären Audiokanal sein, das von der Sekundärkanal-Audioverarbeitungsschaltung 214 empfangen wird. Die binaurale Audioverarbeitung 300 beinhaltet auch den Empfang eines Eingangswinkels 304. In einigen beispielhaften Fällen kann der Eingangswinkel 304 ein für den primären Audiokanal ausgewählter Winkel oder ein für den primären Audiokanal eingestellter Winkel sein. In anderen Beispielen kann der Eingangswinkel 304 ein ausgewählter Winkel für den sekundären Audiokanal sein.
  • In der binauralen Audioverarbeitung 300 für einen primären Audiokanal wählt die Primärkanal-Audioverarbeitungsschaltung 206 die kopfbezogenen Übertragungsfunktionen (HRTFs) 306 aus, die dem Eingangswinkel 304 entsprechen. In der binauralen Audioverarbeitung 300 für einen sekundären Audiokanal wählt die Sekundärkanal-Audioverarbeitungsschaltung 214 die HRTFs 306 aus, die dem Eingangswinkel 304 entsprechen. Im dargestellten Beispiel verarbeitet die binaurale Audioverarbeitung 300 das Eingangsaudiosignal 302 mit digitalen Filtern (z. B. den HRTFs 306), um eine realistische, dreidimensional klingende Wahrnehmung des Sounds aus dem primären Audiokanal und des Sounds aus dem sekundären Audiokanal zu erzeugen. Die Primärkanal-Audioverarbeitungsschaltung 206 und die Sekundärkanal-Audioverarbeitungsschaltung 214 wählen die jeweiligen HRTFs 306 in Abhängigkeit von der durch den Eingangswinkel 304 gesetzten Richtung (z. B. dem Audio vom primären Audiokanal und dem Audio vom sekundären Audiokanal) aus. Die binaurale Audioverarbeitung 300 führt eine digitale Filterung 308 des Eingangsaudiosignals 302 unter Verwendung der ausgewählten HRTFs 306 durch. Im dargestellten Beispiel wählen die Primärkanal-Audioverarbeitungsschaltung 206 und die Schaltung zur Verarbeitung des sekundären Audiokanals 214 auf der Grundlage des Eingangswinkels 304 unterschiedliche rechte HRTFs für den am rechten Ohr ankommenden Sound und linke HRTFs für den am linken Ohr ankommenden Sound aus. In dem dargestellten Beispiel aus 3 gibt die binaurale Audioverarbeitung 300 ein rechtsseitiges Audiosignal 310 und ein linksseitiges Audiosignal 312 basierend auf der digitalen Filterung 308 aus. Das rechtsseitige Audiosignal 310 entspricht den Audiosignalen, die auf der rechten Seite des Audiogerätes 108 von 1 ausgegeben werden, und das linksseitige Audiosignal 312 entspricht dem Audiosignal, das auf der linken Seite des Audiogerätes 108 ausgegeben wird. In dem dargestellten Beispiel erhält die Primärkanal-Audioverarbeitungsschaltung 206 ein erstes linksseitiges Audiosignal und ein erstes rechtsseitiges Audiosignal, und die Schaltung 214 zur Verarbeitung des sekundären Audiokanals erhält ein zweites linksseitiges Audiosignal und ein zweites rechtsseitiges Audiosignal. In den hier offenbarten Beispielen überlagert die Ausgangs-Audioverwaltungsschaltung 216 die linksseitigen Audiosignale und die rechtsseitigen Audiosignale aus der Primärkanal-Audioverarbeitungsschaltung 206 und der Schaltung 214 zur Verarbeitung des sekundären Audiokanals, bevor sie an das Audiogerät 108 ausgegeben werden.
  • 4A, 4B sind Schaltbilder der Anzeigen 400, 412 aus der beispielhaften Videokonferenzschaltung 112 aus 1 und/oder 2. In dem in 4A dargestellten Beispiel stellt die beispielhafte Anzeige 400 ein Beispiel für einen Anzeigebildschirm dar (z. B. den Anzeigebildschirm 106 von 1), der eine Darstellung einer virtuellen Konferenzsitzung gemäß den Lehren dieser Offenbarung aufweist. Die beispielhafte Anzeige 400 beinhaltet einen Hauptmoderator 402, der größer als der Rest der Informationen in der Anzeige 400 angezeigt wird. Die beispielhafte Anzeige 400 beinhaltet auch eine Teilnehmerliste 404 der virtuellen Konferenzsitzung, die durch die beispielhafte Teilnehmerbestimmungsschaltung 204 aus 2 bestimmt wird.
  • In dem in 4A dargestellten Beispiel wird auf dem Anzeigebildschirm 106 ein Benutzer 406 zusammen mit einem weiteren Teilnehmer 408 angezeigt. Im dargestellten Beispiel konzentrieren sich der Benutzer 406, der zusätzliche Teilnehmer 408 und die übrigen Teilnehmer, die in der Teilnehmerliste 404 enthalten sind, auf das Hören des primären Audiokanals des Hauptmoderators 402. In dem dargestellten Beispiel ist der Hauptmoderator 402 vor allen Teilnehmern (einschließlich des Benutzers 406) zu hören. In einem solchen Beispiel stellt die Primärkanal-Audioverarbeitungsschaltung 206 den Winkel der Position des primären Audiokanals auf 90 Grad ein, um zu ermöglichen, dass das Audio vom primären Audiokanal von vor den Teilnehmern der virtuellen Konferenzsitzung kommt. Im dargestellten Beispiel möchte der Benutzer 406 jedoch dem zusätzlichen Teilnehmer 408 eine Frage zur Präsentation des Hauptmoderators 402 stellen, anstatt die virtuelle Konferenzsitzung zu unterbrechen, um den Hauptmoderator 402 zu fragen.
  • In dem in 4B dargestellten Beispiel stellt die beispielhafte Anzeige 412 ein Beispiel für einen Anzeigebildschirm dar (z. B. den Anzeigebildschirm 106 von 1), der eine Darstellung einer virtuellen Konferenzsitzung mit einem sekundären Audiokanal gemäß den Lehren dieser Offenbarung aufweist. Im dargestellten Beispiel wird vom Benutzer 406 (z. B. über die Benutzerschnittstelle 202 von 2) eine Benutzerauswahl 414 durchgeführt, um den zusätzlichen Teilnehmer 408 zum Starten eines sekundären Audiokanals auszuwählen. In einigen Beispielen wählt der Benutzer 406 den zusätzlichen Teilnehmer 408 aus, um einen sekundären Audiokanal durch eine Geste, eine Tastatureingabe, einen Mausbefehl, einen Sprachbefehl usw. zu starten. In den hier offenbarten Beispielen wählt der zusätzliche Teilnehmer 408 aus, dem zweiten Audiokanal beizutreten, der von dem Benutzer 406 gestartet wurde.
  • Nach dem Start des sekundären Audiokanals wählt die Sekundärkanal-Bestimmungsschaltung 210 einen Winkel 416 für die Position des Audios des sekundären Audiokanals aus, und die Primärkanal-Audioverarbeitungsschaltung 206 stellt einen Winkel 418 für die Position des Audios des primären Audiokanals ein. Im dargestellten Beispiel wählt die Sekundärkanal-Bestimmungsschaltung 210 den Winkel 416 als 45 Grad (gemessen von der rechten Seite des Teilnehmers 408), und die Primärkanal-Audioverarbeitungsschaltung 206 stellt den Winkel 418 auf 45 Grad ein (gemessen von der linken Seite des Teilnehmers 408). In anderen Beispielen können andere Winkel verwendet werden. In dem dargestellten Beispiel führt die Sekundärkanal-Audioverarbeitungsschaltung 214 eine binaurale Audioverarbeitung der Audiosignale des sekundären Audiokanals unter Verwendung des Winkels 416 durch, und die Primärkanal-Audioverarbeitungsschaltung 206 führt eine binaurale Audioverarbeitung der Audiosignale des primären Audiokanals unter Verwendung des Winkels 418 durch. In dem in 4B dargestellten Beispiel scheinen die Audiosignale des sekundären Audiokanals zwischen dem Benutzer 406 und dem zusätzlichen Teilnehmer 408 und die Audiosignale des primären Audiokanals der Präsentation des Hauptmoderators 402 auf beiden Seiten des Benutzers 406 und des zusätzlichen Teilnehmers 408 zu liegen. Die virtuelle Positionierung der Audiosignale des sekundären Audiokanals und der Audiosignale des primären Audiokanals durch binaurale Verarbeitung gestattet es dem Benutzer 406 und dem zusätzlichen Teilnehmer 408, entweder den Audiosignalen des primären Audiokanals oder den Audiosignalen des sekundären Audiokanals (oder beiden) ihre Aufmerksamkeit zu schenken. In dem in 4B dargestellten Beispiel können der Benutzer 406 und der zusätzliche Teilnehmer 408 an einem Nebengespräch teilnehmen, ohne die Präsentation des Hauptmoderators 402 zu unterbrechen.
  • Während ein Beispiel für die Implementierung der beispielhaften Videokonferenzschaltung 112 von 1 in 2 dargestellt ist, können eines oder mehrere der in 2 dargestellten Elemente, Prozesse und/oder Vorrichtungen kombiniert, geteilt, neu angeordnet, weggelassen, eliminiert und/oder auf jede andere Weise implementiert werden. Ferner können die beispielhafte Benutzerschnittstelle 202, die beispielhafte Teilnehmerbestimmungsschaltung 204, die beispielhafte Ausgangs-Audiokanal-Bestimmungsschaltung 206, die beispielhafte Kanalauswahlschaltung 208, die beispielhafte Sekundärkanal-Bestimmungsschaltung 210, die beispielhafte(n) virtuelle(n) Maschine(n) 212, die beispielhafte Sekundärkanal-Audioverarbeitungsschaltung 214, die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 und/oder, allgemeiner, die beispielhafte Videokonferenzschaltung 112 von 1 allein durch Hardware oder durch Hardware in Kombination mit Software und/oder Firmware implementiert werden. So könnte beispielsweise die beispielhafte Benutzerschnittstelle 202, die beispielhafte Teilnehmerbestimmungsschaltung 204, die beispielhafte Primär-Audiokanal-Verarbeitungsschaltung 206, die beispielhafte Kanalauswahlschaltung 208, die beispielhafte Sekundärkanal-Bestimmungsschaltung 210, die beispielhafte(n) virtuelle(n) Maschine(n) 212, die beispielhafte Sekundärkanal-Audioverarbeitungsschaltung 214, die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 und/oder, allgemeiner ausgedrückt, die beispielhafte Videokonferenzschaltung 112 von einer Prozessorschaltung, einer oder mehreren analogen Schaltungen, einer oder mehreren digitalen Schaltungen, einer oder mehreren logischen Schaltungen, einem oder mehreren programmierbaren Prozessoren, einem oder mehreren programmierbaren Mikrocontrollern, einer oder mehreren Grafikverarbeitungseinheiten (GPUs), digitale(r) Signalprozessor(en) (DSP), anwendungsspezifische(r) integrierte(r) Schaltkreis(e) (ASIC), programmierbare logische Vorrichtung(en) (PLD) und/oder feldprogrammierbare logische Vorrichtung(en) (FPLD) wie Field Programmable Gate Arrays (FPGAs) implementiert werden. Ferner kann die beispielhafte Videokonferenzschaltung 112 von 1 zusätzlich zu den in 2 dargestellten Elementen oder an deren Stelle ein oder mehrere Elemente, Prozesse und/oder Vorrichtungen aufweisen und/oder mehr als eines oder alle der dargestellten Elemente, Prozesse und Vorrichtungen umfassen.
  • Ein Flussdiagramm, das ein Beispiel für eine logische Hardwareschaltung, maschinenlesbare Anweisungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige Kombination davon zur Implementierung der Beispiel-Videokonferenzschaltung 112 von 2 darstellt, ist in 5 gezeigt. Bei den maschinenlesbaren Anweisungen kann es sich um ein oder mehrere ausführbare Programme oder Teile eines ausführbaren Programms handeln, die von einer Prozessorschaltung ausgeführt werden, wie z. B. die Prozessorschaltung 612, die in der unten im Zusammenhang mit 6 erörterten beispielhaften Prozessorplattform 600 gezeigt wird, und/oder die unten im Zusammenhang mit 7 und/oder 8 erörterte beispielhafte Prozessorschaltung. Das Programm kann in Software verkörpert sein, die auf einem oder mehreren nicht-übertragbaren, computerlesbaren Speichermedien wie einer CD, einer Diskette, einem Festplattenlaufwerk (HDD), einer DVD, einer Blu-ray-Disk, einem flüchtigen Speicher (z. B. Random Access Memory (RAM) jeder Art usw.) oder einem nicht-flüchtigen Speicher (z. B. FLASHSpeicher, eine Festplatte usw.), der mit einer Prozessorschaltung in einem oder mehreren Geräten verbunden ist, aber das gesamte Programm und/oder Teile davon könnten alternativ auch von einer oder mehreren anderen Hardwarevorrichtungen als der Prozessorschaltung ausgeführt werden und/oder in Firmware oder spezieller Hardware verkörpert sein. Die maschinenlesbaren Anweisungen können über mehrere Hardwarevorrichtungen verteilt und/oder durch zwei oder mehr Hardwarevorrichtungen (z. B. eine Server- und eine Client-Hardwarevorrichtung) ausgeführt werden. Beispielsweise kann die Client-Hardware-Vorrichtung durch eine Endpunkt-Client-Hardware-Vorrichtung (z. B. eine Hardware-Vorrichtung, die einem Benutzer zugeordnet ist) oder eine zwischengeschaltete Client-Hardware-Vorrichtung (z. B. ein RAN-Gateway, das die Kommunikation zwischen einem Server und einer Endpunkt-Client-Hardware-Vorrichtung ermöglicht) implementiert werden. Gleichermaßen können die nicht transitorischen computerlesbaren Speicherungsmedien ein oder mehrere Medien beinhalten, die sich in einer oder mehreren Hardwarevorrichtungen befinden. Ferner können, obwohl das Beispielprogramm unter Bezugnahme auf das in 5 dargestellte Flussdiagramm beschrieben wird, auch viele andere Verfahren zur Implementierung der beispielhaften Videokonferenzschaltung 112 verwendet werden. Beispielsweise kann die Reihenfolge der Ausführung der Blöcke geändert werden, und/oder einige der beschriebenen Blöcke können geändert, eliminiert oder kombiniert werden. Zusätzlich oder alternativ können einzelne oder alle Blöcke durch eine oder mehrere Hardwareschaltungen implementiert werden (z. B. Prozessorschaltungen, diskrete und/oder integrierte analoge und/oder digitale Schaltungen, ein FPGA, ein ASIC, ein Komparator, ein Operationsverstärker, eine Logikschaltung usw.), die so strukturiert sind, dass sie die entsprechende Operation ohne die Ausführung von Software oder Firmware durchführen. Die Prozessorschaltung kann in verschiedenen Netzwerken und/oder lokal auf eine oder mehrere Vorrichtungen verteilt sein (z. B. ein Single-Core-Prozessor (z. B. eine Single-Core-Zentraleinheit (CPU)), ein Multi-Core-Prozessor (z. B, Multi-Core-Prozessor (z. B. eine Multi-Core-CPU) usw.) in einer einzigen Maschine, mehrere Prozessoren, die auf mehrere Server eines Server-Racks verteilt sind, mehrere Prozessoren, die auf ein oder mehrere Server-Racks verteilt sind, eine CPU und/oder ein FPGA, die sich im selben Gehäuse befinden (z. B. im selben IC-Gehäuse oder in zwei oder mehreren separaten Gehäusen usw.).
  • Die hierin beschriebenen maschinenlesbaren Anweisungen können in einem oder mehreren eines komprimierten Formats, eines verschlüsselten Formats, eines fragmentierten Formats, eines kompilierten Formats, eines ausführbaren Formats, eines paketierten Formats usw. gespeichert sein. Maschinenlesbare Anweisungen, wie sie hierin beschrieben sind, können als Daten oder eine Datenstruktur (z. B. als Abschnitte von Anweisungen, Code, Darstellungen von Code usw.) gespeichert sein, die eingesetzt werden können, um maschinenlesbare Anweisungen zu erstellen, herzustellen und/oder zu erzeugen. Die maschinenlesbaren Anweisungen können beispielsweise fragmentiert und auf einer oder mehreren Speichervorrichtungen und/oder Rechenvorrichtungen (z. B. Servern) gespeichert sein, die sich an denselben oder unterschiedlichen Orten eines Netzwerks oder einer Sammlung von Netzwerken (z. B. in der Cloud, in Edge-Vorrichtungen usw.) befinden. Die maschinenlesbaren Anweisungen können eines oder mehrere von Installation, Modifikation, Adaptierung, Aktualisierung, Kombinierung, Ergänzung, Konfigurierung, Entschlüsselung, Dekomprimierung, Entpackung, Verteilung, Neuzuordnung, Kompilierung usw. erfordern, um sie direkt durch eine Rechenvorrichtung und/oder eine andere Maschine lesbar, interpretierbar und/oder ausführbar zu machen. Zum Beispiel können die maschinenlesbaren Anweisungen in mehreren Teilen gespeichert sein, die einzeln komprimiert, verschlüsselt und/oder auf separaten Rechenvorrichtungen gespeichert sind, wobei die Teile, wenn sie entschlüsselt, dekomprimiert und/oder kombiniert werden, einen Satz maschinenausführbarer Anweisungen bilden, die eine oder mehrere Operationen implementieren, die zusammen ein Programm wie das hier beschriebene bilden können.
  • In einem anderen Beispiel können die maschinenlesbaren Befehle in einem Zustand gespeichert sein, in dem sie von einer Prozessorschaltung gelesen werden können, aber die Hinzufügung einer Bibliothek (z. B. einer Dynamic Link Library (DLL)), eines Software Development Kits (SDK), einer Anwendungsprogrammierschnittstelle (API) usw. erfordern, um die maschinenlesbaren Befehle auf einer bestimmten Rechenvorrichtung oder einer anderen Vorrichtung ausführen zu können. In einem anderen Beispiel müssen die maschinenlesbaren Anweisungen konfiguriert (z. B. Einstellungen gespeichert, Daten eingegeben, Netzwerkadressen aufgezeichnet usw.) werden, bevor die maschinenlesbaren Anweisungen und/oder das bzw. die entsprechende(n) Programm(e) gänzlich oder teilweise ausgeführt werden können. Daher können maschinenlesbare Medien, wie sie hier verwendet werden, maschinenlesbare Anweisungen und/oder Programme aufweisen, unabhängig vom jeweiligen Format oder Zustand der maschinenlesbaren Anweisungen und/oder Programme, wenn sie gespeichert sind oder sich auf andere Weise im Ruhezustand oder im Transit befinden.
  • Die hierin beschriebenen maschinenlesbaren Anweisungen können durch eine beliebige vergangene, aktuelle oder zukünftige Anweisungssprache, Skriptsprache, Programmiersprache usw. repräsentiert sein. Beispielsweise können die maschinenlesbaren Anweisungen unter Verwendung beliebiger der folgenden Sprachen repräsentiert sein: C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift usw.
  • Wie vorstehend erwähnt, können die beispielhaften Operationen aus 5 unter Verwendung ausführbarer Anweisungen (z.B. computer- und/oder maschinenlesbarer Anweisungen) implementiert werden, die auf einem oder mehreren nichtflüchtigen computer- und/oder maschinenlesbaren Medien gespeichert sind, wie etwa optischen Speichervorrichtungen, magnetischen Speichervorrichtungen, einem HDD, einem FlashSpeicher, einem Nur-Lese-Speicher (ROM), einer CD, einer DVD, einem Cache, einem RAM eines beliebigen Typs, einem Register und/oder einer beliebigen anderen Speichervorrichtung oder Speicherplatte, auf der Informationen für eine beliebige Dauer (z.B. für längere Zeiträume, permanent, für kurze Vorgänge, zum temporären Puffern und/oder zum Cachen der Informationen) gespeichert sind. Wie hierin verwendet, sind die Begriffe „nicht-transitorisches computerlesbares Medium“ und „nicht-transitorisches computerlesbares Speichermedium“ ausdrücklich so definiert, dass sie jede Art von computerlesbarer Vorrichtung und/oder Speicherplatte aufweisen und die Übertragung von Signalen und die Übertragung von Medien ausschließen.
  • „Beinhaltend" und „umfassend“ (und alle Formen und Zeitformen davon) werden hierin als offene Begriffe verwendet. Wenn somit ein Anspruch eine beliebige Form von „beinhalten“ oder „umfassen“ (z. B. umfasst, beinhaltet, umfassend, beinhaltend, aufweisend usw.) als eine Präambel oder innerhalb einer Anspruchsrezitation einer beliebigen Art einsetzt, versteht es sich somit, dass zusätzliche Elemente, Begriffe usw. vorhanden sein können, ohne außerhalb des Schutzumfangs des entsprechenden Anspruchs oder der entsprechenden Rezitation zu fallen. Wenn der Ausdruck „mindestens“, wie hierin verwendet, beispielsweise in der Präambel eines Anspruchs als Übergangsbegriff verwendet wird, ist er ebenso offen wie die Ausdrücke „umfassend“ und „einschließlich“, die ein offenes Ende haben. Der Begriff „und/oder“, wenn er beispielsweise in einer Form wie A, B und/oder C verwendet wird, bezieht sich auf eine beliebige Kombination oder Teilmenge von A, B, C, wie (1) A allein, (2) B allein, (3) C allein, (4) A mit B, (5) A mit C, (6) B mit C oder (7) A mit B und mit C. Wie hier im Zusammenhang mit der Beschreibung von Strukturen, Bauteilen, Gegenständen, Objekten und/oder Dingen verwendet, soll sich die Formulierung „mindestens eines von A und B“ auf Implementierungen beziehen, die (1) mindestens ein A, (2) mindestens ein B oder (3) mindestens ein A und mindestens ein B aufweisen. Ebenso soll sich der Ausdruck „mindestens eines von A oder B“, wie er hier im Zusammenhang mit der Beschreibung von Strukturen, Komponenten, Gegenständen, Objekten und/oder Dingen verwendet wird, auf Implementierungen beziehen, die (1) mindestens ein A, (2) mindestens ein B oder (3) mindestens ein A und mindestens ein B aufweisen. Wie hier im Zusammenhang mit der Beschreibung der Durchführung oder Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten verwendet, soll sich die Formulierung „mindestens eines von A und B“ auf Implementierungen beziehen, die (1) mindestens ein A, (2) mindestens ein B oder (3) mindestens ein A und mindestens ein B aufweisen. Ebenso soll sich der Ausdruck „mindestens eines von A oder B“, wie er hier im Zusammenhang mit der Beschreibung der Durchführung oder Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten verwendet wird, auf Implementierungen beziehen, die (1) mindestens ein A, (2) mindestens ein B oder (3) mindestens ein A und mindestens ein B aufweisen.
  • Wie hierin verwendet schließen Bezugnahmen in der Einzahl (z. B. „ein“, „eine“, „eines“, „erstes“, „zweites“ usw.) eine Vielzahl nicht aus. Der Begriff „ein“ Objekt, wie vorliegend verwendet, verweist auf eines oder mehrere dieses Objekts. Die Begriffe „ein“, „ein oder mehrere“ und „mindestens ein“ werden vorliegend austauschbar verwendet. Wenngleich einzeln aufgelistet, können ferner eine Vielzahl von Mitteln, Elementen oder Verfahrensaktionen durch z. B. dieselbe Entität oder dasselbe Objekt implementiert werden. Auch wenn einzelne Merkmale in unterschiedlichen Beispielen oder Ansprüchen enthalten sein können, können diese zudem möglicherweise kombiniert werden und die Aufnahme in unterschiedlichen Beispielen oder Ansprüchen impliziert nicht, dass eine Kombination von Merkmalen nicht machbar und/oder vorteilhaft ist.
  • 5 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen und/oder beispielhafte Vorgänge 500 darstellt, die von einer Prozessorschaltung ausgeführt und/oder instanziiert werden können, um die beispielhafte Videokonferenzschaltung 112 von 1 und/oder 2 zu implementieren. Die maschinenlesbaren Anweisungen und/oder Vorgänge 500 von 5 beginnen im Block 502, in dem die beispielhafte Benutzerschnittstelle 202 von 2 eine Auswahl zum Beitritt zu einer Videokonferenzsitzung erhält. In einigen Beispielen erhält die Benutzerschnittstelle 202 eine Auswahl vom Benutzer, um einer Videokonferenzsitzung beizutreten. In einigen Beispielen erhält die Benutzerschnittstelle 202 die Auswahl über einen Anzeigebildschirm (z. B. den Anzeigebildschirm 106 von 1), ein Mikrofon und/oder über eine externe Vorrichtung (z. B. eine Tastatur, eine Maus usw.).
  • In Block 504 ermittelt die beispielhafte Teilnehmerbestimmungsschaltung 204 von 2 eine Liste von Teilnehmern. In einigen Beispielen bestimmt die Teilnehmerbestimmungsschaltung 204 die Teilnehmerliste basierend auf Informationen vom Netzwerk 116 aus 1. In einigen Beispielen überträgt das Netzwerk 116 Daten von anderen Benutzergeräten (z. B. dem bzw. den Benutzergeräten 114 aus 1), die der Videokonferenzsitzung beigetreten sind. In einigen Beispielen empfängt die Teilnehmerbestimmungsschaltung 204 Identifikationsinformationen der anderen Benutzergeräte (z. B. der Benutzergeräte 114) über das Netzwerk 116, um die Teilnehmerliste zu bestimmen. In einigen Beispielen überträgt die Teilnehmerbestimmungsschaltung 204 die Teilnehmerliste an die Benutzerschnittstelle 202, um die Teilnehmerliste für den Benutzer über einen Anzeigebildschirm (z. B. den Anzeigebildschirm 106 aus 1) anzuzeigen.
  • In Block 506 legt die beispielhafte Primärkanal-Audioverarbeitungsschaltung 206 von 2 einen Winkel für eine Position von binauralem Audio eines primären Audiokanals fest. In einigen Beispielen legt die Primärkanal-Audioverarbeitungsschaltung 206 den Winkel auf 90 Grad für die Position fest, um zu bewirken, dass das binaurale Audio für den primären Audiokanal als von einer Vorderseite des Benutzers kommend erscheint. Der Winkel kann jedoch auf einen beliebigen Wert für die Position des binauralen Audios für den primären Audiokanal eingestellt werden. Bei Block 508 führt die beispielhafte Primärkanal-Audioverarbeitungsschaltung 206 binaurales Audio des primären Audiokanals durch. Die Primärkanal-Audioverarbeitungsschaltung 206 führt die binaurale Audioverarbeitung auf dem primären Audiokanal auf der Grundlage des für die Position eingestellten Winkels durch.
  • In Block 510 stellt die Kanalauswahlschaltung 208 von 2 fest, ob es eine Auswahl von Teilnehmern für sekundäre Audiokanäle gibt. In einigen beispielhaften Fällen bestimmt die Kanalauswahlschaltung 208, ob es eine Auswahl von Teilnehmern für sekundäre Audiokanäle aus der Liste der Teilnehmer gibt, die von der Teilnehmerbestimmungsschaltung 204 bestimmt wurde. In einigen Beispielen kann die Benutzerschnittstelle 202 Benutzerauswahlen über einen Anzeigebildschirm (z. B. den Anzeigebildschirm 106 von 1), ein Mikrofon und/oder über eine externe Vorrichtung (z. B. eine Tastatur, eine Maus usw.) erhalten, die die Auswahl von Teilnehmern aus der auf dem Anzeigebildschirm angezeigten Teilnehmerliste anzeigen. Wenn die beispielhafte Kanalauswahlschaltung 208 feststellt, dass es eine Auswahl von Teilnehmern für sekundäre Audiokanäle gibt, fährt der Prozess 500 mit Block 516 fort, in dem die beispielhafte Benutzerschnittstelle 202 einen Hinweis auf den Beitritt zu dem/den sekundären Audiokanälen anzeigt.
  • Wenn die beispielhafte Kanalauswahlschaltung 208 feststellt, dass es keine Auswahl von Teilnehmern für sekundäre Audiokanäle gibt, fährt der Prozess 500 mit Block 512 fort, in dem die beispielhafte Kanalauswahlschaltung 208 feststellt, ob eine Anfrage für den Benutzer empfangen wird, dem sekundären Audiokanal bzw. den sekundären Audiokanälen beizutreten. In einigen Beispielen kann die Benutzerschnittstelle 202 eine Anforderung von anderen Teilnehmern der Videokonferenzsitzung über ein oder mehrere andere Benutzergeräte (z. B. das eine oder die mehreren Benutzergeräte 114 aus 1) empfangen. Wenn die beispielhafte Kanalauswahlschaltung 208 feststellt, dass keine Anforderung für sekundäre Audiokanäle empfangen wird, fährt der Prozess 500 mit Block 528 fort, in dem die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 von 2 die binauralen Audiosignale an ein Audiogerät (z. B. das Audiogerät 108) ausgibt.
  • Wenn die beispielhafte Kanalauswahlschaltung 208 feststellt, dass eine Anforderung für sekundäre Audiokanäle empfangen wird, fährt der Prozess 500 mit Block 514 fort, in dem die beispielhafte Kanalauswahlschaltung 208 feststellt, ob eine Auswahl besteht, um dem/den angeforderten sekundären Audiokanal/Audiokanälen beizutreten. Die Kanalauswahlschaltung 208 bestimmt basierend auf den von der Benutzerschnittstelle 202 empfangenen Auswahldaten, ob eine Benutzerauswahl zum Annehmen der Anforderung vorhanden ist. Wenn die beispielhafte Kanalauswahlschaltung 208 feststellt, dass es keine Auswahl für die Verbindung mit dem/den angeforderten sekundären Audiokanal/Audiokanälen gibt, fährt der Prozess 500 mit Block 528 fort, in dem die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 das binaurale Audio an ein Audiogerät (z. B. das Audiogerät 108) ausgibt. Wenn die beispielhafte Kanalauswahlschaltung 208 feststellt, dass eine Auswahl zum Beitritt zu einem oder mehreren angeforderten sekundären Audiokanälen besteht, fährt der Prozess 500 mit Block 516 fort, in dem die beispielhafte Benutzerschnittstelle 202 einen Hinweis auf den Beitritt zu dem/den sekundären Audiokanal/Audiokanälen anzeigt.
  • Bei Block 518 wählt die Sekundärkanal-Bestimmungsschaltung 210 von 2 den/die Winkel für die Position(en) des Audios aus dem/den sekundären Audiokanal/Audiokanälen aus. In einigen Beispielen wählt die Sekundärkanal-Bestimmungsschaltung 210 einen Winkel für eine Position des Audios aus dem sekundären Audiokanal aus. In einigen Beispielen wählt die Sekundärkanal-Bestimmungsschaltung 210 einen 45-Grad-Winkel aus, um zu bewirken, dass das Audio für den sekundären Audiokanal von einer Seite des Benutzers stammt, während auch die Positionierung des Audios von dem primären Audiokanal unterstützt wird. Die Sekundärkanal-Bestimmungsschaltung 210 kann jedoch einen beliebigen Wert für den Winkel für die Position des Audios aus dem sekundären Audiokanal auswählen, solange der Wert des Winkels den eingestellten Winkel für die Position des binauralen Audios für den primären Audiokanal nicht beeinträchtigt. In einigen Beispielen tritt der Benutzer in mehrere sekundäre Audiokanäle mit mehreren Teilnehmer (z. B. verschiedenen Teilnehmern auf jedem der sekundären Audiokanäle) ein. Die Sekundärkanal-Bestimmungsschaltung 210 wählt unterschiedliche jeweilige Winkel für unterschiedliche der sekundären Audiokanäle aus, die nicht jeden der anderen sekundären Audiokanäle stören und nicht den Winkel des primären Audiokanals stören. In einem anderen Beispiel tritt der Benutzer in einen sekundären Audiokanal mit mehreren Teilnehmer auf demselben Kanal ein. In diesem Beispiel befinden sich die mehreren Teilnehmer in einem gemeinsamen Gespräch auf demselben sekundären Audiokanal. In diesem Beispiel wählt die Sekundärkanal-Bestimmungsschaltung 210 eine Anzahl von Winkeln aus, die der Anzahl unterschiedlicher Audiodaten (d. h. Teilnehmer) entsprechen, die in dem sekundären Audiokanal enthalten sind, ausgenommen den Benutzer. So wählt die Sekundärkanal-Bestimmungsschaltung 210 verschiedene Winkel für verschiedene Stimmen im sekundären Audiokanal aus, die die anderen Stimmen im sekundären Audiokanal nicht stören und den primären Audiokanal nicht beeinträchtigen.
  • Bei Block 520 passt die beispielhafte Primärkanal-Audioverarbeitungsschaltung 206 den Winkel für die Position von Audio vom primären Audiokanal an. In einigen beispielhaften Fällen, wenn die Kanalauswahlschaltung 208 feststellt, dass der Benutzer dem sekundären Audiokanal beigetreten ist, passt die Verarbeitung des primären Audiokanals 206 den Winkel für die Position des binauralen Audios aus dem primären Audiokanal an. Die Primärkanal-Audioverarbeitungsschaltung 206 passt die Position des binauralen Audios für den primären Audiokanal an, um die Positionierung des Audios von dem sekundären Audiokanal zu berücksichtigen. Beispielsweise kann die Primärkanal-Audioverarbeitungsschaltung 206 den Winkel auf 45 Grad für die Position anpassen, um zu bewirken, dass das binaurale Audio für den primären Audiokanal als von einer Seite des Benutzers kommend erscheint. Die Primärkanal-Audioverarbeitungsschaltung 206 kann jedoch den Winkel auf einen beliebigen Wert für die Position des binauralen Audios für den primären Audiokanal anpassen. In einigen Beispielen stellt die Primärkanal-Audioverarbeitungsschaltung 206 den Winkel für den Primärkanal nicht ein, und der Winkel für den sekundären Audiokanal/die sekundären Audiokanäle wird so gewählt, dass Interferenzen mit dem Winkel des Primärkanals vermieden werden.
  • Bei Block 522 führt die beispielhafte Sekundärkanal-Audioverarbeitungsschaltung 214 eine binaurale Audioverarbeitung auf einem oder mehreren sekundären Audiokanälen mit einem oder mehreren ausgewählten Winkeln durch. Die Sekundärkanal-Audioverarbeitungsschaltung 214 gibt das binaurale Audio für den einen oder die mehreren sekundären Audiokanäle an die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 aus. Bei Block 524 führt die beispielhafte Primärkanal-Audioverarbeitungsschaltung 206 eine binaurale Audioverarbeitung auf einem primären Audiokanal mit dem angepassten Winkel durch. Die Primärkanal-Audioverarbeitungsschaltung 206 gibt das angepasste binaurale Audio für den primären Audiokanal an die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 aus. Bei Block 526 überlagert die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 das binaurale Audio des primären Audiokanals und des binauralen Audios des einen oder der mehreren sekundären Audiokanäle. Bei Block 528 gibt die beispielhafte Ausgangs-Audioverwaltungsschaltung 216 das binaurale Audio an ein Audiogerät (z. B. das Audiogerät 108) aus. Nach Block 528 endet der Prozess 500.
  • 6 ist ein Blockdiagramm einer beispielhaften Prozessorplattform 600, die so strukturiert ist, dass sie die maschinenlesbaren Anweisungen und/oder Operationen von 5 ausführt und/oder instanziiert, um die beispielhafte Videokonferenzschaltung 112 von 1 und/oder 2 zu implementieren. Die Prozessorplattform 600 kann beispielsweise ein Server, ein Personal Computer, eine Workstation, eine selbstlernende Maschine (z. B. ein neuronales Netzwerk), eine mobile Vorrichtung (z. B. ein Mobiltelefon, ein Smartphone, ein Tablet wie ein iPad™), ein persönlicher digitaler Assistent (PDA), ein Internetgerät, ein DVD-Player, ein CD-Player, ein digitaler Videorecorder, ein Blu-ray-Player, eine Spielkonsole, ein persönlicher Videorecorder, eine Set-Top-Box, ein Headset (z. B. ein Augmented-Reality-Headset (AR-Headset), ein Virtual-Reality-Headset (VR-Headset) usw.) oder eine andere tragbare Vorrichtung oder eine beliebige andere Art von Rechenvorrichtung sein.
  • Die Prozessorplattform 600 des dargestellten Beispiels beinhaltet eine Prozessorschaltung 612. Die Prozessorschaltung 612 des dargestellten Beispiels ist Hardware. Beispielsweise kann die Prozessorschaltung 612 durch eine oder mehrere integrierte Schaltungen, Logikschaltungen, FPGAs, Mikroprozessoren, CPUs, GPUs, DSPs und/oder Mikrocontroller einer beliebigen Familie oder eines beliebigen Herstellers implementiert werden. Die Prozessorschaltung 612 kann durch eine oder mehrere halbleiterbasierte (z. B. siliziumbasierte) Vorrichtungen implementiert werden. In diesem Beispiel implementiert die Prozessorschaltung 612 die Benutzerschnittstelle 202, die beispielhafte Teilnehmerbestimmungsschaltung 204, die beispielhafte Primärkanal-Audioverarbeitungsschaltung 206, die beispielhafte Kanalauswahlschaltung 208, die beispielhafte Sekundärkanal-Bestimmungsschaltung 210, die beispielhafte(n) virtuelle(n) Maschine(n) 212, die beispielhafte Sekundärkanal-Audioverarbeitungsschaltung 214 und die beispielhafte Ausgangs-Audioverwaltungsschaltung 216.
  • Die Prozessorschaltung 612 des dargestellten Beispiels beinhaltet einen lokalen Speicher 613 (z. B. einen Cache, Register usw.). Die Prozessorschaltung 612 des dargestellten Beispiels steht durch einen Bus 618 in Kommunikation mit einem Hauptspeicher, der einen flüchtigen Speicher 614 und einen nichtflüchtigen Speicher 616 enthält. Der flüchtige Speicher 614 kann durch synchronen dynamischen Speicher mit wahlfreiem Zugriff (SDRAM), dynamischen Speicher mit wahlfreiem Zugriff (DRAM), dynamischen RAMBUS®-Speicher mit wahlfreiem Zugriff (RDRAM®) und/oder einen beliebigen anderen Typ von RAM-Vorrichtung implementiert sein. Der nichtflüchtige Speicher 616 kann durch Flashspeicher und/oder einen beliebigen anderen Typ von Speichervorrichtung implementiert sein. Der Zugriff auf den Hauptspeicher 614, 616 des dargestellten Beispiels wird durch eine Speichersteuerung 617 gesteuert.
  • Die Prozessorplattform 600 des dargestellten Beispiels enthält auch eine Schnittstellenschaltung 620. Die Schnittstellenschaltung 620 kann durch Hardware in Übereinstimmung mit einem beliebigen Typ von Schnittstellenstandard, wie einer Ethernet-Schnittstelle, einer Universal-Serial-Bus (USB)-Schnittstelle, einer Bluetooth®-Schnittstelle, einer Nahfeldkommunikations-(NFC)-Schnittstelle, einer PCI-Schnittstelle und/oder einer PCIe-Schnittstelle implementiert sein.
  • In dem dargestellten Beispiel sind die eine oder die mehreren Eingabevorrichtungen 622 mit der Schnittstellenschaltung 620 verbunden. Die eine oder die mehreren Eingabevorrichtungen 622 ermöglicht bzw. ermöglichen einem Benutzer, Daten und/oder Befehle in die Prozessorschaltungen 612 einzugeben. Die Eingabevorrichtung(en) 622 kann bzw. können beispielsweise durch einen Audiosensor, ein Mikrofon, eine Kammer (Standbild oder Video), eine Tastatur, eine Taste, eine Maus, einen Berührungsbildschirm, ein Tastfeld, einen Trackball, eine Isopoint-Vorrichtung und/oder ein Spracherkennungssystem implementiert sein.
  • Eine oder mehrere Ausgabevorrichtungen 624 sind ebenfalls mit der Schnittstellenschaltung 620 des dargestellten Beispiels verbunden. Die Ausgabevorrichtungen 624 können beispielsweise durch Anzeigevorrichtungen (z. B. eine lichtemittierende Diode (LED), eine organische lichtemittierende Diode (OLED), ein Flüssigkristalldisplay (LCD), ein Kathodenstrahlröhren-Display (CRT), ein IPS-Display (In-Place Switching), einen Touchscreen usw.), eine taktile Ausgabevorrichtung, einen Drucker und/oder einen Lautsprecher implementiert werden. Die Schnittstellenschaltung 620 des dargestellten Beispiels enthält deshalb üblicherweise eine Grafiktreiberkarte, einen Grafiktreiberchip und/oder eine Grafikprozessorschaltung, wie eine GPU.
  • Die Schnittstellenschaltung 620 des dargestellten Beispiels weist auch eine Kommunikationsvorrichtung auf, wie etwa einen Sender, einen Empfänger, einen Transceiver, ein Modem, ein Residential Gateway, einen drahtlosen Zugangspunkt und/oder eine Netzwerkschnittstelle, um den Datenaustausch mit externen Geräten (z. B. Computergeräten jeglicher Art) über ein Netzwerk 626 zu erleichtern. Die Kommunikation kann beispielsweise durch eine Ethernet-Verbindung, eine digitale Teilnehmeranschlussverbindung (DSL-Verbindung), eine Telefonleitungsverbindung, ein Koaxialkabelsystem, ein Satellitensystem, ein drahtloses Sichtverbindungssystem, ein Mobilfunktelefonsystem, eine optische Verbindung usw. erfolgen.
  • Die Prozessorplattform 600 des dargestellten Beispiels enthält auch eine oder mehrere Massenspeichergeräte 628 zum Speichern von Software und/oder Daten. Zu Beispielen für solche Massenspeichergeräte 628 zählen magnetische Speichergeräte, optische Speichergeräte, Diskettenlaufwerke, HDDs, CDs, Blu-Ray-Disk-Laufwerke, redundante Anordnungssysteme unabhängiger Festplatten (RAID-Systeme), Festkörperspeichergeräte, wie etwa Flashspeichergeräte, und DVD-Laufwerke.
  • Die maschinenausführbaren Anweisungen 632, die durch die maschinenlesbaren Anweisungen aus 5 implementiert werden können, können in dem Massenspeichergerät 628, im flüchtigen Speicher 614, im nicht-flüchtigen Speicher 616 und/oder auf einem entfernbaren nicht-flüchtigen computerlesbaren Speichermedium, wie etwa einer CD oder DVD, gespeichert sein.
  • 7 ist ein Blockdiagramm einer beispielhaften Implementierung der Prozessorschaltung 612 von 6. In diesem Beispiel wird die Prozessorschaltung 612 von 6 durch einen Mikroprozessor 700 implementiert. Beispielsweise kann der Mikroprozessor 700 eine Multi-Core-Hardware-Schaltung implementieren, wie eine CPU, einen DSP, eine GPU, eine XPU usw. Obwohl er eine beliebige Anzahl von beispielhaften Kernen 702 (z. B. 1 Kern) aufweisen kann, handelt es sich bei dem Mikroprozessor 700 dieses Beispiels um eine Multi-Core-Halbleitervorrichtung mit N Kernen. Die Kerne 702 des Mikroprozessors 700 können unabhängig arbeiten oder können zusammenwirken, um maschinenlesbare Anweisungen auszuführen. Beispielsweise kann Maschinencode, der einem Firmware-Programm, einem eingebetteten Softwareprogramm oder einem Softwareprogramm entspricht, von einem der Kerne 702 oder von mehreren der Kerne 702 zur gleichen Zeit oder zu unterschiedlichen Zeiten ausgeführt werden. In einigen beispielhaften Fällen wird der Maschinencode, der dem Firmware-Programm, dem eingebetteten Software-Programm oder dem Software-Programm entspricht, in Threads aufgeteilt und parallel von zwei oder mehr Kernen 702 ausgeführt. Das Softwareprogramm kann einem Abschnitt oder allen der maschinenlesbaren Anweisungen und/oder Operationen entsprechen, die durch das Ablaufdiagramm von 5 repräsentiert werden.
  • Die Kerne 702 können durch einen beispielhaften Bus 704 kommunizieren. In einigen Beispielen kann der Bus 704 einen Kommunikationsbus implementieren, um eine Kommunikation zu veranlassen, die mit einem bzw. mehreren der Kerne 702 assoziiert ist. Beispielsweise kann der Bus 704 mindestens einen I2C-Bus (Inter-Integrated Circuit), einen SPI-Bus (Serial Peripheral Interface), einen PCI-Bus oder einen PCIe-Bus implementieren. Zusätzlich oder alternativ kann der Bus 704 jede andere Art von Datenverarbeitungs- oder Strombus implementieren. Die Kerne 702 können Daten, Befehle und/oder Signale von einer oder mehreren externen Vorrichtungen über beispielhafte Schnittstellenschaltungen 706 erhalten. Die Kerne 702 können Daten, Anweisungen und/oder Signale durch die Schnittstellenschaltung 706 an die eine oder die mehreren externen Vorrichtungen ausgeben. Obwohl die Kerne 702 dieses Beispiels beispielhaften lokalen Speicher 720 aufweisen (z. B. Level 1 (L1)-Cache, der in einen L1-Daten-Cache und einen L1-Befehls-Cache aufgeteilt sein kann), weist der Mikroprozessor 700 auch beispielhaften gemeinsamen Speicher 710 auf, der von den Kernen gemeinsam genutzt werden kann (z. B. Level 2 (L2_-Cache)), um einen Hochgeschwindigkeitszugriff auf Daten und/oder Befehle zu ermöglichen. Daten und/oder Anweisungen können durch Schreiben in den und/oder Lesen aus dem gemeinsam genutzten Speicher 710 übertragen (z. B. gemeinsam genutzt) werden. Der lokale Speicher 720 jedes der Kerne 702 und der gemeinsam genutzte Speicher 710 können Teil einer Hierarchie von Vorrichtungen sein, die mehrere Ebenen von Cache-Speichern und den Hauptspeicher (z. B. den Hauptspeicher 614, 616 in 6) aufweisen. Typischerweise weisen höhere Speicherebenen in der Hierarchie eine niedrigere Zugriffszeit auf und weisen eine kleinere Speicherungskapazität als niedrigere Speicherebenen auf. Änderungen auf den verschiedenen Ebenen der Cache-Hierarchie werden durch eine Cache-Kohärenzpolitik verwaltet (z. B. koordiniert).
  • Jeder Kern 702 kann als CPU, DSP, GPU usw. oder eine beliebige andere Art von Hardwareschaltung bezeichnet werden. Jeder Kern 702 weist eine Steuereinheitsschaltung 714, eine Arithmetik-und-Logik (AL)-Schaltung (manchmal als ALU bezeichnet) 716, eine Vielzahl von Registern 718, den Ll-Cache 720 und einen beispielhaften Bus 722 auf. Andere Strukturen können vorhanden sein. Beispielsweise kann jeder Kern 702 eine Vektoreinheitsschaltung, eine Schaltung für eine SIMD-Einheit (Single Instruction Multiple Data), eine LSU-Schaltung (Load/Store Unit), eine Verzweigungs-/Sprungeinheit, eine FPU-Schaltung (Floating Point Unit) usw. aufweisen. Die Steuereinheitsschaltung 714 weist halbleiterbasierte Schaltungen auf, die so strukturiert sind, dass sie die Datenbewegung innerhalb des entsprechenden Kerns 702 steuern (z. B. koordinieren). Die AL-Schaltung 716 beinhaltet halbleiterbasierte Schaltungen, die dazu strukturiert sind, eine oder mehrere mathematische und/oder logische Operationen an den Daten innerhalb des entsprechenden Kerns 702 durchzuführen. Die AL-Schaltung 716 einiger Beispiele führt ganzzahlbasierte Operationen durch. In anderen beispielhaften Fällen führt die AL-Schaltung 716 auch Gleitkommaoperationen durch. In weiteren beispielhaften Fällen kann die AL-Schaltung 716 eine erste AL-Schaltung aufweisen, die ganzzahlige Operationen ausführt, und eine zweite AL-Schaltung, die Gleitkommaoperationen ausführt. In einigen beispielhaften Fällen kann die AL-Schaltung 716 auch als Arithmetic Logic Unit (ALU) bezeichnet werden. Die Register 718 sind halbleiterbasierte Strukturen zum Speichern von Daten und/oder Anweisungen, wie etwa Ergebnissen einer oder mehrerer der Operationen, die durch die AL-Schaltung 716 des entsprechenden Kerns 702 durchgeführt werden. Beispielsweise können die Register 718 (ein) Vektorregister, (ein) SIMD-Register, (ein) Universalregister, (ein) Flaggenregister, (ein) Segmentregister, (ein) maschinenspezifische Register, (ein) Befehlszeigerregister, (ein) Steuerregister, (ein) Debugregister, (ein) Speicherverwaltungsregister, (ein) Maschinenprüfregister usw. aufweisen. Die Register 718 können in einer Bank angeordnet sein, wie in 7 dargestellt. Alternativ dazu können die Register 718 in einer beliebigen anderen Anordnung, einem beliebigen anderen Format oder einer beliebigen anderen Struktur organisiert sein, einschließlich einer Verteilung im Kern 702, um die Zugriffszeit zu verkürzen. Der Bus 720 kann einen I2C-Bus und/oder einen SPI-Bus und/oder einen PCI-Bus und/oder einen PCIe-Bus implementieren
  • Jeder Kern 702 und/oder, allgemeiner, der Mikroprozessor 700 kann zusätzliche und/oder alternative Strukturen zu den oben gezeigten und beschriebenen aufweisen. Beispielsweise können eine oder mehrere Taktschaltungen, eine oder mehrere Stromversorgungen, ein oder mehrere Power-Gates, ein oder mehrere Cache-Home-Agents (CHAs), ein oder mehrere Converged/Common-Mesh-Stops (CMSs), ein oder mehrere Shifter (z. B. Barrel-Shifter) und/oder andere Schaltungen vorhanden sein. Der Mikroprozessor 700 ist eine Halbleitervorrichtung, die so gefertigt ist, dass sie viele Transistoren beinhaltet, die miteinander verbunden sind, um die oben beschriebenen Strukturen in einer oder mehreren integrierten Schaltungen (ICs) zu implementieren, die in einem oder mehreren Packages enthalten sind. Die Prozessorschaltung kann einen oder mehrere Beschleuniger beinhalten und/oder mit diesen zusammenwirken. In einigen Beispielen werden Beschleuniger durch logische Schaltungen implementiert, um bestimmte Aufgaben schneller und/oder effizienter auszuführen, als dies mit einem Allzweckprozessor möglich ist. Beispiele für Beschleuniger beinhalten ASICs und FPGAs, wie die hierin besprochenen. Eine GPU oder eine andere programmierbare Vorrichtung kann auch ein Beschleuniger sein. Beschleuniger können sich in der Prozessorschaltung, in demselben Chip-Package wie die Prozessorschaltung und/oder in einem oder mehreren separaten Packages von der Prozessorschaltung befinden.
  • 8 ist ein Blockdiagramm einer anderen beispielhaften Implementierung der Prozessorschaltung 612 von 6. In diesem Beispiel ist die Prozessorschaltung 612 durch die FPGA-Schaltung 800 implementiert. Die FPGA-Schaltung 800 kann beispielsweise zur Durchführung von Operationen verwendet werden, die andernfalls von dem beispielhaften Mikroprozessor 700 von 7 durchgeführt werden könnten, der entsprechende maschinenlesbare Anweisungen ausführt. Sobald die FPGA-Schaltung 800 jedoch konfiguriert ist, instanziiert sie die maschinenlesbaren Befehle in Hardware und kann daher die Operationen oft schneller ausführen, als dies mit einem Allzweck-Mikroprozessor möglich wäre, der die entsprechende Software ausführt.
  • Genauer gesagt, im Gegensatz zum oben beschriebenen Mikroprozessor 700 von 7 (bei dem es sich um eine Vorrichtung für allgemeine Zwecke handelt, die so programmiert werden kann, dass sie einige oder alle der durch das Flussdiagramm von 5 dargestellten maschinenlesbaren Anweisungen ausführt, deren Verbindungen und logische Schaltungen jedoch nach der Herstellung feststehen), enthält die FPGA-Schaltung 800 des Beispiels von 8 Verbindungen und logische Schaltungen, die nach der Herstellung auf unterschiedliche Weise konfiguriert und/oder miteinander verbunden werden können, um beispielsweise einige oder alle maschinenlesbaren Anweisungen, die im Flussdiagramm von 5 dargestellt sind, auszuführen. Insbesondere kann das FPGA 800 als ein Array aus Logikgattern, Zwischenverbindungen und Schaltern angesehen werden. Die Schalter können so programmiert werden, dass sie die Art und Weise ändern, wie die Logikgatter durch die Verbindungen miteinander verbunden sind, wodurch effektiv eine oder mehrere dedizierte Logikschaltungen gebildet werden (sofern und solange die FPGA-Schaltung 800 nicht umprogrammiert wird). Die konfigurierten Logikschaltungen ermöglichen, dass die Logikgatter auf unterschiedliche Weisen zusammenwirken, um unterschiedliche Operationen an Daten durchzuführen, die durch die Eingangsschaltung empfangen werden. Diese Operationen können einem Teil oder der gesamten Software entsprechen, die durch das Flussdiagramm aus 5 repräsentiert werden. Als solche kann die FPGA-Schaltung 800 so strukturiert sein, dass sie einige oder alle maschinenlesbaren Befehle des Flussdiagramms von 5 als dedizierte Logikschaltungen effektiv instanziiert, um die diesen Softwarebefehlen entsprechenden Operationen in einer dedizierten Weise analog zu einem ASIC durchzuführen. Somit kann die FPGA-Schaltung 800 die Operationen, die den einigen oder allen der maschinenlesbaren Anweisungen von 5 entsprechen, schneller durchführen, als sie der Allzweck-Mikroprozessor ausführen kann.
  • Im beispielhaften Fall von 8 ist die FPGA-Schaltung 800 so aufgebaut, dass sie von einem Benutzer mittels einer Hardwarebeschreibungssprache (HDL) wie Verilog programmiert (und/oder ein- oder mehrmals umprogrammiert) werden kann. Die FPGA-Schaltung 800 von 8 weist beispielhafte Ein-/Ausgabe-Schaltungen 802 auf, um Daten zu/von einer beispielhaften Konfigurationsschaltung 804 und/oder einer externen Hardware (z. B. einer externen Hardwareschaltung) 806 zu erhalten und/oder auszugeben. Beispielsweise kann die Konfigurationsschaltung 804 eine Schnittstellenschaltung implementieren, die maschinenlesbare Anweisungen zum Ausbilden der FPGA-Schaltung 800 oder von Teilen davon erhalten kann. In einigen derartigen Beispielen kann die Konfigurationsschaltung 804 die maschinenlesbaren Anweisungen von einem Benutzer, einer Maschine (z. B. Hardware-Schaltung (z. B. programmierte oder dedizierte Schaltung), die ein Modell der künstlichen Intelligenz/des maschinellen Lernens (AI/ML) implementieren kann, um die Anweisungen zu erzeugen) usw. erhalten. In einigen Beispielen kann die externe Hardware 806 den Mikroprozessor 700 von 7 implementieren. Die FPGA-Schaltung 800 weist zudem ein Array von beispielhaften Logikgatterschaltungen 808, eine Vielzahl von beispielhaften konfigurierbaren Verbindungen 810 und beispielhafte Speicherschaltungen 812 auf. Die Logikgatterschaltung 808 und die Verbindungen 810 sind konfigurierbar, um eine oder mehrere Operationen zu instanziieren, die zumindest einigen der maschinenlesbaren Anweisungen von 5 und/oder anderen gewünschten Operationen entsprechen können. Die in 8 dargestellte Logikgatterschaltung 808 wird in Gruppen oder Blöcken hergestellt. Jeder Block beinhaltet halbleiterbasierte elektrische Strukturen, die zu Logikschaltungen konfiguriert werden können. In einigen beispielhaften Fällen weisen die elektrischen Strukturen logische Gatter auf (z. B. Und-Gatter, Oder-Gatter, Nor-Gatter usw.), die grundlegende Bausteine für logische Schaltungen darstellen. Elektrisch steuerbare Schalter (z. B. Transistoren) sind in jeder der Logikgatterschaltungen 808 vorhanden, um die Konfiguration der elektrischen Strukturen und/oder der Logikgatter zur Bildung von Schaltungen für die Durchführung gewünschter Operationen zu ermöglichen. Die Logikgatterschaltung 808 kann andere elektrische Strukturen beinhalten, wie etwa Nachschlagetabellen (LUTs), Register (z. B. Flip-Flops oder Latches), Multiplexer usw.
  • Bei den Verbindungen 810 des beispielhaften Beispiels handelt es sich um leitende Pfade, Leiterbahnen, Vias oder dergleichen, die elektrisch steuerbare Schalter (z. B. Transistoren) aufweisen können, deren Zustand durch Programmierung (z. B. unter Verwendung einer HDL-Befehlssprache) geändert werden kann, um eine oder mehrere Verbindungen zwischen einer oder mehreren der Logikgatterschaltungen 808 zu aktivieren oder zu deaktivieren, um gewünschte Logikschaltungen zu programmieren.
  • Die Speicherungsschaltung 812 des dargestellten Beispiels ist dazu strukturiert, ein oder mehrere Ergebnisse der einen oder der mehreren Operationen zu speichern, die durch entsprechende Logikgatter durchgeführt werden. Die Speicherschaltung 812 kann durch Register oder dergleichen implementiert sein. In dem dargestellten Beispiel ist die Speicherschaltung 812 unter der Logikgatterschaltung 808 verteilt, um den Zugriff zu ermöglichen und die Ausführungsgeschwindigkeit zu erhöhen.
  • Die beispielhafte FPGA-Schaltung 800 von 8 beinhaltet auch eine beispielhafte dedizierte Operationsschaltung 814. In diesem Beispiel beinhaltet die dedizierte Operationsschaltung 814 eine Spezialschaltung 816, die aufgerufen werden kann, um üblicherweise verwendete Funktionen zu implementieren, um die Notwendigkeit zu vermeiden, diese Funktionen im Feld zu programmieren. Beispiele für eine solche Sonderzweckschaltung 816 beinhalten eine Speicher- (z. B. DRAM)-Steuerschaltung, eine PCIe-Steuerschaltung, eine Taktschaltung, eine Sendeempfängerschaltung, Speicher und Multiplizierer-Akkumulator-Schaltung. Andere Arten von Sonderzweckschaltungen können vorhanden sein. In einigen Beispielen kann die FPGA-Schaltung 800 auch eine beispielhafte programmierbare Schaltung 818 wie eine beispielhafte CPU 820 und/oder einen beispielhaften DSP 822 aufweisen. Eine andere programmierbare Allzweckschaltung 818 kann zusätzlich oder alternativ vorhanden sein, wie etwa eine GPU, eine XPU usw., die dazu programmiert sein kann, andere Operationen durchzuführen.
  • Obwohl 7 und 8 zwei beispielhafte Implementierungen der Prozessorschaltung 612 von 6 darstellen, sind viele andere Ansätze denkbar. Beispielsweise können moderne FPGA-Schaltungen, wie oben erwähnt, eine On-Board-CPU aufweisen, wie eine oder mehrere der beispielhaften CPU 820 von 8. Daher kann die Prozessorschaltung 612 von 6 außerdem durch Kombination des beispielhaften Mikroprozessors 700 von 7 und der beispielhaften FPGA-Schaltung 800 von 8 implementiert werden. In einigen derartigen hybriden Beispielen kann ein erster Teil der maschinenlesbaren Befehle, die durch das Flussdiagramm von 5 dargestellt werden, von einem oder mehreren der Kerne 702 von 7 ausgeführt werden, und ein zweiter Teil der maschinenlesbaren Befehle, die durch das Flussdiagramm von 5 dargestellt werden, kann von der FPGA-Schaltung 800 von 8 ausgeführt werden.
  • In einigen Beispielen kann sich die Prozessorschaltung 612 von 6 in einem oder mehreren Gehäusen befinden. Beispielsweise können sich die Prozessorschaltung 700 von 7 und/oder die FPGA-Schaltung 800 von 8 in einem oder mehreren Gehäusen befinden. In einigen Beispielen kann eine XPU durch die Prozessorschaltung 612 von 6 implementiert werden, die sich in einem oder mehreren Gehäusen befinden kann. Zum Beispiel kann die XPU eine CPU in einem Gehäuse, ein DSP in einem anderen Gehäuse, eine GPU in noch einem anderen Gehäuse und ein FPGA in noch einem anderen Gehäuse beinhalten.
  • Ein Blockdiagramm, das eine beispielhafte Softwareverteilungsplattform 905 für die Verteilung von Software wie die beispielhaften maschinenlesbaren Anweisungen 632 von 6 an Hardwarevorrichtungen darstellt, die Dritten gehören und/oder von ihnen betrieben werden, ist in 9 dargestellt. Die beispielhafte Softwareverteilungsplattform 905 kann durch einen beliebigen Computerserver, eine Dateneinrichtung, einen Cloud-Dienst usw. implementiert werden, der in der Lage ist, Software zu speichern und an andere Geräte zu übertragen. Die Drittparteien können Kunden der Entität sein, die die Softwareverteilungsplattform 905 besitzt und/oder betreibt. Zum Beispiel kann die Entität, die die Softwareverteilungsplattform 905 besitzt und/oder betreibt, ein Entwickler, ein Verkäufer und/oder ein Lizenzgeber von Software, wie etwa die beispielhaften maschinenlesbaren Anweisungen 632 von 6, sein. Die Drittparteien können Verbraucher, Benutzer, Einzelhändler, OEMs usw. sein, die die Software zur Verwendung und/oder Weiterverkauf und/oder Sublizenzieren erwerben und/oder lizenzieren. In dem dargestellten Beispiel beinhaltet die Softwareverteilungsplattform 905 einen oder mehrere Server und eine oder mehrere Speichervorrichtungen. Die Speichervorrichtungen speichern die maschinenlesbaren Anweisungen 632, die den beispielhaften maschinenlesbaren Anweisungen 500 von 5 entsprechen können, wie oben beschrieben. Der eine oder die mehreren Server der beispielhaften Softwareverteilungsplattform 905 stehen mit einem Netzwerk 910 in Verbindung, das einem oder mehreren der oben beschriebenen Internet- und/oder Beispielnetzwerke 626 entsprechen kann. In einigen Beispielen reagieren der eine oder die mehreren Server auf Anforderungen, die Software als Teil einer kommerziellen Transaktion an eine anfordernde Partei zu übertragen. Die Zahlung für die Lieferung, den Verkauf und/oder die Lizenz der Software kann durch den einen oder die mehreren Server der Softwareverteilungsplattform und/oder über eine Drittanbieter-Zahlungsentität gehandhabt werden. Die Server ermöglichen Käufern und/oder Lizenzgebern, die maschinenlesbaren Anweisungen 632 von der Softwareverteilungsplattform 905 herunterzuladen. Beispielsweise kann die Software, die den beispielhaften maschinenlesbaren Anweisungen 500 von 5 entsprechen kann, auf die beispielhafte Prozessorplattform 600 heruntergeladen werden, die die maschinenlesbaren Anweisungen 632 ausführen soll, um die beispielhafte Videokonferenzschaltung 112 zu implementieren. In einigen Beispielen bieten ein oder mehrere Server der Softwareverteilungsplattform 905 periodisch Aktualisierungen an der Software (z. B. den beispielhaften maschinenlesbaren Anweisungen 632 von 6) an, übertragen und/oder erzwingen diese, um sicherzustellen, dass Verbesserungen, Patches, Aktualisierungen usw. verteilt und auf die Software an den Endbenutzervorrichtungen angewendet werden.
  • Aus dem Vorangegangenen wird ersichtlich, dass beispielhafte Systeme, Verfahren, Vorrichtungen und Herstellungsartikel offenbart wurden, die private verbale Nebengespräche in virtuellen Besprechungen ermöglichen. Die offenbaren Systeme, Verfahren, Vorrichtungen und Herstellungsgegenstände ermöglichen eine verbale Kommunikation zwischen bestimmten Teilnehmern einer Videokonferenz, um eine schnelle, direkte Interaktion ohne Unterbrechung der übrigen Teilnehmer und/oder des Hauptsprechers der Videokonferenz zu gestatten. Die offenbaren Systeme, Methoden, Vorrichtungen und Herstellungsgegenstände verwenden binaurale Audioverarbeitung, um einem Zuhörer zu gestatten, Prioritäten zu setzen und zu wählen, wem er zuhören möchte (z. B. zwischen dem Hauptmoderator des primären Audiokanals oder dem/den anderen Teilnehmer(n) des sekundären Audiokanals). Die offenbaren Systeme, Verfahren, Vorrichtungen und Herstellungsgegenstände wenden die binaurale Audioverarbeitung an, um die Verständlichkeit der verschiedenen Audiosignale zu verbessern und Interferenzen zwischen den verschiedenen Stimmen der Audiokanäle zu vermeiden, indem das wahrnehmbare Übersprechen reduziert wird, selbst wenn der Hauptsprecher und der oder die anderen Teilnehmer zur gleichen Zeit sprechen.
  • Beispielhafte Verfahren, Vorrichtungen, Systeme und Herstellungsgegenstände zur Ermöglichung privater verbaler Nebengespräche in virtuellen Sitzungen sind hier offenbart. Weitere Beispiele und Kombinationen davon beinhalten das Folgende:
  • Beispiel 1 beinhaltet eine Vorrichtung, die mindestens einen Speicher, Befehle in der Vorrichtung und eine Prozessorschaltung aufweist, um die Befehle auszuführen, um einer Videokonferenzsitzung beizutreten, die einen ersten Audiokanal aufweist, wobei der erste Audiokanal ein erstes binaurales Audio in einem ersten Winkel aufweist, als Reaktion darauf, dass ein Benutzer einem zweiten Audiokanal in der Videokonferenzsitzung beitritt, einen zweiten Winkel für den zweiten Audiokanal und einen dritten Winkel für den ersten Audiokanal auszuwählen, einen zweiten Winkel für den zweiten Audiokanal und einen dritten Winkel für den ersten Audiokanal auszuwählen, ein überlagertes binaurales Audio zu erzeugen, das ein zweites binaurales Audio für den zweiten Audiokanal und ein drittes binaurales Audio für den ersten Audiokanal aufweist, und das überlagerte binaurale Audio so auszugeben, dass erste Audiodaten von dem ersten Audiokanal, die in dem dritten binauralen Audio enthalten sind, von einer ersten Position basierend auf dem dritten Winkel zu stammen scheinen und zweite Audiodaten von dem zweiten Audiokanal, die in dem zweiten binauralen Audio enthalten sind, von einer zweiten Position basierend auf dem zweiten Winkel zu stammen scheinen.
  • Beispiel 2 beinhaltet die Vorrichtung von Beispiel 1, wobei die Prozessorschaltung eine Liste von Teilnehmern an der Videokonferenzsitzung bestimmt und feststellt, dass der Benutzer dem zweiten Audiokanal beigetreten ist, und zwar auf der Grundlage von (a) der Auswahl eines Teilnehmers aus der Liste der Teilnehmer an der Videokonferenzsitzung durch den Benutzer, um dem zweiten Audiokanal beizutreten, oder (b) der Auswahl des Benutzers, dem zweiten Audiokanal beizutreten, auf der Grundlage einer Anfrage von einem Teilnehmer an der Videokonferenzsitzung.
  • Beispiel 3 beinhaltet die Vorrichtung von Beispiel 1, wobei der erste Winkel 90 Grad beträgt und sich vor dem Benutzer befindet und der zweite und der dritte Winkel kleiner als der erste Winkel sind.
  • Beispiel 4 beinhaltet die Vorrichtung von Beispiel 1, wobei das überlagerte binaurale Audio an ein Audiogerät mit einer rechten und einer linken Seite ausgegeben wird und wobei die Prozessorschaltung das zweite binaurale Audio auf der Grundlage des zweiten Audiokanals und des zweiten Winkels und das dritte binaurale Audio auf der Grundlage des ersten Audiokanals und des dritten Winkels erzeugen soll.
  • Beispiel 5 beinhaltet die Vorrichtung von Beispiel 4, wobei die Prozessorschaltung den zweiten binauralen Ton unter Verwendung eines ersten digitalen Filters für die rechte Seite des Audiogerätes und eines zweiten digitalen Filters für die linke Seite des Audiogerätes erzeugt und den dritten binauralen Ton unter Verwendung eines dritten digitalen Filters für die rechte Seite des Audiogerätes und eines vierten digitalen Filters für die linke Seite des Audiogerätes erzeugt.
  • Beispiel 6 beinhaltet die Vorrichtung von Beispiel 5, wobei der erste digitale Filter, der zweite digitale Filter, der dritte digitale Filter und der vierte digitale Filter kopfbezogene Übertragungsfunktionen sind.
  • Beispiel 7 beinhaltet die Vorrichtung von Beispiel 1, wobei die Prozessorschaltung eine Anzeige auf einer Benutzerschnittstelle anzeigt, dass der Benutzer dem zweiten Audiokanal beigetreten ist.
  • Beispiel 8 beinhaltet die Vorrichtung von Beispiel 1, wobei der erste Audiokanal den Benutzer und alle Teilnehmer beinhaltet, die in einer Teilnehmerliste der Videokonferenzsitzung enthalten sind.
  • Beispiel 9 beinhaltet die Vorrichtung von Beispiel 8, wobei der zweite Audiokanal den Benutzer und weniger als alle Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 10 beinhaltet die Vorrichtung von Beispiel 9, wobei der zweite Audiokanal den Benutzer und einen Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 11 beinhaltet die Vorrichtung aus Beispiel 1, wobei das überlagerte binaurale Audio ein erstes überlagertes binaurales Audio ist, und wobei die Prozessorschaltung dazu dient, zu bestimmen, ob der Benutzer einem dritten Audiokanal beitritt, wobei der dritte Audiokanal den Benutzer und weniger als alle in der Videokonferenzsitzung enthaltenen Teilnehmer aufweist, als Reaktion darauf, dass der Benutzer dem dritten Audiokanal beitritt, eine Vielzahl von Winkeln für den dritten Audiokanal und einen vierten Winkel für den ersten Audiokanal auszuwählen, wobei die Vielzahl von Winkeln gleich einer Anzahl von Teilnehmern ist, die in dem dritten Audiokanal enthalten sind, eine Vielzahl von binauralen Audiosignalen basierend auf dem dritten Audiokanal und der Vielzahl von Winkeln zu bestimmen, Bestimmen einer Vielzahl von binauralen Audiosignalen auf der Grundlage des ersten Audiokanals und des vierten Winkels, Bestimmen eines zweiten überlagerten binauralen Audiosignals, das die Vielzahl von binauralen Audiosignalen und das vierte binaurale Audiosignal enthält, und Ausgeben des zweiten überlagerten binauralen Audiosignals, so dass die ersten Audiodaten aus dem ersten Audiokanal, die in dem vierten binauralen Audiosignal enthalten sind, von einer dritten Position auf der Grundlage des vierten Winkels zu stammen scheinen und eine Vielzahl von Audiodaten aus dem dritten Audiokanal, die in der Vielzahl von binauralen Audiosignalen enthalten sind, von einer Vielzahl von Positionen auf der Grundlage der Vielzahl von Winkeln zu stammen scheinen.
  • Beispiel 12 beinhaltet ein nicht-transitorisches computerlesbares Speichermedium, das Anweisungen enthält, die, wenn sie ausgeführt werden, mindestens einen Prozessor dazu veranlassen, zumindest einer Videokonferenzsitzung beizutreten, die einen ersten Audiokanal aufweist, wobei der erste Audiokanal erstes binaurales Audio in einem ersten Winkel enthält, als Reaktion darauf, dass ein Benutzer einem zweiten Audiokanal in der Videokonferenzsitzung beitritt, einen zweiten Winkel für den zweiten Audiokanal und einen dritten Winkel für den ersten Audiokanal auszuwählen, einen zweiten Winkel für den zweiten Audiokanal und einen dritten Winkel für den ersten Audiokanal auszuwählen, ein überlagertes binaurales Audio zu erzeugen, das ein zweites binaurales Audio für den zweiten Audiokanal und ein drittes binaurales Audio für den ersten Audiokanal aufweist, und das überlagerte binaurale Audio so auszugeben, dass erste Audiodaten von dem ersten Audiokanal, die in dem dritten binauralen Audio enthalten sind, von einer ersten Position basierend auf dem dritten Winkel zu stammen scheinen und zweite Audiodaten von dem zweiten Audiokanal, die in dem zweiten binauralen Audio enthalten sind, von einer zweiten Position basierend auf dem zweiten Winkel zu stammen scheinen.
  • Beispiel 13 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 12, wobei die Anweisungen, wenn sie ausgeführt werden, den mindestens einen Prozessor veranlassen, eine Liste von Teilnehmern in der Videokonferenzsitzung zu bestimmen und zu bestimmen, dass der Benutzer dem zweiten Audiokanal beigetreten ist, basierend auf mindestens einem von (a) der Benutzerauswahl eines Teilnehmers aus der Liste von Teilnehmern in der Videokonferenzsitzung, um dem zweiten Audiokanal beizutreten, oder (b) der Benutzerauswahl, dem zweiten Audiokanal beizutreten, basierend auf einer Anfrage von einem Teilnehmer in der Videokonferenzsitzung.
  • Beispiel 14 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 12, wobei der erste Winkel 90 Grad beträgt und vor dem Benutzer liegt und der zweite Winkel und der dritte Winkel kleiner als der erste Winkel sind.
  • Beispiel 15 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 12, wobei das überlagerte binaurale Audio an ein Audiogerät ausgegeben wird, das eine rechte Seite und eine linke Seite hat, und wobei die Anweisungen, wenn sie ausgeführt werden, den mindestens einen Prozessor veranlassen, ein zweites binaurales Audio auf der Grundlage des zweiten Audiokanals und des zweiten Winkels zu erzeugen und ein drittes binaurales Audio auf der Grundlage des ersten Audiokanals und des dritten Winkels zu erzeugen, das zweite binaurale Audio unter Verwendung eines ersten digitalen Filters für die rechte Seite des Audiogerätes und eines zweiten digitalen Filters für die linke Seite des Audiogerätes zu bestimmen.
  • Beispiel 16 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 15, wobei die Anweisungen, wenn sie ausgeführt werden, den mindestens einen Prozessor veranlassen, das zweite binaurale Audio unter Verwendung eines ersten digitalen Filters für die rechte Seite des Audiogerätes und eines zweiten digitalen Filters für die linke Seite des Audiogerätes zu erzeugen, und das dritte binaurale Audio unter Verwendung eines dritten digitalen Filters für die rechte Seite des Audiogerätes zu erzeugen.
  • Beispiel 17 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 16, wobei das erste digitale Filter, das zweite digitale Filter, das dritte digitale Filter und das vierte digitale Filter kopfbezogene Übertragungsfunktionen sind.
  • Beispiel 18 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 12, wobei die Anweisungen, wenn sie ausgeführt werden, den mindestens einen Prozessor veranlassen, eine Anzeige, dass der Benutzer dem zweiten Audiokanal beigetreten ist, auf einer Benutzerschnittstelle anzuzeigen.
  • Beispiel 19 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 12, wobei der erste Audiokanal den Benutzer und alle Teilnehmer beinhaltet, die in einer Liste von Teilnehmern an der Videokonferenzsitzung enthalten sind.
  • Beispielhaft 20 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 19, wobei der zweite Audiokanal den Benutzer und weniger als alle Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 21 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 20, wobei der zweite Audiokanal den Benutzer und einen Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 22 beinhaltet das nicht-transitorische computerlesbare Speichermedium von Beispiel 12, wobei das überlagerte binaurale Audio ein erstes überlagertes binaurales Audio ist, und wobei die Anweisungen, wenn sie ausgeführt werden, den mindestens einen Prozessor veranlassen zu bestimmen, ob der Benutzer einem dritten Audiokanal beitritt, wobei der dritte Audiokanal den Benutzer und weniger als alle in der Videokonferenzsitzung enthaltenen Teilnehmer beinhaltet, als Reaktion darauf, dass der Benutzer dem dritten Audiokanal beitritt, eine Vielzahl von Winkeln für den dritten Audiokanal und einen vierten Winkel für den ersten Audiokanal auszuwählen, wobei die Vielzahl von Winkeln gleich einer Anzahl von in dem dritten Audiokanal enthaltenen Teilnehmern ist, Bestimmen einer Vielzahl von binauralen Audiosignalen auf der Grundlage des dritten Audiokanals und der Vielzahl von Winkeln, Bestimmen von vierten binauralen Audiosignalen auf der Grundlage des ersten Audiokanals und des vierten Winkels, Bestimmen eines zweiten überlagerten binauralen Audiosignals, das die Vielzahl von binauralen Audiosignalen und die vierten binauralen Audiosignale beinhaltet, und Ausgeben des zweiten überlagerten binauralen Audios, so dass die ersten Audiodaten aus dem ersten Audiokanal, die das vierte binaurale Audio beinhalten, von einer dritten Position basierend auf dem vierten Winkel zu stammen scheinen und eine Vielzahl von Audiodaten aus dem dritten Audiokanal, die in der Vielzahl von binauralen Audios enthalten sind, von einer Vielzahl von Positionen basierend auf der Vielzahl von Winkeln zu stammen scheinen.
  • Beispiel 23 beinhaltet ein Verfahren, bei dem man einer Videokonferenzsitzung beitritt, die einen ersten Audiokanal beinhaltet, wobei der erste Audiokanal ein erstes binaurales Audio in einem ersten Winkel beinhaltet, als Reaktion darauf, dass ein Benutzer einem zweiten Audiokanal in der Videokonferenzsitzung beitritt, einen zweiten Winkel für den zweiten Audiokanal und einen dritten Winkel für den ersten Audiokanal auswählt, ein überlagertes binaurales Audio erzeugt, das ein zweites binaurales Audio für den zweiten Audiokanal und ein drittes binaurales Audio für den ersten Audiokanal beinhaltet, und Ausgeben des überlagerten binauralen Audios, so dass erste Audiodaten von dem ersten Audiokanal, die in dem dritten binauralen Audio enthalten sind, von einer ersten Position basierend auf dem dritten Winkel zu stammen scheinen und zweite Audiodaten von dem zweiten Audiokanal, die in dem zweiten binauralen Audio enthalten sind, von einer zweiten Position basierend auf dem zweiten Winkel zu stammen scheinen.
  • Beispiel 24 beinhaltet das Verfahren von Beispiel 23, das ferner das Bestimmen einer Liste von Teilnehmern an der Videokonferenzsitzung und das Bestimmen, dass der Benutzer dem zweiten Audiokanal beigetreten ist, beinhaltet, basierend auf mindestens einem der folgenden Punkte: (a) der Auswahl eines Teilnehmers aus der Liste der Teilnehmer an der Videokonferenzsitzung durch den Benutzer, um dem zweiten Audiokanal beizutreten, oder (b) der Auswahl des Benutzers, dem zweiten Audiokanal beizutreten, basierend auf einer Anfrage eines Teilnehmers an der Videokonferenzsitzung.
  • Beispiel 25 beinhaltet das Verfahren von Beispiel 23, wobei der erste Winkel 90 Grad beträgt und vor dem Benutzer liegt und der zweite Winkel und der dritte Winkel kleiner als der erste Winkel sind.
  • Beispiel 26 beinhaltet das Verfahren von Beispiel 23, bei dem das überlagerte binaurale Audio an ein Audiogerät mit einer rechten und einer linken Seite ausgegeben wird, und beinhaltet ferner das Erzeugen von zweitem binauralem Audio auf der Grundlage des zweiten Audiokanals und des zweiten Winkels und das Erzeugen von drittem binauralem Audio auf der Grundlage des ersten Audiokanals und des dritten Winkels.
  • Beispiel 27 beinhaltet das Verfahren von Beispiel 26, ferner das Erzeugen des zweiten binauralen Audios unter Verwendung eines ersten digitalen Filters für die rechte Seite des Audiogerätes und eines zweiten digitalen Filters für die linke Seite des Audiogerätes, und das Erzeugen des dritten binauralen Audios unter Verwendung eines dritten digitalen Filters für die rechte Seite des Audiogerätes und eines vierten digitalen Filters für die linke Seite des Audiogerätes.
  • Beispiel 28 beinhaltet das Verfahren von Beispiel 27, wobei das erste digitale Filter, das zweite digitale Filter, das dritte digitale Filter und das vierte digitale Filter kopfbezogene Übertragungsfunktionen sind.
  • Beispiel 29 beinhaltet das Verfahren aus Beispiel 23, das ferner die Anzeige eines Hinweises auf einer Benutzerschnittstelle beinhaltet, dass der Benutzer dem zweiten Audiokanal beigetreten ist.
  • Beispiel 30 beinhaltet das Verfahren von Beispiel 23, wobei der erste Audiokanal den Benutzer und alle Teilnehmer beinhaltet, die in einer Liste von Teilnehmern an der Videokonferenzsitzung enthalten sind.
  • Beispiel 31 beinhaltet das Verfahren von Beispiel 30, wobei der zweite Audiokanal den Benutzer und weniger als alle Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 32 beinhaltet das Verfahren von Beispiel 31, wobei der zweite Audiokanal den Benutzer und einen Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 33 beinhaltet das Verfahren von Beispiel 23, ferner das Bestimmen, ob der Benutzer einem dritten Audiokanal beitritt, wobei der dritte Audiokanal den Benutzer und weniger als alle Teilnehmer beinhaltet, die in der Videokonferenzsitzung enthalten sind, das Auswählen einer Vielzahl von Winkeln für den dritten Audiokanal und eines vierten Winkels für den ersten Audiokanal als Reaktion darauf, dass der Benutzer dem dritten Audiokanal beitritt, wobei die Vielzahl von Winkeln gleich einer Anzahl von Teilnehmern ist, die in dem dritten Audiokanal enthalten sind, das Bestimmen einer Vielzahl von binauralem Audio basierend auf dem dritten Audiokanal und der Vielzahl von Winkeln, Bestimmen einer Vielzahl von binauralen Audiosignalen auf der Grundlage des ersten Audiokanals und des vierten Winkels, Bestimmen eines zweiten überlagerten binauralen Audiosignals, das die Vielzahl von binauralen Audiosignalen und das vierte binaurale Audiosignal enthält, und Ausgeben des zweiten überlagerten binauralen Audiosignals, so dass die ersten Audiodaten aus dem ersten Audiokanal, die in dem vierten binauralen Audiosignal enthalten sind, von einer dritten Position auf der Grundlage des vierten Winkels zu stammen scheinen und eine Vielzahl von Audiodaten aus dem dritten Audiokanal, die in der Vielzahl von binauralen Audiosignalen enthalten sind, von einer Vielzahl von Positionen auf der Grundlage der Vielzahl von Winkeln zu stammen scheinen.
  • Beispiel 34 beinhaltet eine Vorrichtung, die eine Teilnehmerbestimmungsschaltung umfasst, um einer Videokonferenzsitzung beizutreten, die einen ersten Audiokanal enthält, wobei der erste Audiokanal erstes binaurales Audio in einem ersten Winkel enthält, eine Sekundärkanal-Bestimmungsschaltung, um als Reaktion darauf, dass ein Benutzer einem zweiten Audiokanal in der Videokonferenzsitzung beitritt, einen zweiten Winkel für den zweiten Audiokanal und einen dritten Winkel für den ersten Audiokanal auszuwählen, Ausgangs-Audioverwaltungsschaltung zum Erzeugen eines überlagerten binauralen Audiosignals, das ein zweites binaurales Audiosignal für den zweiten Audiokanal und ein drittes binaurales Audiosignal für den ersten Audiokanal beinhaltet, und zum Ausgeben des überlagerten binauralen Audiosignals in der Weise, dass erste Audiodaten von dem ersten Audiokanal, die in dem dritten binauralen Audiosignal beinhaltet sind, von einer ersten Position auf der Grundlage des dritten Winkels zu stammen scheinen und zweite Audiodaten von dem zweiten Audiokanal, die in dem zweiten binauralen Audiosignal beinhaltet sind, von einer zweiten Position auf der Grundlage des zweiten Winkels zu stammen scheinen.
  • Beispiel 35 beinhaltet die Vorrichtung von Beispiel 34, wobei die Teilnehmerbestimmungsschaltung dazu dient, eine Liste von Teilnehmern an der Videokonferenzsitzung zu bestimmen, und ferner eine Kanalauswahlschaltung beinhaltet, um zu bestimmen, dass der Benutzer dem zweiten Audiokanal beigetreten ist, und zwar auf der Grundlage von (a) der Benutzerauswahl eines Teilnehmers aus der Liste von Teilnehmern an der Videokonferenzsitzung, um dem zweiten Audiokanal beizutreten, oder (b) der Benutzerauswahl, dem zweiten Audiokanal beizutreten, und zwar auf der Grundlage einer Anfrage von einem Teilnehmer an der Videokonferenzsitzung.
  • Beispiel 36 beinhaltet die Vorrichtung von Beispiel 34, wobei der erste Winkel 90 Grad beträgt und sich vor dem Benutzer befindet und der zweite und der dritte Winkel kleiner als der erste Winkel sind.
  • Beispiel 37 beinhaltet die Vorrichtung von Beispiel 34, wobei die überlagerten binauralen Audiosignale an ein Audiogerät mit einer rechten und einer linken Seite ausgegeben werden und ferner eine Sekundärkanal-Audioverarbeitungsschaltung beinhaltet, um zweite binaurale Audiosignale basierend auf dem zweiten Audiokanal und dem zweiten Winkel zu erzeugen, und eine Primärkanal-Audioverarbeitungsschaltung, um dritte binaurale Audiosignale basierend auf dem ersten Audiokanal und dem dritten Winkel zu erzeugen.
  • Beispiel 38 beinhaltet die Vorrichtung aus Beispiel 37, wobei die Sekundärkanal-Audioverarbeitungsschaltung den zweiten binauralen Ton unter Verwendung eines ersten digitalen Filters für die rechte Seite des Audiogerätes und eines zweiten digitalen Filters für die linke Seite des Audiogerätes erzeugen soll und die Primärkanal-Audioverarbeitungsschaltung den dritten binauralen Ton unter Verwendung eines dritten digitalen Filters für die rechte Seite des Audiogerätes und eines vierten digitalen Filters für die linke Seite des Audiogerätes erzeugen soll.
  • Beispiel 39 beinhaltet die Vorrichtung von Beispiel 38, wobei der erste digitale Filter, der zweite digitale Filter, der dritte digitale Filter und der vierte digitale Filter kopfbezogene Übertragungsfunktionen sind.
  • Beispiel 40 beinhaltet die Vorrichtung von Beispiel 34, ferner eine Benutzerschnittstelle beinhaltet, die anzeigt, dass der Benutzer dem sekundären Audiokanal beigetreten ist.
  • Beispiel 41 beinhaltet die Vorrichtung von Beispiel 34, wobei der erste Audiokanal den Benutzer und alle Teilnehmer beinhaltet, die in einer Teilnehmerliste der Videokonferenzsitzung enthalten sind.
  • Beispiel 42 beinhaltet die Vorrichtung von Beispiel 41, wobei der zweite Audiokanal den Benutzer und weniger als alle Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 43 beinhaltet die Vorrichtung von Beispiel 42, wobei der zweite Audiokanal den Benutzer und einen Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 44 beinhaltet die Vorrichtung von Beispiel 34, ferner eine Kanalauswahlschaltung, um zu bestimmen, ob der Benutzer einem dritten Audiokanal beitritt, wobei der dritte Audiokanal den Benutzer und weniger als alle in der Videokonferenzsitzung enthaltenen Teilnehmer beinhaltet, wobei das überlagerte binaurale Audio ein erstes überlagertes binaurales Audio ist, und wobei die Sekundärkanal-Bestimmungsschaltung dazu dient als Reaktion darauf, dass der Benutzer dem dritten Audiokanal beitritt, eine Vielzahl von Winkeln für den dritten Audiokanal und einen vierten Winkel für den ersten Audiokanal auswählt, wobei die Vielzahl von Winkeln gleich einer Anzahl von Teilnehmern ist, die in dem dritten Audiokanal enthalten sind, wobei die Sekundärkanal-Audioverarbeitungsschaltung eine Vielzahl von binauralen Audiosignalen basierend auf dem dritten Audiokanal und der Vielzahl von Winkeln bestimmt, eine Primärkanal-Audioverarbeitungsschaltung zum Bestimmen eines vierten binauralen Audios auf der Grundlage des ersten Audiokanals und des vierten Winkels, und die Ausgangs-Audioverwaltungsschaltung zum Bestimmen eines zweiten überlagerten binauralen Audios, das die Vielzahl von binauralen Audios und das vierte binaurale Audio beinhaltet, und das zweite überlagerte binaurale Audio so auszugeben, dass die ersten Audiodaten von dem ersten Audiokanal, der das vierte binaurale Audio beinhaltet, von einer dritten Position basierend auf dem vierten Winkel zu stammen scheinen und eine Vielzahl von Audiodaten von dem dritten Audiokanal, der in der Vielzahl von binauralem Audio beinhaltet ist, von einer Vielzahl von Positionen basierend auf der Vielzahl von Winkeln zu stammen scheinen.
  • Beispiel 45 beinhaltet eine Vorrichtung, die Folgendes umfasst: Mittel zum Beitritt zu einer Videokonferenzsitzung, die einen ersten Audiokanal beinhaltet, wobei der erste Audiokanal erstes binaurales Audio in einem ersten Winkel beinhaltet, Mittel zum Auswählen eines zweiten Winkels für den zweiten Audiokanal und eines dritten Winkels für den ersten Audiokanal als Reaktion auf den Beitritt eines Benutzers zu einer Videokonferenzsitzung, Mittel zur Ausgabe von Audio, die Mittel zum Ausgeben, um ein überlagertes binaurales Audio zu erzeugen, das ein zweites binaurales Audio für den zweiten Audiokanal und ein drittes binaurales Audio für den ersten Audiokanal enthält, und das überlagerte binaurale Audio so auszugeben, dass erste Audiodaten von dem ersten Audiokanal, die in dem dritten binauralen Audio enthalten sind, von einer ersten Position auf der Grundlage des dritten Winkels zu stammen scheinen und zweite Audiodaten von dem zweiten Audiokanal, die in dem zweiten binauralen Audio enthalten sind, von einer zweiten Position auf der Grundlage des zweiten Winkels zu stammen scheinen.
  • Beispiel 46 beinhaltet die Vorrichtung von Beispiel 45, ferner eine erste Einrichtung zum Bestimmen einer Liste von Teilnehmern an der Videokonferenzsitzung und eine zweite Einrichtung zum Bestimmen, dass der Benutzer dem zweiten Audiokanal beigetreten ist, basierend auf mindestens einem der folgenden Punkte: (a) der Auswahl eines Teilnehmers aus der Liste der Teilnehmer an der Videokonferenzsitzung durch den Benutzer, um dem zweiten Audiokanal beizutreten, oder (b) der Auswahl des Benutzers, dem zweiten Audiokanal beizutreten, basierend auf einer Anfrage eines Teilnehmers an der Videokonferenzsitzung.
  • Beispiel 47 beinhaltet die Vorrichtung von Beispiel 45, wobei der erste Winkel 90 Grad beträgt und sich vor dem Benutzer befindet und der zweite und der dritte Winkel kleiner als der erste Winkel sind.
  • Beispiel 48 beinhaltet die Vorrichtung von Beispiel 45, wobei das überlagerte binaurale Audio an ein Audiogerät ausgegeben wird, das eine rechte Seite und eine linke Seite hat, und ferner eine erste Einrichtung zum Erzeugen eines zweiten binauralen Audios auf der Grundlage des zweiten Audiokanals und des zweiten Winkels und eine zweite Einrichtung zum Erzeugen eines dritten binauralen Audios auf der Grundlage des ersten Audiokanals und des dritten Winkels beinhaltet, das zweite binaurale Audio unter Verwendung eines ersten digitalen Filters für die rechte Seite des Audiogerätes und eines zweiten digitalen Filters für die linke Seite des Audiogerätes zu bestimmen.
  • Beispiel 49 beinhaltet die Vorrichtung von Beispiel 48, wobei das erste Erzeugungsmittel dazu dient, den zweiten binauralen Ton unter Verwendung eines ersten digitalen Filters für die rechte Seite des Audiogerätes und eines zweiten digitalen Filters für die linke Seite des Audiogerätes zu erzeugen, das zweite Erzeugungsmittel dazu dient, den dritten binauralen Ton unter Verwendung eines dritten digitalen Filters für die rechte Seite des Audiogerätes und eines vierten digitalen Filters für die linke Seite des Audiogerätes zu erzeugen.
  • Beispiel 50 beinhaltet die Vorrichtung von Beispiel 49, wobei der erste digitale Filter, der zweite digitale Filter, der dritte digitale Filter und der vierte digitale Filter kopfbezogene Übertragungsfunktionen sind.
  • Beispiel 51 beinhaltet die Vorrichtung von Beispiel 45, die ferner Mittel zum Anzeigen eines Hinweises beinhaltet, dass der Benutzer dem sekundären Audiokanal beigetreten ist.
  • Beispiel 52 beinhaltet die Vorrichtung von Beispiel 45, wobei der erste Audiokanal den Benutzer und alle Teilnehmer beinhaltet, die in einer Teilnehmerliste der Videokonferenzsitzung enthalten sind.
  • Beispiel 53 beinhaltet die Vorrichtung von Beispiel 52, wobei der zweite Audiokanal den Benutzer und weniger als alle Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 54 beinhaltet die Vorrichtung von Beispiel 53, wobei der zweite Audiokanal den Benutzer und einen Teilnehmer in der Teilnehmerliste beinhaltet.
  • Beispiel 55 beinhaltet die Vorrichtung von Beispiel 45, die ferner ein zweites Mittel beinhaltet, um zu bestimmen, ob der Benutzer einem dritten Audiokanal beitritt, wobei der dritte Audiokanal den Benutzer und weniger als alle Teilnehmer beinhaltet, die in der Videokonferenzsitzung enthalten sind, wobei das überlagerte binaurale Audio ein erstes überlagertes binaurales Audio ist, und wobei das Mittel zum Auswählen dazu dient als Reaktion darauf, dass der Benutzer dem dritten Audiokanal beitritt, eine Vielzahl von Winkeln für den dritten Audiokanal und einen vierten Winkel für den ersten Audiokanal auszuwählen, wobei die Vielzahl von Winkeln gleich einer Anzahl von Teilnehmern ist, die in dem dritten Audiokanal enthalten sind, eine erste Einrichtung zum Erzeugen, um eine Vielzahl von binauralen Audiosignalen basierend auf dem dritten Audiokanal und der Vielzahl von Winkeln zu bestimmen, zweite Mittel zum Erzeugen, um viertes binaurales Audio auf der Grundlage des ersten Audiokanals und des vierten Winkels zu bestimmen, und die Mittel zum Ausgeben sind, um ein zweites überlagertes binaurales Audio zu bestimmen, das die Vielzahl von binauralem Audio und das vierte binaurale Audio beinhaltet, und das zweite überlagerte binaurale Audio so auszugeben, dass die ersten Audiodaten von dem ersten Audiokanal, der das vierte binaurale Audio beinhaltet, von einer dritten Position basierend auf dem vierten Winkel zu stammen scheinen und eine Vielzahl von Audiodaten von dem dritten Audiokanal, der in der Vielzahl von binauralem Audio beinhaltet ist, von einer Vielzahl von Positionen basierend auf der Vielzahl von Winkeln zu stammen scheinen.
  • Beispiel 56 beinhaltet eine Vorrichtung mit mindestens einem Speicher und einer Prozessorschaltung, die eine oder mehrere von mindestens einer Zentraleinheit, einer Grafikverarbeitungseinheit oder einem digitalen Signalprozessor enthält, wobei die Zentraleinheit, die Grafikverarbeitungseinheit oder der digitale Signalprozessor eine Steuerschaltung zur Steuerung der Datenbewegung innerhalb der Prozessorschaltung, eine Rechen- und eine Logikschaltung zur Durchführung einer oder mehrerer erster Operationen entsprechend den Befehlen aufweist, und einem oder mehreren Registern zum Speichern eines Ergebnisses der einen oder mehreren ersten Operationen, wobei die Befehle in der Vorrichtung, einem Field Programmable Gate Array (FPGA), wobei das FPGA eine Logikgatterschaltung, eine Vielzahl konfigurierbarer Verbindungen und eine Speicherschaltung beinhaltet, wobei die Logikgatterschaltung und die Verbindungen eine oder mehrere zweite Operationen durchführen, die Speicherschaltung ein Ergebnis der einen oder mehreren zweiten Operationen speichert, oder einer anwendungsspezifischen integrierten Schaltung, die eine Logikgatterschaltung beinhaltet, eine oder mehrere dritte Operationen durchführen, die Prozessorschaltung, um mindestens eine der ersten Operationen, der zweiten Operationen oder der dritten Operationen durchzuführen, um einer Videokonferenzsitzung beizutreten, die einen ersten Audiokanal beinhaltet, wobei der erste Audiokanal ein erstes binaurales Audio in einem ersten Winkel beinhaltet, als Reaktion darauf, dass ein Benutzer einem zweiten Audiokanal in der Videokonferenzsitzung beitritt, einen zweiten Winkel für den zweiten Audiokanal und einen dritten Winkel für den ersten Audiokanal auszuwählen, Erzeugen eines überlagerten binauralen Audiosignals, das ein zweites binaurales Audiosignal für einen zweiten Audiokanal und ein drittes binaurales Audiosignal für einen ersten Audiokanal enthält, und Ausgeben des überlagerten binauralen Audiosignals in der Weise, dass erste Audiodaten von dem ersten Audiokanal, die in dem dritten binauralen Audiosignal enthalten sind, von einer ersten Position auf der Grundlage des dritten Winkels zu stammen scheinen und zweite Audiodaten von dem zweiten Audiokanal, die in dem zweiten binauralen Audiosignal enthalten sind, von einer zweiten Position auf der Grundlage des zweiten Winkels zu stammen scheinen.
  • Obwohl bestimmte beispielhafte Systeme, Verfahren, Vorrichtungen und Herstellungsgegenstände hier offenbart wurden, ist der Anwendungsbereich des vorliegenden Patents nicht darauf beschränkt. Im Gegenteil deckt dieses Patent alle Systeme, Verfahren, Einrichtungen und Fabrikate ab, die in den Geltungsbereich der Ansprüche dieses Patents fallen.
  • Die folgenden Ansprüche werden hiermit durch diese Bezugnahme in diese ausführliche Beschreibung aufgenommen, wobei jeder Anspruch alleine als eine separate Ausführungsform der vorliegenden Offenbarung steht.

Claims (24)

  1. Verfahren, das Folgendes umfasst: Präsentieren, auf einem ersten Audiokanal einer Videokonferenzsitzung, eines ersten binauralen Audios in einem ersten Winkel; Als Reaktion darauf, dass ein Benutzer bei der Videokonferenzsitzung einem zweiten Audiokanal beitritt, Auswählen eines zweiten Winkels für den zweiten Audiokanal und eines dritten Winkels für den ersten Audiokanal; Erzeugen eines überlagerten binauralen Audios einschließlich eines zweiten binauralen Audios für den zweiten Audiokanal und eines dritten binauralen Audios für den ersten Audiokanal; und Ausgeben der überlagerten binauralen Audiodaten, so dass erste Audiodaten aus dem ersten Audiokanal, der in den dritten binauralen Audiodaten enthalten ist, von einer ersten Position basierend auf dem dritten Winkel zu stammen scheinen und zweite Audiodaten aus dem zweiten Audiokanal, der in den zweiten binauralen Audiodaten enthalten ist, von einer zweiten Position basierend auf dem zweiten Winkel zu stammen scheinen.
  2. Verfahren nach Anspruch 1, das ferner Folgendes beinhaltet: Bestimmen einer Liste von Teilnehmern an der Videokonferenzsitzung; und Bestimmen, dass der Benutzer dem zweiten Audiokanal beigetreten ist, basierend auf mindestens einem der folgenden Punkte: (a) Auswahl eines Teilnehmers aus der Liste der Teilnehmer der Videokonferenzsitzung durch den Benutzer, um dem zweiten Audiokanal beizutreten, oder (b) Auswahl des Benutzers, dem zweiten Audiokanal beizutreten, basierend auf einer Anfrage eines Teilnehmers der Videokonferenzsitzung.
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei der erste Winkel 90 Grad beträgt und vor dem Benutzer liegt und der zweite Winkel und der dritte Winkel kleiner als der erste Winkel sind.
  4. Verfahren nach einem der Ansprüche 1, 2 oder 3, wobei das überlagerte binaurale Audio an ein Audiogerät mit einer rechten und einer linken Seite ausgegeben wird und ferner Folgendes beinhaltet: Erzeugen eines zweiten binauralen Audios basierend auf dem zweiten Audiokanal und dem zweiten Winkel; und Erzeugen eines dritten binauralen Audios auf der Grundlage des ersten Audiokanals und des dritten Winkels.
  5. Verfahren nach Anspruch 4, das ferner Folgendes beinhaltet: Erzeugen des zweiten binauralen Audios unter Verwendung eines ersten digitalen Filters für die rechte Seite des Audiogerätes und eines zweiten digitalen Filters für die linke Seite des Audiogerätes; und Erzeugen des dritten binauralen Audios unter Verwendung eines dritten digitalen Filters für die rechte Seite des Audiogerätes und eines vierten digitalen Filters für die linke Seite des Audiogerätes.
  6. Verfahren nach Anspruch 5, wobei das erste digitale Filter, das zweite digitale Filter, das dritte digitale Filter und das vierte digitale Filter kopfbezogene Übertragungsfunktionen sind.
  7. Verfahren nach einem der Ansprüche 1 oder 6, das ferner das Anzeigen eines Hinweises, dass der Benutzer dem zweiten Audiokanal beigetreten ist, auf einer Benutzeroberfläche beinhaltet.
  8. Verfahren nach einem der Ansprüche 1, 6 oder 7, wobei der erste Audiokanal den Benutzer und alle Teilnehmer beinhaltet, die in einer Teilnehmerliste der Videokonferenzsitzung enthalten sind.
  9. Verfahren nach Anspruch 8, wobei der zweite Audiokanal den Benutzer und weniger als alle Teilnehmer in der Teilnehmerliste beinhaltet.
  10. Verfahren nach Anspruch 9, wobei der zweite Audiokanal den Benutzer und einen Teilnehmer in der Teilnehmerliste beinhaltet.
  11. Verfahren nach einem der Ansprüche 1-10, das ferner Folgendes beinhaltet: Bestimmen, ob der Benutzer einem dritten Audiokanal beigetreten ist, wobei der dritte Audiokanal den Benutzer und weniger als alle Teilnehmer beinhaltet, die an der Videokonferenzsitzung teilnehmen; als Reaktion darauf, dass der Benutzer dem dritten Audiokanal beitritt, Auswählen einer Vielzahl von Winkeln für den dritten Audiokanal und eines vierten Winkels für den ersten Audiokanal, wobei die Vielzahl von Winkeln gleich einer Anzahl von Teilnehmern ist, die in dem dritten Audiokanal enthalten sind; Bestimmen einer Vielzahl von binauralen Audios auf der Grundlage des dritten Audiokanals und der Vielzahl von Winkeln; Bestimmen eines vierten binauralen Audios basierend auf dem ersten Audiokanal und dem vierten Winkel; Bestimmen eines zweiten überlagerten binauralen Audiosignals, das die Vielzahl der binauralen Audiosignale und das vierte binaurale Audiosignal beinhaltet; und Ausgeben des zweiten überlagerten binauralen Audiosignals, so dass die ersten Audiodaten aus dem ersten Audiokanal, die das vierte binaurale Audiosignal beinhaltet, von einer dritten Position auf der Grundlage des vierten Winkels zu stammen scheinen und eine Vielzahl von Audiodaten aus dem dritten Audiokanal, der in der Vielzahl von binauralen Audiosignalen enthalten ist, von einer Vielzahl von Positionen auf der Grundlage der Vielzahl von Winkeln zu stammen scheinen.
  12. Vorrichtung, die Mittel zur Durchführung eines beliebigen Verfahrens nach den Ansprüchen 1-11 umfasst.
  13. Maschinenlesbarer Speicher, der maschinenlesbare Befehle enthält, um bei Ausführung ein Verfahren zu implementieren oder eine Vorrichtung nach einem der Ansprüche 1-12 zu realisieren.
  14. System, das Folgendes umfasst: mindestens einen Speicher; Anweisungen in dem mindestens einen Speicher; und Prozessorschaltung zum Ausführen der Anweisungen für Folgendes: Zugang zu einer Videokonferenzsitzung, die einen ersten Audiokanal beinhaltet, wobei der erste Audiokanal ein erstes binaurales Audio in einem ersten Winkel beinhaltet; als Reaktion darauf, dass ein Benutzer einem zweiten Audiokanal in der Videokonferenzsitzung beitritt, Auswählen eines zweiten Winkels für den zweiten Audiokanal und eines dritten Winkels für den ersten Audiokanal; Erzeugen eines überlagerten binauralen Audios, das ein zweites binaurales Audio für den zweiten Audiokanal und ein drittes binaurales Audio für den ersten Audiokanal beinhaltet; und Ausgeben des überlagerten binauralen Audios, so dass erste Audiodaten aus dem ersten Audiokanal, der das dritte binaurale Audio beinhaltet, von einer ersten Position basierend auf dem dritten Winkel zu stammen scheinen und zweite Audiodaten aus dem zweiten Audiokanal, der das zweite binaurale Audio beinhaltet, von einer zweiten Position basierend auf dem zweiten Winkel zu stammen scheinen.
  15. System nach Anspruch 14, wobei die Prozessorschaltung für Folgendes vorgesehen ist: Bestimmen einer Teilnehmerliste an der Videokonferenzsitzung; und Feststellen, dass der Benutzer dem zweiten Audiokanal beigetreten ist, basierend auf mindestens einem der folgenden Punkte: (a) Auswahl eines Teilnehmers aus der Liste der Teilnehmer der Videokonferenzsitzung durch den Benutzer, um dem zweiten Audiokanal beizutreten, oder (b) Auswahl des Benutzers, dem zweiten Audiokanal beizutreten, basierend auf einer Anfrage eines Teilnehmers der Videokonferenzsitzung.
  16. System nach einem der Ansprüche 14 oder 15, wobei der erste Winkel 90 Grad beträgt und sich vor dem Benutzer befindet und der zweite und der dritte Winkel kleiner als der erste Winkel sind.
  17. System nach einem der Ansprüche 14, 15 oder 16, wobei das überlagerte binaurale Audio an ein Audiogerät ausgegeben wird, das eine rechte und eine linke Seite hat, und wobei die Prozessorschaltung für Folgendes vorgesehen ist: Erzeugen des zweiten binauralen Audios basierend auf dem zweiten Audiokanal und dem zweiten Winkel; und Erzeugen des dritten binauralen Audios basierend auf dem ersten Audiokanal und dem dritten Winkel.
  18. System nach Anspruch 17, wobei die Prozessorschaltung für Folgendes vorgesehen ist: Erzeugen des zweiten binauralen Audios unter Verwendung eines ersten digitalen Filters für die rechte Seite des Audiogerätes und eines zweiten digitalen Filters für die linke Seite des Audiogerätes; und Erzeugen des dritten binauralen Audios unter Verwendung eines dritten digitalen Filters für die rechte Seite des Audiogerätes und eines vierten digitalen Filters für die linke Seite des Audiogerätes.
  19. System nach Anspruch 18, wobei das erste digitale Filter, das zweite digitale Filter, das dritte digitale Filter und das vierte digitale Filter kopfbezogene Übertragungsfunktionen sind.
  20. System nach einem der Ansprüche 14 oder 19, wobei die Prozessorschaltung einen Hinweis anzeigen soll, dass der Benutzer dem zweiten Audiokanal auf einer Benutzerschnittstelle beigetreten ist.
  21. System nach einem der Ansprüche 14, 19 oder 20, wobei der erste Audiokanal den Benutzer und alle Teilnehmer beinhaltet, die in einer Teilnehmerliste der Videokonferenzsitzung enthalten sind.
  22. System nach einem der Ansprüche 14, 19, 20 oder 21, wobei der zweite Audiokanal den Benutzer und weniger als alle Teilnehmer in der Teilnehmerliste beinhaltet.
  23. System nach einem der Ansprüche 14, 19, 20, 21 oder 22, wobei der zweite Audiokanal den Benutzer und einen Teilnehmer in der Teilnehmerliste beinhaltet.
  24. System nach Anspruch 14, wobei das überlagerte binaurale Audio ein erstes überlagertes binaurales Audio ist, und wobei die Prozessorschaltung für Folgendes vorgesehen ist: Bestimmen, ob der Benutzer einem dritten Audiokanal beigetreten ist, wobei der dritte Audiokanal den Benutzer und weniger als alle Teilnehmer beinhaltet, die in der Videokonferenzsitzung enthalten sind; als Reaktion darauf, dass der Benutzer dem dritten Audiokanal beitritt, Auswählen einer Vielzahl von Winkeln für den dritten Audiokanal und eines vierten Winkels für den ersten Audiokanal, wobei die Vielzahl von Winkeln gleich einer Anzahl von Teilnehmern ist, die in dem dritten Audiokanal enthalten sind; Bestimmen einer Vielzahl von binauralen Audiosignalen basierend auf dem dritten Audiokanal und der Vielzahl von Winkeln; Bestimmen eines vierten binauralen Audios basierend auf dem ersten Audiokanal und dem vierten Winkel; Bestimmen eines zweiten überlagerten binauralen Audios einschließlich der Vielzahl von binauralen Audios und des vierten binauralen Audios; und Ausgeben des zweiten überlagerten binauralen Audiosignals, so dass die ersten Audiodaten aus dem ersten Audiokanal, die das vierte binaurale Audiosignal beinhalten, von einer dritten Position auf der Grundlage des vierten Winkels zu stammen scheinen und eine Vielzahl von Audiodaten aus dem dritten Audiokanal, der in der Vielzahl von binauralen Audiosignalen enthalten ist, von einer Vielzahl von Positionen auf der Grundlage der Vielzahl von Winkeln zu stammen scheinen.
DE102022119403.5A 2021-09-23 2022-08-02 Verfahren und vorrichtungen, um private verbale nebengespräche bei virtuellen sitzungen zu ermöglichen Pending DE102022119403A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/483,433 2021-09-23
US17/483,433 US20220014712A1 (en) 2021-09-23 2021-09-23 Methods and apparatus to enable private verbal side conversations in virtual meetings

Publications (1)

Publication Number Publication Date
DE102022119403A1 true DE102022119403A1 (de) 2023-03-23

Family

ID=79173294

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022119403.5A Pending DE102022119403A1 (de) 2021-09-23 2022-08-02 Verfahren und vorrichtungen, um private verbale nebengespräche bei virtuellen sitzungen zu ermöglichen

Country Status (3)

Country Link
US (1) US20220014712A1 (de)
CN (1) CN115866185A (de)
DE (1) DE102022119403A1 (de)

Families Citing this family (5)

* 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
US11706264B2 (en) * 2021-07-26 2023-07-18 Cisco Technology, Inc. Virtual position based management of collaboration sessions
US11979244B2 (en) 2021-09-30 2024-05-07 Snap Inc. Configuring 360-degree video within a virtual conferencing system
US11757668B1 (en) * 2022-04-29 2023-09-12 International Business Machines Corporation Enabling private communications during a web conference

Also Published As

Publication number Publication date
US20220014712A1 (en) 2022-01-13
CN115866185A (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
DE102022119403A1 (de) Verfahren und vorrichtungen, um private verbale nebengespräche bei virtuellen sitzungen zu ermöglichen
DE102017012415B4 (de) Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE102016121564A1 (de) System und verfahren zum mit einem netzwerk gekoppelten spielen
DE102016109561B4 (de) Bestimmung eines Geräts, an dem das Audiomaterial einer Telefonkommunikation vorzulegen ist
DE102017122358A1 (de) Bedingte Bereitstellung von Zugriff durch interaktive Assistentenmodul
DE112015003945T5 (de) Mehrquellen-Rauschunterdrückung
DE102014117344A1 (de) Gerät und Verfahren zum Empfangen einer Eingabe und Darstellen als Antwort eine Ausgabe auf einem von dem ersten Gerät unterschiedlichen zweiten Gerät
DE112021001301T5 (de) Dialogorientierte-ki-plattform mit gerenderter graphischer ausgabe
WO2014187877A2 (de) Mischpult, tonsignalerzeuger, verfahren und computerprogramm zum bereitstellen eines tonsignals
DE102016101316B4 (de) Informationsverarbeitungsverfahren und elektronisches Gerät
DE112008001656T5 (de) Hinzufügen virtueller Merkmale über Zubehörteile der realen Welt
DE102020108752A1 (de) Beitreten oder wiederholen einer spielinstanz aus einer spielübertragung
DE102022129924A1 (de) Inhaltsfidelitätsanpassung basierend auf benutzerinteraktion
DE102018118349A1 (de) Verfahren und vorrichtung zum auswählen einer audioausgabeschaltung basierend auf prioritätsattributen
DE102022100815A1 (de) Lautstärkensteuerung für audio- und videokonferenzanwendungen
DE102021124862A1 (de) Verifizierung vertrauenswürdiger Kommunikation unter Nutzung etablierter Kommunikationskanäle
DE102022116905A1 (de) Verfahren und system zur dynamischen rauschunterdrückung eines neuronalen netzwerks zur audioverarbeitung
DE102022107672A1 (de) Cloud-ausführung von audio/video compositing-anwendungen
DE102021125895A1 (de) Latenzbestimmungen für einrichtungen mit menschlicher schnittstelle
DE112021003592T5 (de) Informationsverarbeitungsvorrichtung, Ausgabesteuerverfahren und Programm
RU2580396C2 (ru) Способ проведения виртуальных совещаний, система для проведения виртуальных совещаний, интерфейс участника виртуального совещания
DE112010005204T5 (de) Tragbarer Computer mit mehreren eingebetteten Audiosteuerungen
US9357168B1 (en) Facilitating video conferences
DE112021004705T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsendgerät, informationsverarbeitungsverfahren und programm
DE102022120456A1 (de) Verfahren und vorrichtungen zur erzeugung von räumlichem audio auf der grundlage von computer-vision