-
ALLGEMEINER STAND DER TECHNIK
-
Gebiet der Offenbarung
-
Die Technologie der Offenbarung betrifft allgemein interaktive Web-Real-Time-Communications(WebRTC)-Sitzungen.
-
Technischer Hintergrund
-
Web Real-Time Communications (WebRTC) verkörpert eine laufende Bemühung um die Entwicklung von Industriestandards zum Integrieren von Echtzeitkommunikationsfunktionalität in Webclients, etwa Webbrowsern, um direkte Interaktion mit anderen Webclients zu ermöglichen. Diese Echtzeitkommunikationsfunktionalität ist für Webentwickler über Standardauszeichnungs-Tags zugänglich, etwa diejenigen, die durch Version 5 der Hypertext Markup Language (HTML5) bereitgestellt werden, und clientseitige Skript-Anwendungsprogrammierschnittstellen (APIs) wie JavaScript-APIs. Weitere Informationen zu WebRTC finden sich in „WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web" von Alan B. Johnston und Daniel C. Burnett (2012 Digital Codex LLC), das durch Bezugnahme in seinem vollen Umfang hierin aufgenommen wird.
-
WebRTC stellt integrierte Fähigkeiten zum Herstellen von Echtzeitvideo-, -audio- und/oder -datenströmen sowohl bei interaktiven Punkt-zu-Punkt-Sitzungen als auch bei interaktiven Mehr-Teilnehmer-Sitzungen bereit. Die WebRTC-Standards werden derzeit vom World Wide Web Consortium (W3C) und von der Internet Engineering Task Force (IETF) gemeinsam entwickelt. Informationen zum derzeitigen Stand der WebRTC-Standards finden sich z. B. unter http://www.w3c.org und http://www.ietf.org.
-
WebRTC stellt keine integrierten Zugriffsfähigkeiten bereit, mittels deren Benutzer, die von einer sensorischen Beeinträchtigung wie einem Hör- oder Sehdefizit betroffen sind, ihr Erleben interaktiver WebRTC-Sitzungen optimieren können. Obwohl sich die Audio- und Videoausgaben einer Computereinrichtung eines Benutzers manuell einstellen lassen, betreffen solche Einstellungen in der Regel die gesamte Audio- und Videoerzeugung der Computereinrichtung und sind nicht auf eine interaktive WebRTC-Sitzung eingeschränkt. Zudem ist ein Benutzer möglicherweise nicht in der Lage, eine interaktive WebRTC-Sitzung durch manuelle Einstellung adäquat zu optimieren. Mithin können sich Benutzer Schwierigkeiten gegenübersehen, wenn sie versuchen, ihre interaktive WebRTC-Sitzung individuell so anzupassen, dass eine sensorische Beeinträchtigung ausgeglichen wird.
-
KURZE DARSTELLUNG DER DETAILLIERTEN BESCHREIBUNG
-
In der detaillierten Beschreibung offenbarte Ausführungsformen sehen Ausgleichen sensorischer Benutzerbeeinträchtigungen bei interaktiven Web-Real-Time-Communications(WebRTC)-Sitzungen vor. Verwandte Verfahren, Systeme und computerlesbare Medien werden ebenfalls offenbart. In diesem Zusammenhang wird in einer Ausführungsform ein Verfahren zum Ausgleichen sensorischer Benutzerbeeinträchtigungen bei einer interaktiven WebRTC-Sitzung bereitgestellt. Das Verfahren umfasst Empfangen einer Angabe einer sensorischen Benutzerbeeinträchtigung durch eine Computereinrichtung. Das Verfahren umfasst weiter Empfangen eines Inhalts eines interaktiven WebRTC-Flusses, der an die Computereinrichtung gerichtet ist. Das Verfahren umfasst auch Modifizieren des Inhalts des interaktiven WebRTC-Flusses durch die Computereinrichtung basierend auf der Angabe einer sensorischen Benutzerbeeinträchtigung. Das Verfahren umfasst zusätzlich Rendern des modifizierten Inhalts des interaktiven WebRTC-Flusses. Auf diese Weise kann ein interaktiver WebRTC-Fluss erweitert werden, um eine sensorische Benutzerbeeinträchtigung auszugleichen, und somit kann dem Benutzer ein besseres Verständnis der interaktiven WebRTC-Sitzung ermöglicht werden.
-
In einer anderen Ausführungsform wird ein System zum Ausgleichen einer sensorischen Benutzerbeeinträchtigung bei einer interaktiven WebRTC-Sitzung bereitgestellt. Das System umfasst mindestens eine Kommunikationsschnittstelle und eine Computereinrichtung, die mit der mindestens einen Kommunikationsschnittstelle assoziiert ist und einen Agenten für den Ausgleich sensorischer Beeinträchtigungen umfasst. Der Agent für den Ausgleich sensorischer Beeinträchtigungen ist konfiguriert, um eine Angabe einer sensorischen Benutzerbeeinträchtigung zu empfangen. Der Agent für den Ausgleich sensorischer Beeinträchtigungen ist weiter konfiguriert, um einen Inhalt eines interaktiven WebRTC-Flusses, der an die Computereinrichtung gerichtet ist, zu empfangen. Der Agent für den Ausgleich sensorischer Beeinträchtigungen ist auch konfiguriert, um den Inhalt des interaktiven WebRTC-Flusses basierend auf der Angabe einer sensorischen Benutzerbeeinträchtigung zu modifizieren. Der Agent für den Ausgleich sensorischer Beeinträchtigungen ist zusätzlich konfiguriert, um den modifizierten Inhalt des interaktiven WebRTC-Flusses zu rendern.
-
In einer anderen Ausführungsform ist ein nicht transientes computerlesbares Medium bereitgestellt. Auf dem nicht transienten computerlesbaren Medium sind computerausführbare Befehle abgelegt, um zu verursachen, dass ein Prozessor ein Verfahren implementiert, das Empfangen einer Angabe einer sensorischen Benutzerbeeinträchtigung durch eine Computereinrichtung umfasst. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst weiter Empfangen eines Inhalts eines interaktiven WebRTC-Flusses, der an die Computereinrichtung gerichtet ist. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst auch Modifizieren des Inhalts des interaktiven WebRTC-Flusses durch die Computereinrichtung basierend auf der Angabe einer sensorischen Benutzerbeeinträchtigung. Das durch die computerausführbaren Befehle implementierte Verfahren umfasst zusätzlich Rendern des modifizierten Inhalts des interaktiven WebRTC-Flusses.
-
KURZE BESCHREIBUNG DER FIGUREN
-
Die beiliegenden Zeichnungsfiguren, die in diese Patentschrift aufgenommen sind und einen Bestandteil von ihr bilden, veranschaulichen diverse Ausgestaltungen der Offenbarung und dienen zusammen mit der Beschreibung dazu, die Prinzipien der Offenbarung zu erläutern.
-
1 ist ein Begriffsschema, das eine beispielhafte „Dreieck”-Topologie einer interaktiven Web-Real-Time-Communications(WebRTC)-Sitzung zeigt, die eine Computereinrichtung beinhaltet, die einen Agenten für den Ausgleich sensorischer Beeinträchtigungen umfasst;
-
2 ist ein Ablaufschema, das beispielhafte Betriebsvorgänge zum Ausgleich sensorischer Benutzerbeeinträchtigungen bei interaktiven WebRTC-Sitzungen veranschaulicht;
-
3A und 3B sind Ablaufschemata, die detailliertere beispielhafte Betriebsvorgänge zum Ausgleichen sensorischer Benutzerbeeinträchtigungen bei interaktiven WebRTC-Sitzungen veranschaulichen; und
-
4 ist ein Blockschema eines beispielhaften prozessorbasierten Systems, das möglicherweise den Agenten für den Ausgleich sensorischer Beeinträchtigungen von 1 beinhaltet.
-
DETAILLIERTE BESCHREIBUNG
-
Nunmehr werden mit Bezug auf die Zeichnungsfiguren diverse beispielhafte Ausführungsformen der vorliegenden Offenbarung beschrieben. Das Wort „beispielhaft” wird hierin in der Bedeutung „als ein Beispiel, ein Beispielsfall oder zur Veranschaulichung dienend” genutzt. Jede hierin als „beispielhaft” beschriebene Ausführungsform ist nicht zwangsläufig als gegenüber anderen Ausführungsformen bevorzugte oder vorteilhafte Ausführungsform auszulegen.
-
In der detaillierten Beschreibung offenbarte Ausführungsformen sehen Ausgleichen sensorischer Benutzerbeeinträchtigungen bei interaktiven Web-Real-Time-Communications(WebRTC)-Sitzungen vor. Verwandte Verfahren, Systeme und computerlesbare Medien werden ebenfalls offenbart. In diesem Zusammenhang wird in einer Ausführungsform ein Verfahren zum Ausgleichen sensorischer Benutzerbeeinträchtigungen bei einer interaktiven WebRTC-Sitzung bereitgestellt. Das Verfahren umfasst Empfangen einer Angabe einer sensorischen Benutzerbeeinträchtigung durch eine Computereinrichtung. Das Verfahren umfasst weiter Empfangen eines Inhalts eines interaktiven WebRTC-Flusses, der an die Computereinrichtung gerichtet ist. Das Verfahren umfasst auch Modifizieren des Inhalts des interaktiven WebRTC-Flusses durch die Computereinrichtung basierend auf der Angabe einer sensorischen Benutzerbeeinträchtigung. Das Verfahren umfasst zusätzlich Rendern des modifizierten Inhalts des interaktiven WebRTC-Flusses. Auf diese Weise kann ein interaktiver WebRTC-Fluss erweitert werden, um eine sensorische Benutzerbeeinträchtigung auszugleichen, und somit kann dem Benutzer ein besseres Verständnis der interaktiven WebRTC-Sitzung ermöglicht werden.
-
In diesem Zusammenhang zeigt 1 ein beispielhaftes interaktives Kommunikationssystem 10, das Ausgleichen sensorischer Benutzerbeeinträchtigungen bei interaktiven WebRTC-Sitzungen vorsieht, wie hierin offenbart. Insbesondere beinhaltet das System 10 einen Agenten für den Ausgleich sensorischer Beeinträchtigungen 12. Der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 stellt einen Punkt bereit, an dem ein interaktiver WebRTC-Fluss modifiziert werden kann, um eine sensorische Benutzerbeeinträchtigung auszugleichen, wie unten noch detaillierter erörtert wird. Eine sensorische Benutzerbeeinträchtigung beinhaltet möglicherweise, wobei es sich um nicht einschränkende Beispiele handelt, eine Hörbeeinträchtigung wie einen Gehörverlust oder Mühe bei der Sprachwahrnehmung oder eine Sehbeeinträchtigung wie Farbenblindheit.
-
Bevor Details des Agenten für den Ausgleich sensorischer Beeinträchtigungen 12 erörtert werden, wird zunächst die Herstellung einer interaktiven WebRTC-Sitzung im System 10 von 1 allgemein beschrieben. Wie hierin genutzt, bezieht sich eine interaktive WebRTC-Sitzung auf Betriebsvorgänge zum Ausführen eines WebRTC-Angebot-Antwort-Austausches, zum Herstellen einer Peerverbindung und zum Beginnen eines interaktiven WebRTC-Flusses zwischen zwei oder mehr Endpunkten. Ein interaktiver WebRTC-Fluss umfasst möglicherweise einen interaktiven Medienfluss und/oder einen interaktiven Datenfluss zwischen den zwei oder mehr Endpunkten. Ein interaktiver Medienfluss eines interaktiven WebRTC-Flusses umfasst möglicherweise einen Echtzeitaudiostream und/oder einen Echtzeitvideostream.
-
Im System 10 von 1 führt eine Computereinrichtung 14 eines Benutzers 16 einen Webclient 18 aus. In einigen Ausführungsformen ist die Computereinrichtung 14 möglicherweise eine beliebige Computereinrichtung mit Netzkommunikationsfähigkeiten, etwa ein Smartphone, ein Tabletcomputer, eine dedizierte Web-Appliance oder ein Desktopcomputer, wobei es sich um nicht einschränkende Beispiele handelt. Der Webclient 18 ist möglicherweise eine Webbrowseranwendung, eine dedizierte Kommunikationsanwendung oder eine schnittstellenlose Anwendung wie eine Daemon- oder Dienstanwendung, wobei es sich um nicht einschränkende Beispiele handelt. In diesem Beispiel umfasst der Webclient 18 in dieser Ausführungsform eine Skript-Engine 20 und einen WebRTC-Funktionalitätsanbieter 22. Die Skript-Engine 20 ermöglicht, dass clientseitige Anwendungen, die in einer Skriptsprache wie JavaScript geschrieben sind, innerhalb des Webclients 18 ausgeführt werden. Die Skript-Engine 20 stellt auch eine Anwendungsprogrammierschnittstelle (API) (nicht gezeigt) bereit, um Kommunikationen mit anderen Funktionalitätsanbietern innerhalb des Webclients 18 und/oder der Computereinrichtung 14 und/oder mit anderen Webclients, Benutzereinrichtungen oder Webservern zu erleichtern. Der WebRTC-Funktionalitätsanbieter 22 implementiert die Protokolle, die Codecs und die APIs, die zum Ermöglichen interaktiver Echtzeitsitzungen über WebRTC nötig sind. Die Skript-Engine 20 und der WebRTC-Funktionalitätsanbieter 22 sind über eine Menge definierter APIs kommunikativ gekoppelt, wie durch den in zwei Richtungen weisenden Pfeil 24 angezeigt.
-
Das System 10 von 1 beinhaltet auch einen Webanwendungsserver 26, der anfordernde Webclients, etwa den Webclient 18, mit einer WebRTC-fähigen Webanwendung (nicht gezeigt) bedient. In einigen Ausführungsformen ist der Webanwendungsserver 26 möglicherweise ein einzelner Server, während der Webanwendungsserver 26 in einigen Ausführungsformen möglicherweise mehrere Server umfasst, die kommunikativ aneinander gekoppelt sind. Ebenfalls im System 10 von 1 ist eine Computereinrichtung 28. Die Computereinrichtung 28 ist möglicherweise eine beliebige Computereinrichtung mit Netzkommunikationsfähigkeiten, etwa ein Smartphone, ein Tabletcomputer, eine dedizierte Web-Appliance oder ein Desktopcomputer, wobei es sich um nicht einschränkende Beispiele handelt. In einigen Ausführungsformen führt die Computereinrichtung 28 möglicherweise einen Webclient (nicht gezeigt) aus, etwa, wobei es sich um nicht einschränkende Beispiele handelt, eine Webbrowseranwendung, eine dedizierte Kommunikationsanwendung oder eine schnittstellenlose Anwendung wie eine Daemon- oder Dienstanwendung.
-
1 veranschaulicht ferner die charakteristische WebRTC-„Dreieck”-Topologie, die aus dem Herstellen einer interaktiven WebRTC-Sitzung zwischen dem Webclient 18 und der Computereinrichtung 28 resultiert. Um eine interaktive WebRTC-Sitzung herzustellen, laden sowohl der Webclient 18 als auch die Computereinrichtung 28 dieselbe WebRTC-Webanwendung (nicht gezeigt) vom Webanwendungsserver 26 herunter. In einigen Ausführungsformen umfasst die WebRTC-Webanwendung eine HTML5/JavaScript-Webanwendung, die unter Nutzung von HTML5 ein Rich User Interface bereitstellt, und nutzt JavaScript zum Bearbeiten von Benutzereingaben und zum Kommunizieren mit dem Webanwendungsserver 26.
-
Der Webclient 18 und die Computereinrichtung 28 stellen dann sichere Webverbindungen 30 bzw. 32 zum Webanwendungsserver 26 her und nehmen einen WebRTC-Sitzungsherstellungsaustausch 34 in Angriff. In einigen Ausführungsformen beinhaltet der WebRTC-Sitzungsherstellungsaustausch 34 einen WebRTC-Angebot-Antwort-Austausch, der durch einen Austausch von WebRTC-Sitzungsbeschreibungsobjekten (nicht gezeigt) bewerkstelligt wird. Sobald der WebRTC-Sitzungsherstellungsaustausch 34 abgeschlossen ist, kann über eine sichere Peerverbindung 38 direkt zwischen dem Webclient 18 und der Computereinrichtung 28 ein interaktiver WebRTC-Fluss 36 hergestellt werden. Folglich sind in 1 die Spitzen des WebRTC-„Dreiecks” der Webanwendungsserver 26, der Webclient 18 und die Computereinrichtung 28. Die Ränder des „Dreiecks” werden durch die sicheren Webverbindungen 30 und 32 und die sichere Peerverbindung 38 dargestellt.
-
Es sollte sich verstehen, dass einige Ausführungsformen gegebenenfalls von anderen Topografien als der in 1 veranschaulichten WebRTC-„Dreieck”-Topografie Gebrauch machen. Zum Beispiel verwenden einige Ausführungsformen eventuell eine „Trapez”-Topografie, in der zwei Webserver über Protokolle wie das Session Initiation Protocol (SIP) oder Jingle, wobei es sich um nicht einschränkende Beispiele handelt, direkt miteinander kommunizieren. Es sollte sich ferner verstehen, dass die Computereinrichtung 14 und/oder die Computereinrichtung 28 möglicherweise eine SIP-Clienteinrichtung, eine Jingle-Clienteinrichtung oder ein Gatewaygerät eines öffentlichen Fernsprechnetzes (PSTN), das kommunikativ an ein Telefon gekoppelt ist, umfassen.
-
Wie oben angemerkt, implementiert der WebRTC-Funktionalitätsanbieter 22 Protokolle, Codecs und APIs, die zum Ermöglichen interaktiver Echtzeitsitzungen über WebRTC nötig sind. Jedoch beinhaltet der WebRTC-Funktionalitätsanbieter 22 möglicherweise keine Zugriffsoptionen zum Optimieren einer interaktiven WebRTC-Sitzung für den von einer sensorischen Beeinträchtigung betroffenen Benutzer 16. In diesem Zusammenhang wird der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 von 1 bereitgestellt. In einigen Ausführungsformen ist der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 als Erweiterung oder Plug-In für den Webclient 18 zum Empfangen und Modifizieren eines Inhalts 40 des interaktiven WebRTC-Flusses 36 vom WebRTC-Funktionalitätsanbieter 22 implementiert. Der Inhalt 40 beinhaltet zum Beispiel möglicherweise einen Echtzeitaudiostream und/oder einen Echtzeitvideostream. In einigen Ausführungsformen ist der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 möglicherweise in den WebRTC-Funktionalitätsanbieter 22 integriert.
-
Wie durch den in zwei Richtungen weisenden Pfeil 42 angezeigt, empfängt der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 eine Angabe einer sensorischen Benutzerbeeinträchtigung 44. Die Angabe einer sensorischen Benutzerbeeinträchtigung 44 liefert Daten hinsichtlich einer sensorischen Beeinträchtigung, welche den Benutzer 16 betrifft. Die Angabe einer sensorischen Benutzerbeeinträchtigung 44 kann in einigen Ausführungsformen einen Typ der sensorischen Beeinträchtigung (z. B. eine Hörbeeinträchtigung und/oder eine Sehbeeinträchtigung), einen Grad der sensorischen Beeinträchtigung und/oder eine korrigierende Maßnahme zum Ausgleichen der sensorischen Beeinträchtigung bezeichnen.
-
Basierend auf der Angabe einer sensorischen Benutzerbeeinträchtigung 44 modifiziert der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 den Inhalt 40 des interaktiven WebRTC-Flusses 36, um dem Benutzer 16 ein besseres Verständnis des interaktiven WebRTC-Flusses 36 zu ermöglichen. Zum Beispiel kann der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 in Ausführungsformen, in denen die Angabe einer sensorischen Benutzerbeeinträchtigung 44 eine Hörbeeinträchtigung angibt, einen Echtzeitaudiostream des Inhalts 40 des interaktiven WebRTC-Flusses 36 modifizieren. Modifikationen des Echtzeitaudiostreams beinhalten möglicherweise Modifizieren einer Amplitude einer Frequenz im Echtzeitaudiostream und/oder Ersetzen einer Frequenz durch eine andere im Echtzeitaudiostream (d. h. „Tonfärbung”). Ebenso kann der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 in Ausführungsformen, in denen die Angabe einer sensorischen Benutzerbeeinträchtigung 44 eine Sehbeeinträchtigung angibt, einen Echtzeitvideostream des Inhalts 40 des interaktiven WebRTC-Flusses 36 modifizieren. Modifikationen des Echtzeitvideostreams beinhalten möglicherweise Modifizieren einer Intensität einer Farbe im Echtzeitvideostream und/oder Ersetzen einer Farbe durch eine andere im Echtzeitvideostream.
-
Nach dem Modifizieren des Inhalts 40 des interaktiven WebRTC-Flusses 36 rendert der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 einen modifizierten Inhalt 46 des interaktiven WebRTC-Flusses 36, der vom Benutzer 16 konsumiert werden kann. In einigen Ausführungsformen umfasst Rendern des modifizierten Inhalts 46 möglicherweise Erzeugen von Audio- und/oder Videoausgaben an den Benutzer 16 basierend auf dem modifizierten Inhalt 46.
-
Einige Ausführungsformen sehen eventuell vor, dass der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 die Angabe einer sensorischen Benutzerbeeinträchtigung 44 durch Zugreifen auf eine vom Benutzer bereitgestellte Datendatei 48, die vom Benutzer 16 zur Verfügung gestellt wird, empfangen kann. Die vom Benutzer bereitgestellte Datendatei 48 kann einen Typ und/oder einen Grad einer sensorischen Benutzerbeeinträchtigung, welche den Benutzer 16 betrifft, angeben und kann durch eine von einer medizinischen Fachkraft durchgeführte Beurteilung des Benutzers 16 erzeugt werden. Die vom Benutzer bereitgestellte Datendatei 48 kann auch eine korrigierende Maßnahme zum Ausgleichen einer sensorischen Benutzerbeeinträchtigung beinhalten. In einigen Ausführungsformen kann der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 selbst eine Beurteilung bezüglich sensorischer Beeinträchtigungen 50 am Benutzer 16 durchführen. Der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 kann dann die Angabe einer sensorischen Benutzerbeeinträchtigung 44 basierend auf einem Ergebnis der Beurteilung bezüglich sensorischer Beeinträchtigungen 52 empfangen. Einige Ausführungsformen sehen eventuell vor, dass der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 die Angabe einer sensorischen Benutzerbeeinträchtigung 44 durch Zugreifen auf ein mit dem Benutzer 16 assoziiertes Benutzerprofil 54 empfängt. Das Benutzerprofil 54 kann zuvor bestimmte Informationen über eine sensorische Beeinträchtigung des Benutzers 16 speichern, sodass der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 anschließend auf die Informationen aus dem Benutzerprofil 54 zugreifen kann, ohne dass zusätzliche Eingaben vom Benutzer 16 oder zusätzliche Tests des Benutzers erforderlich sind.
-
Um beispielhafte Betriebsvorgänge des Agenten für den Ausgleich sensorischer Beeinträchtigungen 12 von 1 zum Ausgleichen sensorischer Benutzerbeeinträchtigungen bei interaktiven WebRTC-Sitzungen allgemein zu beschreiben, wird 2 bereitgestellt. In diesem Beispiel von 2 beginnen die Betriebsvorgänge damit, dass der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 der Computereinrichtung 14 die Angabe einer sensorischen Benutzerbeeinträchtigung 44 empfängt (Block 56). In einigen Ausführungsformen umfasst die Angabe einer sensorischen Benutzerbeeinträchtigung 44 möglicherweise Daten, die aus der vom Benutzer bereitgestellten Datendatei 48, aus dem Ergebnis einer Beurteilung bezüglich sensorischer Beeinträchtigungen 52 und/oder aus dem Benutzerprofil 54, wobei es sich um nicht einschränkende Beispiele handelt, erhalten wurden.
-
Weiter mit Bezug auf 2 empfängt der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 als Nächstes einen Inhalt 40 des interaktiven WebRTC-Flusses 36, der an die Computereinrichtung 14 gerichtet ist (Block 58). Der Inhalt 40 beinhaltet möglicherweise einen Echtzeitaudiostream und/oder einen Echtzeitvideostream des interaktiven WebRTC-Flusses 36. Der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 modifiziert den Inhalt 40 basierend auf der Angabe einer sensorischen Benutzerbeeinträchtigung 44 (Block 60). Zum Beispiel kann der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 in Ausführungsformen, in denen die Angabe einer sensorischen Benutzerbeeinträchtigung 44 eine Hörbeeinträchtigung angibt, einen Echtzeitaudiostream des Inhalts 40 des interaktiven WebRTC-Flusses 36 modifizieren. Ähnlich kann der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 in Ausführungsformen, in denen die Angabe einer sensorischen Benutzerbeeinträchtigung 44 eine Sehbeeinträchtigung angibt, einen Echtzeitvideostream des Inhalts 40 des interaktiven WebRTC-Flusses 36 modifizieren. Der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 rendert dann den modifizierten Inhalt 46 des interaktiven WebRTC-Flusses 36 (Block 62).
-
Die 3A und 3B werden bereitgestellt, um einen beispielhaften verallgemeinerten Prozess, bei dem der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 von 1 sensorische Benutzerbeeinträchtigungen bei interaktiven WebRTC-Sitzungen ausgleicht, detaillierter zu veranschaulichen. 3A zeigt detailliert Betriebsvorgänge zum Empfangen einer Angabe einer sensorischen Benutzerbeeinträchtigung von einer von etlichen potenziellen Quellen. 3B zeigt Betriebsvorgänge zum Empfangen und Modifizieren eines Inhalts eines interaktiven WebRTC-Flusses basierend auf der Angabe einer sensorischen Benutzerbeeinträchtigung. Zu Veranschaulichungszwecken beziehen sich die 3A und 3B auf Elemente des Systems 10 und des Agenten für den Ausgleich sensorischer Beeinträchtigungen 12 von
-
1.
-
In 3A, auf die nunmehr Bezug genommen wird, bestimmt der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 zunächst eine Quelle für eine Angabe einer sensorischen Benutzerbeeinträchtigung, etwa die Angabe einer sensorischen Benutzerbeeinträchtigung 44 von 1 (Block 64). In einigen Ausführungsformen kann die Angabe einer sensorischen Benutzerbeeinträchtigung 44 durch eine vom Benutzer bereitgestellte Datendatei, etwa die vom Benutzer bereitgestellte Datendatei 48 von 1, zur Verfügung gestellt werden. Zum Beispiel kann ein Benutzer 16 eine Datendatei bereitstellen, die von einer medizinischen Fachkraft erzeugt oder von einer medizinischen Fachkraft erhalten wird und die den Typ und/oder den Grad der sensorischen Benutzerbeeinträchtigung und/oder korrigierende Maßnahmen zum Ausgleichen der sensorischen Benutzerbeeinträchtigung bezeichnet. In diesem Szenario greift der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 auf die vom Benutzer bereitgestellte Datendatei 48 zu (Block 66). Der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 bestimmt dann die Angabe einer sensorischen Benutzerbeeinträchtigung 44 basierend auf der vom Benutzer bereitgestellten Datendatei 48 (Block 68).
-
Falls der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 bei Block 64 bestimmt, dass die Angabe einer sensorischen Benutzerbeeinträchtigung 44 durch ein Ergebnis einer Beurteilung bezüglich sensorischer Beeinträchtigungen 52 bereitgestellt wird, führt der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 eine Beurteilung bezüglich sensorischer Beeinträchtigungen 50 am Benutzer 16 durch, um den Typ und den Grad der sensorischen Benutzerbeeinträchtigung zu beurteilen (Block 70). Beispielsweise kann der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 einen interaktiven Hör- und/oder Sehtest bereitstellen, um zu bewerten, ob der Benutzer 16 von einer sensorischen Benutzerbeeinträchtigung betroffen ist. Der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 bestimmt dann die Angabe einer sensorischen Benutzerbeeinträchtigung 44 basierend auf einem Ergebnis der Beurteilung bezüglich sensorischer Beeinträchtigungen, etwa dem Ergebnis der Beurteilung bezüglich sensorischer Beeinträchtigungen 52 (Block 72).
-
In Ausführungsformen, in denen die Angabe einer sensorischen Benutzerbeeinträchtigung 44 basierend auf einer vom Benutzer bereitgestellten Datendatei 48 oder einem Ergebnis einer Beurteilung bezüglich sensorischer Beeinträchtigungen 52 bestimmt wird, kann der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 die Angabe einer sensorischen Benutzerbeeinträchtigung 44 für spätere Zugriffe optional in einem Benutzerprofil wie dem Benutzerprofil 54 ablegen (Block 74). Die Verarbeitung wird dann bei Block 76 von 3B fortgesetzt.
-
Am Entscheidungspunkt bei Block 64 von 3A, auf den erneut Bezug genommen wird, kann der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 bei Block 64 bestimmen, dass die Angabe einer sensorischen Benutzerbeeinträchtigung 44 von einem zuvor erzeugten Benutzerprofil, etwa einem bei Block 74 abgelegten Benutzerprofil 54, bereitgestellt wird. Folglich greift der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 auf das Benutzerprofil 54 zu (Block 78) und bestimmt die Angabe einer sensorischen Benutzerbeeinträchtigung 44 basierend auf dem Benutzerprofil 54 (Block 80). Die Verarbeitung wird dann bei Block 76 von 3B fortgesetzt.
-
In 3B, auf die nunmehr Bezug genommen wird, empfängt der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 als Nächstes einen Inhalt eines interaktiven WebRTC-Flusses, etwa den Inhalt 40 des interaktiven WebRTC-Flusses 36 von 1 (Block 76). Der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 bestimmt dann, ob die Angabe einer sensorischen Benutzerbeeinträchtigung 44 eine Angabe einer Benutzerhörbeeinträchtigung beinhaltet (Block 82). Falls nicht, geht die Verarbeitung zu Block 84 über. Falls die Angabe einer sensorischen Benutzerbeeinträchtigung 44 jedoch eine Angabe einer Benutzerhörbeeinträchtigung beinhaltet, modifiziert der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 einen Echtzeitaudiostream des Inhalts 40 des interaktiven WebRTC-Flusses 36 basierend auf der Angabe einer sensorischen Benutzerbeeinträchtigung 44 (Block 86). Die Verarbeitung geht dann zu Block 84 über.
-
Der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 bestimmt als Nächstes, ob die Angabe einer sensorischen Benutzerbeeinträchtigung 44 eine Angabe einer Benutzersehbeeinträchtigung beinhaltet (Block 84). Falls nicht, geht die Verarbeitung zu Block 88 über. Falls die Angabe einer sensorischen Benutzerbeeinträchtigung 44 jedoch eine Angabe einer Benutzersehbeeinträchtigung beinhaltet, modifiziert der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 einen Echtzeitvideostream des Inhalts 40 des interaktiven WebRTC-Flusses 36 basierend auf der Angabe einer sensorischen Benutzerbeeinträchtigung 44 (Block 90). Die Verarbeitung geht dann zu Block 88 über. Bei Block 88 rendert der Agent für den Ausgleich sensorischer Beeinträchtigungen 12 einen modifizierten Inhalt des interaktiven WebRTC-Flusses, etwa den modifizierten Inhalt 46 des interaktiven WebRTC-Flusses 36 von 1.
-
4 stellt eine schematische Diagrammdarstellung eines Verarbeitungssystems 92 in der beispielhaften Form eines beispielhaften Computersystems 94 bereit, das angepasst ist, um Befehle zum Durchführen der hierin beschriebenen Funktionen auszuführen. In einigen Ausführungsformen führt das Verarbeitungssystem 92 möglicherweise Befehle zum Durchführen der Funktionen des Agenten für den Ausgleich sensorischer Beeinträchtigungen 12 von 1 aus. In diesem Zusammenhang umfasst das Verarbeitungssystem 92 möglicherweise das Computersystem 94, innerhalb dessen ein Satz von Befehlen zum Verursachen, dass das Verarbeitungssystem 92 eine beliebige oder beliebige mehrere der hierin erörterten Methodiken durchführt, ausgeführt werden kann. Das Verarbeitungssystem 92 ist möglicherweise mit anderen Maschinen in einem Local Area Network (LAN), einem Intranet, einem Extranet oder dem Internet verbunden (etwa vernetzt, wobei es sich um ein nicht einschränkendes Beispiel handelt). Das Verarbeitungssystem 92 wird möglicherweise in einer Client-Server-Netzumgebung oder als gleichrangige Maschine in der Umgebung eines Peer-to-Peer-(oder verteilten)Netzes betrieben. Auch wenn nur ein einziges Verarbeitungssystem 92 veranschaulicht wird, können die Begriffe „Controller” und „Server” auch so aufgefasst werden, dass sie eine beliebige Gruppe von Maschinen beinhalten, die individuell oder gemeinsam einen Satz (oder mehrere Sätze) von Befehlen zum Durchführen einer beliebigen oder beliebiger mehrerer der hierin erörterten Methodiken ausführen. Das Verarbeitungssystem 92 ist möglicherweise ein Server, ein Personal Computer, ein Desktopcomputer, ein Laptopcomputer, ein Personal Digital Assistant (PDA), ein Computerpad, eine mobile Einrichtung oder eine beliebige andere Einrichtung und stellt möglicherweise, wobei es sich um nicht einschränkende Beispiele handelt, einen Server oder einen Computer eines Benutzers dar.
-
Das beispielhafte Computersystem 94 beinhaltet eine Verarbeitungseinrichtung oder einen Prozessor 96, einen Arbeitsspeicher 98 (ein Read Only Memory (ROM), einen Flashspeicher, einen dynamischen Schreib-Lese-Speicher (DRAM) wie ein synchrones DRAM (SDRAM) etc. als nicht einschränkende Beispiele) und einen statischen Speicher 100 (einen Flashspeicher, einen statischen Schreib-Lese-Speicher (SRAM) etc. als nicht einschränkende Beispiele), die möglicherweise über einen Bus 102 miteinander kommunizieren. Alternativ ist die Verarbeitungseinrichtung 96 möglicherweise direkt oder über irgendein anderes Konnektivitätsmittel mit dem Arbeitsspeicher 98 und/oder dem statischen Speicher 100 verbunden.
-
Die Verarbeitungseinrichtung 96 stellt eine oder mehrere Verarbeitungseinrichtungen wie einen Mikroprozessor, eine Zentralverarbeitungseinheit (CPU) oder dergleichen dar. Insbesondere ist die Verarbeitungseinrichtung 96 möglicherweise ein Mikroprozessor für Rechenvorgänge mit komplexem Befehlssatz (CISC), ein Mikroprozessor für Rechenvorgänge mit reduziertem Befehlssatz (RISC), ein Mikroprozessor für überlange Befehlswörter (VLIW), ein Prozessor, der andere Befehlssätze implementiert, oder Prozessoren, die eine Kombination von Befehlssätzen implementieren. Die Verarbeitungseinrichtung 96 ist konfiguriert, um Verarbeitungslogik in Befehlen 104 und/oder gecachten Befehlen 106 auszuführen, um die hierin erörterten Betriebsvorgänge und Schritte durchzuführen.
-
Das Computersystem 94 beinhaltet ferner möglicherweise eine Kommunikationsschnittstelle in Form einer Netzschnittstelleneinrichtung 108. Es kann auch eine Eingabe 110 zum Empfangen von Eingaben und Auswahloptionen, die bei der Ausführung der Befehle 104, 106 an das Computersystem 94 zu kommunizieren sind, beinhalten oder nicht. Es kann auch eine Ausgabe 112, die unter anderem die Anzeige(n) 114 beinhaltet, beinhalten oder nicht. Die Anzeige(n) 114 ist/sind möglicherweise eine Videoanzeigeeinheit (eine Flüssigkristallanzeige (LCD) oder eine Katodenstrahlröhre (CRT) als nicht einschränkende Beispiele), eine Einrichtung für alphanumerische Eingaben (eine Tastatur als nicht einschränkendes Beispiel), eine Cursorsteuereinrichtung (eine Maus als nicht einschränkendes Beispiel) und/oder eine Touchscreen-Einrichtung (eine Tablet-Eingabeeinrichtung oder ein Bildschirm als nicht einschränkende Beispiele).
-
Das Computersystem 94 beinhaltet möglicherweise eine oder auch keine Datenablageeinrichtung 115, welche die Nutzung eines Laufwerks/von Laufwerken 116 beinhaltet, um die hierin beschriebenen Funktionen in einem computerlesbaren Medium 118 abzulegen, auf dem ein oder mehrere Sätze von Befehlen 120 (z. B. Software) abgelegt sind, die eine beliebige oder beliebige mehrere der hierin beschriebenen Methodiken oder Funktionen ausführen. Die Funktionen können die Verfahren und/oder andere Funktionen des Verarbeitungssystems 92, eine Teilnehmerbenutzereinrichtung und/oder einen Lizenzierungsserver beinhalten, wobei es sich um nicht einschränkende Beispiele handelt. Der eine oder die mehreren Sätze von Befehlen 120 können während ihrer Ausführung durch das Computersystem 94 auch vollständig oder mindestens teilweise innerhalb des Arbeitsspeichers 98 und/oder innerhalb der Verarbeitungseinrichtung 96 liegen. Der Arbeitsspeicher 98 und die Verarbeitungseinrichtung 96 stellen ebenfalls für Maschinen zugängliche Ablagemedien dar. Die Befehle 104, 106 und/oder 120 werden ferner möglicherweise über ein Netz 122 über die Netzschnittstelleneinrichtung 108 gesendet oder empfangen. Das Netz 122 kann ein Intra-Netz oder ein Inter-Netz sein.
-
Wenngleich das computerlesbare Medium 118 in einer beispielhaften Ausführungsform als einzelnes Medium gezeigt wird, ist der Begriff „für Maschinen zugängliches Ablagemedium” so aufzufassen, dass er ein einzelnes Medium oder mehrere Medien beinhaltet (eine zentrale oder eine verteilte Datenbank und/oder assoziierte Cache-Speicher und Server als nicht einschränkende Beispiele), die den einen oder die mehreren Sätze von Befehlen 120 ablegen. Der Begriff „für Maschinen zugängliches Ablagemedium” ist auch so aufzufassen, dass er beliebige Medien beinhaltet, die fähig sind, einen Satz von Befehlen 104, 106 und/oder 120 zur Ausführung durch die Maschine abzulegen, zu codieren oder zu übertragen, und die verursachen, dass die Maschine eine beliebige oder beliebige mehrere der hierin offenbarten Methodiken durchführt. Der Begriff „für Maschinen zugängliches Ablagemedium” ist folglich so aufzufassen, dass er Halbleiterspeicher, optische und magnetische Medien und Trägerwellensignale beinhaltet, jedoch nicht darauf eingeschränkt ist.
-
Die hierin offenbarten Ausführungsformen sind möglicherweise in Hardware und in Befehlen, die in Hardware abgelegt sind, ausgeführt und liegen möglicherweise, wobei es sich um nicht einschränkende Beispiele handelt, in einem Random Access Memory (RAM), einem Flashspeicher, einem Read Only Memory (ROM), einem Electrically Programmable ROM (EPROM), einem Electrically Erasable Programmable ROM (EEPROM), in Registern, auf einer Festplatte, einer Wechselfestplatte, einer CD-ROM oder einem computerlesbaren Medium in irgendeiner anderen aus dem Stand der Technik bekannten Form. Ein beispielhaftes Ablagemedium ist an den Prozessor gekoppelt, sodass der Prozessor Informationen auf dem Ablagemedium lesen und das Ablagemedium mit Informationen beschreiben kann. Alternativ kann das Ablagemedium fest in den Prozessor integriert sein. Der Prozessor und das Ablagemedium können sich in einer anwendungsspezifischen integrierten Schaltung (ASIC) befinden. Die ASIC kann sich in einem entfernten Endgerät befinden. Alternativ können sich der Prozessor und das Ablagemedium als diskrete Komponenten in einem entfernten Endgerät, in einer Basisstation oder auf einem Server befinden.
-
Es wird auch angemerkt, dass die in beliebigen der beispielhaften Ausführungsformen hierin beschriebenen Betriebsschritte beschrieben werden, um Beispiele bereitzustellen und eine Erörterung zu ermöglichen. Die beschriebenen Betriebsvorgänge sind auch in zahlreichen anderen und nicht nur in den veranschaulichten Ablauffolgen durchführbar. Des Weiteren können Betriebsvorgänge, die als einzelner Betriebsschritt beschrieben werden, in Wirklichkeit auch in etlichen unterschiedlichen Schritten durchgeführt werden. Zusätzlich können ein oder mehrere in den beispielhaften Ausführungsformen erörterte Betriebsschritte auch kombiniert werden. Es sollte sich verstehen, dass die in den Ablaufdiagrammen veranschaulichten Betriebsschritte auf zahlreiche unterschiedliche Arten abgewandelt werden können, die sich für den Fachmann ohne Weiteres ergeben. Es verstünde sich für den Fachmann auch, dass Informationen und Signale unter Nutzung beliebiger einer Vielzahl unterschiedlicher Technologien und Techniken dargestellt werden können. Daten, Befehle, Kommandos, Informationen, Signale, Bits, Symbole und Chips, auf die in der obigen Beschreibung gegebenenfalls Bezug genommen wird, können durch Spannungen, Ströme, elektromagnetische Wellen, Magnetfelder oder -partikel, optische Felder oder Partikel oder beliebige Kombinationen davon dargestellt sein, wobei es sich um nicht einschränkende Beispiele handelt.
-
Die vorangehende Beschreibung der Offenbarung wird bereitgestellt, um den Fachmann zu einer Anfertigung gemäß der Offenbarung oder zu ihrer Nutzung zu befähigen. Verschiedene Abwandlungen der Offenbarung werden sich für den Fachmann ohne Weiteres ergeben, und die allgemeinen, hierin definierten Prinzipien können auf andere Variationen angewendet werden, ohne vom Gedanken oder vom Schutzbereich der Offenbarung abzuweichen. Deshalb soll die Offenbarung nicht auf die hierin beschriebenen Beispiele und Ausführungen eingeschränkt sein, sondern ihr soll der weitestmögliche Schutzbereich zukommen, der mit den Prinzipien und den Neuheitsmerkmalen, die hierin offenbart werden, vereinbar ist.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- „WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web” von Alan B. Johnston und Daniel C. Burnett (2012 Digital Codex LLC) [0002]
- http://www.w3c.org [0003]
- http://www.ietf.org [0003]