DE102015104407B4 - Verfahren und Vorrichtungen zum Steuern der Sprachqualität - Google Patents

Verfahren und Vorrichtungen zum Steuern der Sprachqualität Download PDF

Info

Publication number
DE102015104407B4
DE102015104407B4 DE102015104407.2A DE102015104407A DE102015104407B4 DE 102015104407 B4 DE102015104407 B4 DE 102015104407B4 DE 102015104407 A DE102015104407 A DE 102015104407A DE 102015104407 B4 DE102015104407 B4 DE 102015104407B4
Authority
DE
Germany
Prior art keywords
audio
data packet
buffer
jitter
frame
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.)
Active
Application number
DE102015104407.2A
Other languages
English (en)
Other versions
DE102015104407A1 (de
Inventor
Philippe Weingertner
Eric Serre
Christophe Beaugeant
Jerome Parron
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Priority to DE102015104407.2A priority Critical patent/DE102015104407B4/de
Priority to US15/007,338 priority patent/US10212552B2/en
Priority to TW105104967A priority patent/TWI623216B/zh
Priority to CN201610101583.6A priority patent/CN106027480B/zh
Publication of DE102015104407A1 publication Critical patent/DE102015104407A1/de
Application granted granted Critical
Publication of DE102015104407B4 publication Critical patent/DE102015104407B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/181Transcoding devices; Rate adaptation devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

Verfahren (200) zum Jitter Puffer Management mit Steuern der Endezu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen in einem mobilen Endgerät, wobei das Verfahren umfasst:Empfangen (201) eines Datenpakets in dem mobilen Endgerät, wobei das Datenpaket wenigstens einen codierten Audiorahmen umfasst;Abrufen (203) des empfangenen Datenpakets von einem Paketpuffer des mobilen Endgeräts und Decodieren des wenigstens einen codierten Audiorahmens in Audioabtastwerte; undVerarbeiten (204) der Audioabtastwerte in dem mobilen Endgerät,wobei das Abrufen (203) des empfangenen Datenpakets von dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf einem Zielkriterium bezüglich der Audioqualität der Audioabtastwerte und der Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte geplant werden,wobei das Planen sich auf die folgenden Aktivitäten bezieht:eine erste Audioaktivität (401), bei der jedes empfangene Datenpaket in dem Paketpuffer gespeichert wird, außer wenn es zu spät in dem mobilen Endgerät empfangen worden ist,eine zweite Audioaktivität (402), bei der das empfangene Datenpaket aus dem Paketpuffer abgerufen und in Audioabtastwerte decodiert wird, undeine dritte Audioaktivität (403), bei der die Audioabtastwerte einer Abwärtsstrecken-Sprachverbesserung unterzogen werden,wobei das Planen eine Verschiebung der zweiten Audioaktivität (402) gegen die dritte Audioaktivität (403) umfasst, um eine Abwärtsstrecken-Latenzzeit zu verringern.

Description

  • GEBIET
  • Die Offenbarung bezieht sich auf ein Verfahren und eine Vorrichtung zum Steuern der Ende-zu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen. Die Offenbarung bezieht sich ferner auf eine Medienverarbeitungsschaltung für die Verwendung in einem mobilen Endgerät und auf ein Verfahren zum Einstellen einer „Jitter“-Puffergröße in einer Medienverarbeitungsschaltung eines mobilen Endgeräts. Insbesondere bezieht sich die Offenbarung auf ein Verfahren zum Minimieren der Sprache-über-LTE- und Sprache-über-IP-Ende-zu-Ende-Medienverzögerung unter Verwendung eines abtastwertbasierten „Jitter“-Puffermanagements und eines gemeinsam benutzten PCM-Puffers in der Abwärtsstrecke kombiniert mit feinkörniger Synchronisation und adaptiver Planung zwischen den Sprachverbesserungen, den Codecs und dem abtastwertbasierten „Jitter“-Puffermanagement. Insbesondere bezieht sich die Offenbarung ferner auf ein verbessertes Sprache-über-LTE-, Sprache-über-IP- und Video-„Jitter“-Puffermanagement in Szenarien mit hoher Mobilität.
  • HINTERGRUND
  • Die Implementierungen von Medienanrufen über paketvermittelte Netze müssen dem Netz-„Jitter“ gewachsen sein, d.h., die Übertragungszeiträume ändern sich und die Pakete können außerhalb der Reihenfolge ankommen. Um derartigen Problemen gewachsen zu sein, verwenden die Medienmaschinen auf der Empfängerseite normalerweise ein JBM-System (Jitter Buffer Management). Um die optimale Menge der Pufferung vorherzusagen, die es ermöglicht, vor „Jitter“ zu schützen, aber ohne die Ende-zu-Ende-Latenzzeit mehr als notwendig zu vergrößern, sind verschiedene Strategien entwickelt worden. Tatsächlich versuchen alle diese Implementierungen, das Netzverhalten für die kurzfristige Zukunft basierend auf neuesten, aber früheren Informationen vorherzusagen.
  • Die Verfahren und Vorrichtungen, die bei der Medienverarbeitung verwendet werden, insbesondere in drahtlosen Kommunikationsnetzen, insbesondere in Sprache-über-IP-Systemen (VoIP), insbesondere in Sprache-über-LTE-Systemen (VoLTE) müssen ständig verbessert werden. Es kann erwünscht sein, die Ende-zu-Ende-Latenzzeit bei der Medienverarbeitung zu verbessern, insbesondere in dem mobilen Empfänger.
  • WO 2013/051975 A1 beschreibt, dass ein drahtloses Endgerät einen Jitterpuffer enthalten kann, der konfiguriert ist, um Jitter aufgrund unterschiedlicher Verzögerungen von Datenpaketen, die am drahtlosen Endgerät empfangen werden, zu reduzieren. Der Betrieb des Jitterpuffers für das drahtlose Endgerät kann als Reaktion auf Datenpaketübertragungen vom Funknetzknoten zum drahtlosen Endgerät emuliert werden. In Reaktion auf den Emulationsbetrieb des Jitterpuffers für das drahtlose Endgerät kann ein Parameter des emulierten Betriebs des Jitterpuffers bereitgestellt werden, der mindestens eines von einem emulierten späten Paketverlustereignis, einem emulierten Zeitskalierungsereignis, einem emulierten Jitterpufferfüllpegel, und / oder einen Schwellenwert für den Füllstand des emulierten Jitterpuffers.
  • Figurenliste
  • Die Erfindung wird durch die unabhängigen Ansprüche definiert. Bevorzugte Ausführungen werden durch die abhängigen Ansprüche beschrieben.
  • Die beigefügten Zeichnungen sind enthalten, um ein weiteres Verständnis der Aspekte bereitzustellen, und sind in diese Beschreibung aufgenommen und bilden einen Teil dieser Beschreibung. Die Zeichnungen veranschaulichen Aspekte und dienen zusammen mit der Beschreibung dazu, die Prinzipien der Aspekte zu erklären. Andere Aspekte und viele der vorgesehenen Vorteile der Aspekte werden leicht erkannt, da sie unter Bezugnahme auf die folgende ausführliche Beschreibung besser verstanden werden. Gleiche Bezugszeichen bezeichnen entsprechende ähnliche Teile.
    • 1 ist eine schematische graphische Darstellung eines Funkkommunikationsnetzes 100, das eine Basisstation 110 und ein mobiles Endgerät 120 enthält.
    • 2 ist eine schematische graphische Darstellung eines Verfahrens 200 zum Steuern der Ende-zu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen gemäß der Offenbarung.
    • 3 ist eine schematische graphische Darstellung eines Steuerabschnitts 300 eines Audioverarbeitungssystems gemäß der Offenbarung.
    • 4 ist eine schematische graphische Darstellung der Aktivitäten 400, die in einem Audioverarbeitungssystem gemäß der Offenbarung zu planen sind.
    • 5 ist eine schematische graphische Darstellung eines Planungssystems 500 zum Planen der in 4 beschriebenen Aktivitäten gemäß der Offenbarung.
    • 6 ist eine schematische graphische Darstellung einer Vorrichtung 600 zum Steuern der Ende-zu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen gemäß der Offenbarung.
    • 7 ist eine schematische graphische Darstellung eines Verfahrens 700 zum Einstellen einer Größe eines „Jitter“-Puffers in einer Medienverarbeitungsschaltung eines mobilen Endgeräts gemäß der Offenbarung.
    • 8 ist eine schematische graphische Darstellung eines Medienverarbeitungssystems 800 gemäß der Offenbarung.
    • 9 ist eine schematische graphische Darstellung, die die Aktivitäten 900 einer „Jitter“-Puffermanagement-Steuerentität 905 gemäß der Offenbarung veranschaulicht.
    • 10 ist eine schematische graphische Darstellung einer Medienverarbeitungsschaltung 1000 für die Verwendung in einem mobilen Endgerät gemäß der Offenbarung.
    • 11 ist eine schematische graphische Darstellung einer „Jitter“-Pufferkonfigurationsvorrichtung 1100 gemäß der Offenbarung.
    • 12 ist eine schematische graphische Darstellung eines Medienrahmens 1200 gemäß der Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden ausführlichen Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil davon bilden und in denen zur Veranschaulichung spezifische Aspekte gezeigt sind, in denen die Offenbarungen praktiziert werden kann. Es ist selbstverständlich, dass andere Aspekte verwendet werden können und dass strukturelle oder logische Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Die folgende ausführliche Beschreibung ist deshalb nicht in einem einschränkenden Sinn auszulegen, wobei der Umfang der vorliegenden Offenbarung durch die beigefügten Ansprüche definiert ist.
  • Die hier beschriebenen Verfahren und Vorrichtungen können auf der Ende-zu-Ende-Latenzzeit und der Steuerung der Ende-zu-Ende-Latenzzeit basieren. Eine Ende-zu-Ende-Verzögerung oder eine Ende-zu-Ende-Latenzzeit bezieht sich auf den Zeitraum, der für ein Paket erforderlich ist, um über ein Netz (oder ein System oder eine Vorrichtung) von der Quelle zum Ziel gesendet zu werden. Es ist selbstverständlich, dass die im Zusammenhang mit einem beschriebenen Verfahren gemachten Kommentare außerdem für eine entsprechende Vorrichtung gelten, die dafür ausgelegt ist, das Verfahren auszuführen, und umgekehrt. Falls z.B. ein spezifischer Verfahrensschritt beschrieben ist, kann eine entsprechende Vorrichtung eine Einheit enthalten, um den beschriebenen Verfahrensschritt auszuführen, selbst wenn eine derartige Einheit nicht explizit beschrieben oder in den Figuren veranschaulicht ist. Ferner ist es selbstverständlich, dass die Merkmale der hier beschriebenen verschiedenen beispielhaften Aspekte miteinander kombiniert werden können, wenn es nicht spezifisch anders angegeben ist.
  • Die hier beschriebenen Verfahren und Vorrichtungen können in paketvermittelten Netzen, insbesondere in IP-basierten (internetprotokoll-basierten) Netzen implementiert sein. Die hier beschriebenen Verfahren und Vorrichtungen können in verdrahteten und drahtlosen Kommunikationsnetzen implementiert sein, insbesondere in Kommunikationsnetzen, die auf Sprache-über-Internetprotokoll (VoIP) basieren, insbesondere in Kommunikationsnetzen, die auf Sprache-über-langfristige-Entwicklung (VoLTE) basieren. Die hier beschriebenen Verfahren und Vorrichtungen können in drahtlosen Kommunikationsnetzen, wie z.B. LTE-Systemen, UMTS-Systemen (Universal Mobile Telecommunications System) und 3GPP-Systemen (3rd Generation Partnership Project), implementiert sein. Die im Folgenden beschriebenen Verfahren und Vorrichtungen können ferner in einer Mobilvorrichtung (oder einer Mobilstation oder einem Anwendergerät (User Equipment, UE)) oder einer Basisstation (NodeB, eNodeB) implementiert sein. Die beschriebenen Vorrichtungen können integrierte Schaltungen und/oder passive Elemente enthalten und können gemäß verschiedenen Techniken hergestellt sein. Die Schaltungen können z.B. als integrierte Logikschaltungen, analoge integrierte Schaltungen, integrierte Mischsignal-Schaltungen, optische Schaltungen, Speicherschaltungen und/oder integrierte passive Elemente entworfen sein.
  • Die hier beschriebenen Verfahren und Vorrichtungen können dafür ausgelegt sein, Funksignale zu senden und/oder zu empfangen. Die Funksignale können Hochfrequenzsignale sein oder enthalten, die durch eine Funksendevorrichtung (oder einen Funksender oder einen Sender) bei einer Funkfrequenz, die in einem Bereich von etwa 3 Hz bis etwa 300 GHz liegt, ausgesendet werden. Der Frequenzbereich kann den Frequenzen oder den elektrischen Wechselstromsignalen entsprechen, die verwendet werden, um die Funkwellen zu erzeugen und zu detektieren.
  • Die hier beschriebenen Verfahren und Vorrichtungen können außerdem verwendet werden, um das „Jitter“-Puffermanagement zu steuern. Der „Jitter“ ist ein signifikanter, aber normalerweise unerwünschter Faktor beim Entwurf fast aller Kommunikationsverbindungen. In paketvermittelten Netzen ist der „Jitter“ die Variation der Latenzzeit, wie sie in der Variabilität über der Zeit der Paket-Latenzzeit über ein Netz gemessen wird. „Jitter“-Puffer werden verwendet, um dem durch die Warteschlangenbildung in paketvermittelten Netzen eingeführten „Jitter“ entgegenzuwirken, so dass ein kontinuierliches Ausspielen von Medien, z.B. Audio oder Video, die über das Netz gesendet werden, sichergestellt werden kann. Der maximale „Jitter“, dem durch einen „Jitter“-Puffer entgegengewirkt werden kann, ist gleich der vor dem Starten des Ausspielens des Medienstroms eingefügten Pufferungsverzögerung. Das „Jitter“-Puffermanagement wird verwendet, um einen „Jitter“-Puffer zu steuern und zu managen.
  • Die hier beschriebenen Verfahren und Vorrichtungen können AMR-Codecs (Adaptive Multi Rate), EVS-Codecs (Enhanced Voice Services gemäß 3GPP TS 26.444), WSOLA- (Waveform Similarity based Overlap and Add) und PSOLA- (Pitch Synchronous Overlap and Add) Codecs enthalten. Der AMR-Audio-Codec ist ein Audiokomprimierungsformat, das für die Sprachcodierung optimiert ist. Der AMR-Sprach-Codec umfasst einen Mehrraten-Schmalband-Sprach-Codec, der Schmalbandsignale (etwa 200-3400 Hz) mit variablen Bitraten, die von etwa 4,75 bis etwa 12,2 kbit/s reichen, codiert, wobei eine Sprache in Gesprächsgebührenqualität bei 7,4 kbit/s beginnt. Die AMR wird als der Standardsprach-Codec durch das 3GPP angewendet und wird nun umfassend im GSM, UMTS und LTE verwendet. Er verwendet die Verbindungsanpassung, um eine aus acht verschiedenen Bitraten basierend auf den Verbindungsbedingungen auszuwählen. AMR bezeichnet außerdem ein Dateiformat zum Speichern von gesprochenem Audio unter Verwendung des AMR-Codecs. Das PSOLA ist eine digitale Signalverarbeitungstechnik, die für die Sprachverarbeitung und spezifischer für die Sprachsynthese verwendet wird. Das PSOLA kann verwendet werden, um die Tonhöhe und die Dauer eines Sprachsignals zu modifizieren. Das PSOLA arbeitet durch das Teilen der Sprachsignalform in kleine überlappende Segmente. Um die Tonhöhe des Signals zu ändern, werden die Segmente weiter auseinander bewegt (um die Tonhöhe zu verringern) oder enger zusammen bewegt (um die Tonhöhe zu erhöhen). Um die Dauer des Signals zu ändern, werden die Segmente dann mehrmals wiederholt (um die Dauer zu vergrößern) oder werden einige Segmente eliminiert (um die Dauer zu verringern). Die Segmente können dann unter Verwendung der Überlappungs-Additions-Technik kombiniert werden.
  • Die hier beschriebenen Verfahren und Vorrichtungen können die POLQA-Sprachsignalanalyse verwenden. Die POLQA umfasst ein Modell, um die Sprachqualität mittels digitaler Sprachsignalanalyse vorherzusagen. Die Vorhersagen dieser objektiven Maße sollten so nah wie möglich an subjektive Qualitätsbewertungen kommen, wie sie bei subjektiven Hörtests erhalten werden. Normalerweise wird eine mittlere Meinungsbewertung (Mean Opinion Score, MOS) vorhergesagt. Die POLQA verwendet echte Sprache als einen Teststimulus zum Bewerten von Telefonnetzen.
  • Die hier beschriebenen Verfahren und Vorrichtungen können auf RTP-Paketen (Real-Time Transport Protocol) basieren. Das RTP definiert ein standardisiertes Paketformat zum Liefern von Audio und Video über IP-Netze. Das RTP ist für die Echtzeitübertragung von Stromdaten von Ende zu Ende entworfen. Das Protokoll stellt Einrichtungen für die „Jitter“-Kompensation und die Detektion der Ankunft außerhalb der Reihenfolge in den Daten bereit, die während der Sendungen in einem IP-Netz üblich sind.
  • Die hier beschriebenen Verfahren und Vorrichtungen können PCM-Abtastwerte (Pulse-Code Modulation) und PCM-Puffer enthalten. Die PCM ist eine Technik, die verwendet wird, um abgetastete analoge Signale digital darzustellen. Die PCM ist das Standardformat für digitale Audioanwendungen, das z.B. in Computern, Kompaktdisks und bei der digitalen Telefonie verwendet wird. In einem PCM-Strom wird die Amplitude des analogen Signals regelmäßig in gleichmäßigen Intervallen abgetastet, wobei jeder Abtastwert auf den nächsten Wert innerhalb eines Bereichs von digitalen Schritten quantisiert wird.
  • 1 ist eine schematische graphische Darstellung eines Funkkommunikationsnetzes 100, das eine Basisstation 110 und ein mobiles Endgerät 120 enthält. Bei den Funkkommunikationen inzwischen einer Basisstation 110 und einem mobilen Endgerät oder einem Anwendergerät (UE) 120 kann ein Sendesignal 102 durch die Basisstation 110 gesendet werden und durch das UE 120 als ein Empfangssignal 104 empfangen werden. Aufgrund der „Jitter“-Effekte in dem Übertragungsweg 108 zwischen der Basisstation 110 und dem UE 120 kann das Empfangssignal 104 einer Verzögerungsvariation unterworfen sein, d.h., die Pakete 106 des Sendesignals 102 können eine Variation der Latenzzeit über der Zeit erfahren, wobei einige oder alle Pakete 106 außerhalb der Reihenfolge empfangen werden können. Der Übertragungsweg 108 zwischen der Basisstation 110 und dem UE 120 kann viele Netzkomponenten enthalten, die in 1 nicht dargestellt sind. Weitere „Jitter“-Effekte können in dem UE 120 zwischen dem Empfang des Empfangssignals 104 und dem Ausspielen des Empfangssignals 104 auftreten.
  • 2 ist eine schematische graphische Darstellung eines Verfahrens 200 zum Steuern der Ende-zu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen gemäß der Offenbarung. Das Verfahren 200 enthält das Empfangen 201 eines Datenpakets, das wenigstens einen codierten Audiorahmen umfasst. Das Verfahren 200 enthält das Abrufen 203 des empfangenen Datenpakets von einem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens in Audioabtastwerte. Das Verfahren 200 enthält das Verarbeiten 204 der Audioabtastwerte, wobei eine Planung des Abrufens 203 des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens auf einem Zielkriterium bezüglich der Audioqualität der Audioabtastwerte und der Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte basiert. Die Planung kann dynamisch und glatt zeitlich verschoben werden, um Audioverzerrungen zu vermeiden. Folglich steuert das Verfahren 200 die Ende-zu-Ende-Latenzzeit durch das Ermöglichen einer dynamischen, glatten und adaptiven Planung der verschiedenen Audioaktivitäten. Die Auslöser der Audiowiedergabe und der Codec-Decodierung können dynamisch zusätzlich zu der Zunahme oder der Abnahme der Pufferung eingestellt werden: dies ermöglicht selbst in dem Fall, in dem es keinen „Jitter“ gibt, eine niedrigere Ende-zu-Ende-Latenzzeit.
  • Die Planung des Abrufens 203 des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens kann auf der Zeitskalierung des wenigstens einen decodierten Audiorahmens basieren, um eine Verarbeitung des empfangenen Datenpakets in eine optimale Position bezüglich einer minimalen Latenzzeit zu verschieben. Die Zeitskalierung des wenigstens einen decodierten Audiorahmens kann die Rahmenkomprimierung 309, wie sie z.B. im Folgenden bezüglich 3 beschrieben wird, zum Verringern der Latenzzeit zwischen dem Empfangen des Datenpakets und der Verarbeitung der Audioabtastwerte enthalten. Die Zeitskalierung des wenigstens einen codierten Audiorahmens kann eine Rahmenerweiterung 317, wie sie z.B. im Folgenden bezüglich 3 beschrieben wird, zum Vergrößern der Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte enthalten. Die Zeitskalierung des wenigstens einen codierten Audiorahmens kann eine Leerlaufaktivität 313 bezüglich der Rahmenkomprimierung und der Rahmenerweiterung, wie sie z.B. im Folgenden bezüglich 3 beschrieben wird, zum Halten der Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte enthalten.
  • Die Zeitskalierung kann zum Verschieben der Planung verwendet werden, um eine Position des wenigstens einen decodierten Audiorahmens zu modifizieren. Die Zeitskalierung kann entweder auf der Sprachrahmenkomprimierung oder auf der Sprachrahmenerweiterung basieren. Das Verfahren 200 kann ferner das Bestimmen einer optimalen Planung basierend auf statistischen Informationen über die Latenzzeit zwischen den empfangenen Daten und den ausgespielten Daten, z.B. einer RTP-Statistik, enthalten. Das Verfahren 200 kann ferner das Bestimmen einer optimalen Planung basierend auf einer Modemstatistik basierend auf einer Empfangsrate und/oder einer Neusendungsrate enthalten. Die Zeitskalierung kann entweder auf dem Entfernen oder auf dem Addieren einer Tonhöhenperiode der Sprache basieren, wie z.B. im Folgenden bezüglich 5 beschrieben wird. Die Zeitskalierung kann auf dem tonhöhensynchronen Überlappen und Addieren basieren, wie z.B. im Folgenden bezüglich 5 beschrieben wird. Das Datenpaket kann ein Teil eines Stroms von asynchron empfangenen Datenpaketen sein. Das Verfahren 200 kann ferner das Bestimmen der Statistik der Latenzzeit zwischen dem Empfangen eines jeweiligen Datenpakets des Stroms der Datenpakete und dem Verarbeiten der Audioabtastwerte des jeweiligen Datenpakets enthalten. Die Statistik kann für die Planung verwendet werden.
  • Das Abrufen des empfangenen Datenpakets von dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens und das Verarbeiten der Audioabtastwerte können auf einem „Master“-Takt basieren, wie z.B. im Folgenden bezüglich 4 beschrieben wird. Die Planung des Abrufens 203 des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens kann durch das Einstellen einer Taktung des Abrufens des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens ausgeführt werden. Die Planung kann durch das Einstellen einer Taktung des Verarbeitens der Audioabtastwerte eingestellt werden.
  • Das Verfahren 200 kann ferner das Bestimmen einer Latenzzeit zwischen dem empfangenen Datenpaket und den verarbeiteten Audioabtastwerten enthalten. Das Verfahren 200 kann ferner das Bestimmen einer Audioqualität der Audioabtastwerte enthalten.
  • Das Verfahren 200 kann ferner die Planung des Abrufens 203 des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens enthalten, so dass sich die Audioqualität über einem ersten Schwellenwert befindet und sich die Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte unter einem zweiten Schwellenwert befindet.
  • Das Bestimmen der Audioqualität kann auf einem Modell zum Vorhersagen der Sprachqualität mittels der digitalen Sprachsignalanalyse, insbesondere basierend auf der wahrnehmungsmäßigen objektiven Hörqualitätsbewertung (Perceptual Objective Listening Quality Assessment, POLQA) basieren. Die in dieser Offenbarung beschriebenen Verfahren und Vorrichtungen minimieren die Ende-zu-Ende-Verzögerung bei Sprache-über-IP im Allgemeinen und Sprache-über-LTE im Besonderen. Die in dieser Offenbarung beschriebenen Verfahren und Vorrichtungen können mit der VOIP-Abwärtsstreckenverarbeitung (VOIP-DL-Verarbeitung) des Audiosystems in Beziehung stehen. Dank eines adaptiven abtastwertbasierten „Jitter“-Puffermanagements, das die Zeitskalierung der Sprachrahmen (Komprimierungen und Erweiterungen) ermöglicht, eines gemeinsam genutzten Abwärtsstrecken-PCM-Puffers und einer fein granulierten Synchronisation zwischen „den Abwärtsstrecken-Sprachverbesserungen, dem abtastwertbasierten „Jitter“-Puffermanagement und den Codec-Teilsystemen“ kann eine minimale Latenzzeit zwischen dem RTP-Paketempfang und der zugeordneten PCM-Wiedergabe garantiert werden. Die Abwärtsstrecken-Latenzzeit wird bei den meisten Netzbedingungen mit oder ohne Netz-„Jitter“ minimiert, ohne die Sprachqualität zu verschlechtern.
  • Die Idee, wie sie in dieser Offenbarung beschrieben ist, stützt sich auf die kombinierte Verwendung der folgenden Audioteilsysteme in einer adaptiven synchronisierten Weise: eines abtastwertbasierten „Jitter“-Puffermanagements (Sample Based Jitter Buffer Management, SJBM) zum Ermöglichen der Zeitskalierung der Sprachrahmen (Komprimierungen und Erweiterungen), eines Abwärtsstrecken-Codecs (z.B. eines DL-AMR- oder -EVS-Decodierers für VoLTE), eines Abwärtsstrecken-Sprachverbesserungsteilsystems und eines gemeinsam benutzten Abwärtsstrecken-PCM-Puffers, der zwischen dem DL-Codec/SJBM-Teilsystem und dem DL-Sprachverbesserungsteilsystem gemeinsam benutzt wird, wie im Folgenden beschrieben wird.
  • 3 ist eine schematische graphische Darstellung eines Steuerabschnitts 300 eines Audioverarbeitungssystems gemäß der Offenbarung. Der Steuerabschnitt 300 enthält eine „Jitter“-Puffermanagemententität 301 für die Schub-/Zug-Abwicklung der Pakete. Die „Jitter“-Puffermanagemententität 301 ist für die RTP-Paketschub- 302 und die RTP-Paketzug- 304 Abwicklung verantwortlich. Der Steuerabschnitt 300 enthält eine Paketstatistikentität 303 zum Sammeln von Informationen über die Paketverzögerungen zwischen dem Empfang der RTP-Pakete und ihrem zugeordneten Ausspielen. In einem Beispiel kann die Granularität der Verzögerungsmessungen besser als 1 ms sein. Die Paketstatistikentität 303 kann durch ein RTP-Paketschubereignis 302 ausgelöst werden.
  • Der Steuerabschnitt 300 enthält ferner eine Entität 305 zur Berechnung einer optimalen Verzögerung, die dafür ausgelegt ist, basierend auf der durch die Paketstatistikentität 303 bestimmten Paketstatistik eine optimale Verzögerung für jeden empfangenen Rahmen 306 zu berechnen. Die Entität 305 zur Berechnung einer optimalen Verzögerung ist dafür ausgelegt, eine optimale Menge der Pufferung, um dem Netz-„Jitter“ gewachsen zu sein, und eine optimale Planung der Aktivitäten der SJBM- und DL-Codecs, um die Latenzzeit zu verringern, abzuleiten und einen Befehl für die Komprimierung 309, die Erweiterung 317 oder keine Änderung 313 des Sprachrahmens auszugeben. In Abhängigkeit von einem Zielkriterium wird ein Befehl für die Komprimierung 309 ausgegeben, falls das Zielkriterium überschritten wird 307 (> 0), wird ein Befehl zur Erweiterung 317 ausgegeben, falls sich die berechnete Verzögerung unter dem Ziel befindet 315 (< 0) und wird ein Befehl für keine Änderung 313 (oder kein Befehl) ausgegeben, falls das Zielkriterium erfüllt ist 311 (> 0).
  • Die Verzögerungen zwischen dem RTP-Paketempfang 302 und dem Ausspielen 304 der eingebetteten Sprachnutzlast kann durch die Paketstatistikentität 303 für jedes RTP-Paket genau gemessen werden. Die Statistik kann dann durch die Paketstatistikentität 303 abgeleitet und dynamisch aktualisiert werden. Dank dieser Statistik kann vor der Verarbeitung jedes Sprachrahmens, die in einem VoLTE-System typischerweise z.B. alle 20 ms (oder z.B. 40 ms) stattfinden kann, die optimale Menge der Pufferung, um dem Netz-„Jitter“ gewachsen zu sein, aber außerdem die optimale Planung der verschiedenen Audioaktivitäten für die niedrigste Latenzzeit, durch die Entität 305 zur Berechnung einer optimalen Verzögerung bestimmt werden. Die Kenntnis, für wie viele ALS ZIEL GESETZTE (TARGETED) Millisekunden einige Audioaktivitäten verschoben werden sollten, kann ein Sprachrahmen-Zeitskalierungsbefehl ausgegeben werden. Der Sprachrahmen kann durch das Addieren oder das Entfernen einer Tonhöhenperiode zeitlich skaliert werden, wobei dadurch eine minimale hörbare Änderung an dem Sprachrahmen sichergestellt wird und die Anpassung selbst in den Fällen ermöglicht wird, in denen keine Ruheperiode verfügbar ist, (oder eine schnellere Anpassung ohne die Notwendigkeit, auf eine Ruheperiode zu warten, ermöglicht wird). Nach der Zeitskalierung des Sprachrahmens kann ein Wecken für die Verarbeitung des nächsten Sprachrahmens programmiert und ausgerichtet sein, um der neuen Länge des zeitlich skalierten Sprachrahmens zu entsprechen.
  • 4 ist eine schematische graphische Darstellung der Aktivitäten 400, die in einem Audioverarbeitungssystem gemäß der Offenbarung zu planen sind. 4 repräsentiert verschiedene Audioaktivitäten 401, 402, 403, die während eines VoLTE-Anrufs (oder eines VoIP-Anrufs) geplant werden.
  • Die Aktivität 1, 401, wird bei jedem RTP-Paketempfang 410 ausgelöst. Daher ist sie eine asynchrone Aktivität (selbst wenn sie im Idealfall ohne Netz-„Jitter“ alle 20 ms oder 40 ms in einem typischen VoLTE-System stattfinden sollte). Wenn ein RTP-Paket empfangen wird 410, wird das Paket in den SJBM-Puffer (Sample Based Jitter Buffer Management) geschoben oder in dem SJBM-Puffer gespeichert, außer wenn es zu spät nach seinem erwarteten Ausspielzeitpunkt empfangen worden ist.
  • Die Aktivität 2, 402, bezieht sich auf die Sprachrahmen-Decodierung, die in einem VoLTE-System typischerweise alle 20 ms (oder 40 ms) stattfinden kann. Ein RTP-Paket wird aus dem SJBM-Puffer abgerufen. Die AMR- oder EVS-Nutzlast wird in PCM-Abtastwerte (Pulse-Code Modulated) decodiert und kann zu dem DL-Sprachverbesserungssystem weitergeleitet werden. Anstelle der Planung dieser Aktivität 402 alle 20 ms kann hier die Planung dynamisch gesteuert und angepasst werden. Sie kann abhängig davon, wie die Verarbeitung der Aktivität 2, 402, gegen die Aktivität 3, 403, verschoben ist, weniger als alle 20 ms oder mehr als alle 20 ms geschehen.
  • Die Aktivität 3, 403, bezieht sich auf die DL-Sprachverbesserungen. Sie kann in einem spezifischen DSP ausgeführt werden, wobei sie aber nicht auf diese Architektur eingeschränkt ist. Die DL-Sprachverbesserungen können z.B. jede 1 ms die PCM-Abtastwerte für die Verarbeitung abrufen. Andere Systeme können eine andere Granularität, wie z.B. 5 ms, 10 ms oder irgendeinen anderen Wert verwenden. Je kleiner die Granularität ist, desto besser kann das Ergebnis für die Minimierung der Abwärtsstrecken-Latenzzeit sein. Die Sprachverbesserungen können die mit der digitalen Signalverarbeitung in Beziehung stehenden Aktivitäten sein, um das Sprachsignal, z.B. bezüglich seiner Signalform, Verzögerung, Codierung usw., zu verbessern.
  • Die Planung der Aktivitäten 2, 403, und 3, 403, kann von dem gleichen „Master“-Takt 412 oder dergleichen Unterbrechung abgeleitet werden, um unerwünschte Planungsdrifts zu vermeiden.
  • In einem Beispiel taktet der „Master“-Takt 412 alle Hardware-Unterbrechungs-Millisekunden (MASTER-IT), z.B. jede 1 Millisekunde. Die Aktivität 2, 402, kann dann alle SJBM-Unterbrechungs-Millisekunden (SJBM-IT), z.B. alle N mal die MASTER-IT-Millisekunden, getaktet werden, wobei N eine konfigurierbare ganze Zahl ist, z.B. alle 20 ms oder 16 ms nach der Sprachrahmenkomprimierung, und nach jeder Sprachrahmenverarbeitung aktualisiert werden. Die Aktivität 3, 402, kann alle DSP-Unterbrechungs- (DSP-IT-) Millisekunden, z.B. alle N mal die MASTER-IT-Millisekunden, getaktet werden, wobei N eine konfigurierbare ganze Zahl ist, z. B jede 1 ms und fest während des Anrufs.
  • In 5 ist die Aktivität 1, 401, mit dem Präfix „r“, insbesondere „r1“ (für RTP-Paketempfang) identifiziert, ist die Aktivität 2, 402, mit dem Präfix „s“, insbesondere „s1“ (für SJBM) identifiziert und ist die Aktivität 3, 403, mit dem Präfix „d“, insbesondere „d1“ (für DSP-Sprachverbesserungen) identifiziert.
  • 5 ist eine schematische graphische Darstellung eines Planungssystems 500 zum Planen der in 4 beschriebenen Aktivitäten gemäß der Offenbarung.
  • In 5 sind die ausführlichen Blöcke zum Verringern der Latenzzeit beschrieben. Die hier verwendeten spezifischen Zahlen entsprechen einem veranschaulichenden Beispiel, in dem ein Fall ohne Netz-„Jitter“ betrachtet wird, wobei gezeigt ist, wie das SJBM (Sample Based Jitter Buffer Management) verwendet werden kann, um die Abwärtsstrecken-Latenzzeit (selbst in dem Fall, in dem es keinen Netz-„Jitter“ gibt) zu verringern. Irgendwelche andere Zahlen, die anderen Netzbedingungen entsprechen, können ebenso verwendet werden.
  • Als eine Veranschaulichung wird der Fall, in dem es keinen Netz-„Jitter“ gibt, betrachtet. Die RTP-Pakete 502 kommen alle 20 ms an (r1 in 5), wobei aber die Verzögerung (ausschließlich der effektiven DL-Verarbeitung in dem UE) zwischen dem Empfang dieser RTP-Pakete 502 und ihrem entsprechenden Ausspielen (z.B. in dem HW-Codec 511) 6 ms beträgt. Es kann ein Befehl für die Sprachrahmenkomprimierung 504 ausgegeben werden (s1 in 5). Ein RTP-Paket 506 wird von dem RTP-Puffer 501 abgerufen und (z.B. durch den AMR-Decodierer 503 oder den EVS-Decodierer in einem VoLTE-System) decodiert, wobei 20 ms der pcm-Abtastwerte 508 durch den DL-Decodierer 503 zugeführt werden können. Dann kann der Rahmen dank eines PSOLA-Algorithmus 505 komprimiert werden 512, wobei eine Tonhöhenperiode in dem Sprachrahmen entfernt wird. Wird hier eine bei 4 ms detektierte Tonhöhenperiode angenommen, kann der 20-ms-Sprachrahmen auf 16 ms der PCM-Abtastwerte komprimiert werden, die im PCM-Puffer 507 gespeichert werden.
  • Nun kann anstelle des Auslösens der nächsten AMR-Decodierung 503 (oder EVS-Decodierung) 20 ms später die nächste AMR-Decodierung 503 (oder EVS-Decodierung) durch das Setzen der SJBM-Unterbrechung 510 auf 16 ms 16 ms später geplant werden. Dann kann die Planung für die AMR-Decodierung 503 (oder die EVS-Decodierung) zurück zu einer Planung alle 20 ms kommen. Auf diese Weise wird eine Verschiebung der Aktivität 2 (s1, s2, s3, s4, s5, wie oben bezüglich 4 beschrieben worden ist) gegen die Aktivität 3 (d1, d2, d3, wie oben bezüglich 4 beschrieben worden ist) erzwungen, die es ermöglicht, die Latenzzeit in diesem Beispiel um 4 ms zu verringern. Nach dieser Verschiebung können die RTP-Pakete mit einer 2-ms-Verzögerung (ausschließlich der effektiven DL-Verarbeitung in dem UE) anstelle von 6 ms gemessen werden. Die Verschiebung der Abwärtsstrecken-Audioaktivitäten kann glatt ausgeführt werden, indem lediglich eine Tonhöhenperiode hinzugefügt oder entfernt wird, wobei folglich eine minimale Verzerrung während des Rahmens, in dem die Anpassung stattfindet, sichergestellt wird. Dieser Prozess ist dynamisch und kann in Abhängigkeit von der gesammelten Statistik und der Strategie, die verwendet wird, um die Einstellung der Planung der DL-Audioaktivitäten zu erzwingen, immer wieder wiederholt werden.
  • Jede DSP-Unterbrechung (Digital Signal Processing) 516 kann die DSP-Sprachverbesserungsentität 509 PCM-Abtastwerte 514 von dem PCM-Puffer 507 erhalten, diese Abtastwerte verarbeiten und sie für das Ausspielen zu dem HW-Codec 511 weiterleiten. Alternativ können die PCM-Abtastwerte 514 direkt zu dem HW-Codec 511 übertragen werden, ohne durch die DSP-Sprachverbesserungsentität 509 hindurchzugehen.
  • Hier ist ein einziger Schritt, der von einer relativ niedrigen Verzögerung startet, gezeigt. Um jedoch viel größeren Verzögerungen gewachsen zu sein, können mehrere ähnliche und aufeinanderfolgende Schritte wie der eine, der hier beschrieben ist, ausgeführt werden, um die Latenzzeit zu minimieren. Die hier bereitgestellten Zahlen sind veranschaulichend und sind für ein besseres Verständnis typischen Einstellungen eines VoLTE-Systems entsprechend festgelegt worden, wobei aber irgendwelche anderen Werte ebenso verwendet werden können.
  • Ein SJBM wird normalerweise verwendet, um Rahmen zu komprimieren/zu erweitern, um die Menge der Pufferung zu vergrößern oder zu verkleinern, um gegen Netz-„Jitter“ zu schützen, wobei hier das SJBM außerdem in dem Fall ohne Netz-„Jitter“ verwendet wird, um die Abwärtsstrecken-Latenzzeit zu verringern.
  • Ein gemeinsam benutzter Abwärtsstrecken-PCM-Puffer 507, ein fein granuliertes Synchronisationssystem und eine andere Planung der Codec- und SJBM-Aktivitäten sind zusätzlich zu einem bereits vorhandenen SJBM-System hinzugefügt worden, um eine niedrigere Latenzzeit zu ermöglichen. Die Planung kann während des Anrufs dynamisch angepasst werden und kann bei jedem Rahmen geändert werden.
  • Basierend auf der während eines VoIP-Anrufs gesammelten Statistik werden vor jeder Sprachrahmenverarbeitung die optimale Menge der Pufferung, um mit dem Netz-„Jitter“ umzugehen, aber außerdem die optimale Weise der Planung der verschiedenen Audioaktivitäten bestimmt, so dass die Abwärtsstrecken-Latenzzeit minimiert werden kann.
  • Dann kann ein adaptiver Mechanismus, der einige Audioaktivitäten gegen andere Audioaktivitäten verschiebt, dank des Zeitskalierungsmerkmals des abtastwertbasierten „Jitter“-Puffermanagements ausgeführt werden.
  • Ohne die Verwendung eines adaptiven abtastwertbasierten „Jitter“-Puffermanagements, wie es in dieser Offenbarung beschrieben ist, kann eine zusätzliche Pufferung erforderlich sein, die zu zusätzlicher Latenzzeit führt.
  • Ohne die Verwendung der fein granulierten Synchronisation und der Planung zwischen dem Abwärtsstrecken-SprachverbesserungsTeilsystem, dem abtastwertbasierten „Jitter“-Puffermanagement und den Codec-Teilsystemen kann eine niedrigere Sprachqualität und/oder eine höhere Ende-zu-Ende-Latenzzeit erfahren werden. Ohne die dynamische Anpassung der Audioplanungsaktivitäten kann sich die Sprachrahmenverarbeitung langsamer anpassen.
  • Das SJBM (Sample Based Jitter Buffer Management), wie es in dieser Offenbarung beschrieben ist, kann sogar in dem Fall ohne „Jitter“ verwendet werden, um die VoIP-Abwärtsstrecken-Latenzzeit zu verringern.
  • Die Anwendungsfälle, in denen die Verfahren und Vorrichtungen gemäß der Offenbarung verbesserte Leistungen bereitstellen können, sind z.B. VoIP-Szenarien mit oder ohne Netz-„Jitter“. Derartige Verfahren und Vorrichtungen können außerdem Szenarien mit oder ohne Ruheperioden gewachsen sein, um die Latenzzeit nahtlos anzupassen und zu verringern, ohne die Sprachqualität zu verschlechtern.
  • Die Verfahren und Vorrichtungen gemäß der Offenbarung sind für modembasierte Lösungen (mit einer VoIP-Maschine, die in das Modem eingebettet ist, was für einfache Lösungen typisch ist) und anwendungsprozessorbasierte Lösungen (mit einer VoIP-Maschine, die in den Anwendungsprozessor eingebettet ist, was für hochwertige Lösungen typisch ist) geeignet. Die Verfahren und Vorrichtungen gemäß der Offenbarung sind in beiden Fällen anwendbar.
  • Die in dieser Offenbarung beschriebenen Verfahren und Vorrichtungen implementieren Lösungen, um die Ende-zu-Ende-Gesamtverzögerung bei VoLTE ohne Verschlechterung der Sprachqualität zu verringern.
  • 6 ist eine schematische graphische Darstellung einer Vorrichtung 600 zum Steuern der Ende-zu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen gemäß der Offenbarung.
  • Die Vorrichtung 600 enthält einen Paketpuffer 601, einen Decodierer 603, einen Audioprozessor 605 und eine Planungseinrichtung 607. Der Paketpuffer 601 ist dafür ausgelegt, ein Datenpaket 602 zu empfangen, das wenigstens einen codierten Audiorahmen enthält. Der Decodierer 603 ist dafür ausgelegt, das empfangene Datenpaket 604 von dem Paketpuffer 601 abzurufen und den wenigstens einen codierten Audiorahmen in die Audioabtastwerte 606 zu decodieren. Der Audioprozessor 605 ist dafür ausgelegt, die Audioabtastwerte 606 zu verarbeiten. Die Planungseinrichtung 607 ist dafür ausgelegt, das Abrufen des empfangenen Datenpakets 604 von dem Paketpuffer 601 und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf einem Zielkriterium bezüglich der Audioqualität der Audioabtastwerte 606 und der Latenzzeit zwischen dem Empfangen des Datenpakets 602 durch den Paketpuffer 601 und dem Verarbeiten der Audioabtastwerte 606 durch den Audioprozessor 605 zu planen. Die Planungseinrichtung 607 kann dafür ausgelegt sein, die Planung dynamisch und glatt zeitlich zu verschieben, um Audioverzerrungen zu vermeiden.
  • Die Vorrichtung 600 kann ferner einen Audiopuffer enthalten, z.B. einen Audiopuffer 507, wie oben bezüglich 5 beschrieben worden ist, der zwischen den Decodierer 603 und den Audioprozessor 605 gekoppelt ist. Der Decodierer 603 kann dafür ausgelegt sein, die Audioabtastwerte 606 in dem Audiopuffer 507 zu speichern. Der Audioprozessor 605 kann dafür ausgelegt sein, die Audioabtastwerte 606 aus dem Audiopuffer 507 abzurufen.
  • Die Planungseinrichtung 607 kann dafür ausgelegt sein, wenigstens eine von einer Zugriffsrate des Decodierers 603 zum Speichern der Audioabtastwerte in dem Audiopuffer 507, einer Zugriffsrate des Audioprozessors 605 zum Abrufen der Audioabtastwerte 606 von dem Audiopuffer 507 und einer Zugriffsrate der Zuganforderungen an den Audiopuffer 507 einzustellen.
  • Die Planungseinrichtung 607 kann dafür ausgelegt sein, die Zugriffsrate des Decodierers 603 basierend auf einem ersten Takt und die Zugriffsrate des Audioprozessors 605 basierend auf einem zweiten Takt einzustellen. Der erste Takt und der zweite Takt können von einem „Master“-Takt abgeleitet werden oder können gemäß irgendeinem anderen Synchronisationsmechanismus synchronisiert werden.
  • Die Planungseinrichtung 607 kann dafür ausgelegt sein, das Abrufen des empfangenen Datenpakets 604 von dem Paketpuffer 601 und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf dem Einstellen einer Zeitskalierung des Decodierers 603 zum Decodieren des wenigstens einen codierten Audiorahmens zu planen. Der Decodierer 603 kann einen Sprachdecodierer, z.B. einen AMR-Decodierer 503 oder einen EVS-(Enhanced Voice Services) Decodierer, und/oder eine Sprach-Zeitskalierungseinrichtung, z.B. einen PSOLA-Komprimierer 505 oder einen WSOLA-Komprimierer, wie sie z.B. oben bezüglich 5 beschrieben worden ist, enthalten. Die Vorrichtung 600 kann das Verfahren ausführen, das oben bezüglich der 2 bis 5 beschrieben worden ist.
  • Die Verfahren und Vorrichtungen,, die oben bezüglich der 1 bis 6 beschrieben worden sind, basieren auf einem Konzept, das mit dem Minimieren der Ende-zu-Ende-Latenzzeit in Beziehung steht. Das Konzept kann durch die folgenden Punkte beschrieben werden: Als ein Anfangspunkt wird die abtastwertbasierte „Jitter“-Puffermanagemententität, die normalerweise verwendet wird, um das „Jitter“-Problem zu lösen, in einem Kontext verwendet, in dem es keinen „Jitter“ gibt, um die Ende-zu-Ende-Latenzzeit zu verringern. Es ist eine Systemidee, dass eine dynamische und adaptive Planung des Audioausspielens, der SJBM- u. Codec-Aktivitäten und der Audio-DSP-Sprachverbesserungsaktivitäten zu ermöglichen ist, so dass die Ende-zu-Ende-Latenzzeit während eines VoIP-Anrufs auf dem Minimum gehalten wird. Die folgenden Tatsachen können beobachtet werden: Die Planung des Audioausspielens, des SJBM-Ziehens, der Codec-Decodierung und der Audio-DSP-Sprachverbesserungen sind statisch und finden typischerweise alle 20 (oder 40 ms) statt. Die SJBM-Zeitskalierungsfähigkeiten werden nur verwendet, um den Betrag der JBM-Pufferung zu vergrö-ßern oder zu verkleinern: sie ändern weder die Rate des Ausspielens noch die Rate der SJBM-Zugaktivitäten noch die Rate der Codec-Decodierungsaktivitäten noch die Rate, mit der die Daten mit dem Audio-DSP ausgetauscht werden. Die Verfahren und die Vorrichtungen gemäß der Offenbarung ermöglichen die dynamische Planung der Audioaktivitäten mit einer glatten und adaptiven Positionierung/Verschiebung der Aktivitäten, die zu irgendeinem Zeitpunkt während eines VoIP-Anrufs stattfinden können. Diese dynamische, adaptive und glatte Planung der Audioaktivitäten während eines VoIP-Anrufs kann durch das Implementieren der Verfahren und Vorrichtungen, wie sie oben bezüglich der 1 bis 6 beschrieben worden sind, erreicht werden. Die Schlüsselelemente enthalten Folgendes: Das Imstandesein, zu messen, wie suboptimal die Planung ist; das Imstandesein, die SJBM-/Codec-Aktivitäten auf Anforderung zu irgendeinem Zeitpunkt während eines VoIP-Anrufs zu verschieben; das Imstandesein, die Audioaktivitäten ohne Audioartefakte glatt/stumm zu verschieben. Die Granularität des Gesamtsystems ist wichtig: je kleiner die Puffer sind, die zwischen dem SJBM-/Codec-Teilsystem und dem DSP-/Sprachverbesserungs-Teilsystem für den Audiodatenaustausch verwendet werden, desto besser kann die Ende-zu-Ende-Latenzzeit verringert werden. Die niedrigere Ende-zu-Ende-Latenzzeit kann unter Verwendung der Verfahren und Vorrichtungen gemäß der Offenbarung mit einem modifizierten SJBM, der selbst in dem Fall Verbesserungen bereitstellt, in dem es überhaupt keinen „Jitter“ gibt, demonstriert werden. Die Prototypenentwicklung ist ausgeführt worden und hat eine überragende Leistung gezeigt.
  • 7 ist eine schematische graphische Darstellung eines Verfahrens 700 zum Einstellen einer Größe eines „Jitter“-Puffers in einer Medienverarbeitungsschaltung eines mobilen Endgeräts gemäß der Offenbarung. Das Verfahren 700 enthält das Entpaketisieren 701 wenigstens eines codierten Medienrahmens von einem empfangenen Funksignal. Das Verfahren 700 enthält das Speichern 702 des entpaketisierten wenigstens einen codierten Medienrahmens in einem „Jitter“-Puffer. Das Verfahren 700 enthält das Abrufen 703 des wenigstens einen codierten Medienrahmens von dem „Jitter“-Puffer und das Decodieren des wenigstens einen codierten Medienrahmens in Medienabtastwerte. Das Verfahren 700 enthält das Bestimmen 704 eines „Jitter“-Modells basierend auf den Informationen, die einen Mobilitätszustand des mobilen Endgeräts angeben. Das Verfahren 700 enthält das Einstellen 705 des „Jitter“-Modells basierend auf einer Historie der Informationen, die den Mobilitätszustand angeben. Das Verfahren 700 enthält das Einstellen 706 einer Größe des „Jitter“-Puffers basierend auf dem „Jitter“-Modell. Die Historie der Informationen, die den Mobilitätszustand angeben, kann Informationen über den tatsächlichen und einen früheren Mobilitätszustand und weitere Informationen, die von diesen Mobilitätszustandsinformationen abgeleitet sind, z.B. Statistiken, enthalten. Die Historie kann in einem Speicher gespeichert sein.
  • Die Informationen, die den Mobilitätszustand des mobilen Endgeräts angeben, können Informationen über eine Schnelligkeit des mobilen Endgeräts enthalten. Die Informationen, die den Mobilitätszustand des mobilen Endgeräts angeben, können eine oder mehrere der folgenden mit dem Mobilendgerät in Beziehung stehenden Informationen enthalten: Schnelligkeits- oder Geschwindigkeitsinformationen, Ortsinformationen, z.B. Innen- oder Außeninformationen, Umgebungsinformationen, Zeitinformationen, Informationen über die Änderung der Geschwindigkeit oder der Beschleunigung, Informationen über das Netz, mit dem das Mobilendgerät verbunden ist. Das Einstellen der Größe des „Jitter“-Puffers kann auf einem Netz-„Jitter“ basieren, der basierend auf den Informationen geschätzt wird, die den Mobilitätszustand des mobilen Endgeräts angeben. Das Verfahren 700 kann ferner das Schätzen des Netz-„Jitters“ als eine zyklische Funktion enthalten, die aus den Informationen abgeleitet werden kann, die den Mobilitätszustand des mobilen Endgeräts angeben.
  • Das Grundprinzip eines derartigen Verfahrens 700 kann aus dem Detektieren von Szenarien mit hoher Mobilität und dem Modellieren des „Jitters“, der für dieses Szenario spezifisch ist, bestehen. Dies ermöglicht bessere JBM-Entscheidungen, die zu einer verbesserten Sprach- und/oder Videoqualität führen.
  • Das folgende Beispiel veranschaulicht die Situation in dem typischen Fall eines 3GPP-Netzes, wobei es aber auf irgendwelche Netze mit Medien- (Sprach- oder Video-) -sendung und - empfang über paketvermittelte Netze übertragen werden kann. Bei LTE- oder 3G-HSPA-Systemen, wenn sich ein Anwender z.B. auf einer Fernstraße von einem eNodeB (oder einem NodeB in der 3G- oder einer Basisstation in der 2G-Terminologie) zum anderen bewegt, finden die folgenden Schritte statt: während der Anwesenheit in der Nähe von einem eNode-B ist die Funksignalqualität gut, wohingegen beim Wegbewegen die Funksignalqualität abnimmt, was zu LTE- oder 3G-HARQ-Neusendungen zwischen der Vorrichtung und dem eNodeB führt, um der Verschlechterung der Signalqualität gewachsen zu sein. Diese Neusendungen führen zu einem vergrößerten Netz-„Jitter“. Dann nimmt durch das Bewegen näher zu einem neuen eNodeB die Funkqualität zu, was zu immer weniger HARQ-Neusendungen führt. Das heißt, von einem „Jitter“-Standpunkt nimmt der „Jitter“ zu und dann ab, wobei dieses Phänomen periodisch wiederholt wird.
  • Durch das Bereitstellen äußerer Informationen, wie z.B. von Schnelligkeits-, GPS-Informationen und/oder Informationen über die in Gebrauch befindliche Funktechnik für das JBM, können derartige oszillierende „Jitter“-Verhalten detektiert werden, so dass es leichter wird, das Netzverhalten in der kommenden kurzfristigen Zukunft vorherzusagen. Dieser Mechanismus steht nicht im Widerspruch zu anderen JBM-Mechanismen, sondern ist empfohlen, um zusätzlich zu den vorhandenen verwendet zu werden, um eine schnellere und bessere Stabilisierung des JBM-Verhaltens im Fall von Szenarien hoher Mobilität zu ermöglichen.
  • Smartphones, Tablets und sogar immer mehr einfache Vorrichtungen können z.B. derartige Schnelligkeits- und GPS-Informationen bereitstellen. Dies kann außerdem auf irgendwelche eingebetteten Systeme in Kraftfahrzeugen mit oder ohne GPS erweitert werden. Die Verfahren, wie sie in dieser Offenbarung beschrieben werden, können folglich geeignet sein, um das JBM-Verhalten in Szenarien hoher Mobilität für viele Vorrichtungen zu verbessern.
  • Die Verfahren und Vorrichtungen gemäß der Offenbarung stellen zusätzliche Informationen dem JBM bereit, die es ermöglichen, in einer effizienteren, schnelleren und genaueren Weise mit Szenarien hoher Mobilität umzugehen. Folglich wird das JBM kontextbewusst.
  • Wenn ein derartiger Anwendungsfall detektiert wird, können die Amplitude und die Periodizität der „Jitter“-Änderungen für das effiziente Festlegen des Betrags der Pufferung ausgewertet werden. Dies kann die Anzahl der JBM-Anpassungen begrenzen, die erforderlich ist, um mit einem „Jitter“ umzugehen, der sich ständig ändern kann.
  • Die Verfahren und Vorrichtungen gemäß der Offenbarung verbessern die VoLTE- und VoIP-Sprachqualität im Fall von Szenarien hoher Mobilität. Die Verfahren und Vorrichtungen gemäß der Offenbarung können außerdem auf jedes Video-JBM angewendet werden. Folglich sind die Verfahren und Vorrichtungen gemäß der Offenbarung nicht auf Audio eingeschränkt und können die Videoqualität ebenso verbessern.
  • Die Verfahren und Vorrichtungen gemäß der Offenbarung können sowohl in Audio- und Video-Konversationsdiensten als auch in Audio- und Video-„Streaming“-Diensten angewendet werden.
  • 8 ist eine schematische graphische Darstellung eines Medienverarbeitungssystems 800 gemäß der Offenbarung. Die veranschaulichte graphische Darstellung beschreibt, wie die Schnelligkeitsinformationen 806 von dem Betriebssystem 801 auf hoher Ebene zu der „Jitter“-Puffermanagemententität 817 abgerufen werden können.
  • Das Medienverarbeitungssystem 800 kann ein Betriebssystem 801 auf hoher Ebene, eine Telefon-/VoIP-Anwendung 803, eine VoIP-Maschine 807, ein LTE-Modem 805 und eine Ausspielvorrichtung 809, wie z.B. einen Lautsprecher oder einen Schirm, enthalten. Die VoIP-Maschine 807 kann in den Medienweg zwischen dem LTE-Modem 805 und der Ausspielvorrichtung 809 gekoppelt sein. Die Telefon-/VoIP-Anwendung 803 kann in den Managementweg zwischen dem Betriebssystem 801 auf hoher Ebene und der VoIP-Maschine 807 gekoppelt sein. Das Betriebssystem 801 auf hoher Ebene kann eine Ortsdienst-GPS-Bereitstellungseinrichtung 811 zum Bereitstellen von Mobilitätsinformationen, wie z.B. GPS-Informationen der Mobilvorrichtung, für einen Ortshörer 813, der in der Telefon-/VoIP-Anwendung 803 implementiert ist, enthalten. In der Telefon-/VoIP-Anwendung 803 kann ein Schnelligkeitsaktualisierungs-„Thread“ 815 implementiert sein, um die Mobilitätsinformationen von dem Ortshörer 813 abzufragen 804.
  • Die VoIP-Maschine 807 kann einen RTP-Entpaketisierer zum Entpaketisieren der von dem LTE-Modem 805 empfangenen RTP-Pakete, einen „Jitter“-Puffer 823 zum Speichern der entpaketisierten RTP-Pakete und einen Decodierer 821 zum Decodieren der von dem „Jitter“-Puffer 823 abgerufenen Pakete in Medienabtastwerte 808, z.B. Audio oder Video, die durch die Ausspielvorrichtung 809 ausgespielt werden können, enthalten. Die VoIP-Maschine 807 kann ferner eine „Jitter“-Puffermanagemententität 817 zum Steuern einer Größe des „Jitter“-Puffers 823 enthalten. Die „Jitter“-Puffermanagemententität 817 kann die Mobilitätsinformationen 806 von dem Schnelligkeitsaktualisierungs-„Thread“ 815 der Telefon-/VoIP-Anwendung 803 empfangen und kann die Größe des „Jitter“-Puffers 823 basierend auf diesen Mobilitätsinformationen einstellen, wie hier beschrieben ist.
  • Sobald ein Anwendungsfall hoher Mobilität durch das JBM 817 detektiert wird, ist die Wahrscheinlichkeit eines oszillierenden „Jitters“ (einschließlich der Zyklen der „Jitter“-Zunahme und der Zyklen der „Jitter“-Abnahme) sehr hoch. Diese Hypothese kann geprüft werden, wobei sie, falls sie bestätigt wird, verwendet werden kann, um geeignetere Einstellungen für das JBM 817 abzuleiten, die eine verbesserte Sprachqualität ermöglichen können.
  • 8 ist eine Darstellung eines Aufbaus mit einem paketbasierten „Jitter“, wobei aber eine Verallgemeinerung eines derartigen Aufbaus irgendeinen „Jitter“ nach dem Decodierer 821 enthalten kann. Die durch das JBM 817 verwendeten verschiedenen Blöcke, um mit den Szenarien hoher Mobilität umzugehen, werden im Folgenden bezüglich 9 beschrieben.
  • In 8 ist die Verbindung zwischen dem Rahmen 801 des OS auf hoher Ebene, das eine Ortsdienst-GPS-Bereitstellungseinrichtung 811 enthält, die zum Bereitstellen der GPS-Daten der Mobilvorrichtung verwendet werden kann, und der VoIP-Maschine 807 freigegeben. Die Informationen von der Ortsdienst-GPS-Bereitstellungseinrichtung 811, d.h., die GPS-Daten oder die Mobilitätsdaten der Mobilvorrichtung, sind für die VoIP-Maschine 807 verfügbar.
  • Zum Verbessern der JBM-Einstellungen und des JBM-Verhaltens für eine bessere Sprachqualität können Informationen aus dem Feld, z.B. durch das Ausführen von VoIP-Ansteuertests, gesammelt werden, um die Verwendung der Schnelligkeitsinformationen zu optimieren.
  • 9 ist eine schematische graphische Darstellung, die die Aktivitäten 900 einer „Jitter“-Puffermanagement-Steuerentität 905 gemäß der Offenbarung veranschaulicht. In einem ersten Block „1“ 901 werden äußere Informationen erfasst. In einem zweiten Block „2“ 902 wird die Paket-„Jitter“-Statistik ausgewertet. In einem dritten Block „3“ 903 wird der Netz-„Jitter“ als eine zyklische Funktion geschätzt. In einem vierten Block „4“ 904 wird die „Jitter“-Puffermanagementpufferung (JBM) ausgeführt. In einem fünften Block „5“ empfängt die JBM-Steuerentität 905 die Informationen von dem vierten Block „4“ 904 der JBM-Pufferung, wobei sie die Paket-„Jitter“-Statistik des zweiten Blocks 902 aktualisiert. Die fünf Blöcke oder Aktivitäten können ausgeführt werden, wie im Folgenden beschrieben wird.
  • Im Block 1 901 werden die Informationen, die die Detektion der Anwendungsfälle hoher Mobilität ermöglichen, durch äußere Komponenten der JBM-Entität (die in 9 als JBM-Steuerentität 905 bezeichnet ist), die der JBM-Entität 817, wie sie oben bezüglich 8 beschrieben worden ist, entsprechen kann, bereitgestellt.
  • Im Block 2 902 werden die Paketverzögerungsstatistiken gesammelt, um das „Jitter“-Modell zu schätzen. In statischen und Fußgängerszenarien kann ein relativ kleines gleitendes Fenster (von einigen Sekunden) oder ein Filter erster Ordnung verwendet werden, um den aktuellen „Jitter“ zu schätzen. Die Verwendung größerer gleitender Fenster kann zu einer zusätzlichen Latenzzeit führen, wenn auf „Jitter“-Änderungen reagiert wird. Bei derartigen Szenarien niedriger Mobilität können normalerweise keine signifikanten periodischen „Jitter“-Phänomene erfahren werden.
  • Wenn in Szenarien hoher Mobilität eingetreten wird, kann ein größeres gleitendes Fenster verwendet werden, das es ermöglicht, ausreichend Statistiken zu sammeln, um das periodische „Jitter“-Phänomen zu beschreiben. Die Tiefe des gleitenden Fensters kann ebenso in Abhängigkeit von den Schnelligkeitsentwicklungen eingestellt werden.
  • Im Block 3 903 kann ein Modell, das diesem oszillierenden „Jitter“-Verhalten entspricht, abgeleitet werden. Der Netz-„Jitter“ als eine Funktion der Zeit kann als eine zyklische Funktion approximiert werden, die durch ihre Amplitude und ihre Periode gekennzeichnet ist. Ein einfaches Modell für die Approximation der zyklischen „Jitter“-Variationen sind die Amplitude und die Periode. Dieses Modell kann z.B. einfach erweitert werden, um Teilphänomene oder Teilzyklen zu modellieren.
  • Die beiden wichtigsten Parameter, die im Block 3 903 geschätzt werden, können die „Jitter“-Amplitude und die „Jitter“-Periode sein. Die „Jitter“-Amplitude ist der Unterschied zwischen den Paketen mit den höchsten Übertragungszeiträumen und den Paketen mit dem niedrigsten Übertragungszeiträumen, wobei die Übertragungszeiträume typischerweise von der Anzahl der Neusendungen abhängen können, um eine Sendung erfolgreich zu machen. Eine „Jitter“-Periode ist der zwischen zwei Spitzen des „Jitters“ vergangene Zeitraum. Dies ermöglicht es, die Tiefe des gleitenden Fensters, das verwendet wird, um die Statistik zu sammeln, einzustellen.
  • Die „Jitter“-Amplitude kann ferner im Block 4 904 verwendet werden. Die „Jitter“-Periode kann verwendet werden, um die Verarbeitung im Block 2 902 weiter zu verfeinern. Falls die gesammelte Statistik keiner zyklischen „Jitter“-Funktion entspricht, können die vorgegebenen JBM-Einstellungen weiter verwendet werden.
  • Der in 9 beschriebene Mechanismus kann eine Verbesserung eines vorhandenen Systems, z.B. zum Auslösen einer spezifischen Verarbeitung, genau dann, wenn zyklische „Jitter“-Muster detektiert werden, bereitstellen.
  • Im Block 4 904 kann basierend auf diesem im Block 3 903 abgeleiteten Netz-„Jitter“-Modell die Menge der UE-„Jitter“-Pufferung abgeleitet werden, um es zu ermöglichen, z.B. einmalig mit allen zyklischen Variationen in einer Weise umzugehen, die eine minimale Menge der JBM-Anpassungen, d.h., die eine wiederkehrende Vergrößerung und Verkleinerung der JBM-Pufferung vermeidet, und eine Menge der Pufferung, die es ermöglicht, den maximalen tolerierten Verlusten gewachsen zu sein, erfordert. In einem Beispiel kann ein AMR-Codec maximal 1 Prozent Verluste ohne Auswirkung auf die Sprachqualität tolerieren. Andere Codecs wie der ILBC können bis zu 5 Prozent Verluste tolerieren. Wo die Menge der Pufferung, um dem „Jitter“ gewachsen zu sein, auf den Minimalwert gesetzt ist, der es ermöglicht, z.B. 99 Prozent der Paketverzögerungen zu verarbeiten, kann keine zusätzliche Latenzzeit durch die Pufferung zusätzlich zu dem verwendet werden, was wirklich erforderlich ist, um dieses Ziel zu erreichen.
  • Im Block 5 905 kann so lange, wie die Situation hoher Mobilität dauert, das Auswerten und Einstellen des Modells des zyklischen Netz-„Jitters“ ausgeführt werden. Wenn andernfalls die Situation hoher Mobilität verlassen wird, können die vorgegebenen Einstellungen für die „Jitter“-Überwachung wiederhergestellt werden. Ein viel kleineres statistisches gleitendes Fenster, das für eine schnelle Reaktion auf Netz-„Jitter“-Änderungen geeignet ist, kann verwendet werden. In dieser Weise können JBM-Einstellungen abgeleitet werden, die bei diesen im hohen Grade instabilen „Jitter“-Szenarien sehr stabil sein können.
  • Die JBM-Konvergenzprobleme und die Latenzzeitprobleme, die allen JBM-Anpassungen zugeordnet sind, die in Anwendungsfällen hoher Mobilität typisch sind, können vermieden werden. Es kann eine bessere Sprachqualität sichergestellt werden. Eine niedrigere Latenzzeit kann zu einer verbesserten Interaktivität zwischen den Anwendern in einem Anruf führen. Ein niedrigerer Betrag der JBM-Anpassungen kann zu einer Verringerung der Paketverluste und/oder einer Verringerung der Sprachrahmen-Komprimierungen und -Erweiterungen, die den JBM-Anpassungen zugeordnet sind, führen.
  • 10 ist eine schematische graphische Darstellung einer Medienverarbeitungsschaltung 1000 für die Verwendung in einem mobilen Endgerät gemäß der Offenbarung.
  • Die Medienverarbeitungsschaltung 1000 enthält einen Entpaketisierer 1001, einen „Jitter“-Puffer 1003, einen Decodierer 1005 und einen „Jitter“-Puffermanager, der außerdem als eine „Jitter“-Puffermanagemententität 1007 bezeichnet wird. Der Entpaketisierer 1001 ist dafür ausgelegt, wenigstens einen codierten Medienrahmen 1002 von einem empfangenen Funksignal zu entpaketisieren. Der „Jitter“-Puffer 1003 ist dafür ausgelegt, den entpaketisierten wenigstens einen codierten Medienrahmen 1004 zu speichern. Der Decodierer 1005 ist dafür ausgelegt, den wenigstens einen codierten Medienrahmen 1006 von dem „Jitter“-Puffer 1003 abzurufen und den wenigstens einen codierten Medienrahmen 1006 in Medienabtastwerte 1008 zu decodieren. Die „Jitter“-Puffermanagemententität 1007 ist dafür ausgelegt, basierend auf den Informationen 1010, die einen Mobilitätszustand des mobilen Endgeräts angeben, ein „Jitter“-Modell zu bestimmen, das „Jitter“-Modell basierend auf einer Historie der Informationen, die den Mobilitätszustand angeben, einzustellen und eine Größe des „Jitter“-Puffers 1003 basierend auf dem „Jitter“-Modell einzustellen, wie z.B. oben bezüglich der 8 und 9 beschrieben worden ist.
  • Die „Jitter“-Puffermanagemententität 1007 kann eine Schnittstelle zu einer Ortsdienstbereitstellungsentität enthalten, um die Informationen 1010 zu empfangen, die den Mobilitätszustand des mobilen Endgeräts angeben, wie z.B. oben bezüglich 8 beschrieben worden ist. Die „Jitter“-Puffermanage-mententität 1007 kann dafür ausgelegt sein, die Größe des „Jitter“-Puffers 1003 basierend auf wenigstens einer der folgenden mit dem mobilen Endgerät in Beziehung stehenden Informationen einzustellen: Schnelligkeits- oder Geschwindigkeitsinformationen, Ortsinformationen, Umgebungsinformationen, Zeitinformationen, Informationen über die Änderung der Geschwindigkeit oder der Beschleunigung, wie z.B. oben bezüglich 8 beschrieben worden ist.
  • Die Medienverarbeitungsschaltung 1000 kann das Verfahren 700 und die Techniken, wie sie oben bezüglich der 7 bis 9 beschrieben worden sind, implementieren. Die Verfahren und Vorrichtungen, die bezüglich der 7 bis 12 beschrieben werden, können basierend auf einem Konzept beschrieben werden, das mit einer verbesserten Qualität (Sprache oder Video) im Fall von VoIP- oder Multimedia-über-IP-Anwendungsfällen hoher Mobilität in Beziehung steht. Das Konzept enthält die folgenden Punkte: Ein erster Punkt kann das Detektieren sein, dass sich das mobile Endgerät in einem Mobilitätsanwendungsfall befindet. Dies kann z.B. dank eines GPS oder irgendeines anderen Positionierungssystems ausgeführt werden. Ein zweiter Punkt bezieht sich darauf, wie ein nützliches Modell für das „Jitter“-Management abzuleiten ist, falls ein Szenario hoher Mobilität detektiert werden kann. Dieses Modell ermöglicht eine verbesserte Sprachqualität im Fall von Mobilitätsanwendungsfällen. Die Schlüsselpunkte können Folgendes umfassen: das Detektieren von Mobilitätsanwendungsfällen, das Aufbauen eines „Jitter“-Modells, das für die Mobilitätsanwendungsfälle spezifisch ist, das bessere „Jitter“-Vorhersagen ermöglicht; das Verwenden dieses Modells für das „Jitter“-Management, so dass es eine verbesserte Sprachqualität während der Mobilitätsanwendungsfälle ermöglicht; das dynamische Aktualisieren des „Jitter“-Modells während des Anwendungsfalls hoher Mobilität; das Verwenden einer vollen Rahmen- oder Systembeschreibung, um mit den Mobilitätsanwendungsfällen umzugehen und um die Sprachqualität für Sprache- oder Video-über-IP-Kommunikationen zu verbessern. Dann können verschiedene Techniken angewendet werden, um die Informationen von dem Modem abzurufen, um die Genauigkeit des „Jitter“-Modells zu verbessern und um eine bessere Vorwegnahme und bessere Vorhersagen zu ermöglichen, z.B. durch das Vorhersagen des „Jitter“-Verhaltens in der (kurzfristigen) Zukunft.
  • 11 ist eine schematische graphische Darstellung einer „Jitter“-Pufferkonfigurationsvorrichtung 1100 gemäß der Offenbarung. Die „Jitter“-Pufferkonfigurationsvorrichtung 1100 kann dem „Jitter“-Puffermanager 1007 entsprechen, der oben bezüglich 10 beschrieben worden ist. Die „Jitter“-Pufferkonfigurationsvorrichtung 1100 umfasst eine „Jitter“-Anpassungssteuereinheit 1105 (Steuerabschnitt), eine „Jitter“-Anpassungseinheit 1107 (Ausführungsabschnitt, der die durch die „Jitter“-Anpassungssteuereinheit getroffene Entscheidung erzwingt), eine Mobilitäts- und Umgebungsüberwachungseinrichtung 1103, eine „Jitter“-Pufferkonfigurations-Datenbank 1101, einen Zellenprotokollstapel 1109, ein WLAN 1111, ein Positionierungssystem 1113, wie z.B. das GPS, das GLONASS usw., einen Beschleunigungsmesser oder ein Gyroskop 1115 und weitere Einheiten (die in 11 nicht dargestellt sind).
  • Die Mobilitäts- und Umgebungsüberwachungseinrichtung 1103 kann Informationen von den verschiedenen Untermodulen, z.B. von dem Zellenprotokollstapel 1109, dem WLAN 1111, dem Positionierungssystem 1113, dem Beschleunigungsmesser oder dem Gyroskop 1115 und weiteren Einheiten empfangen. Die Mobilitäts- und Umgebungsüberwachungseinrichtung 1103 kann einen Umgebungs- und Mobilitätsdeskriptor basierend auf den Informationen von den verschiedenen Modulen 1109, 1111, 1113, 1115 (dem Zellenprotokollstapel, dem WLAN, dem GNSS, dem Beschleunigungsmesser usw.) bestimmen. Der Umgebungs- und Mobilitätsdeskriptor kann den Ort, den Mobilitätstyp (Fußgänger, Kraftfahrzeug, Zug, Flugzeug usw.), den Umgebungstyp (innen, städtisch außen, nichtstädtisch außen usw.) den Funkkonfigurationstyp (Zellentechnik, den Funkträgertyp usw.) bestimmen.
  • Der Umgebungs- und Mobilitätsdeskriptor kann der „Jitter“-Anpassungssteuereinheit 1105 bereitgestellt werden. Die JBM-Anpassungssteuereinheit 1105 kann etwas Statistik über die JBM-Größe und die Anzahl der Anpassungen bei einer spezifischen Umgebung/Mobilität ausführen. Sie kann dann die optimale Konfiguration für diesen Typ der Umgebung bestimmen und sie speichern. Sobald derselbe Umgebungs- und Mobilitätsdeskriptor der „Jitter“-Anpassungseinheit 1107 gegeben wird, kann dann die optimale Konfiguration angewendet werden. Es kann keine Anpassung ausgeführt werden, solange wie es keine Änderung der Umgebung/Mobilität gibt. Dies kann eine mehrfache Anpassung im Fall von „Jitter“ verringern und folglich die Auswirkung auf die Sprachqualität verringern.
  • Im Folgenden wird ein Beispiel des „Jitter“-Puffermanagers 1007 beschrieben, der der „Jitter“-Pufferkonfigurationsvorrichtung 1100 entsprechen kann, die bezüglich 11 beschrieben worden ist. Der „Jitter“-Puffermanager 1007 kann Zelleninformationen verwenden, um die JBM-Anpassung vorwegzunehmen. Die CPS-Komponente (Cellular Protocol Stack) 1109 kann die folgenden Informationen bereitstellen, wie z.B.: eine Verbindungsübergaberate/einen Verbindungsübergabetyp, einen Verbindungsübergabe-Unterbrechungszeitpunkt, einen Auslöser für die Messung (der potentiell zu einer Verbindungsübergabe führt) usw. Die Verbindungsübergabe entspricht der Netzsteuerung, so dass das Netz die Verbindungsübergabe auslösen kann oder nicht. Die richtige Konfiguration muss definiert sein, um eine zu häufige JBM-Anpassung zu vermeiden, falls keine Verbindungsübergabe ausgelöst wird. Die CPS-Komponente 1109 kann ferner Informationen über die Statistik über die Empfangsrate/die Netzneusendungen bereitstellen, d.h., wie viele Daten rechtzeitig empfangen worden sind, die 1reTX (die erste Wiederholung der Sendung), die 2reTX (die zweite Wiederholung der Sendung).
  • Basierend auf diesen Informationen kann die JBM-Anpassungssteuereinheit 1105 bestimmen, ob eine Anpassung erforderlich ist oder nicht, und, falls sie notwendig ist, welche Art der Anpassung erforderlich ist. In dem Fall eines HO (Hand Over) kann z.B. ein Datenstoß nach dem Abschluss der Verbindungsübergabe kommen, wobei dies nicht notwendigerweise die Statistik beeinflussen kann, da es ein pünktliches Ereignis ist.
  • Typischerweise wartet das Netz vor dem Auslösen einer harten HO auf einen UE-Messbericht (Measurement Report, MR), der einem spezifischen Ereignis zugeordnet ist. Nachdem dieser MR durch das Netz verarbeitet worden ist, gibt es typischerweise einen Unterbrechungszeitraum, gefolgt von einer stoßweisen Zuführung von Paketen, die während des Unterbrechungszeitraums nicht durch das Netz zugeführt werden konnten (falls der Funkträger im Quittungsmodus (Acknowledged Mode) konfiguriert ist). Indem das JBM ebenso benachrichtigt wird, kann das JBM in einer schnelleren Weise eine Konfiguration vorwegnehmen und aufbauen, die die glattere Handhabung des Audioausspielens während und nach der HO unterstützt. Die Periodizität der Verbindungsübergabe-Anforderungen kann es unterstützen, die Periodizität des „Jitters“ zu bestimmen, was sehr nützliche Informationen für das JBM sind. Basierend auf der Protokollstapelkonfiguration ist es möglich, im Voraus die maximale Verzögerung zu kennen, die z.B. mit HARQ-Neusendungen in Beziehung steht, die mit dem typischen „Jitter“ in Beziehung stehen, der in einem VoLTE-Netz erfahren wird.
  • Im Folgenden wird ein weiteres Beispiel des „Jitter“-Puffermanagers 1007 beschrieben, der der bezüglich 11 beschriebenen „Jitter“-Pufferkonfigurationsvorrichtung 1100 entsprechen kann. Der „Jitter“-Puffermanager 1007 kann eine Anpassung auf tiefer Ebene/hoher Ebene basierend auf dem Funkverbindungs-„Jitter“ und dem Kernnetz-„Jitter“ anwenden. Der Beitragende zu dem „Jitter“ kann in den „Jitter“, der mit der Funkverbindung in Beziehung steht, und den „Jitter“, der mit dem Kernnetz in Beziehung steht, aufgespalten werden.
  • Der Beitrag der Funkverbindung zu dem globalen „Jitter“ kann durch das UE basierend auf der HARQ-Statistik gut geschätzt werden. Das UE kann die Anzahl der HARQ-ACK/NACK für die DL-(Downlink) Daten bestimmen. In einer beispielhaften Konfiguration sind es im Durchschnitt 8 ms zwischen zwei Sendungen. Die „Jitter“-Pufferanpassungseinheit 1105 kann dann die „Jitter“-Puffergröße und den Ausspielzeitpunkt (oder den Audio-DSP für das Ausspielen) basierend auf der „Jitter“-Statistik, die auf dem RTP-Zeitstempel basiert, und dem „Jitter“, der auf der Funkverbindung basiert, steuern. Der Vorteil dieser Lösung ist der Folgende: Eine schnellere Anpassung an die sich ändernde Funkbedingung basierend auf der Funkpegelstatistik (häufiger als auf der RTP-basierten Statistik); und ein „Jitter“-Puffergrößenmanagement basierend auf dem Kernnetz-„Jitter“ ohne eine überflüssige Anpassung aufgrund der sich ändernden Funkbedingung. Folglich können viel mehr Statistiken gesammelt werden (z.B. alle 8 ms auf MAC-Ebene anstatt alle 20 oder 40 ms auf RTP-Ebene). Deshalb können mehr Informationen erhalten werden, können mehr Statistiken erhalten werden, was schneller zu einer fundierteren Entscheidung führt. Die genaue Aufschlüsselung kann bekannt sein, d.h., wie viele tx (Sendungen) ohne retx (Neusendung), mit 1 retx, mit 2 retx usw. Dies ist ein sehr genaues Bild dessen, was auf der Funkebene geschieht und was den Funk-„Jitter“ antreibt, was das JBM 1007 unterstützt, die beste Entscheidung zu treffen.
  • 12 ist eine schematische graphische Darstellung eines Medienrahmens 1200 gemäß der Offenbarung. Der Medienrahmen 1200 kann mehrere DRX-Zyklen enthalten, wobei jeder eine beispielhafte Dauer von 40 ms aufweist. Der anfängliche Ausspielzeitpunkt 1210 kann einen anfänglichen Empfangszeitraum 1204 und optional einen ersten Neusendungszeitraum 1206, einen zweiten Neusendungszeitraum 1208 und weitere Neusendungszeiträume (die in 12 nicht dargestellt sind) enthalten.
  • Im Folgenden wird ein weiteres Beispiel des „Jitter“-Puffermanagers 1007 beschrieben. Der „Jitter“-Puffermanager 1007 kann der „Jitter“-Pufferkonfigurationsvorrichtung 1100, die oben bezüglich 11 beschrieben worden ist, entsprechen. Der JBM 1007 kann auf das Zellen-RX-Fenster (Zellenempfangsfenster) ausgerichtet sein. Um die anfängliche Konfiguration zu beschleunigen, kann die Position der RX-Schlitze 1204, 1206, 1208 verwendet werden, um die Ausspielunterbrechungsposition zu bestimmen. Wie in der graphischen Darstellung nach 12 beschrieben ist, sind die Position des „onDurationStart“ 1202 und des „onDurationTimer“-Wertes bekannt, sobald der dedizierte EPS-Träger für den IMS-Anruf aufgebaut ist. Der Empfang der Daten sollte in der „onDurationPeriod“ geschehen. Im Fall eines Empfangsproblems kann das Netz mehrmals erneut senden, was zu einer Verzögerung führt, um den Audiorahmen zu empfangen. Als eine Anfangskonfiguration 1210 kann dann der Ausspielzeitpunkt basierend auf der Position des „onDurationStart“ 1202 und dem inneren Verarbeitungszeitraum, d.h., der Ausbreitung 1212, der RTP-Entkapselung und der Decodierung 1214, initialisiert werden. Um auf der sicheren Seite zu sein und die Netzneusendungen direkt unterzubringen, kann die Neusendung 1206, 1208 betrachtet werden, wenn der anfängliche Ausspielzeitpunkt konfiguriert wird. Dies ermöglicht das Starten direkt mit einer Konfiguration, die der maximalen Anzahl von HARQ-Neusendungen (Hybrid Automatic Repeat Request) in einer optimalen Weise gewachsen sein kann. Es kann ausreichend sein, lediglich die JBM-Pufferung hinzuzufügen, wenn angenommen wird, dass es keine Kernnetz-Stauprobleme gibt, die zu einem Kernnetz-„Jitter“ zusätzlich zu dem Funknetz-„Jitter“ führen würden.
  • Die Verfahren und Vorrichtungen gemäß der Offenbarung stellen ein verbessertes „Jitter“-Puffermanagement bereit, um die Probleme zu überwinden, die mit den Diskrepanzen zwischen den kurzfristig in einer Vergangenheit gesammelten Informationen gegen das Netzverhalten in der kurzfristigen Zukunft in Beziehung stehen. Die folgenden Probleme können durch das Anwenden der Verfahren und Vorrichtungen gemäß der Offenbarung überwunden werden: Der Konvergenzzeitraum, um einen stabilen Zustand (hinsichtlich der JBM-Einstellungen und insbesondere hinsichtlich der JBM-Pufferung) zu erreichen, die Latenzzeit, um irgendwelche stabile Zustände zu verlassen und neuen Variationen (als eine Folge einer neuen Netzsituation und eines neuen Netzverhaltens) gewachsen zu sein und die oszillierenden Verhalten ohne das Konvergieren gegen einen richtigen und stabilen Zustand im Fall von periodischen Phänomenen.
  • Die Verfahren und Vorrichtungen gemäß der Offenbarung stellen einen Mechanismus bereit, um mit dem folgenden Fall umzugehen, in dem ein Netz-„Jitter“ periodisch und regelmäßig zunimmt und abnimmt. Das JBM folgt diesem Verhalten mit etwas Latenzzeit, was zu einer suboptimalen Prozedur führt und niemals gegen einen stabilen Zustand konvergieren kann. Dies kann entweder dazu führen, dass mehr Pufferung verwendet wird, als notwendig ist, oder zu periodischen Audioverzerrungen in dem Fall von JBM-Versuchen, den Netzvariationen mit minimaler Latenzzeit sehr schnell zu folgen, führen. Durch das Einstellen der „Jitter“-Puffergröße basierend auf den Mobilitätsinformationen können die Verfahren und Vorrichtungen gemäß der Offenbarung das JBM in einen stabilen Zustand steuern.
  • Die Verfahren und Vorrichtungen gemäß der Offenbarung stellen einen Mechanismus bereit, um mit zusätzlichen Informationen und erhöhter Genauigkeit einige Szenarien vorherzusagen, bei denen es für vorhandene JBMs-Implementierungen schwierig ist, ihnen gewachsen zu sein. Die hier beschriebenen Verfahren und Vorrichtungen stellen verbesserte JBM-Leistungen bereit, insbesondere in einem Fall des Netz-„Jitters“, der oszillierenden Verhalten entspricht. Die JBM-Leistungen sind in Szenarien hoher Mobilität für alle Medien (Audio und Video) über IP und für VoLTE-Anwendungen in Kraftfahrzeugen, Zügen, Bussen usw., die zu einer regelmäßigen und schnellen Bewegung (z.B. schneller als ein sich bewegender Fußgänger) der in Gebrauch befindlichen Vorrichtung führen, verbessert.
  • Die vorliegende Offenbarung kann außerdem ein Computerprogrammprodukt unterstützen, das computerausführbaren Code oder computerausführbare Anweisungen enthält, die, wenn sie ausgeführt werden, wenigstens einen Computer veranlassen, das Ausführen und die Berechnungsschritte, die hier beschrieben sind, insbesondere die Verfahren 200 und 700, die oben bezüglich der 2 und 7 beschrieben worden sind, und der Techniken, die oben bezüglich der 1 bis 10 beschrieben worden sind, auszuführen. Ein derartiges Computerprogrammprodukt kann ein lesbares Speichermedium, in dem Programmcode gespeichert ist, für die Verwendung durch einen Computer enthalten. Der Programmcode kann das Verfahren 200, wie es oben bezüglich 2 beschrieben worden ist, oder das Verfahren 700, wie es oben bezüglich 7 beschrieben worden ist, ausführen.
  • BEISPIELE
  • Die folgenden Beispiele betreffen weitere Ausführungsformen. Das Beispiel 1 ist ein Verfahren zum Steuern der Ende-zu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen, wobei das Verfahren Folgendes umfasst: Empfangen eines Datenpakets, das wenigstens einen codierten Audiorahmen umfasst; Abrufen des empfangenen Datenpakets von einem Paketpuffer und Decodieren des wenigstens einen codierten Audiorahmens in Audioabtastwerte; und Verarbeiten der Audioabtastwerte, wobei eine Planung des Abrufens des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens auf einem Zielkriterium bezüglich der Audioqualität der Audioabtastwerte und der Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte basiert.
  • Im Beispiel 2 kann der Gegenstand des Beispiels 1 optional enthalten, dass die Planung dynamisch und glatt zeitlich verschoben wird, um Audioverzerrungen zu vermeiden.
  • Im Beispiel 3 kann der Gegenstand eines der Beispiele 1 und 2 optional enthalten, dass die Planung des Abrufens des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens auf der Zeitskalierung des wenigstens einen decodierten Audiorahmens basiert, um eine Verarbeitung des empfangenen Datenpakets in eine optimale Position bezüglich einer minimalen Latenzzeit zu verschieben.
  • Im Beispiel 4 kann der Gegenstand des Beispiels 3 optional enthalten, dass die Zeitskalierung des wenigstens einen decodierten Audiorahmens wenigstens eines des Folgenden umfasst: eine Rahmenkomprimierung zum Verringern der Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte, eine Rahmenerweiterung zum Vergrößern der Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte und eine Leerlaufaktivität bezüglich der Rahmenkomprimierung und der Rahmenerweiterung, um die Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte zu halten.
  • Im Beispiel 5 kann der Gegenstand irgendeines der Beispiele 3 bis 4 optional enthalten, das die Zeitskalierung zum Verschieben der Planung verwendet wird, um eine Position des wenigstens einen decodierten Audiorahmens zu modifizieren.
  • Im Beispiel 6 kann der Gegenstand irgendeines der Beispiele 3 bis 5 optional enthalten, dass die Zeitskalierung entweder auf der Sprachrahmenkomprimierung oder der Sprachrahmenerweiterung basiert.
  • Im Beispiel 7 kann der Gegenstand irgendeines der Beispiele 1 bis 6 optional das Bestimmen einer optimalen Planung basierend auf wenigstens einer der folgenden Informationen enthalten: der Statistik über die Latenzzeit zwischen den empfangenen Daten und den ausgespielten Daten, der Modemstatistik basierend auf einer Empfangsrate und/oder einer Neusendungsrate.
  • Im Beispiel 8 kann der Gegenstand irgendeines der Beispiele 1 bis 7 optional enthalten, dass das Datenpaket Teil eines Stroms von asynchron empfangenen Datenpaketen ist.
  • Im Beispiel 9 kann der Gegenstand des Beispiels 8 optional das Bestimmen der Statistik der Latenzzeit zwischen dem Empfangen eines jeweiligen Datenpakets des Stroms von Datenpaketen und dem Verarbeiten der Audioabtastwerte des jeweiligen Datenpakets; und die Verwendung der Statistik für die Planung enthalten.
  • Im Beispiel 10 kann der Gegenstand eines der Beispiele 1 bis 9 optional das Abrufen des empfangenen Datenpakets von dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens enthalten, wobei das Verarbeiten der Audioabtastwerte auf einem „Master“-Takt basiert.
  • Im Beispiel 11 kann der Gegenstand irgendeines der Beispiele 1 bis 10 optional enthalten, dass die Planung des Abrufens des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens durch das Einstellen wenigstens eines des Folgenden ausgeführt wird:
    • der Taktung des Abrufens des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens und der Taktung des Verarbeitens der Audioabtastwerte.
  • Im Beispiel 12 kann der Gegenstand irgendeines der Beispiele 1 bis 11 optional das Bestimmen einer Latenzzeit zwischen dem empfangenen Datenpaket und den verarbeiteten Audioabtastwerten; das Bestimmen einer Audioqualität der Audioabtastwerte; und die Planung des Abrufens des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens, so dass sich die Audioqualität über einem ersten Schwellenwert befindet und die Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte unter einem zweiten Schwellenwert befindet, enthalten.
  • Im Beispiel 13 kann der Gegenstand des Beispiels 12 optional enthalten, dass das Verarbeiten der Audioabtastwerte Folgendes umfasst: Initialisieren eines Ausspielzeitpunkts der Audioabtastwerte basierend auf wenigstens einem des Folgenden: einer Position, die einen Start des Audiorahmens angibt, einer Anzahl der Neusendungen des Audiorahmens, eines inneren Verarbeitungszeitraums, einer Neusendung des Datenpakets, das den Audiorahmen umfasst.
  • Das Beispiel 14 ist eine Vorrichtung zum Steuern der Ende-zu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen, wobei die Vorrichtung Folgendes umfasst: einen Paketpuffer, der dafür ausgelegt ist, ein Datenpaket zu empfangen, das wenigstens einen codierten Audiorahmen umfasst; einen Decodierer, der dafür ausgelegt ist, das empfangene Datenpaket von dem Paketpuffer abzurufen und den wenigstens einen codierten Audiorahmen in Audioabtastwerte zu decodieren; einen Audioprozessor, der dafür ausgelegt ist, die Audioabtastwerte zu verarbeiten; und eine Planungseinrichtung, die dafür ausgelegt ist, das Abrufen des empfangenen Datenpakets von dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf einem Zielkriterium bezüglich der Audioqualität der Audioabtastwerte und der Latenzzeit zwischen dem Empfangen des Datenpakets durch den Paketpuffer und dem Verarbeiten der Audioabtastwerte durch den Audioprozessor zu planen.
  • Im Beispiel 15 kann der Gegenstand des Beispiels 14 optional enthalten, dass die Planungseinrichtung dafür ausgelegt ist, die Planung zeitlich dynamisch und glatt zu verschieben, um Audioverzerrungen zu vermeiden.
  • Im Beispiel 16 kann der Gegenstand irgendeines der Beispiele 14-15 optional einen Audiopuffer enthalten, der zwischen den Decodierer und den Audioprozessor gekoppelt ist, wobei der Decodierer dafür ausgelegt ist, die Audioabtastwerte in dem Audiopuffer zu speichern und der Audioprozessor dafür ausgelegt ist, die Audioabtastwerte aus dem Audiopuffer abzurufen.
  • Im Beispiel 17 kann der Gegenstand des Beispiels 16 optional enthalten, dass die Planungseinrichtung dafür ausgelegt ist, wenigstens eine von einer Zugriffsrate des Decodierers zum Speichern der Audioabtastwerte in dem Audiopuffer und einer Zugriffsrate des Audioprozessors zum Abrufen der Audioabtastwerte von dem Audiopuffer und einer Zugriffsrate der Zuganforderungen an den Audiopuffer einzustellen.
  • Im Beispiel 18 kann der Gegenstand des Beispiels 17 optional enthalten, dass die Planungseinrichtung dafür ausgelegt ist, die Zugriffsrate des Decodierers basierend auf einem ersten Takt und die Zugriffsrate des Audioprozessors basierend auf einem zweiten Takt einzustellen, wobei der erste Takt und der zweite Takt von einem „Master“-Takt oder irgendeinem anderen Synchronisationsmechanismus abgeleitet werden.
  • Im Beispiel 19 kann der Gegenstand irgendeines der Beispiele 14 bis 18 optional enthalten, dass die Planungseinrichtung dafür ausgelegt ist, das Abrufen des empfangenen Datenpakets von dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf dem Einstellen einer Zeitskalierung des Decodierers zum Decodieren des wenigstens einen codierten Audiorahmens zu planen.
  • Im Beispiel 20 kann der Gegenstand irgendeines der Beispiele 14 bis 19 optional enthalten, dass der Decodierers einen Sprachdecodierer und/oder eine Sprachzeitskalierungseinrichtung umfasst.
  • Das Beispiel 21 ist ein Verfahren zum Einstellen einer Größe eines „Jitter“-Puffers in einer Medienverarbeitungsschaltung eines mobilen Endgeräts, wobei das Verfahren Folgendes umfasst: Entpaketisieren wenigstens eines codierten Medienrahmens von einem empfangenen Funksignal; Speichern des entpaketisierten wenigstens einen codierten Medienrahmens in einem „Jitter“-Puffer; Abrufen des wenigstens einen codierten Medienrahmens von dem „Jitter“-Puffer und Decodieren des wenigstens einen codierten Medienrahmens in Medienabtastwerte; Bestimmen eines „Jitter“-Modells basierend auf den Informationen, die einen Mobilitätszustand des mobilen Endgeräts angeben; Einstellen des „Jitter“-Modells basierend auf einer Historie der Informationen, die den Mobilitätszustand angeben; und Einstellen einer Größe des „Jitter“-Puffers basierend auf dem „Jitter“-Modell.
  • Im Beispiel 22 kann der Gegenstand des Beispiels 21 optional enthalten, dass die Informationen, die den Mobilitätszustand des mobilen Endgeräts angeben, wenigstens eine der folgenden mit dem mobilen Endgerät in Beziehung stehenden Informationen umfassen: Schnelligkeits- oder Geschwindigkeitsinformationen, Ortsinformationen, Umgebungsinformationen, Zeitinformationen, Informationen über die Änderung der Geschwindigkeit oder der Beschleunigung.
  • Im Beispiel 23 kann der Gegenstand irgendeines der Beispiele 21 bis 22 optional das Einstellen der Größe des „Jitter“-Puffers basierend auf einem Netz-„Jitter“ enthalten, der basierend auf den Informationen geschätzt wird, die den Mobilitätszustand des mobilen Endgeräts angeben.
  • Im Beispiel 24 kann der Gegenstand des Beispiels 23 optional das Schätzen des Netz-„Jitters“ als eine zyklische Funktion enthalten, die aus den Informationen abgeleitet wird, die den Mobilitätszustand des mobilen Endgeräts angeben.
  • Das Beispiel 25 ist eine Medienverarbeitungsschaltung für die Verwendung in einem mobilen Endgerät, wobei die Medienverarbeitungsschaltung Folgendes umfasst: einen Entpaketisierer, der dafür ausgelegt ist, wenigstens einen codierten Medienrahmen von einem empfangenen Funksignal zu entpaketisieren, einen „Jitter“-Puffer, der dafür ausgelegt ist, den entpaketisierten wenigstens einen codierten Medienrahmen zu speichern; einen Decodierer, der dafür ausgelegt ist, den wenigstens einen codierten Medienrahmen von dem „Jitter“-Puffer abzurufen und den wenigstens einen codierten Medienrahmen in Medienabtastwerte zu decodieren; und eine „Jitter“-Puffermanagemententität, die dafür ausgelegt ist, ein „Jitter“-Modell basierend auf den Informationen, die einen Mobilitätszustand des mobilen Endgeräts angeben, zu bestimmen, das „Jitter“-Modell basierend auf einer Historie der Informationen, die den Mobilitätszustand angeben, einzustellen und eine Größe des „Jitter“-Puffers basierend auf dem „Jitter“-Modell einzustellen.
  • Im Beispiel 26 kann der Gegenstand des Beispiels 25 optional enthalten, dass die „Jitter“-Puffermanagemententität eine Schnittstelle zu einer Ortsdienstbereitstellungsentität umfasst, um Informationen zu empfangen, die den Mobilitätszustand des mobilen Endgeräts angeben.
  • Im Beispiel 27 kann der Gegenstand irgendeines der Beispiele 25 bis 26 optional enthalten, dass die „Jitter“-Puffermanagemententität dafür ausgelegt ist, die Größe des „Jitter“-Puffers basierend auf wenigstens einer der folgenden Informationen, die mit dem mobilen Endgerät in Beziehung stehen, einzustellen: Schnelligkeits- oder Geschwindigkeitsinformationen, Ortsinformationen, Umgebungsinformationen, Zeitinformationen, Informationen über die Änderung der Geschwindigkeit oder der Beschleunigung.
  • Das Beispiel 28 ist ein computerlesbares Medium, in dem Computeranweisungen gespeichert sind, die, wenn sie durch einen Computer ausgeführt werden, den Computer veranlassen, das Verfahren nach einem der Beispiele 1 bis 13 oder das Verfahren nach einem der Beispiele 21 bis 24 auszuführen.
  • Das Beispiel 29 ist eine Vorrichtung zum Steuern der Ende-zu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen, wobei die Vorrichtung Folgendes umfasst: Empfangsmittel zum Empfangen eines Datenpakets, das wenigstens einen codierten Audiorahmen umfasst; Abrufmittel zum Abrufen des empfangenen Datenpakets von einem Paketpuffer und Decodiermittel zum Decodieren des wenigstens einen codierten Audiorahmens in Audioabtastwerte; und Verarbeitungsmittel zum Verarbeiten der Audioabtastwerte, wobei eine Planung des Abrufens des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens auf einem Zielkriterium bezüglich der Audioqualität der Audioabtastwerte und der Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte basiert.
  • Im Beispiel 30 kann der Gegenstand des Beispiels 29 optional Planungsmittel zum Planen des Abrufens des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens basierend auf der Zeitskalierung des wenigstens einen codierten Audiorahmens enthalten.
  • Im Beispiel 31 kann der Gegenstand des Beispiels 30 optional enthalten, dass die Planungsmittel dafür ausgelegt sind, den wenigstens einen codierten Audiorahmen basierend auf dem erneuten Codieren des wenigstens einen codierten Audiorahmens zeitlich zu skalieren.
  • Das Beispiel 32 ist ein System zum Steuern der Ende-zu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen, wobei das System Folgendes umfasst: einen Paketpuffer, der dafür ausgelegt ist, ein Datenpaket zu empfangen, das wenigstens einen codierten Audiorahmen umfasst; einen Decodierer, der dafür ausgelegt ist, das empfangene Datenpaket von dem Paketpuffer abzurufen und den wenigstens einen codierten Audiorahmen in Audioabtastwerte zu decodieren; einen Audioprozessor, der dafür ausgelegt ist, die Audioabtastwerte zu verarbeiten; und eine Planungseinrichtung, die dafür ausgelegt ist, das Abrufen des empfangenen Datenpakets aus dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf einem Zielkriterium bezüglich der Audioqualität der Abtastwerte und der Latenzzeit zwischen dem Empfangen des Datenpakets durch den Paketpuffer und dem Verarbeiten der Audioabtastwerte durch den Audioprozessor zu planen.
  • Im Beispiel 33 kann der Gegenstand des Beispiels 32 optional einen Audiopuffer enthalten, der zwischen den Decodierer und den Audioprozessor gekoppelt ist, wobei der Decodierer dafür ausgelegt ist, die Audioabtastwerte in dem Audiopuffer zu speichern, und der Audioprozessor dafür ausgelegt ist, die Audioabtastwerte von dem Audiopuffer abzurufen.
  • Im Beispiel 34 kann der Gegenstand des Beispiels 32 optional enthalten, dass das System ein System auf einem Chip ist.
  • Das Beispiel 35 ist eine Vorrichtung zum Einstellen einer Größe eines „Jitter“-Puffers in einer Medienverarbeitungsschaltung eines mobilen Endgeräts, wobei die Vorrichtung Folgendes umfasst: Mittel zum Entpaketisieren wenigstens eines codierten Medienrahmens von einem empfangenen Funksignal; Mittel zum Speichern des entpaketisierten wenigstens einen codierten Medienrahmens in einem „Jitter“-Puffer; Mittel zum Abrufen des wenigstens einen codierten Medienrahmens von dem „Jitter“-Puffer und zum Decodieren des wenigstens einen codierten Medienrahmens in Medienabtastwerte; und Mittel zum Einstellen einer Größe des „Jitter“-Puffers basierend auf Informationen, die einen Mobilitätszustand des mobilen Endgeräts angeben.
  • Im Beispiel 36 kann der Gegenstand des Beispiels 35 optional enthalten, dass die Informationen, die den Mobilitätszustand des mobilen Endgeräts angeben, Informationen über eine Schnelligkeit des mobilen Endgeräts umfassen.
  • Das Beispiel 37 ist ein Medienverarbeitungssystem für die Verwendung in einem mobilen Endgerät, wobei das Medienverarbeitungssystem Folgendes umfasst: einen Entpaketisierer, der dafür ausgelegt ist, wenigstens einen codierten Medienrahmen von einem empfangenen Funksignal zu entpaketisieren; einen „Jitter“-Puffer, der dafür ausgelegt ist, den wenigstens einen entpaketisierten codierten Medienrahmen zu speichern; einen Decodierer, der dafür ausgelegt ist, den wenigstens einen codierten Medienrahmen von dem „Jitter“-Puffer abzurufen und den wenigstens einen codierten Medienrahmen in Medienabtastwerte zu decodieren; und eine „Jitter“-Puffermanagemententität, die dafür ausgelegt ist, eine Größe des „Jitter“-Puffers basierend auf den Informationen, die einen Mobilitätszustand des mobilen Endgeräts angeben, einzustellen.
  • Im Beispiel 38 kann der Gegenstand des Beispiels 37 optional enthalten, dass die „Jitter“-Puffermanagemententität eine Schnittstelle zu einer Ortdienstbereitstellungsentität umfasst, um Informationen zu empfangen, die den Mobilitätszustand des mobilen Endgeräts angeben.
  • Im Beispiel 39 kann der Gegenstand des Beispiels 38 optional enthalten, dass das System ein System auf einem Chip ist.
  • Im Beispiel 40 kann der Gegenstand irgendeines der Beispiele 24 bis 27 optional enthalten, dass die „Jitter“-Puffermanagemententität an eine Mobilitätsüberwachungseinrichtung zum Empfangen von Informationen über wenigstens eines des Folgenden gekoppelt ist: den Ort, den Mobilitätstyp, den Umgebungstyp, den Funkkonfigurationstyp.
  • Im Beispiel 41 kann der Gegenstand irgendeines der Beispiele 25 bis 27 optional enthalten, dass die „Jitter“-Puffermanagemententität an einen Zellenprotokollstapel zum Empfangen von Informationen über wenigstens eines des Folgenden gekoppelt ist: eine Verbindungsübergaberate, einen Verbindungsübergabetyp, einen Verbindungsübergabe-Unterbrechungszeitpunkt; einen Auslöser für eine Messung, eine Statistik über eine Empfangsrate, eine Statistik über eine Netz-Neusendung.
  • Im Beispiel 42 kann der Gegenstand irgendeines der Beispiele 25 bis 27 optional enthalten, dass die „Jitter“-Puffermanagemententität dafür ausgelegt ist, eine Größe eines „Jitter“-Puffers basierend auf den empfangenen Informationen über den „Jitter“, der mit der Funkverbindung in Beziehung steht, und/oder den „Jitter“, der mit dem Kernnetz in Beziehung steht, einzustellen.
  • Während ein spezielles Merkmal oder ein spezieller Aspekt der Offenbarung bezüglich nur einer von mehreren Implementierungen offenbart worden sein kann, kann außerdem ein derartiges Merkmal oder ein derartiger Aspekt mit einem oder mehreren anderen Merkmalen oder Aspekten der anderen Implementierungen kombiniert werden, wie es für irgendeine gegebene oder spezielle Anwendung erwünscht oder vorteilhaft sein kann. Außerdem sind in dem Ausmaß, in dem die Begriffe „enthalten“, „aufweisen“, „mit“ oder andere Varianten davon entweder in der ausführlichen Beschreibung oder in den Ansprüchen verwendet werden, derartige Begriffe vorgesehen, dass sie in einer zu dem Begriff „umfassen“ ähnlichen Weise einschließend sind. Außerdem ist es selbstverständlich, dass die Aspekte der Offenbarung in diskreten Schaltungen, teilweise integrierten Schaltungen oder vollständig integrierten Schaltungen oder Programmiermitteln implementiert sein können. Außerdem sind die Begriffe „beispielhaft“, „zum Beispiel“ und „z.B.“ lediglich als ein Beispiel anstatt als das Beste oder das Optimale gemeint.
  • Obwohl spezifische Aspekte hier veranschaulicht und beschrieben worden sind, wird durch die Durchschnittsfachleute auf dem Gebiet erkannt, dass die gezeigten und beschriebenen spezifischen Aspekte durch verschiedene alternative oder äquivalente Implementierungen ersetzt werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Es ist vorgesehen, dass diese Anmeldung alle Anpassungen oder Variationen der hier erörterten spezifischen Aspekte abdeckt.

Claims (20)

  1. Verfahren (200) zum Jitter Puffer Management mit Steuern der Endezu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen in einem mobilen Endgerät, wobei das Verfahren umfasst: Empfangen (201) eines Datenpakets in dem mobilen Endgerät, wobei das Datenpaket wenigstens einen codierten Audiorahmen umfasst; Abrufen (203) des empfangenen Datenpakets von einem Paketpuffer des mobilen Endgeräts und Decodieren des wenigstens einen codierten Audiorahmens in Audioabtastwerte; und Verarbeiten (204) der Audioabtastwerte in dem mobilen Endgerät, wobei das Abrufen (203) des empfangenen Datenpakets von dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf einem Zielkriterium bezüglich der Audioqualität der Audioabtastwerte und der Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte geplant werden, wobei das Planen sich auf die folgenden Aktivitäten bezieht: eine erste Audioaktivität (401), bei der jedes empfangene Datenpaket in dem Paketpuffer gespeichert wird, außer wenn es zu spät in dem mobilen Endgerät empfangen worden ist, eine zweite Audioaktivität (402), bei der das empfangene Datenpaket aus dem Paketpuffer abgerufen und in Audioabtastwerte decodiert wird, und eine dritte Audioaktivität (403), bei der die Audioabtastwerte einer Abwärtsstrecken-Sprachverbesserung unterzogen werden, wobei das Planen eine Verschiebung der zweiten Audioaktivität (402) gegen die dritte Audioaktivität (403) umfasst, um eine Abwärtsstrecken-Latenzzeit zu verringern.
  2. Verfahren (200) nach Anspruch 1, wobei die Planung dynamisch und glatt zeitlich verschoben wird, um Audioverzerrungen zu vermeiden.
  3. Verfahren (200) nach Anspruch 1 oder 2, wobei das Abrufen (203) des empfangenen Datenpakets von dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf der Zeitskalierung des wenigstens einen decodierten Audiorahmens geplant werden, um das empfangene Datenpaket in einer optimalen Position bezüglich einer minimalen Latenzzeit zu verarbeiten.
  4. Verfahren (200) nach Anspruch 3, wobei die Zeitskalierung des wenigstens einen decodierten Audiorahmens wenigstens eines des Folgenden umfasst: Ausführen der Rahmenkomprimierung (309), um die Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte zu verringern, Ausführen der Rahmenerweiterung (317), um die Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte zu vergrößern, und Leerlauf (313) bezüglich der Rahmenkomprimierung und der Rahmenerweiterung, um die Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte zu halten.
  5. Verfahren (200) nach Anspruch 3 oder 4, wobei die Zeitskalierung zum Verschieben der Planung verwendet wird, um eine Position des wenigstens einen decodierten Audiorahmens zu modifizieren.
  6. Verfahren (200) nach einem der Ansprüche 3 bis 5, wobei die Zeitskalierung entweder auf der Sprachrahmenkomprimierung oder der Sprachrahmenerweiterung basiert.
  7. Verfahren (200) nach einem der vorhergehenden Ansprüche, umfassend: Bestimmen einer optimalen Planung basierend auf wenigstens einer der folgenden Informationen: der Statistik über die Latenzzeit zwischen den empfangenen Daten und den ausgespielten Daten, der Modemstatistik basierend auf einer Empfangsrate und/oder einer Neusendungsrate.
  8. Verfahren (200) nach einem der vorhergehenden Ansprüche, wobei das Datenpaket Teil eines Stroms von asynchron empfangenen Datenpaketen ist.
  9. Verfahren (200) nach Anspruch 7, ferner umfassend: Bestimmen der Statistik der Latenzzeit zwischen dem Empfangen eines jeweiligen Datenpakets des Stroms von Datenpaketen und dem Verarbeiten der Audioabtastwerte des jeweiligen Datenpakets; und Verwenden der Statistik für die Planung.
  10. Verfahren (200) nach einem der vorhergehenden Ansprüche, wobei das Abrufen des empfangenen Datenpakets von dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens und das Verarbeiten der Audioabtastwerte auf einem Master-Takt basieren.
  11. Verfahren (200) nach einem der vorhergehenden Ansprüche, wobei das Abrufen (203) des empfangenen Datenpakets von dem Paketpuffer und das Decodieren des wenigstens einen codierten Audiorahmens durch das Einstellen wenigstens eines des Folgenden geplant werden: der Taktung des Abrufens des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens, und der Taktung des Verarbeitens der Audioabtastwerte.
  12. Verfahren (200) nach einem der vorhergehenden Ansprüche, ferner umfassend: Bestimmen einer Latenzzeit zwischen dem empfangenen Datenpaket und den verarbeiteten Audioabtastwerten; Bestimmen einer Audioqualität der Audioabtastwerte; und Planen des Abrufens (203) des empfangenen Datenpakets von dem Paketpuffer und des Decodierens des wenigstens einen codierten Audiorahmens, um zu veranlassen, dass sich die Audioqualität über einem ersten Schwellenwert befindet und sich die Latenzzeit zwischen dem Empfangen des Datenpakets und dem Verarbeiten der Audioabtastwerte unter einem zweiten Schwellenwert befindet.
  13. Verfahren (200) nach einem der vorhergehenden Ansprüche, wobei das Verarbeiten (204) der Audioabtastwerte umfasst: Initialisieren eines Ausspielzeitpunkts der Audioabtastwerte basierend auf wenigstens einem des Folgenden: einer Position, die einen Start des Audiorahmens angibt, einer Anzahl der Neusendungen des Audiorahmens, einer Neusendung des Datenpakets, das den Audiorahmen umfasst, eines inneren Verarbeitungszeitraums.
  14. Vorrichtung (600) zum Jitter Puffer Management mit Steuern der Endezu-Ende-Latenzzeit zwischen dem Empfangen und dem Verarbeiten von Audiorahmen in einem mobilen Endgerät, wobei die Vorrichtung (600) umfasst: einen in dem mobilen Endgerät angeordneten Paketpuffer (601), der dafür ausgelegt ist, ein Datenpaket (602) zu empfangen, das wenigstens einen codierten Audiorahmen umfasst; einen in dem mobilen Endgerät angeordneten Decodierer (603), der dafür ausgelegt ist, das empfangene Datenpaket (604) von dem Paketpuffer (601) abzurufen und den wenigstens einen codierten Audiorahmen in Audioabtastwerte (606) zu decodieren; einen in dem mobilen Endgerät angeordneten Audioprozessor (605), der dafür ausgelegt ist, die Audioabtastwerte (606) zu verarbeiten; und eine in dem mobilen Endgerät angeordnete Planungseinrichtung (607), die dafür ausgelegt ist, das Abrufen des empfangenen Datenpakets (604) von dem Paketpuffer (601) und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf einem Zielkriterium bezüglich der Audioqualität der Audioabtastwerte (606) und der Latenzzeit zwischen dem Empfangen des Datenpakets (602) durch den Paketpuffer (601) und dem Verarbeiten der Audioabtastwerte (606) durch den Audioprozessor (605) zu planen, wobei die Planungseinrichtung (607) dafür ausgelegt ist, das Planen auf die folgenden Aktivitäten zu beziehen: eine erste Audioaktivität (401), bei der jedes empfangene Datenpaket in dem Paketpuffer gespeichert wird, außer wenn es zu spät in dem mobilen Endgerät empfangen worden ist, eine zweite Audioaktivität (402), bei der das empfangene Datenpaket aus dem Paketpuffer abgerufen und in Audioabtastwerte decodiert wird, und eine dritte Audioaktivität (403), bei der die Audioabtastwerte einer Abwärtsstrecken-Sprachverbesserung unterzogen werden, wobei die Planungseinrichtung (607) dafür ausgelegt ist, eine Verschiebung der zweiten Audioaktivität (402) gegen die dritte Audioaktivität (403) vorzunehmen, um eine Abwärtsstrecken-Latenzzeit zu verringern.
  15. Vorrichtung (600) nach Anspruch 14, wobei die Planungseinrichtung (607) dafür ausgelegt ist, die Planung zeitlich dynamisch und glatt zu verschieben, um Audioverzerrungen zu vermeiden.
  16. Vorrichtung (600) nach Anspruch 14 oder 15, ferner umfassend: einen Audiopuffer (507), der zwischen den Decodierer (603) und den Audioprozessor (605) gekoppelt ist, wobei der Decodierer (603) dafür ausgelegt ist, die Audioabtastwerte (606) in dem Audiopuffer (507) zu speichern und der Audioprozessor (605) dafür ausgelegt ist, die Audioabtastwerte (606) von dem Audiopuffer (507) abzurufen.
  17. Vorrichtung (600) nach Anspruch 16, wobei die Planungseinrichtung (607) dafür ausgelegt ist, wenigstens eines des Folgenden einzustellen: eine Zugriffsrate des Decodierers (603) zum Speichern der Audioabtastwerte in dem Audiopuffer (507), eine Zugriffsrate des Audioprozessors (605) zum Abrufen der Audioabtastwerte (606) von dem Audiopuffer (507), und eine Zugriffsrate der Zuganforderungen an den Audiopuffer (507).
  18. Vorrichtung (600) nach Anspruch 17, wobei die Planungseinrichtung (607) dafür ausgelegt ist, die Zugriffsrate des Decodierers (603) basierend auf einem ersten Takt und die Zugriffsrate des Audioprozessors (605) basierend auf einem zweiten Takt einzustellen, wobei der erste Takt und der zweite Takt von einem Master-Takt oder irgendeinem anderen Synchronisationsmechanismus abgeleitet werden.
  19. Vorrichtung (600) nach einem der Ansprüche 14 bis 18, wobei die Planungseinrichtung (607) dafür ausgelegt ist, das Abrufen des empfangenen Datenpakets (604) von dem Paketpuffer (601) und das Decodieren des wenigstens einen codierten Audiorahmens basierend auf dem Einstellen einer Zeitskalierung des Decodierers (603) zum Decodieren des wenigstens einen codierten Audiorahmens zu planen.
  20. Vorrichtung (600) nach einem der Ansprüche 14 bis 19, wobei der Decodierer (603) einen Sprachdecodierer (503) und/oder eine Sprachzeitskalierungseinrichtung (505) umfasst.
DE102015104407.2A 2015-03-24 2015-03-24 Verfahren und Vorrichtungen zum Steuern der Sprachqualität Active DE102015104407B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102015104407.2A DE102015104407B4 (de) 2015-03-24 2015-03-24 Verfahren und Vorrichtungen zum Steuern der Sprachqualität
US15/007,338 US10212552B2 (en) 2015-03-24 2016-01-27 Methods and devices for controlling speech quality
TW105104967A TWI623216B (zh) 2015-03-24 2016-02-19 用於控制語音品質的方法和裝置
CN201610101583.6A CN106027480B (zh) 2015-03-24 2016-02-24 用于控制话音质量的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015104407.2A DE102015104407B4 (de) 2015-03-24 2015-03-24 Verfahren und Vorrichtungen zum Steuern der Sprachqualität

Publications (2)

Publication Number Publication Date
DE102015104407A1 DE102015104407A1 (de) 2016-09-29
DE102015104407B4 true DE102015104407B4 (de) 2023-02-23

Family

ID=56889480

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015104407.2A Active DE102015104407B4 (de) 2015-03-24 2015-03-24 Verfahren und Vorrichtungen zum Steuern der Sprachqualität

Country Status (4)

Country Link
US (1) US10212552B2 (de)
CN (1) CN106027480B (de)
DE (1) DE102015104407B4 (de)
TW (1) TWI623216B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794842B2 (en) * 2015-05-21 2017-10-17 At&T Mobility Ii Llc Facilitation of handover coordination based on voice activity data
US10228899B2 (en) * 2017-06-21 2019-03-12 Motorola Mobility Llc Monitoring environmental noise and data packets to display a transcription of call audio
CN107886961A (zh) * 2017-10-26 2018-04-06 西安电子科技大学 基于VoLTE承载的自适应多速率中低速话音优化方法
CN111381973B (zh) * 2018-12-28 2024-03-01 中兴通讯股份有限公司 一种语音数据处理方法、装置及计算机可读存储介质
US10826838B2 (en) * 2019-01-29 2020-11-03 Microsoft Technology Licensing, Llc Synchronized jitter buffers to handle codec switches
US11595462B2 (en) 2019-09-09 2023-02-28 Motorola Mobility Llc In-call feedback to far end device of near end device constraints

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013051975A1 (en) 2011-10-07 2013-04-11 Telefonaktiebolaget L M Ericsson (Publ) Methods providing packet communications including jitter buffer emulation and related network nodes

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862298B1 (en) * 2000-07-28 2005-03-01 Crystalvoice Communications, Inc. Adaptive jitter buffer for internet telephony
US7652994B2 (en) * 2006-03-31 2010-01-26 Sharp Laboratories Of America, Inc. Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels
CN101582832B (zh) * 2008-05-17 2012-10-31 红杉树(杭州)信息技术有限公司 VoIP抖动缓冲区的动态处理方法
US8089992B2 (en) * 2009-09-30 2012-01-03 At&T Intellectual Property I, L.P. Systems and methods to measure the performance of a de-jitter buffer
CN102739503B (zh) * 2011-04-01 2014-12-03 华平信息技术股份有限公司 VoIP去抖动缓冲区的处理方法
US9177570B2 (en) * 2011-04-15 2015-11-03 St-Ericsson Sa Time scaling of audio frames to adapt audio processing to communications network timing
US8831001B2 (en) * 2012-06-24 2014-09-09 Audiocodes Ltd. Device, system, and method of voice-over-IP communication
CN104219220A (zh) * 2014-02-14 2014-12-17 爱沟通网络科技有限公司 一种改善VoIP通信质量的系统和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013051975A1 (en) 2011-10-07 2013-04-11 Telefonaktiebolaget L M Ericsson (Publ) Methods providing packet communications including jitter buffer emulation and related network nodes

Also Published As

Publication number Publication date
TWI623216B (zh) 2018-05-01
TW201644239A (zh) 2016-12-16
DE102015104407A1 (de) 2016-09-29
US20160286575A1 (en) 2016-09-29
US10212552B2 (en) 2019-02-19
CN106027480A (zh) 2016-10-12
CN106027480B (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
DE102015104407B4 (de) Verfahren und Vorrichtungen zum Steuern der Sprachqualität
JP4504429B2 (ja) 端末間のボイスオーバインターネットプロトコルのメディアの待ち時間を管理する方法および装置
US11489781B2 (en) Bandwidth management
JP5221562B2 (ja) マルチメディア電話のためのコンテンツ依存およびリンク依存のコード化適応
CN101455086B (zh) 对反向链路条件的视频速率自适应的装置和方法
EP2749069B1 (de) Verfahren zur paketübertragung mit jitter-pufferemulation und entsprechende netzwerkknoten
US10135707B2 (en) Playout delay adjustment method and electronic apparatus thereof
CN106664161A (zh) 基于冗余的包传输错误恢复的系统和方法
BRPI0822489B1 (pt) Método para adaptar uma taxa alvo atual de um sinal de vídeo transmitido de um provedor de vídeo para um receptor de vídeo, dispositivo para calcular uma nova taxa alvo de um sinal de vídeo transmitido a partir de um provedor de vídeo, e, meio legível por computador
CN109495660B (zh) 一种音频数据的编码方法、装置、设备和存储介质
US20230283529A1 (en) Data processing method and device, readable storage medium and program product
DE102014100685A1 (de) Funkkommunikationseinrichtungen und verfahren zum steuern einer funkkommunikationseinrichtung
CN101860895B (zh) 一种改进的aimd拥塞控制方法
Hofmann et al. A study of network performance with application to adaptive HTTP streaming
Cinar et al. Improved jitter buffer management for WebRTC
US20170063703A1 (en) Bandwidth Management
US9929823B2 (en) Data processing
EP3343851B1 (de) Verfahren und vorrichtung zur regelung der wiedergabeverzögerung
Jasevičiūtė et al. Dynamic adaptation of the jitter buffer for video streaming applications
JP2014068087A (ja) バッファ制御装置、バッファ制御装置による制御方法、メディア通信装置、並びにコンピュータ・プログラム
Yu et al. Quality-based jitter buffer algorithm using adaptive variable-size window
DE602004006878T2 (de) Verfahren und System zur Feststellung des Nachlassens eines Mediendienstes durch Bestimmen einer Packetverlustrate
CN111385648A (zh) 一种视频帧率的调控方法和系统
WO2005119979A1 (de) Verfahren zur übertragung von zeitlich hoch priorisierten daten
Lee et al. Buffer level estimation for seamless media streaming in mobile ipv6 networks

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

Representative=s name: LAMBSDORFF & LANGE PATENTANWAELTE PARTNERSCHAF, DE

R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

R081 Change of applicant/patentee

Owner name: APPLE INC., CUPERTINO, US

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012875000

Ipc: H04L0047560000

R018 Grant decision by examination section/examining division
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R020 Patent grant now final