DE112020005969T5 - Empfangsendgerät und verfahren - Google Patents

Empfangsendgerät und verfahren Download PDF

Info

Publication number
DE112020005969T5
DE112020005969T5 DE112020005969.3T DE112020005969T DE112020005969T5 DE 112020005969 T5 DE112020005969 T5 DE 112020005969T5 DE 112020005969 T DE112020005969 T DE 112020005969T DE 112020005969 T5 DE112020005969 T5 DE 112020005969T5
Authority
DE
Germany
Prior art keywords
data
redundant data
packet
redundant
main
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020005969.3T
Other languages
English (en)
Inventor
Takafumi Hattori
Chisato Kemmochi
Shiro Suzuki
Ryuji Tokunaga
Yuuki Matsumura
Jun Matsumoto
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.)
Sony Group Corp
Original Assignee
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Group Corp filed Critical Sony Group Corp
Publication of DE112020005969T5 publication Critical patent/DE112020005969T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Die vorliegende Technologie bezieht sich auf ein Empfangsendgerät und ein Verfahren, die ermöglichen, eine stabile Audioübertragung unabhängig von der Ausrüstung zu erreichen. Dieses Empfangsendgerät: empfängt ein von einem Sendeendgerät gesendetes Paket, wobei das Paket Hauptdaten und redundante Daten aufweist, wobei die redundanten Daten erzeugt wurden auf der Basis eines Redundanzgrades, der bestimmt wurde auf der Basis einer Neuübertragungs-Timeout-Zeitspanne, die eine Zeit ist, die durch die Kombination mit dem Sendeendgerät bestimmt wird und die wiederholte Ausführung eines Hauptdatenneuübertragungsprozesses erlaubt, wobei die redundanten Daten zur Wiederherstellung oder Interpolation der Hauptdaten verwendet werden; und decodiert die Wiedergabedaten durch Decodieren der Hauptdaten oder der redundanten Daten. Die vorliegende Technologie ist auf ein Kommunikationssystem, das Audioübertragung unter Verwendung von Niederenergie-Bluetooth (BLE) ausführt, anwendbar.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Technologie bezieht sich auf ein Empfangsendgerät und ein Verfahren und insbesondere auf ein Empfangsendgerät und ein Verfahren, die zum Erreichen stabiler Sprachübertragung unabhängig von dem Gerät fähig sind.
  • HINTERGRUND DER TECHNIK
  • Bei der Sprachübertragung mit Niederenergie-Bluetooth (nachstehend BLE) unter der Formulierung eines Standards wird ein Paket in regelmäßigen Abständen, die als ISO-Intervall bezeichnet sind, übertragen. Ein Paket, das während dieser Zeitspanne nicht erfolgreich übertragen worden ist, wird in dem nächsten ISO-Intervall in Reaktion auf eine Anforderung von einem Empfangsendgerät erneut übertragen. Eine Zeit, während der die Neuübertragungsverarbeitung wiederholt werden kann, wird als eine Neuübertragungs-Timeout-Zeitspanne bezeichnet.
  • Da das Paket, dessen Übertragung innerhalb der Neuübertragungs-Timeout-Zeitspanne nicht erfolgreich war, verworfen wird, ist es notwendig, eine Paketverlustverdeckung zum Wiederherstellen oder Interpolieren von Daten in dem verworfenen Paket (verlorenen Paket) auszuführen. Da jedoch die Neuübertragungs-Timeout-Zeitspanne für jede Kombination aus Sende- und Empfangsendgeräten bestimmt wird, variiert die notwendige Qualität der Paketverlustverdeckung (Verdeckungsqualität) abhängig von der Kombination von Geräten, selbst in der gleichen Funkwellenumgebung.
  • In Anbetracht des Vorstehenden schlägt Patentdokument 1 ein Verfahren zum Messen von Leitungsqualitätsinformationen in einem Empfangsendgerät, Übertragen der Daten an ein Sendeendgerät und dann Ändern des Berechnungsverfahrens eines Vorwärtsfehlerkorrekturcodes (FEC-Codes) auf der Sendeseite vor.
  • Zusätzlich schlägt Patentdokument 2 ein Verfahren zum Steuern der Anzahl von Rahmen mit codierten Daten, die zu senden sind, ohne Messen von Leitungsqualitätsinformationen durch Beobachten der Größe des Puffers, der auf das Senden wartet, vor.
  • ENTGEGENHALTUNGSLISTE
  • PATENTDOKUMENT
    • Patentdokument 1: Internationale Patentanmeldung Veröffentlichung Nr. 2015/072005
    • Patentdokument 2: Japanische Patentanmeldung Offenlegungs-Nr.. 2016-208215
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • DURCH DIE ERFINDUNG ZU LÖSENDE AUFGABE
  • In einem Fall jedoch, in dem das in Patentdokument 1 beschriebene Verfahren in der Kommunikation unter Verwendung von BLE verwendet wird, ist es notwendig, eine Paketverlustratenübertragungsfunktion auf der Empfangsseite separat bereitzustellen, und es ist schwierig und unrealistisch, eine unbegrenzte Anzahl von Anbietern zu veranlassen, eine solche Funktion im tatsächlichen Betrieb zu implementieren.
  • In dem in Patentdokument 1 beschriebenen Verfahren ist es, da die Steuerung auf der Basis der Größe des Puffers, der auf das Senden wartet, ausgeführt wird, schwierig, die Anzahl von Rahmen codierter Daten, die unmittelbar nach dem Beginn des Sendens zu senden sind, auf geeignete Weise zu steuern.
  • Aus diesem Grund dauert es eine gewisse Zeitspanne, bis eine geeignete Steuerung ausgeführt wird, und abhängig von der Einstellung des Initialwerts kann die Verdeckungsqualität unzureichend werden und Hörgeräusche oder Unbehagen können empfunden werden.
  • Die vorliegende Technologie wurde im Hinblick auf eine solche Situation entwickelt, und ihre Aufgabe ist es, eine stabile Sprachübertragung unabhängig von dem Gerät zu erreichen.
  • LÖSUNGEN FÜR DIE AUFGABE
  • Ein Empfangsendgerät gemäß einem Aspekt der vorliegenden Technologie weist Folgendes auf: eine Empfangseinheit, die ein von einem Sendeendgerät gesendetes Paket empfängt, wobei das Paket Hauptdaten und redundante Daten aufweist, die erzeugt wurden auf der Basis eines Redundanzgrades, der erzeugt wurde auf der Basis einer Neuübertragungs-Timeout-Zeitspanne, die eine Zeit ist, die durch eine Kombination aus dem Sendeendgerät und dem Empfangsendgerät bestimmt ist und in der Neuübertragungsverarbeitung der Hauptdaten wiederholt ausgeführt und zur Wiederherstellung oder Interpolation der Hauptdaten verwendet werden kann, und eine Decodiereinheit, die Wiedergabedaten durch Decodieren der Hauptdaten oder der redundanten Daten decodiert.
  • In einem Aspekt der vorliegenden Technologie wird ein von einem Sendeendgerät gesendetes Paket empfangen, wobei das Paket Hauptdaten und redundante Daten aufweist, die erzeugt werden auf der Basis eines Redundanzgrades, der bestimmt wird auf der Basis einer Neuübertragungs-Timeout-Zeitspanne, die eine Zeit ist, die durch eine Kombination der Sende- und Empfangsendgeräte bestimmt wird, und in der Neuübertragungsverarbeitung der Hauptdaten wiederholt ausgeführt und für die Wiederherstellung oder Interpolation der Hauptdaten verwendet werden kann. Dann werden die Wiedergabedaten durch Decodieren der Hauptdaten oder der redundanten Daten decodiert.
  • Figurenliste
    • 1 ist ein Diagramm, das einen Überblick über die Paketverlustverdeckung darstellt.
    • 2 ist ein Diagramm, das eine Beziehung zwischen der Anzahl von Einheiten redundanter Daten und einem möglichen Bereich der Verdeckung darstellt.
    • 3 ist ein Diagramm, das eine Beziehung zwischen der Anzahl von Einheiten redundanter Daten und einem möglichen Bereich der Verdeckung darstellt.
    • 4 ist ein Diagramm, das ein Verfahren zum Bestimmen der Anzahl von Einheiten redundanter Daten gemäß der vorliegenden Technologie darstellt.
    • 5 ist ein Diagramm, das ein Konfigurationsbeispiel eines Audioübertragungssystems gemäß einer Ausführungsform der vorliegenden Technologie darstellt.
    • 6 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Sendeendgeräts darstellt.
    • 7 ist ein Ablaufplan zum Beschreiben der Systemeinstellungsverarbeitung des Sendeendgeräts.
    • 8 ist ein Diagramm, das ein spezifisches Beispiel für die Berechnung einer Zieldatenmenge darstellt.
    • 9 ist ein Ablaufplan zum Beschreiben von Sendepaketerzeugungsverarbeitung des Sendeendgeräts.
    • 10 ist ein Ablaufplan zum Beschreiben der Verarbeitung zur Erzeugung redundanter Daten in Schritt S34 in 9.
    • 11 ist ein Diagramm zum Beschreiben der Verarbeitung von Schritt S60 in 10.
    • 12 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Empfangsendgeräts darstellt.
    • 13 ist ein Ablaufplan zum Beschreiben von Datenerfassungsverarbeitung des Empfangsendgeräts.
    • 14 ist ein Diagramm zum Beschreiben eines Verfahrens zum Hinzufügen einer Datennummer.
    • 15 ist ein Ablaufplan zum Beschreiben von Audiowiedergabeverarbeitung des Empfangsendgeräts.
    • 16 ist ein Ablaufplan zum Beschreiben von Wiedergabedatenauswahlverarbeitung in Schritt S101 von 15.
    • 17 ist ein Blockdiagramm, das ein weiteres Konfigurationsbeispiel des Sendeendgeräts darstellt.
    • 18 ist ein Ablaufplan zum Beschreiben der Systemeinstellungsverarbeitung des Sendeendgeräts.
    • 19 ist ein Diagramm, das ein spezifisches Beispiel für die Berechnung einer Zieldatenmenge darstellt.
    • 20 ist ein Ablaufplan zum Beschreiben der Einstellungsaktualisierungsverarbeitung des Sendeendgeräts.
    • 21 ist ein Ablaufplan zum Beschreiben der Sendepaketerzeugungsverarbeitung des Sendeendgeräts.
    • 22 ist ein Diagramm, das Konfigurationen eines Rahmens und eines Pakets in einem Fall, in dem eine oder mehrere Einheiten von Hauptdaten vorhanden sind, darstellt.
    • 23 ist ein Ablaufplan zum Beschreiben der Verarbeitung zum Hinzufügen der Sendedatennummer in Schritt S247 in 21.
    • 24 ist ein Diagramm, das ein spezifisches Beispiel für die Verarbeitung zum Hinzufügen der Sendedatennummer darstellt.
    • 25 ist ein Ablaufplan zum Beschreiben von Datenerfassungsverarbeitung des Empfangsendgeräts.
    • 26 ist ein Diagramm, das ein Beispiel für ein Verfahren zum Hinzufügen von frame_id darstellt.
    • 27 ist ein Diagramm, das ein Konfigurationsbeispiel eines Audioübertragungssystems gemäß einer dritten Ausführungsform der vorliegenden Technologie darstellt.
    • 28 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Sendeendgeräts darstellt.
    • 29 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Empfangsendgeräts darstellt.
    • 30 ist ein Ablaufplan zum Beschreiben der Steuerungsverarbeitung für Kommunikation zwischen Endgeräten des Empfangsendgeräts.
    • 31 ist ein Ablaufplan zum Beschreiben von Anforderungsdatenbestimmungsverarbeitung in Schritt S307 von 30.
    • 32 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Computers darstellt.
  • ART UND WEISE ZUM AUSFÜHREN DER ERFINDUNG
  • Nachstehend wird die Art und Weise zum Ausführen der vorliegenden Technologie beschrieben. Die Beschreibung wird in der folgenden Reihenfolge gegeben.
    • 0. Überblick über die vorliegende Technologie
    • 1. Erste Ausführungsform (System, das Paketverlustverdeckung aufweist)
    • 2. Zweite Ausführungsform (Kombination mit dynamischer Steuerung der Datenmenge entsprechend dem Kommunikationsstatus)
    • 3. Dritte Ausführungsform (Steuerung von Eines-zuvielen-Kommunikation)
    • 4. Anderes
  • <0. Überblick über die vorliegende Technologie>
  • <Beschreibung von Begriffen>
  • Zuerst werden die in der vorliegenden Spezifikation verwendeten Begriffe beschrieben.
  • Unter den Vorwärtsfehlerkorrekturschemas ist „medienspezifische Vorwärtsfehlerkorrektur (FEC)“ ein Schema zum Halten mehrerer audiocodierter Daten, die unterschiedliche Codierformate oder Einstellungen aufweisen, als Fehlerkorrekturdaten.
  • „Paketverlustverdeckung“ ist ein Verfahren zum Wiederherstellen oder Interpolieren von Daten in einem Paket, die als ein Ergebnis der Übertragung verloren gegangen sind.
  • „Rahmen“ ist eine Verarbeitungseinheit, die in Codierungsschemas standardisiert ist.
  • „Hauptdaten“ sind Daten (codierte Daten) eines Rahmens, die normalerweise in einem Paket übertragen werden. „Redundante Daten“ sind Daten (codierte Daten) eines Rahmens, die zu den Hauptdaten separat hinzugefügt werden, um für Paketverlustverdeckung oder dergleichen verwendet zu werden.
  • „Paket“ ist eine Übertragungseinheit, die in Übertragungsschemas standardisiert ist, und repräsentiert einen in einer Kommunikation übertragenen Datenblock. Insbesondere enthält ein Paket in der vorliegenden Technologie Hauptdaten und redundante Daten.
  • „Redundanzgrad“ ist ein Grad der Redundanz, der durch die Anzahl und Qualität hinzuzufügender redundanter Daten angepasst wird. In der vorliegenden Spezifikation repräsentiert der „Redundanzgrad“ die Anzahl von Einheiten redundanter Daten, die einem Paket hinzugefügt sind, sofern nicht anders spezifiziert.
  • Bei der BLE-Sprachübertragung werden Pakete in regelmäßigen Abständen, dem sogenannten ISO-Intervall, übertragen. Ein Paket, das während dieser Zeitspanne nicht erfolgreich übertragen worden ist, wird in dem nächsten ISO-Intervall in Reaktion auf eine Anforderung von einem Empfangsendgerät erneut übertragen. Nachstehend ist eine Zeit, während der der Neuübertragungsprozess wiederholt werden kann, als eine Neuübertragungs-Timeout-Zeitspanne bezeichnet.
  • Da ein Paket, dessen Übertragung innerhalb der Neuübertragungs-Timeout-Zeitspanne nicht erfolgreich war, verworfen wird, wird ein Verlustpaket erzeugt. Dementsprechend nimmt, wenn die Neuübertragungs-Timeout-Zeitspanne kurz ist, die Paketverlusthäufigkeit, die die Häufigkeit ist, mit der ein Verlustpaket erzeugt wird, zu. Andererseits nimmt die Paketverlusthäufigkeit ab, wenn die Wiedergabe-Timeout-Zeitspanne lang ist.
  • Wenn ein Verlustpaket erzeugt wird, wird, falls die Wiedergabe unverändert ausgeführt wird, ein Unterbrechungspunkt in dem Audiosignal erzeugt, und dieser Unterbrechungspunkt wird als Unbehagen beim Hören wahrgenommen. Um das zu verhindern, wird beispielsweise Paketverlustverdeckung ausgeführt.
  • <Überblick über die Paketverlustverdeckung>
  • 1 ist ein Diagramm, das einen Überblick über die Paketverlustverdeckung unter Verwendung medienspezifischer FEC (nachstehend einfach als Paketverlustverdeckung bezeichnet) darstellt.
  • In 1 repräsentiert ein Rechteck zwischen einem Sendeendgerät 1 und einem Empfangsendgerät 2 ein Paket, das von dem Sendeendgerät 1 zu dem Empfangsendgerät 2 gesendet wird.
  • Zuerst fügt das Sendeendgerät 1 als redundante Daten Audiodaten eines Rahmens vor oder nach Hauptdaten zu den Audiodaten als den Hauptdaten hinzu und sendet die Audiodaten. Redundante Daten unterscheiden sich allgemein im Codierverfahren oder der Einstellung von Hauptdaten und besitzen eine geringere Qualität als die Hauptdaten. Beispielsweise werden in einem N-ten Paket redundante Daten eines N+1-ten Rahmens zu den Hauptdaten eines N-ten Rahmens hinzugefügt. In dem zuvor übertragenen Paket des N-ten Rahmens werden redundante Daten des N-ten Rahmens den Hauptdaten des N-1-ten Rahmens hinzugefügt. Ähnlich werden in dem N-2-ten Paket redundante Daten des N-1ten Rahmens zu den Hauptdaten des N-2ten Rahmens hinzugefügt.
  • Wie in 1 durch ein Kreuz angegeben, wird, wenn das N-1-te Paket verworfen wird, weil die Neuübertragungs-Timeout-Zeitspanne überschritten wurde, falls das Empfangsendgerät 2 nur die Hauptdaten unverändert wiedergibt, ein Verlustpaket aufgrund des Verwurfs des N-1-ten Pakets erzeugt, und ein Unterbrechungspunkt tritt auf.
  • Somit führt, wenn die Hauptdaten des N-1-ten Rahmens, die in dem N-1-ten Paket enthalten sind, verloren gehen, das Empfangsendgerät 2 Interpolation unter Verwendung der redundanten Daten des N-1-Rahmens, die in dem N-2-ten Paket enthalten sind, als eine Verdeckung aus. Als ein Ergebnis wird, obwohl die Hauptdaten des N-1-ten Rahmens nicht vollständig wiederherstellt werden, Rauschen reduziert, und es ist weniger wahrscheinlich, dass ein Fehler (Hörunbehagen) wahrgenommen wird.
  • Es wird darauf hingewiesen, dass, obwohl 1 ein Beispiel darstellt, in dem Audiodaten eines zukünftigen Rahmens als redundante Daten hinzugefügt werden, die hinzuzufügenden redundanten Daten Audiodaten eines vorhergehenden Rahmens sein können.
  • <Zusammenhang zwischen der Anzahl von Einheiten redundanter Daten und dem möglichen Bereich der Verdeckung>
  • 2 und 3 sind Diagramme, die einen Zusammenhang zwischen der Anzahl von Einheiten redundanter Daten und dem möglichen Bereich der Verdeckung darstellen. Es wird darauf hingewiesen, dass die 2 und 3 ein Beispiel für einen Rahmen / ein Paket darstellen.
  • 2 stellt ein Paket dar, das eine Paketkonfiguration A aufweist, und 3 stellt ein Paket, das eine Paketkonfiguration A aufweist, und ein Paket, das eine Paketkonfiguration B aufweist, dar. In dem Paket mit der Paketkonfiguration A wird eine Einheit redundanter Daten (Anzahl von Einheiten redundanter Daten: eins) einer Einheit von Hauptdaten hinzugefügt. In dem Paket mit der Paketkonfiguration A werden drei Einheiten redundanter Daten (Anzahl von Einheiten redundanter Daten: drei) einer Einheit von Hauptdaten hinzugefügt.
  • Außerdem ist in den 2 und 3 das Paket vor der Verdeckung in dem Empfangsendgerät 2 auf der linken Seite dargestellt, und das Paket nach der Verdeckung in dem Empfangsendgerät 2 ist auf der rechten Seite dargestellt.
  • Wie in 2 dargestellt ist, kann in einem Fall, in dem die Paketverlusthäufigkeit gering ist, eine Interpolation der Hauptdaten in dem Verlustpaket unter Verwendung des Pakets mit der Paketkonfiguration A ausgeführt werden.
  • Andererseits ist in einem Fall, in dem die Paketverlusthäufigkeit hoch ist, wie in 3 durch einen Pfeil a angegeben ist, wenn das Paket mit der Paketkonfiguration A verwendet wird, die Anzahl Einheiten redundanter Daten in Bezug auf die Anzahl von Verlustpaketen unzureichend, und die Interpolation der Hauptdaten in den Verlustpaketen wird unzureichend.
  • Indessen kann, wenn das Paket mit der Paketkonfiguration B verwendet wird, wie in 3 durch einen Pfeil b angegeben ist, selbst wenn die Paketverlusthäufigkeit hoch ist, jede Einheit von Hauptdaten in den Verlustpaketen mit den redundanten Daten interpoliert werden.
  • Das heißt, durch die Erhöhung der redundanten Daten wird der mögliche Bereich der Verdeckung ausgeweitet.
  • Insbesondere in der Sprachübertragung unter Verwendung von BLE ist jedoch eine Datengröße, die pro Paket gespeichert werden kann, eine feste Länge. Dementsprechend ist es, wie durch Vergleichen der Paketkonfiguration A und der Paketkonfiguration in 3 zu sehen ist, um die Anzahl von Einheiten redundanter Daten zu erhöhen und den mögliche Bereich der Verdeckung zu erweitern, notwendig, die Datengröße der Hauptdaten zu reduzieren und die Qualität zu opfern.
  • Zusätzlich variiert, da die Neuübertragungs-Timeout-Zeitspanne für jede Kombination aus Sende- und Empfangsendgeräten bestimmt wird, die notwendige Qualität der Verdeckung abhängig von der Kombination von Geräten, selbst unter der gleichen Funkwellenumgebung.
  • Somit wird, wie vorstehend beschrieben, unter Verwendung der Tatsache, dass die Neuübertragungs-Timeout-Zeitspanne mit der Paketverlusthäufigkeit korreliert, in der vorliegenden Technologie die Neuübertragungs-Timeout-Zeitspanne zu der Zeit der BLE-Verbindung (beim Start der Übertragung) erfasst, und die Anzahl von Einheiten redundanter Daten, die der Redundanzgrad ist, wird gemäß der erfassten Neuübertragungs-Timeout-Zeitspanne eingestellt. Als ein Ergebnis ist es möglich, einen geeigneten möglichen Bereich der Verdeckung gemäß der Kombination von Geräten einzustellen.
  • <Verfahren zum Bestimmen der Anzahl von Einheiten redundanter Daten in der vorliegenden Technologie>
  • 4 ist ein Diagramm, das ein Verfahren zum Bestimmen der Anzahl von Einheiten redundanter Daten gemäß der vorliegenden Technologie darstellt.
  • In 4 wird die Neuübertragungs-Timeout-Zeitspanne von links nach rechts kürzer. Für eine solche Neuübertragungs-Timeout-Zeitspanne wird die Anzahl von Einheiten redundanter Daten so bestimmt, dass sie von links nach rechts zunimmt.
  • Das heißt, in einem Fall, in dem die Neuübertragungs-Timeout-Zeitspanne lang ist, wird erwartet, dass die Paketverlusthäufigkeit gering ist. Somit wird in der vorliegenden Technologie bestimmt, die Anzahl von Einheiten redundanter Daten zu reduzieren und den möglichen Bereich der Verdeckung zu verengen. Als ein Ergebnis werden weniger ursprünglich zu übertragende Hauptdaten geopfert.
  • Andererseits wird in einem Fall, in dem die Neuübertragungs-Timeout-Zeitspanne kurz ist, erwartet, dass die Paketverlusthäufigkeit hoch ist. Somit wird in der vorliegenden Technologie bestimmt, die Anzahl von Einheiten redundanter Daten zu vergrößern und den möglichen Bereich der Verdeckung zu erweitern. Als ein Ergebnis ist es weniger wahrscheinlich, dass die Interpolation der Hauptdaten in dem Verlustpaket unzureichend wird.
  • Die Neuübertragungs-Timeout-Zeitspanne kann aus einem Parameter, der zur Zeit der Verbindung bestimmt wird, durch die Kombination von Sende- und Empfangsendgeräten zu der Zeit der Verbindung der BLE-Kommunikation berechnet werden. Die Anzahl von Einheiten redundanter Daten kann unter Verwendung einer Berechnungsformel oder einer Tabelle, die im Voraus vorbereitet wurde und den Zusammenhang zwischen der Reproduktions-Timeout-Zeitspanne und dem entsprechenden Redundanzgrad betrifft, berechnet werden.
  • Es wird darauf hingewiesen, dass es ein Ziel der vorliegenden Technologie ist, eine Verdeckung von Paketverlust, der währen der Kommunikation zu einigen Prozent auftritt, mit hoher Qualität sicherzustellen. Dementsprechend ist eine Situation, in der ein Burst-Paketverlust auftritt, wie z.B. eine Situation, in der der Kommunikationsstatus schlecht ist und die zur Sprachübertragung notwendige Datenmenge nicht konstant sichergestellt werden kann, nicht Gegenstand der vorliegenden Technologie.
  • <1. Erste Ausführungsform (System, das Paketverlustverdeckung aufweist)>
  • <Konfiguration des Audioübertragungssystems>
  • 5 ist ein Diagramm, das ein Konfigurationsbeispiel eines Audioübertragungssystems gemäß der Ausführungsform der vorliegenden Technologie darstellt.
  • Das Audioübertragungssystem ist durch Verbinden eines Sendeendgeräts 11 und eines Empfangsendgeräts 12 durch BLE-Kommunikation konfiguriert.
  • Das Sendeendgerät 11 weist beispielsweise ein multifunktionales Mobiltelefon wie z. B. ein Smartphone, ein mobiles Endgerät oder dergleichen auf. Zu Beginn der Übertragung berechnet das Sendeendgerät 11 die Neuübertragungs-Timeout-Zeitspanne und bestimmt den Redundanzgrad redundanter Daten. Das Sendeendgerät 11 erzeugt redundante Daten auf der Basis des bestimmten Redundanzgrads und codiert Hauptdaten und redundante Daten, die Audiodaten aufweisen. Das Sendeendgerät 11 sendet ein Paket, das die codierten Hauptdaten und redundanten Daten aufweist, an das Empfangsendgerät 12.
  • Das Empfangsendgerät 12 weist beispielsweise Ohrhörer, Kopfhörer oder dergleichen auf. Das Empfangsendgerät 12 empfängt von dem Sendeendgerät 11 gesendete Pakete und sammelt vorübergehend die Hauptdaten und die redundanten Daten getrennt. In einem Fall, in dem Hauptdaten vorhanden sind, die den wiederzugebenden Wiedergabedaten entsprechen, decodiert das Empfangsendgerät 12 die Hauptdaten und gibt sie wieder. In einem Fall, in dem keine Hauptdaten vorhanden sind, die den wiederzugebenden Wiedergabedaten entsprechen, decodiert und das Empfangsendgerät 12 die den Hauptdaten entsprechenden redundanten Daten und gibt sie wieder.
  • <Konfigurationsbeispiel für das Sendeendgerät>
  • 6 ist ein Blockdiagramm, das ein Konfigurationsbeispiel des Sendeendgeräts 11 darstellt.
  • Es wird darauf hingewiesen, dass in dem Konfigurationsbeispiel für das Sendeendgerät 11 Einzelheiten der Schichten der Drahtlosübertragung weggelassen sind. Zusätzlich ist in der vorliegenden Spezifikation angenommen, dass Hauptdaten eines Rahmens und redundante Daten eines Rahmens oder mehrerer Rahmen in einem Paket gespeichert und übertragen werden.
  • Das Sendeendgerät 11 weist eine BLE-Steuereinheit 21, eine Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22, eine Signalverarbeitungseinheit 23, einen Eingangspuffer 24, eine Einheit 25 zur Erzeugung redundanter Daten, eine Codiereinheit 26, eine Multiplexierer-Einheit (Mux-Einheit) 27 und einen Sendepuffer 28 auf.
  • Die BLE-Steuereinheit 21 steuert den Betrieb, der sich auf die BLE-Kommunikation bezieht. Die BLE-Steuereinheit 21 erfasst einen Parameter, der gemäß einer Kommunikation von Sende- und Empfangsendgeräten zu der Zeit der Verbindung durch BLE-Kommunikation nachdem die Verbindung durch BLE-Kommunikation fertiggestellt ist, bestimmt wird, und gibt den Parameter zu der Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 aus. Einzelheiten der Parameter sind weggelassen.
  • Die Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 berechnet eine Neuübertragungs-Timeout-Zeitspanne auf der Basis des von der BLE-Steuereinheit 21 zugeführten Parameters. Die Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 gibt die Neuübertragungs-Timeout-Zeitspanne zu der Einheit 25 zur Erzeugung redundanter Daten aus.
  • Die Signalverarbeitungseinheit 23 erfasst Audiodaten, die zum Erzeugen eines Rahmens notwendig sind, aus einer Audiodatei, führt Vorverarbeitung von Audiocodieren aus und sammelt die als ein Ergebnis erhaltenen Daten in dem Eingangspuffer 24. Die Vorverarbeitung der Audiocodierung ist beispielsweise Zeit-Frequenz-Umsetzungsverarbeitung.
  • Wenn die Daten durch die Signalverarbeitungseinheit 23 gesammelt werden und der Eingangspuffer 24 voll ist, verwirft der Eingangspuffer 24 Daten mit der geringsten Priorität (normalerweise werden die ältesten Daten verworfen).
  • Die Einheit 25 zur Erzeugung redundanter Daten erfasst die ursprünglichen Daten, die den Hauptdaten und den redundanten Daten entsprechen, aus dem Eingangspuffer 24. Ursprüngliche Daten, die den Hauptdaten entsprechen, sind Audiodaten für einen Rahmen, die zum Erzeugen der Hauptdaten notwendig sind. ursprüngliche Daten, die den redundanten Daten entsprechen, sind Audiodaten für einen oder mehrere Rahmen, die zum Erzeugen der redundanten Daten notwendig sind.
  • Zusätzlich meldet die Codiereinheit 26 die codierte Datenmenge der redundanten Daten an die Einheit 25 zur Erzeugung redundanter Daten.
  • Die Einheit 25 zur Erzeugung redundanter Daten bestimmt den Redundanzgrad auf der Basis der von der Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 zugeführten Neuübertragungs-Timeout-Zeitspanne. Die Einheit 25 zur Erzeugung redundanter Daten erzeugt die Hauptdaten und die redundante Daten auf der Basis der Meldung über die codierte Datenmenge, die durch die Codiereinheit 25 bereitgestellt wird, und des bestimmen Redundanzgrads.
  • Zu diesem Zeitpunkt kann durch die in dem Eingangspuffer 24 gesammelten Daten eingestellt werden, welches der vorhergehenden und nachfolgenden Pakete (N-2-tes, N-1-tes, N+1-tes oder N+2-tes) durch die redundanten Daten für das N-te Paket wiederhergestellt werden soll. Beispielsweise ist es möglich, mehrere Einheiten zukünftiger Daten in dem Eingangspuffer 24 zu sammeln und die gesammelten zukünftigen Daten zur Erzeugung redundanter Daten zu verwenden. Zusätzlich können mehrere Einheiten vergangener Daten in dem Eingangspuffer 24 gesammelt werden, und die gesammelten vergangenen Daten können zur Erzeugung redundanter Daten verwendet werden. Aus diesem Grund kann das Verfahren zur Erzeugung redundanter Daten gemäß einer zulässigen Verzögerungsgröße oder anderen Bedingungen eingestellt werden.
  • Die Einheit 25 zur Erzeugung redundanter Daten gibt die erzeugten Hauptdaten und redundanten Daten an die Codiereinheit 26 aus. Zusätzlich bestimmt die Einheit 25 zur Erzeugung redundanter Daten die Codiereinstellung, die den zu der Codiereinheit 26 ausgegebenen Hauptdaten und redundanten Daten entspricht, und meldet die bestimmte Codiereinstellung an die Codiereinheit 26. Die Codiereinstellung wird durch Berechnen einer Zieldatenmenge bestimmt.
  • Die Codiereinheit 26 codiert die Hauptdaten und die redundanten Daten auf der Basis der erfassten Codiereinstellung. Die Codiereinheit 26 gibt die codierten Hauptdaten und redundanten Daten zu der Mux-Einheit 27 aus. Zusätzlich gibt die Codiereinheit 26 die codierte Datenmenge der redundanten Daten zu der Einheit 25 zur Erzeugung redundanter Daten aus.
  • Beispielsweise erfasst die Codiereinheit in einem Fall, in dem drei zukünftige Pakete den Hauptdaten als redundante Daten hinzugefügt werden, um das N-te Paket zu erzeugen, Hauptdaten des N-ten Rahmens, redundante Daten, die aus Hauptdaten des N+1-ten bis N+3-ten Rahmens erzeugt werden, und die Codiereinstellung jeder Dateneinheit aus der Einheit 25 zur Erzeugung redundanter Daten.
  • Die Mux-Einheit 27 führt eine Mux-Verarbeitung auf den codierten Hauptdaten und den redundanten Daten, die von der Codiereinheit 26 zugeführt werden, aus. Das heißt, die Mux-Einheit 27 speichert die codierten Hauptdaten und die redundanten Daten in einem zur BLE-Kommunikation geeigneten Paket. Die Mux-Einheit 27 sammelt Pakete in dem Sendepuffer 28 zur BLE-Kommunikation.
  • <Betrieb des Sendeendgeräts>
  • Nachstehend wird der grundlegende Verarbeitungsablauf des Sendeendgeräts 11 der ersten Ausführungsform für die Systemeinstellungsverarbeitung und die Sendepaketerzeugungsverarbeitung getrennt beschrieben. Die Systemeinstellungsverarbeitung ist eine Verarbeitung, die nur einmal zum Zeitpunkt der Verbindung der BLE-Kommunikation ausgeführt wird. Andererseits ist die Sendepaketerzeugungsverarbeitung eine Verarbeitung, die während der Sprachübertragung durch BLE-Kommunikation mehrmals ausgeführt wird.
  • <Systemeinstellungsverarbeitung>
  • 7 ist ein Ablaufplan zum Beschreiben der Systemeinstellungsverarbeitung des Sendeendgeräts 11.
  • In Schritt S11 startet die BLE-Steuereinheit 21 die BLE-Kommunikation durch Ausführen von BLE-Verbindungsverarbeitung. Zu diesem Zeitpunkt erfasst die BLE-Steuereinheit 21 den Parameter, der sich auf die durch die Kombination mit dem Empfangsendgerät 12 bestimmte Neuübertragungs-Timeout-Zeitspanne bezieht, von dem Empfangsendgerät 12 und gibt den Parameter zu der Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 aus.
  • In Schritt S12 führt die Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 Neuübertragungs-Timeout-Zeitspannen-Berechnungsverarbeitung auf der Basis des von der BLE-Steuereinheit 21 zugeführten Parameters aus und berechnet die Neuübertragungs-Timeout-Zeitspanne.
  • In Schritt S13 bestimmt die Einheit 25 zur Erzeugung redundanter Daten die Anzahl von Einheiten redundanter Daten (den Redundanzgrad) auf der Basis der von der Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 zugeführten Neuübertragungs-Timeout-Zeitspanne. Die Anzahl von Einheiten redundanter Daten wird unter Verwendung eines relationalen Ausdrucks oder einer Tabelle, die im Voraus vorbereitet ist, bestimmt und gibt eine Zuordnung zwischen der Neuübertragungs-Timeout-Zeitspanne und der Anzahl von Einheiten redundanter Daten an.
  • In einem Fall, in dem die Neuübertragungs-Timeout-Zeitspanne lang ist, wird erwartet, dass die Paketverlusthäufigkeit gering ist. Somit wird in der vorliegenden Technologie der Bereich des Rahmens, der den redundanten Daten entspricht, angepasst und bestimmt, so dass die Anzahl von Einheiten redundanter Daten reduziert wird und der mögliche Bereich der Verdeckung verengt wird. Zu diesem Zeitpunkt wird der Anteil der redundanten Daten reduziert und der Anteil der Hauptdaten wird in dem Paket erhöht im Vergleich zu einem Fall, in dem die Neuübertragungs-Timeout-Zeitspanne kurz ist.
  • In einem Fall, in dem die Neuübertragungs-Timeout-Zeitspanne kurz ist, wird erwartet, dass die Paketverlusthäufigkeit hoch ist. Somit wird in der vorliegenden Technologie der Bereich des Rahmens, der den redundanten Daten entspricht, angepasst und bestimmt, so dass die Anzahl von Einheiten redundanter Daten erhöht wird und der mögliche Bereich der Verdeckung ausgeweitet wird. Zu diesem Zeitpunkt wird der Anteil der redundanten Daten erhöht und der Anteil der Hauptdaten wird in dem Paket reduziert im Vergleich zu einem Fall, in dem die Neuübertragungs-Timeout-Zeitspanne lang ist.
  • In Schritt S14 bestimmt die Einheit 25 zur Erzeugung redundanter Daten die Zieldatenmenge der Hauptdaten auf der Basis der bestimmten Anzahl von Einheiten redundanter Daten und der vorbestimmten Zieldatenmenge der redundanten Daten. Zusätzlich werden in Schritt S14, wenn die Zieldatenmenge der Hauptdaten bestimmt wird, die Codiereinstellung der Hauptdaten und die Codiereinstellung der redundanten Daten bestimmt, so dass sie in die Zieldatenmenge fallen.
  • Es wird darauf hingewiesen, dass im Voraus eine Standard-Zieldatenmenge pro Einheit redundanter Daten bestimmt wird. Dementsprechend wird die Zieldatenmenge der Hauptdaten auf der Basis der Zieldatenmenge der redundanten Daten, der Anzahl von Einheiten redundanter Daten und der Datengröße des Pakets eingestellt.
  • Nach Schritt S14 endet die Systemeinstellungsverarbeitung.
  • <Berechnung der Zieldatenmenge>
  • 8 ist ein Diagramm, das ein spezifisches Beispiel für die Berechnung der Zieldatenmenge zeigt.
  • 8 stellt ein Paket dar. Beispielsweise ist, wie in 8 dargestellt, in einem Fall, in dem die Zieldatenmenge der redundanten Daten 20 [Byte] ist, die Anzahl von Einheiten redundanter Daten drei ist und die Datengröße des Pakets 240 [Byte] ist, die Zieldatenmenge der Hauptdaten 240 - 20 × 3 = 180 [Byte].
  • <Sendepaketerzeugungsverarbeitung>
  • 9 ist ein Ablaufplan zum Beschreiben von Sendepaketerzeugungsverarbeitung des Sendeendgeräts 11.
  • In Schritt S31 erfasst die Signalverarbeitungseinheit 23 eine Audiodatei oder Audiodaten von außen.
  • In Schritt S32 führt die Signalverarbeitungseinheit 23 Signalverarbeitung wie z. B. Zeit-Frequenz-Umsetzung auf den Audiodaten aus.
  • In Schritt S33 sammelt die Signalverarbeitungseinheit 23 die als ein Ergebnis der Signalverarbeitung erhaltenen Daten in dem Eingangspuffer 24.
  • In Schritt S34 führen die Einheit 25 zur Erzeugung redundanter Daten und die Codiereinheit 26 Verarbeitung zur Erzeugung redundanter Daten aus. Einzelheiten der Verarbeitung zur Erzeugung redundanter Daten werden später mit Bezug auf 10 beschrieben. Durch die Verarbeitung von Schritt S34 werden die Erzeugung redundanter Daten und die Aktualisierung der Codiereinstellung der der Hauptdaten ausgeführt.
  • In Schritt S35 führt die Codiereinheit 26 Codierverarbeitung auf den Hauptdaten auf der Basis der Codiereinstellung der Hauptdaten aus. Die Codiereinheit 26 gibt die codierten Hauptdaten und redundanten Daten an die Mux-Einheit 27 aus.
  • In Schritt S36 führt die Mux-Einheit 27 Mux-Verarbeitung aus. Insbesondere speichert die Mux-Einheit 27 die codierten Hauptdaten und redundanten Daten, die von der Codiereinheit 26 zugeführt werden, in einem zur BLE-Kommunikation geeigneten Paket.
  • Die Mux-Einheit 27 sammelt das Paket in dem Sendepuffer 28 zur BLE-Kommunikation, und die Sendepaketerzeugungsverarbeitung endet. Danach wird das Paket durch BLE-Kommunikation an das Empfangsendgerät 12 gesendet.
  • <Verarbeitung zur Erzeugung redundanter Daten>
  • 10 ist ein Ablaufplan zum Beschreiben der Verarbeitung zur Erzeugung redundanter Daten in Schritt S34 von 9.
  • In Schritt S51 erfasst die Einheit 25 zur Erzeugung redundanter Daten eine Einheit ursprünglicher Daten, die den redundanten Daten entsprechen, aus dem Eingangspuffer 24.
  • In Schritt S52 extrahiert die Einheit 25 zur Erzeugung redundanter Daten eine Audiosignalkomponente, die für redundante Daten wesentlich ist, aus den erfassten ursprünglichen Daten und erzeugt redundante Daten.
  • Hier wird eine Audiosignalkomponente, die für die redundanten Daten wesentlich ist, in den ursprünglichen Daten auf der Basis einer voreingestellten Tabelle oder Berechnungsformel, die der in Schritt S14 in 7 bestimmten Codiereinstellung entspricht, oder einer Merkmalsgröße wie z. B. Wellenforminformationen der Daten bestimmt. Zu dieser Zeit wird die Audiosignalkomponente, die für die redundanten Daten wesentlich ist, so bestimmt, dass die Verschlechterung kaum wahrgenommen wird, selbst wenn die Audiosignalkomponente bei der Wiedergabe durch ursprüngliche Daten ersetzt wird.
  • Zusätzlich reduziert die Verarbeitung zum Löschen von Komponenten, die nicht die wesentlichen Audiosignalkomponenten sind, auf der Basis der Codiereinstellung, wie z. B. Ausschließen der Komponenten aus dem Codierziel in der Codierverarbeitung in dem Frequenzspektrum der Hauptdaten, die redundanten Daten, die in der nachfolgenden Stufe zu codieren sind, in hohem Maße.
  • In Schritt S53 bestimmt die Einheit 25 zur Erzeugung redundanter Daten, ob ursprüngliche Daten, die zu verarbeiten sind, in dem Eingangspuffer 24 übrigbleiben oder nicht. Falls in Schritt S53 bestimmt wird, dass zu verarbeitende ursprüngliche Daten in dem Eingangspuffer 24 übrigbleiben, kehrt die Verarbeitung zu Schritt S51 zurück, und die Verarbeitung in Schritt S51 und den nachfolgenden Schritten wird wiederholt.
  • Falls in Schritt S53 bestimmt wird, dass keine zu verarbeitenden ursprünglichen Daten in dem Eingangspuffer 24 vorhanden sind, fährt die Verarbeitung zu Schritt S54 fort.
  • In Schritt S54 bestimmt die Einheit 25 zur Erzeugung redundanter Daten, ob redundante Daten, die in Korrelationsdaten umzusetzen sind, vorhanden sind oder nicht. Falls in Schritt S54 bestimmt wird, dass redundante Daten, die in Korrelationsdaten umzusetzen sind, vorhanden sind, fährt die Verarbeitung zu Schritt S55 fort.
  • Hier sind Korrelationsdaten Daten, die eine Korrelation zwischen Hauptdaten und redundanten Daten oder Einheiten redundanter Daten in einem Paket betreffen. Da angenommen ist, dass Einheiten erzeugter redundanter Daten eine Zeitreihenkorrelation aufweisen, ist es auch möglich, nur bei Bedarf Korrelationsdaten zu codieren.
  • In Schritt S55 bestimmt die Einheit 25 zur Erzeugung redundanter Daten, ob auf Hauptdaten zur Korrelationsdatenerzeugung zurückgegriffen werden soll oder nicht. Falls in Schritt S55 bestimmt wird, auf Hauptdaten zur Korrelationsdatenerzeugung zurückzugreifen, fährt die Verarbeitung zu Schritt S56 fort.
  • In Schritt S56 erfasst die Einheit 25 zur Erzeugung redundanter Daten die Hauptdaten (da keine Verarbeitung ausgeführt wird, die unveränderten ursprünglichen Daten) aus dem Eingangspuffer 24.
  • Falls in Schritt S55 bestimmt wird, nicht auf die Hauptdaten zur Korrelationsdatenerzeugung zurückzugreifen, wird die Verarbeitung in Schritt S56 übersprungen, und die Verarbeitung fährt zu Schritt S57 fort.
  • In Schritt S57 führt die Einheit 25 zur Erzeugung redundanter Daten Korrelationsdatenerzeugungsverarbeitung aus und erzeugt Korrelationsdaten, die den redundanten Daten entsprechen. Nachstehend werden die Korrelationsdaten als neue redundante Daten behandelt. Es wird darauf hingewiesen, dass es zu diesem Zeitpunkt nicht immer notwendig ist, die ursprünglichen redundanten Daten aus den Korrelationsdaten vollständig wiederherzustellen, solange die redundanten Daten in Bezug auf die Tonqualität innerhalb eines zulässigen Bereichs sind.
  • In Schritt S59 bestimmt die Einheit 25 zur Erzeugung redundanter Daten, ob zu verarbeitende redundante Daten übrigbleiben oder nicht. Falls in Schritt S58 bestimmt wird, dass zu verarbeitende redundante Daten übrigbleiben, kehrt die Verarbeitung zu Schritt S57 zurück, und die Verarbeitung in Schritt S57 und den nachfolgenden Schritten wird wiederholt.
  • Falls in Schritt S58 bestimmt wird, dass keine zu verarbeitenden redundante Daten vorhanden sind, fährt die Verarbeitung zu Schritt S59 fort.
  • Falls in Schritt S54 bestimmt wird, dass keine redundanten Daten, die in Korrelationsdaten umzusetzen sind, vorhanden sind, fährt die Verarbeitung zusätzlich auch zu Schritt S59 fort.
  • In Schritt S59 codiert die Codiereinheit 26 die aus der Einheit 25 zur Erzeugung redundanter Daten erfassten redundanten Daten auf der Basis der Codiereinstellung der redundanten Daten, die in Schritt S14 von 7 bestimmt worden ist. Das heißt, die redundanten Daten werden so codiert, dass sie in die Zieldatenmenge fallen.
  • In Schritt S60 aktualisiert die Einheit 25 zur Erzeugung redundanter Daten die Zieldatenmenge der Hauptdaten mit freiem Platz in dem Paket. Freier Platz in dem Paket ist Paketdatengröße - Summe codierter redundanter Datenmenge. Zu diesem Zeitpunkt wird, da die Zieldatenmenge der Hauptdaten aktualisiert wird, die Codiereinstellung der Hauptdaten so aktualisiert, dass sie in diese Datenmenge fällt. Nach Schritt S60 endet die Verarbeitung zur Erzeugung redundanter Daten.
  • <Einzelheiten der Verarbeitung in Schritt S60 von Fig. 10>
  • 11 ist ein Diagramm zum Beschreiben der Verarbeitung von Schritt S60 in 10.
  • 11 stellt ein Beispiel dar, in dem drei Einheiten redundanter Daten für die Hauptdaten erzeugt werden. Das heißt, A von 11 und B von 11 stellen Pakete war, die Hauptdaten N und redundanten Daten N+1 bis N+3 aufweisen.
  • A von 11 stellt ein Beispiel dar, in dem die Zieldatenmenge der Hauptdaten N auf die in der Verarbeitung von Schritt S14 bestimmte Zieldatenmenge eingestellt ist. Hier kann das Codierergebnis, abhängig von den Inhalten der redundanten Daten, signifikant kleiner sein als die Zieldatenmenge. In einem solchen Fall wird durch die Codierverarbeitung für redundante Daten in Schritt S59 ein freier Platz E in dem Paket erzeugt, wie in A von 11 dargestellt ist.
  • Deshalb wird in Schritt S60, wie durch einen Pfeil in A in 11 angegeben, die Zieldatenmenge der Hauptdaten N erhöht, um den freien Platz E in dem Paket zu füllen.
  • Als ein Ergebnis nimmt die Zieldatenmenge der Hauptdaten N zu, wie in B von 11 dargestellt ist. Dementsprechend können Hauptdaten in dem Paket mit der höchstmöglichen Qualität übertragen werden.
  • <Konfigurationsbeispiel für das Empfangsendgerät>
  • 12 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Empfangsendgeräts darstellt.
  • Das Empfangsendgerät 12 weist eine BLE-Steuereinheit 51, einen Empfangspuffer 52, eine Demux-Einheit (Demultiplexierer-Einheit) 53, einen Hauptdatenpuffer 54, einen Puffer 55 für redundante Daten, eine Wiedergabedatenauswahleinheit 56, eine Decodiereinheit 57, eine Signalverarbeitungseinheit 58 und einen Audio-DAC 59 auf.
  • Die BLE-Steuereinheit 51 steuert den Betrieb, der sich auf die BLE-Kommunikation bezieht. Die BLE-Steuereinheit 51 zählt Paketverluste aufgrund der BLE-Kommunikation. Die BLE-Steuereinheit 21 führt Paketverlustinformationen, die Paketverlust angeben, der Demux-Einheit 53 in Reaktion auf eine Anfrage von der Demux-Einheit 53 zu.
  • Der Empfangspuffer 52 empfängt und sammelt Pakete durch die BLE-Kommunikation.
  • Die Demux-Einheit 53 erfasst die in dem Empfangspuffer 52 gesammelten Pakete.
  • Die Demux-Einheit 53 trennt das erfasste Paket in Hauptdaten und redundante Daten. Die Demux-Einheit 53 fügt jeder Einheit von Daten eine Datennummer (frame_id) hinzu, sammelt die Hauptdaten in dem Hauptdatenpuffer 54 und sammelt die redundanten Daten in dem Puffer 55 für redundante Daten. Die Datennummer wird verwendet, um die durch die Wiedergabedatenauswahleinheit 56 ausgewählten Daten zu identifizieren.
  • In einem Fall, in dem wiederzugebende Daten (nachstehend als Wiedergabedaten bezeichnet) in dem Hauptdatenpuffer 54 oder dem Puffer 55 für redundante Daten vorhanden sind, erfasst die Wiedergabedatenauswahleinheit 56 die Wiedergabedaten und gibt die Wiedergabedaten zu der Decodiereinheit 57 aus. Die Wiedergabedatenauswahleinheit 56 meldet das Vorhandensein oder Fehlen von Wiedergabedaten an die Signalverarbeitungseinheit 58.
  • Die Decodiereinheit 57 erfasst und decodiert die Hauptdaten oder eine oder mehrere Einheiten redundanter Daten, die von der Wiedergabedatenauswahleinheit 56 zugeführt werden. Die Decodiereinheit 57 gibt die decodierten Hauptdaten oder eine oder mehrere Einheiten redundanter Daten zu der Signalverarbeitungseinheit 58 aus.
  • Gemäß dem Vorhandensein oder Fehlen von Wiedergabedaten, für das eine Meldung durch die Wiedergabedatenauswahleinheit 56 bereitgestellt wird, erfasst die Signalverarbeitungseinheit 58 in einem Fall, in dem Wiedergabedaten existieren, die Daten aus der Decodiereinheit 57 und führt Nachverarbeitung für das Decodieren auf den erfassten Daten aus. Nachverarbeitung für das Decodieren ist beispielsweise Signalverarbeitung, die Frequenz-Zeit-Umsetzung aufweist. Das verarbeitete Audiosignal wird in einer nachfolgenden Stufe zu einer Wiedergabevorrichtung, wie z. B. dem Audio-DAC 59, ausgegeben.
  • Der Audio-DAC 59 setzt das von der Signalverarbeitungseinheit 58 zugeführte digitale Audiosignal in ein analoges Audiosignal um und gibt das analoge Audiosignal in einer nachfolgenden Stufe zu einem Lautsprecher oder dergleichen aus.
  • <Betrieb des Empfangsendgeräts>
  • Nachstehend wird der grundlegende Verarbeitungsablauf des Empfangsendgeräts 12 der ersten Ausführungsform getrennt für die Datenerfassungsverarbeitung und Audiowiedergabeverarbeitung beschrieben.
  • <Datenerfassungsverarbeitung>
  • 13 ist ein Ablaufplan zum Beschreiben von Datenerfassungsverarbeitung des Empfangsendgeräts 12.
  • Nachstehend ist zur Vereinfachung der Beschreibung angenommen, dass Daten in dem Empfangspuffer 52 zur Zeit des Starts der Verarbeitung in chronologischer Reihenfolge sind und redundante Daten aus zukünftigen ursprünglichen Daten in Bezug auf die Hauptdaten erzeugt werden.
  • Zusätzlich fügt das Empfangsendgerät 12 eine Datennummer (frame_id) jeder Einheit von Daten in chronologischer Reihenfolge hinzu, um die in der Audiowiedergabeverarbeitung, die später beschrieben wird, zu reproduzierenden Daten zu identifizieren, und zählt frame_id unter Verwendung einer Variablen main_id. Es ist angenommen, dass sowohl frame_id als auch main_id nicht überlaufen.
  • In Schritt S81 erfasst die Demux-Einheit 53 ein Paket aus dem Empfangspuffer 52.
  • In Schritt S82 aktualisiert die Demux-Einheit 53 main_id auf main_id + 1 und erhält main_id (frame-id der Hauptdaten) des erfassten Pakets. Die main_id des hier erhaltenen Pakets ist main_id in einem Fall, in dem kein Paketverlust auftritt.
  • In Schritt S83 fragt die Demux-Einheit 53 die BLE-Steuereinheit 51 dahingehend ab, ob ein Paketverlust aufgetreten ist oder nicht.
  • In Schritt S84 bestimmt die Demux-Einheit 53 auf der Basis der von der BLE-Steuereinheit 51 erfassten Paketverlustinformationen, ob zwischen dem beim letzten Mal erfassten Paket und dem dieses Mal erfassten Paket ein Paketverlust aufgetreten ist oder nicht. Falls in Schritt S84 bestimmt wird, dass zwischen dem beim letzten Mal erfassten Paket und dem dieses Mal erfassten Paket ein Paketverlust aufgetreten ist, fährt die Verarbeitung zu Schritt S85 fort.
  • In Schritt S85 aktualisiert die Demux-Einheit 53 main_id auf main id + der Anzahl der Fälle von Paketverlust.
  • Falls in Schritt S84 bestimmt wird, dass zwischen dem beim letzten Mal erfassten Paket und dem dieses Mal erfassten Paket kein Paketverlust aufgetreten ist, wird die Verarbeitung in Schritt S85 übersprungen, und die Verarbeitung fährt zu Schritt S86 fort.
  • In Schritt S86 führt die Demux-Einheit 53 Demux-Verarbeitung durch. Insbesondere trennt die Demux-Einheit 53 das erfasste Paket in Hauptdaten und redundante Daten.
  • In Schritt S87 setzt die Demux-Einheit 53 die zu den Hauptdaten hinzuzufügende frame_id auf main_id und sammelt die frame_id in dem Hauptdatenpuffer 54.
  • In Schritt S88 setzt die Demux-Einheit 53 die zu den Einheiten redundanter Daten hinzuzufügende frame_id auf main id + 1 bis main_id + die Anzahl der Einheiten redundanter Daten in chronologischer Reihenfolge und sammelt die frame_ids in dem Puffer 55 für redundante Daten. Nach Schritt S88 endet die Datenerfassungsverarbeitung.
  • <Verfahren zum Hinzufügen einer Datennummer>
  • 14 ist ein Diagramm zum Beschreiben eines Verfahrens zum Hinzufügen einer Datennummer.
  • 11 stellt ein empfangenes Paket dar, das durch den Empfangspuffer 52 empfangen wird. Das empfangene Paket weist Hauptdaten und drei Einheiten redundanter Daten auf, und in einem Fall, in dem seit dem vorherigen Empfang kein Paketverlust aufgetreten ist, ist main id = 37 eingestellt.
  • Die Demux-Einheit 53 setzt die zu den Hauptdaten hinzuzufügende frame_id auf main id = 37 und sammelt die frame_id in dem Hauptdatenpuffer 54.
  • Die Demux-Einheit 53 setzt die zu den Einheiten redundanter Daten hinzuzufügende frame_id auf main_id + 1 (38) bis main_id + 3 (40) in chronologischer Reihenfolge und sammelt die frame_ids in dem Puffer 55 für redundante Daten.
  • Hier ist die frame_id, die für die nächsten Hauptdaten einzustellen ist, gleich 38, falls kein Paketverlust auftritt, und gleich 38+n, falls n-mal ein Paketverlust auftritt.
  • <Audiowiedergabeverarbeitung>
  • 15 ist ein Ablaufplan zum Beschreiben von Audiowiedergabeverarbeitung des Empfangsendgeräts 12.
  • In Schritt S101 führt die Wiedergabedatenauswahleinheit 56 Wiedergabedatenauswahlverarbeitung aus. Es wird darauf hingewiesen, dass Einzelheiten der Wiedergabedatenauswahlverarbeitung später mit Bezug auf 16 beschrieben werden. Durch die Verarbeitung von Schritt S101 wird gemäß dem Auftreten von Paketverlust ausgewählt, welche aus den Hauptdaten und den redundanten Daten wiederzugeben sind. Zu diesem Zeitpunkt werden bei Bedarf auch Daten zur Korrelationsdatenwiederherstellung erfasst. Die ausgewählten Daten oder die erfassten Daten werden zu der Decodiereinheit 57 ausgegeben.
  • In Schritt S102 führt die Decodiereinheit 57 Decodierverarbeitung auf den durch die Wiedergabedatenauswahleinheit 56 ausgewählten Daten aus. Wenn die zu decodierenden Daten Korrelationsdaten sind, werden die Hauptdaten oder die redundanten Daten, die in Schritt S101 zur Korrelationsdatenwiederherstellung erfasst werden, ebenfalls decodiert und als unabhängig wiedergebbare Daten wiederhergestellt. Die Decodiereinheit 57 gibt die decodierten Hauptdaten oder redundanten Daten zu der Signalverarbeitungseinheit 58 aus.
  • In Schritt S103 erfasst die Signalverarbeitungseinheit 54 gemäß dem Vorhandensein oder Fehlen von Wiedergabedaten, für die eine Meldung durch die Wiedergabedatenauswahleinheit 103 bereitgestellt wird, falls Wiedergabedaten existieren, die Daten aus der Decodiereinheit 57 und führt Signalverarbeitungseinheit wie z. B. Frequenz-Zeit-Umsetzung auf den erfassten Daten aus.
  • In Schritt S104 gibt die Signalverarbeitungseinheit 58 eine Wellenform des verarbeiteten Audiosignals in einem Format, das durch den Audio-DAC 59 empfangen werden kann, aus. wie z. B. I2S. Der Audio-DAC 59 setzt das von der Signalverarbeitungseinheit 58 zugeführte digitale Audiosignal in ein analoges Signal um und gibt das analoge Signal in einer nachfolgenden Stufe zu einem Lautsprecher oder dergleichen aus. Nach Schritt S10ß4 endet die Audiowiedergabeverarbeitung.
  • <Wiedergabedatenauswahlverarbeitung>
  • 15 ist ein Ablaufplan zum Beschreiben der Wiedergabedatenauswahlverarbeitung in Schritt S101 von 15.
  • Zur Vereinfachung der Beschreibung ist angenommen, dass die wiederzugebende frame_id so eingestellt ist, dass sie mit der in der Datenerfassungsverarbeitung von 13 hinzugefügten frame_id konsistent ist.
  • In Schritt S121 bestimmt die Wiedergabedatenauswahleinheit 56, ob Hauptdaten, die die wiederzugebende frame_id aufweisen, in dem Hauptdatenpuffer 54 existieren oder nicht. Falls in Schritt S121 bestimmt wird, dass Hauptdaten, die die wiederzugebende frame_id aufweisen, in dem Hauptdatenpuffer 54 existieren, fährt die Verarbeitung zu 122 fort.
  • In Schritt S122 erfasst die Wiedergabedatenauswahleinheit 56 die Hauptdaten aus dem Hauptdatenpuffer 54. Nach Schritt S122 endet die Wiedergabedatenauswahlverarbeitung.
  • Andererseits fährt die Verarbeitung zu Schritt S123 fort, falls in Schritt S121 bestimmt wird, dass keine Hauptdaten, die eine wiederzugebende frame_id aufweisen, in dem Hauptdatenpuffer 54 vorhanden sind.
  • In Schritt S123 bestimmt die Wiedergabedatenauswahleinheit 56, ob redundante Daten, die die wiederzugebende frame_id aufweisen, in dem Puffer 55 für redundante Daten existieren oder nicht. Falls in Schritt S123 bestimmt wird, dass redundante Daten, die die wiederzugebende frame_id aufweisen, in dem Puffer 55 für redundante Daten vorhanden sind, fährt die Verarbeitung zu Schritt S124 fort.
  • In Schritt S124 erfasst die Wiedergabedatenauswahleinheit 56 die redundanten Daten aus dem Puffer 55 für redundante Daten.
  • In Schritt S125 bestimmt die Wiedergabedatenauswahleinheit 56, ob die redundanten Daten Korrelationsdaten sind oder nicht. Falls in Schritt S125 bestimmt wird, dass die redundanten Daten Korrelationsdaten sind, fährt die Verarbeitung zu Schritt S126 fort.
  • In Schritt S126 erfasst die Wiedergabedatenauswahleinheit 56 zusätzlich die redundanten Daten, falls auch redundante Daten zur Wiederherstellung redundanter Daten notwendig sind.
  • Falls in Schritt S125 bestimmt wird, dass die redundanten Daten keine Korrelationsdaten sind, oder nach Schritt S126 endet die Wiedergabedatenauswahlverarbeitung.
  • Zusätzlich fährt die Verarbeitung zu Schritt S127 fort, falls in Schritt S123 bestimmt wird, dass keine redundanten Daten, die die wiederzugebende frame_id aufweisen, in dem Puffer 55 für redundante Daten vorhanden sind.
  • In Schritt S127 meldet die Wiedergabedatenauswahleinheit 56 an die Signalverarbeitungseinheit 58, dass keine redundanten Daten vorhanden sind. Nach Schritt S127 endet die Wiedergabedatenauswahlverarbeitung.
  • Wie vorstehend beschrieben ist es gemäß der ersten Ausführungsform der vorliegenden Technologie möglich, die Variation in der Wahrscheinlichkeit für das Auftreten von Paketverlusten aufgrund des Geräts in dem gleichen Kommunikationsstatus einzudämmen. Somit ist es möglich, unabhängig von dem Gerät eine stabile Sprachübertragung zu erreichen.
  • Zusätzlich ist, da ein Wert verwendet wird, der zur Zeit der Verbindung bestimmt wird, die Erfindung auch unter Bedingungen anwendbar, in denen eine dynamische Steuerung während der Übertragung unnötig oder unmöglich ist.
  • <2. Zweite Ausführungsform (Kombination mit dynamischer Steuerung der Datenmenge entsprechend dem Kommunikationsstatus)>
  • <Überblick für die zweite Ausführungsform>
  • Eine zweite Ausführungsform der vorliegenden Technologie kann in Kombination mit dem in Patentdokument 2 beschriebenen Verfahren verwendet werden.
  • In dem im Patentdokument 2 beschriebenen Verfahren wird die Anzahl von Einheiten zum Senden bereitstehender Daten in dem Sendepuffer in einem konstanten Zyklus während der Kommunikation beobachtet. Ein Effekt, der der Messung des Kommunikationsstatus entspricht, kann durch Beobachten der Anzahl von Einheiten zum Senden bereitstehender Daten erhalten werden. Der Grund dafür ist nachstehend beschrieben.
  • Normalerweise wird, wenn der Kommunikationsstatus gut ist, erwartet, dass die Anzahl von Einheiten zum Senden bereitstehender Daten reduziert wird. Andererseits wird, wenn der Kommunikationsstatus schlecht ist und Neuübertragung wiederholt wird, erwartet, dass die Anzahl von Einheiten zum Senden bereitstehender Daten ansteigt. Dementsprechend kann bestimmt werden, dass der Kommunikationsstatus dazu neigt, schlecht zu sein, wenn die Anzahl von Einheiten zum Senden bereitstehender Daten groß ist, und der Kommunikationsstatus dazu neigt, gut zu sein, wenn die Anzahl von Einheiten zum Senden bereitstehender Daten klein ist.
  • Somit wird in einem Fall, in dem bestimmt wird, dass die Anzahl von Einheiten zum Senden bereitstehender Daten groß ist (Bedingung 1), die Anzahl von Einheiten von Daten, die in einem Paket zu speichern sind, durch Reduzieren der Datenmenge pro Rahmen erhöht. Als ein Ergebnis wird die effektive Zeit für die erneute Übertragung jeder Dateneinheit erweitert, und die Wahrscheinlichkeit einer erfolgreichen Übertragung wird erhöht.
  • Andererseits wird in einem Fall, in dem bestimmt wird, dass die Anzahl von Einheiten zum Senden bereitstehender Daten klein ist (Bedingung 2), die Anzahl von Einheiten Daten, die in einem Paket zu speichern sind, durch Erhöhen der Datenmenge pro Rahmen reduziert. Als ein Ergebnis ist es, während die effektive Zeit für die Neuübertragung jeder Dateneinheit kurz wird, möglich, Daten mit höchstmöglicher Qualität in dem aktuellen Kommunikationsstatus zu übertragen.
  • Die zweite Ausführungsform der vorliegenden Technologie wird durch Anwenden des vorstehend beschriebenen Verfahrens auf die erste Ausführungsform erhalten und weist die folgenden beiden Punkte auf.
  • Der erste Punkt ist, dass die Anzahl von Einheiten von Hauptdaten und die Anzahl von Einheiten redundanter Daten, die in einem Paket gespeichert werden, gemäß dem Kommunikationsstatus unter Verwendung der Neuübertragungs-Timeout-Zeitspanne und der Anzahl von Paketen (oder der Anzahl von Einheiten der Hauptdaten), die in dem Sendepuffer gesammelt sind, eingestellt werden kann.
  • Der zweite Punkt ist, dass das in Patentdokument 2 beschriebene Verfahren für jedes Gerät durch Ändern eines Schwellenwerts für die Bestimmung, ob die Anzahl von Paketen in dem Sendepuffer groß (Bedingung 1) oder klein (Bedingung 2) ist, gemäß der Neuübertragungs-Timeout-Zeitspanne optimiert werden kann.
  • Die Neuübertragungs-Timeout-Zeitspanne ist wörtlich eine „Zeit für die erneute Übertragung“. In einem Fall, in dem die Neuübertragungs-Timeout-Zeitspanne kurz ist, ist es wahrscheinlich, dass die Wahrscheinlichkeit für erfolgreiche Übertragung abnimmt, wenn sich der Kommunikationsstatus verschlechtert. In diesem Fall wird dadurch, dass es erleichtert wird, die Bedingung 1 zu erfüllen, eine Steuerung so sensibel wie möglich ausgeführt, um die Anzahl von Einheiten von Hauptdaten pro Paket in Reaktion auf die Änderung des Kommunikationsstatus zu erhöhen. Als ein Ergebnis wird die Wahrscheinlichkeit einer erfolgreichen Übertragung erhöht, und es ist weniger wahrscheinlich, dass ein Paketverlust auftritt.
  • In einem Fall, in dem die Neuübertragungs-Timeout-Zeitspanne relativ lang ist, ist vorausgesagt, dass die Wahrscheinlichkeit einer erfolgreichen Übertragung hoch ist, selbst wenn sich der Kommunikationsstatus verschlechtert, im Vergleich zu einem Fall, in dem die Neuübertragungs-Timeout-Zeitspanne kurz ist. Dementsprechend wird dadurch, dass es erschwert wird, die Bedingung 1 zu erfüllen, und erleichtert wird, die Bedingung 2 zu erfüllen, die Wiedergabe mit einer Priorität soweit wie möglich auf Wiedergabequalität ausgeführt.
  • Es wird darauf hingewiesen, dass nachstehend angenommen ist, dass eine oder mehrere Einheiten von Hauptdaten für ein Paket gemäß dem Betriebsprinzip der zweiten Ausführungsform der vorliegenden Technologie gespeichert werden. Andere Annahmen sind ähnlich denjenigen der ersten Ausführungsform.
  • Die Konfiguration eines Audioübertragungssystems der zweiten Ausführungsform ist ähnlich derjenigen des Audioübertragungssystems der ersten Ausführungsform, das in 5 dargestellt ist. Zusätzlich weist ein Empfangsendgerät 12 der zweiten Ausführungsform ebenfalls eine Konfiguration ähnlich derjenigen des Empfangsendgeräts 12 der ersten Ausführungsform auf.
  • Dementsprechend wird in der zweiten Ausführungsform nur die Konfiguration eines Sendeendgeräts 11, die von derjenigen des Sendeendgeräts 11 der ersten Ausführungsform verschieden ist, beschrieben.
  • <Konfigurationsbeispiel für das Sendeendgerät>
  • 17 ist ein Blockdiagramm, das ein weiteres Konfigurationsbeispiel des Sendeendgeräts 11 darstellt.
  • Das Sendeendgerät 11 in 17 unterscheidet sich von dem Sendeendgerät 11 in 6 darin, dass die Einheit 25 zur Erzeugung redundanter Daten zu einer Einheit 101 zur Erzeugung redundanter Daten geändert ist, die Codiereinheit 26 zu einer Codiereinheit 102 geändert ist und die Mux-Einheit 27 zu einer Mux-Einheit 103 geändert ist. Unter den in 17 dargestellten Konfigurationen sind die gleichen Konfigurationen wie die mit Bezug auf 6 beschriebenen mit den gleichen Bezugszeichen gekennzeichnet. Sich überschneidende Beschreibungen werden gegebenenfalls weggelassen.
  • Die Einheit 101 zur Erzeugung redundanter Daten erfasst die ursprünglichen Daten, die den Hauptdaten und den redundanten Daten entsprechen, die in einem Eingangspuffer 24 gesammelt sind. Zusätzlich wird die Neuübertragungs-Timeout-Zeitspanne aus einer Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 der Einheit 101 zur Erzeugung redundanter Daten zugeführt, und die codierte Datenmenge redundanter Daten wird aus der Codiereinheit 102 zugeführt.
  • Außerdem beobachtet die Einheit 101 zur Erzeugung redundanter Daten periodisch einen Sendepuffer 28 und erfasst die Anzahl gesammelter Pakete.
  • Die Einheit 101 zur Erzeugung redundanter Daten bestimmt den Redundanzgrad auf der Basis der aus der Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 zugeführten Neuübertragungs-Timeout-Zeitspanne. Die Einheit 101 zur Erzeugung redundanter Daten erzeugt eine oder mehrere Einheiten von Hauptdaten und redundanten Daten, die zum Erzeugen eines Pakets notwendig sind, auf der Basis der Meldung der codierten Datenmenge dafür, die durch die Codiereinheit 102 zugeführt wird, der Anzahl gesammelter Pakete in dem Sendepuffer 28 und dem bestimmten Redundanzgrad.
  • Die Einheit 101 zur Erzeugung redundanter Daten gibt die erzeugten eine oder mehrere Einheiten von Hauptdaten und redundanten Daten an die Codiereinheit 102 aus. Zusätzlich bestimmt die Einheit 101 zur Erzeugung redundanter Daten die Codiereinstellung, die den zu der Codiereinheit 102 ausgegebenen Hauptdaten und redundante Daten entspricht, und meldet die bestimmte Codiereinstellung an die Codiereinheit 102.
  • Die Codiereinheit 102 codiert die Hauptdaten und die redundanten Daten auf der Basis der erfassten Codiereinstellung. Die Codiereinheit 102 gibt die codierten Hauptdaten und redundanten Daten an die Mux-Einheit 103 aus. Zusätzlich gibt die Codiereinheit 102 die codierte Datenmenge der redundanten Daten zu der Einheit 101 zur Erzeugung redundanter Daten aus.
  • Die Mux-Einheit 103 führt Mux-Verarbeitung der einen oder mehreren Einheiten von codierten Hauptdaten und der redundanten Daten, die von der Codiereinheit 102 zugeführt werden, aus. Das heißt, die Mux-Einheit 103 speichert die eine oder mehreren Einheiten von codierten Hauptdaten und die redundanten Daten in einem zur BLE-Kommunikation geeigneten Paket. Die Mux-Einheit 103 sammelt Pakete in dem Sendepuffer 28 zur BLE-Kommunikation.
  • <Betrieb des Sendeendgeräts>
  • Nachstehend wird der grundlegende Verarbeitungsablauf des Sendeendgeräts 11 der zweiten Ausführungsform separat für die Systemeinstellungsverarbeitung, Einstellungsaktualisierungsverarbeitung und die Sendepaketerzeugungsverarbeitung beschrieben. Die Systemeinstellungsverarbeitung ist eine Verarbeitung, die nur einmal zum Zeitpunkt der Verbindung der BLE-Kommunikation ausgeführt wird. Die Sendepaketerzeugungsverarbeitung ist eine Verarbeitung, die während der Sprachübertragung durch BLE-Kommunikation mehrmals ausgeführt wird.
  • Die Einstellungsaktualisierungsverarbeitung ist eine Verarbeitung, die in einem Beobachtungsintervall mit einer vorbestimmten festen Zeit, wie z. B. alle 20 ms, parallel zu der Sendepaketerzeugungsverarbeitung ausgeführt wird. Mit dieser Verarbeitung ändern sich die Anzahl von Einheiten von Hauptdaten und die Anzahl von Einheiten redundanter Daten in Übereinstimmung mit der Änderung des Kommunikationsstatus dynamisch.
  • <Systemeinstellungsverarbeitung>
  • 18 ist ein Ablaufplan zum Beschreiben der Systemeinstellungsverarbeitung des Sendeendgeräts 11.
  • Da die Schritte S201 und 202 im Wesentlichen die gleiche Verarbeitung wie die Schritte S11 und S12 in 7 sind, wird ihre Beschreibung weggelassen.
  • In Schritt S203 bestimmt die Einheit 101 zur Erzeugung redundanter Daten die Anzahl von Einheiten von Hauptdaten und die Anzahl von Einheiten redundanter Daten (den Redundanzgrad) auf der Basis der von der Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit 22 zugeführten Neuübertragungs-Timeout-Zeitspanne. Die Anzahl der Einheiten von Hauptdaten und die Anzahl von Einheiten redundanter Daten werden unter Verwendung eines relationalen Ausdrucks oder einer Tabelle, die im Voraus vorbereitet ist und eine Entsprechung zwischen der Neuübertragungs-Timeout-Zeitspanne, der Anzahl von Einheiten von Hauptdaten und der Anzahl von Einheiten redundanter Daten angibt, bestimmt.
  • In Schritt S204 bestimmt die Einheit 101 zur Erzeugung redundanter Daten die Zieldatenmenge der Hauptdaten auf der Basis der bestimmten Anzahl von Einheiten von Hauptdaten und der bestimmten Anzahl von Einheiten redundanter Daten. Zusätzlich werden in Schritt S204, wenn die Zieldatenmenge der Hauptdaten bestimmt wird, die Codiereinstellung der Hauptdaten und die Codiereinstellung der redundanten Daten so bestimmt, dass sie in die Zieldatenmenge fallen.
  • Obwohl die vorstehend beschriebene Verarbeitung ähnlich der Verarbeitung in Schritt S14 in 7 ist, wird, da die Anzahl von Einheiten von Hauptdaten eine oder mehr ist, die Zieldatenmenge einer Einheiten von Hauptdaten durch Dividieren des Rests, der durch Subtrahieren der Summe der Zieldatenmengen der redundanten Daten von der Paketdatengröße erhalten wird, durch die Anzahl von Einheiten von Hauptdaten erhalten.
  • Es wird darauf hingewiesen, dass die Tabelle zum Bestimmen der Anzahl von Dateneinheiten und der Zieldatenmenge der redundanten Daten, die in den Schritten S203 und S204 verwendet ist, so eingestellt ist, dass die Zieldatenmenge der Hauptdaten immer die Zieldatenmenge der redundanten Daten übersteigt.
  • In Schritt S205 bestimmt die Einheit 101 zur Erzeugung redundanter Daten einen Schwellenwert th1 und einen Schwellenwert th2 (th1 > th2) zum Bestimmen einer Zunahme oder einer Abnahme der Anzahl von Einheiten von Hauptdaten, der in der später zu beschreibenden Einstellungsaktualisierungsverarbeitung verwendet wird. Diese Schwellenwerte können auf spezielle feste Standardwerte eingestellt werden, oder können aus dem vorstehend beschriebenen Vorteil auf der Basis einer Berechnungsformel oder einer Tabelle, die eine im Voraus vorbereitete Entsprechungsbeziehung zwischen der Neuübertragungs-Timeout-Zeitspanne und dem Schwellenwert angibt, eingestellt werden. Nach Schritt S205 endet die Systemeinstellungsverarbeitung.
  • <Berechnung der Zieldatenmenge>
  • 19 ist ein Diagramm, das ein spezifisches Beispiel für die Berechnung der Zieldatenmenge zeigt.
  • 19 stellt ein Paket dar. Beispielsweise in einem Fall, wie in 19 dargestellt, in dem die Anzahl von Einheiten von Hauptdaten zwei ist, die Anzahl von Einheiten redundanter Daten drei ist, die Zieldatenmenge der redundanten Daten 20 [Byte] ist und die Datengröße des Pakets 240 [Byte] ist, ist die Zieldatenmenge der Hauptdaten (240 - 20 × 3)/2 = 90 [Byte].
  • <Einstellungsaktualisierungsverarbeitung>
  • 20 ist ein Ablaufplan zum Beschreiben der Einstellungsaktualisierungsverarbeitung des Sendeendgeräts 11.
  • In Schritt S221 erfasst die Einheit 101 zur Erzeugung redundanter Daten die Anzahl der in dem Sendepuffer 28 gesammelten Pakete.
  • In Schritt S222 bestimmt die Einheit 101 zur Erzeugung redundanter Daten, ob die Anzahl von Paketen in dem Sendepuffer 28 den Schwellenwert th1 überschreitet oder nicht, als Bedingung 1. Falls in Schritt S222 bestimmt wird, dass die Anzahl von Paketen des Sendepuffers 28 den Schwellenwert th1 überschreitet, wird angenommen, dass der Kommunikationsstatus schlecht ist, und somit fährt die Verarbeitung zu Schritt S223 fort.
  • In Schritt S223 erhöht die Einheit 101 zur Erzeugung redundanter Daten die Anzahl von Einheiten von Hauptdaten in einem Paket.
  • Zusätzlich fährt die Verarbeitung zu Schritt S224 fort, falls in Schritt S222 bestimmt wird, dass die Anzahl von Paketen des Sendepuffers 28 den Schwellenwert th1 nicht überschreitet.
  • In Schritt S224 wird als Bedingung 2 bestimmt, ob die Anzahl von Paketen in dem Sendepuffer 28 kleiner als der Schwellenwert th2 ist. Falls in Schritt S224 bestimmt wird, dass die Anzahl von Paketen des Sendepuffers 28 kleiner als der Schwellenwert th2 ist, wird angenommen, dass der Kommunikationsstatus gut ist, und somit fährt die Verarbeitung zu Schritt S225 fort.
  • In Schritt S225 reduziert die Einheit 101 zur Erzeugung redundanter Daten die Anzahl von Einheiten von Hauptdaten in einem Paket.
  • Nach Schritt S223 oder Schritt S2256 fährt die Verarbeitung zu Schritt S226 fort.
  • Falls andererseits in Schritt S224 bestimmt wird, dass die Anzahl von Paketen des Sendepuffers 28 nicht kleiner ist als der Schwellenwert th2, fährt die Verarbeitung ebenfalls zu Schritt S226 fort. In diesem Fall wird die Anzahl der Einheiten von Hauptdaten in dem Paket nicht verändert.
  • Es wird darauf hingewiesen, dass die Bestimmung von Bedingung 1 und Bedingung 2 nicht notwendigerweise ein Vergleich mit einem eingestellten Schwellenwert sein muss, und beispielsweise Informationen aus der Vergangenheit, wie die Anzahl von Paketen des Sendepuffers in der Vergangenheit oder eine Veränderung einer eingestellten Anzahl von Einheiten von Hauptdaten als der Schwellenwert verwendet werden können. Zusätzlich können entweder ein eingestellter Schwellenwert und ein Schwellenwert, der Informationen aus der Vergangenheit aufweist, verwendet werden, oder sowohl der eingestellte Schwellenwert und als auch der Schwellenwert können verwendet werden, wie z. B. in einem Fall, in dem die aktuelle Anzahl von Paketen n ist und gleich oder größer als m ist, was der Mittelwert der Anzahl von Paketen in der Vergangenheit ist.
  • In Schritt S226 setzt die Einheit 101 zur Erzeugung redundanter Daten die Anzahl von Einheiten redundanter Daten auf der Basis der Anzahl von Einheiten von Hauptdaten und der Tabelle, die die Zuordnungsbeziehung zwischen der Neuübertragungs-Timeout-Zeitspanne und der Anzahl von Einheiten redundanter Daten angibt, zurück.
  • Beispielsweise steigt in einem Fall, in dem die Anzahl von Einheiten von Hauptdaten, die in einem Paket gespeichert sind ansteigt, die Anzahl von Einheiten redundanter Daten, die zu der Zeit des Paketverlust erforderlich sind, ebenfalls an, und somit wird bei Bedarf die Verarbeitung von Schritt S226 ausgeführt.
  • Es wird darauf hingewiesen, dass dann, wenn die Anzahl von Einheiten redundanter Daten zurückgesetzt wird, die Einheit 101 zur Erzeugung redundanter Daten die Anzahl von Einheiten redundanter Daten unter Berücksichtigung eines Veränderungsverlaufs der Anzahl von Einheiten von Hauptdaten, der Anzahl von Einheiten von Hauptdaten, die in dem nächsten Paket geplant sind, und anderen Informationen bestimmen.
  • In Schritt S227 setzt die Einheit 101 zur Erzeugung redundanter Daten die Zieldatenmenge der Hauptdaten zurück.
  • Die Zieldatenmenge der Hauptdaten wird auf der Basis der Anzahl von Einheiten von Hauptdaten, der Anzahl von Einheiten redundanter Daten, der Zieldatenmenge der redundanten Daten und der Datengröße des Pakets erhalten, ähnlich der Verarbeitung von Schritt S204 in 18. Zusätzlich werden in Schritt S227, wenn die Zieldatenmenge der Hauptdaten bestimmt wird, die Codiereinstellung der Hauptdaten und die Codiereinstellung der redundanten Daten aktualisiert, so dass sie in die Zieldatenmenge fallen.
  • Nach Schritt S227 endet die Verarbeitung der Einstellungsaktualisierungsverarbeitung.
  • <Sendepaketerzeugungsverarbeitung>
  • 21 ist ein Ablaufplan zum Beschreiben von Sendepaketerzeugungsverarbeitung des Sendeendgeräts 11.
  • Es wird darauf hingewiesen, dass, da die Schritte S241 bis S246 in 21 im Wesentlichen gleich den Schritten S31 bis S36 in 9 sind, ihre Beschreibung weggelassen wird.
  • Es wird darauf hingewiesen, dass jedoch in den Schritten S244 bis S246, wie später mit Bezug auf 22 beschrieben wird, die Anzahl von zu codierenden und zu speichernden Einheiten von Hauptdaten eins oder größer ist. Beispielsweise wird in Schritt S244, da die Anzahl von Einheiten von Hauptdaten eins oder größer ist, ein Wert, der durch Dividieren des freien Raums durch die Anzahl der Einheiten von Hauptdaten erhalten wird, als die Zieldatenmenge der Hauptdaten eingestellt.
  • In Schritt S247 von 21 fügt die Mux-Einheit 103 dem Paket eine Sendedatennummer (send_id) hinzu. Eine Sendedatennummer ist eine Nummer, die verwendet wird, um die vorstehend in der ersten Ausführungsform beschriebene Datennummer (frame_id) zu berechnen. Einzelheiten des Hinzufügens der Sendedatennummer werden später mit Bezug auf 23 beschrieben.
  • Die Mux-Einheit 103 sammelt das Paket, dem die Sendedatennummer hinzugefügt ist, in dem Sendepuffer 28 zur BLE-Kommunikation, und die Sendepaketerzeugungsverarbeitung endet. Danach wird das Paket durch BLE-Kommunikation zu dem Empfangsendgerät 12 gesendet.
  • <Konfigurationsbeispiel für Rahmen und Paket>
  • 22 ist ein Diagramm, das Konfigurationen eines Rahmens und eines Pakets in einem Fall, in dem eine oder mehrere Einheiten von Hauptdaten vorhanden sind, darstellt.
  • In A von 22 sind Rahmen ursprünglicher Daten N bis N+7 entlang einer Zeitachse dargestellt. In einem Fall, in dem die Anzahl von Einheiten von Hauptdaten pro Paket zwei beträgt, sind zwei Einheiten ursprünglicher Daten, die durch gestrichelte Linien angegeben sind, in ein Paket aufgenommen.
  • B von 22 stellt ein Konfigurationsbeispiel eines Pakets in einem Fall, in dem die Anzahl von Einheiten von Hauptdaten pro Paket zwei beträgt, dar.
  • In einem Fall, in dem die Anzahl von Einheiten redundanter Daten für Pakete in Bezug auf die Hauptdaten drei ist und die Anzahl von Einheiten von Hauptdaten pro Paket zwei ist, ist die Anzahl von Einheiten redundanter Daten sechs zukünftige Rahmen.
  • Dementsprechend weist die Konfiguration des Pakets zum Senden der ursprünglichen Daten N und N+1 die Hauptdaten N und N+1 und die redundanten Daten N+2 bis N+7 der ursprünglichen Daten N+2 bis N+7 auf.
  • <Verarbeitung zum Hinzufügen der Sendedatennummer>
  • 23 ist ein Ablaufplan zum Beschreiben der Verarbeitung zum Hinzufügen der Sendedatennummer in Schritt S247 von 21.
  • In Schritt S261 fügt die Mux-Einheit 103 dem aktuellen Paket eine Sendedatennummer (send_id) hinzu.
  • Hier ist send_id ein Wert, der den Hauptdaten am Kopf des Pakets entspricht, wenn die in dem Paket gespeicherten Einheiten von Hauptdaten sequenziell in der Zeitreihe nach dem Start der Wiedergabe ab einem Initialwert von 0 nummeriert sind. Es wird darauf hingewiesen, dass ein möglicher Maximalwert von send_id ID_MAX ist, und wenn 1 zu ID_MAX addiert wird, läuft ID_MAX über und wird zu 0. Zusätzlich ist send_id Informationen, die einem Paket hinzuzufügen sind, und weist deshalb eine minimale notwendige Bitlänge auf. Insbesondere kann die Bitlänge von send_id irgendeine Länge sein, solange sie die maximale Anzahl von Einheiten verlorener Daten, die nacheinander erzeugt werden können, ausdrücken kann.
  • Nachstehend ist angenommen, dass die Anzahl von Einheiten von Hauptdaten, die in dem Paket enthalten sind, main_num ist und dass ein aufeinanderfolgender Paketverlust in einer Anzahl von ID_MAX oder mehr nicht auftritt.
  • In Schritt S262 erhält die Mux-Einheit 103 die send_id, die dem nächsten Paket hinzuzufügen ist, wie in der folgenden Gleichung (1).
    [Ausdruck 1] send _ id = ( send _ id + main _ num ) % ( ID _ MAX + 1 )
    Figure DE112020005969T5_0001
  • Nach Schritt S262 endet die Verarbeitung zum Hinzufügen der Sendedatennummer.
  • <Spezifisches Beispiel für die Verarbeitung zum Hinzufügen der Sendedatennummer>
  • 24 ist ein Diagramm, das ein spezifisches Beispiel für die Verarbeitung zum Hinzufügen der Sendedatennummer darstellt.
  • In 24 nimmt send_id, ausgedrückt durch 5 Bits, einen Wert von 0 bis 31 an, und ID_MAX ist 31. Zusätzlich werden die Pakete 1 bis 3 durch Anordnen von zu sendenden Paketen in chronologischer Reihenfolge erhalten.
  • Paket 1 weist send_id = 27 und main_num (Anzahl von Einheiten von Hauptdaten) = 4 auf. In Paket 1 sind fünf Einheiten redundanter Daten dem Paket hinzugefügt.
  • Wenn send_id = 27 und main_num (Anzahl der Einheiten von Hauptdaten) = 4 in Paket 1 sind, ist die nächste (Paket 2) send_id (27 + 4)% (31 + 1) = 31.
  • Paket 2 weist send_id = 31 und main num (Anzahl von Einheiten von Hauptdaten) = 3 auf. In Paket 2 sind drei Einheiten redundanter Daten dem Paket hinzugefügt.
  • Wenn send_id = 31 und main_num = 3 in Paket 2 sind, ist die zu Paket 3 hinzugefügte send_id (31 + 3)% (31 + 1) = 2.
  • Paket 3 weist send_id = 2 und main num (Anzahl von Einheiten von Hauptdaten) = 4 auf. In Paket 3 sind vier Einheiten redundanter Daten dem Paket hinzugefügt.
  • Somit ist send_id allen zu sendenden Paketen auf eine ähnliche Weise hinzugefügt.
  • <Betrieb des Empfangsendgeräts>
  • Nachstehend wird in dem grundlegenden Verarbeitungsablauf des Empfangsendgeräts 12 der zweiten Ausführungsform die Datenerfassungsverarbeitung, die einen Unterschied zu derjenigen der ersten Ausführungsform aufweist, beschrieben. Es wird darauf hingewiesen, dass die Audiowiedergabeverarbeitung Operationen ähnlich denjenigen der ersten Ausführungsform aufweist.
  • In der zweiten Ausführungsform wird, da die Anzahl von in einem Paket gespeicherten Einheiten von Hauptdaten variiert, die Sendedatennummer send_id bei der Berechnung der Datennummer frame_id bestätigt, die zu jeder Einheit empfangener Daten hinzuzufügen ist.
  • Nachstehend ist die dem empfangenen Paket hinzugefügte Sendedatennummer send_id, ihr Maximalwert ist ID_MAX, die Anzahl der aufgenommenen Einheiten von Hauptdaten ist main_num, und eine Variable, die send_id des vorhergehenden empfangenen Pakets angibt, ist send_id_before. Zusätzlich ist, ähnlich dem Beispiel der ersten Ausführungsform, eine Variable, die frame_id der Hauptdaten am Kopf des Pakets angibt, main id.
  • Es wird darauf hingewiesen, dass zur Vereinfachung der Beschreibung angenommen ist, dass aufeinanderfolgender Paketverlust in einer Anzahl von ID MAX oder mehr nicht auftritt, redundante Daten aus zukünftigen ursprünglichen Daten in Bezug auf die Hauptdaten erzeugt werden und sowohl frame_id als auch main_id nicht überlaufen.
  • <Datenerfassungsverarbeitung>
  • 25 ist ein Ablaufplan zum Beschreiben von Datenerfassungsverarbeitung des Empfangsendgeräts 12.
  • Das Empfangsendgerät 12 aktualisiert main_id unter Verwendung von send_id des anfangs empfangenen Pakets. Da das Vorhandensein oder Fehlen von Paketverlust oder die Anzahl von Einheiten verlorener Daten zur Zeit des Paketverlusts auf der Basis von send_id, send_id_before und der Anzahl von Einheiten von Hauptdaten des vorhergehenden Pakets erkannt wird, ist es nicht erforderlich, das Vorhandensein oder Fehlen von Paketverlusten wie in den Schritten S83 und S84, die vorstehend in der ersten Ausführungsform beschrieben sind, zu bestätigen.
  • In Schritt S281 bestimmt die Demux-Einheit 53, ob send_id des empfangenen Pakets gleich oder größer als send_id_before ist oder nicht. Falls in Schritt S281 bestimmt wird, dass send_id gleich oder größer als send_id_before ist, fährt die Verarbeitung zu Schritt S282 fort.
  • In Schritt S282 wird die Verarbeitung in einem Fall, in dem send_id nicht überläuft, ausgeführt. Das heißt, die Demux-Einheit 53 erhält main_id = main_id + send_id - send_id_before.
  • Falls andererseits in Schritt S281 bestimmt wird, dass send_id kleiner ist als send_id_before, fährt die Verarbeitung zu Schritt S283 fort.
  • In Schritt S283 wird die Verarbeitung in einem Fall, in dem send_id überläuft, ausgeführt. Das heißt, die Demux-Einheit 53 erhält main id = main_id + (ID_MAX + 1 + send_id) - send_id_before.
  • Nachdem Schritt S282 oder S283 endet, fährt die Verarbeitung zu Schritt S284 fort.
  • In Schritt S284 trennt die Demux-Einheit 53 das erfasste Paket in Hauptdaten und redundante Daten als Demux-Verarbeitung.
  • In Schritt S285 stellt die Demux-Einheit 53 die zu den Einheiten von Hauptdaten hinzuzufügende main_id + main num -1 in chronologischer Reihenfolge ein und sammelt die frame_ids in dem Hauptdatenpuffer 54.
  • In Schritt S286 stellt die Demux-Einheit 53 die zu den Einheiten redundanter Daten hinzuzufügende main_id + main num bis main_id + main num + (die Anzahl von Einheiten redundanter Daten - 1) in chronologischer Reihenfolge ein und sammelt die frame_ids in dem Puffer 55 für redundante Daten.
  • In Schritt S287 aktualisiert die Demux-Einheit 53 send_id_before auf send_id. Nach Schritt S287 endet die Datenerfassungsverarbeitung.
  • <Verfahren zum Hinzufügen von frame_id>
  • 26 ist ein Diagramm, das ein Beispiel für ein Verfahren zum Hinzufügen von frame_id darstellt.
  • 26 stellt ein Situation dar, in der die Pakete 1 bis 3 in der in 24 dargestellten Reihenfolge gesendet werden und Paket 2 während der BLE-Kommunikation verloren geht. Zu diesem Zeitpunkt erhält die Demux-Einheit 53 frame_id, die jeder Einheit von Hauptdaten und redundanter Daten von Paket 3 hinzufügt ist.
  • Paket 1 weist beim Empfang send_id = 27 auf. Die main_id unmittelbar nach dem Empfangen von Paket 1 ist ein Wert kleiner als 150 und wird durch die Verarbeitung von Schritt S282 in 25 zum Zeitpunkt des Empfangens von Paket 1 auf main_id = 150 aktualisiert. Auf der Basis der aktualisierten main id = 150 werden die zu den vier Einheiten von Hauptdaten hinzuzufügenden frame_ids auf 150 bis 153 eingestellt, und die zu den fünf Einheiten redundanter Daten hinzuzufügenden frame_ids werden auf 154 bis 158 eingestellt.
  • Wenn Paket 3 empfangen wird, vergleicht die Demux-Einheit 53 send_id des empfangenen Pakets (Paket 3) mit send_id des zuvor empfangenen Pakets (Paket 1). Da send_id = 2 und send_id_before (send_id von Paket 1) = 27 sind, ist send_id < send_id_before.
  • Dementsprechend aktualisiert die Demux-Einheit 53, da send_id < send_id_before ist, wenn main_id = 150 zur Zeit des vorherigen Empfangs ist, main_id auf 150 + (31 + 1 + 2) - 27 = 157, wie vorstehend in Schritt S303 von 25 beschrieben. Ab diesem Wert wird die zu den vier Einheiten von Hauptdaten des Pakets 3 hinzugefügte frame_id auf 157 bis 160 eingestellt, und die zu den vier Einheiten redundanter Daten hinzugefügte frame_id wird auf 161 bis 164 eingestellt.
  • Falls das verlorene Paket 2 mit send_id = 31 empfangen worden ist, wird main_id = 154 aktualisiert. Ab diesem Wert wird die zu den drei Einheiten von Hauptdaten des Pakets 2 hinzugefügte frame_id auf 154 bis 156 eingestellt, und die zu den drei Einheiten redundanter Daten hinzugefügte frame_id wird auf 157 bis 159 eingestellt.
  • Es wird darauf hingewiesen, dass in der zweiten Ausführungsform zur Vereinfachung der Beschreibung angenommen ist, dass redundante Daten aus zukünftigen ursprünglichen Daten in chronologischer Reihenfolge in Bezug auf die Hauptdaten erzeugt werden und die Anzahl der in dem nächsten Paket gehaltenen Hauptrahmen nicht bestätigt werden kann.
  • Aus diesem Grund tritt in den Beispielen der 24 und 26 in einem Fall, in dem sich die Anzahl der Einheiten von Hauptdaten in dem Paket abhängig von dem Kommunikationsstatus ändert, ein Rahmen in dem sich redundante Daten überlappen, wie z. B. frame_id = 157,158 in 26, oder ein Rahmen, in dem keine redundanten Daten vorbereitet sind, wie z. B. Rahmen = 160, auf.
  • Dementsprechend wird in der Praxis eine Operation ausgeführt, in der die Anzahl von Einheiten von Hauptdaten des nächsten Pakets im Voraus bestimmt wird, um die Anzahl von Einheiten redundanter Daten so einzustellen, dass sie gleich der Anzahl von Einheiten von Hauptdaten des als nächstes zu sendenden Pakets ist, oder redundante Daten, die wenigstens einmal hinzugefügt worden sind, nicht noch einmal hinzugefügt werden. Als ein Ergebnis werden Verschwendung und das Weglassen redundanter Daten eingedämmt.
  • Wie vorstehend beschrieben ist es gemäß der zweiten Ausführungsform der vorliegenden Technologie möglich, die Variation in der Wahrscheinlichkeit für das Auftreten von Paketverlusten aufgrund des Geräts in dem gleichen Kommunikationsstatus einzudämmen. Somit ist es möglich, unabhängig von dem Gerät eine stabile Sprachübertragung zu erreichen.
  • Zusätzlich kann, selbst wenn ein Mechanismus zum Überprüfen des Kommunikationsstatus und dynamischen Ändern der Datenmenge verwendet wird, eine Tonunterbrechung unmittelbar nach dem Start der Verbindung oder dergleichen durch Einstellen von zwei Schwellenwerten auf geeignete Werte im Voraus vermieden werden.
  • Außerdem ist es, da der Schwellenwert zum Vergleichen der Anzahl von Paketen in dem Sendepuffer gemäß der Neuübertragungs-Timeout-Zeitspanne geändert wird, möglich, eine geeignete Steuerung gemäß einem Gerät, das empfindlich gegen Änderung des Kommunikationsstatus ist, oder einem Gerät, das nicht gegen Änderung des Kommunikationsstatus empfindlich ist, auszuführen.
  • <3. Dritte Ausführungsform (Steuerung von Eines-zuvielen-Kommunikation)>
  • <Überblick für die dritte Ausführungsform>
  • In der tatsächlichen Sprachübertragung unter Verwendung von BLE kann ein Sendeendgerät mit mehreren Empfangsendgeräten wie z. B. vollständig drahtlosen Ohrhörern, kommunizieren. In einer dritten Ausführungsform wird ein Beispiel, in dem die vorliegende Technologie auf einen solchen Fall angewandt wird, beschrieben.
  • Zusätzlich führt ein Gerät wie z. B. ein vollständig drahtloser Ohrhörer häufig die Steuerung aus und kommuniziert Audiosignale zwischen Geräten mit einem dedizierten Schema als Kommunikation zwischen Geräten. Da redundante Daten, die in der vorliegenden Technologie verwendet werden, ein Teil des Codierungsschemas sind und nicht von dem Typ des Kommunikationsschemas abhängen, können redundante Daten auch für die Kommunikation in einem dedizierten Schema verwendet werden.
  • Aus diesem Grund kann durch Hinzufügen redundanter Daten der vorliegenden Technologie zu den geräteübergreifenden Daten zum Ausführen von Kommunikation zwischen den Geräten und Senden und Empfangen der Daten zwischen Empfangsendgeräten der mögliche Bereich der Verdeckung im Vergleich zu dem Empfangsendgerät allein erweitert werden.
  • Um die vorstehende Steuerung zu erreichen, ist in der dritten Ausführungsform eine Verarbeitung zum Anfordern erforderlicher Daten zwischen Empfangsendgeräten hinzugefügt. Einzelheiten werden nachstehend beschrieben.
  • Jedes Empfangsendgerät überprüft seinen eigenen Hauptdatenpuffer und Puffer für redundante Daten und überprüft, ob es fehlende Daten gibt. In einem Fall, in dem es fehlende Daten gibt, meldet das Empfangsendgerät Informationen, die die fehlenden Daten identifizieren können, wie z. B. frame_id, als Anforderungsinformationen durch Kommunikation zwischen den Geräten an das andere Empfangsendgerät.
  • Das Empfangsendgerät, das die Anforderungsinformationen von dem anderen Empfangsendgerät über die Kommunikation zwischen den Geräten empfangen hat, überprüft, ob die anforderten redundanten Daten in seinem eigenen Puffer für redundante Daten vorhanden sind oder nicht. Falls die redundanten Daten existieren, fügt das Empfangsendgerät die redundanten Daten den Informationen für die Kommunikation zwischen den Geräten hinzu und sendet die Informationen an das anfordernde Empfangsendgerät.
  • Das Empfangsendgerät, das die angeforderten redundanten Daten empfangen hat, interpoliert die fehlenden Daten unter Verwendung der redundanten Daten und gibt sie wieder. Zu diesem Zeitpunkt kann, selbst wenn das Empfangsendgerät nur Daten eines von dem ursprünglich wiedergegebenen Kanal verschiedenen Kanals erfassen kann, ein Effekt erhalten werden, der einer monophonen Wiedergabe äquivalent ist.
  • Wie vorstehend beschrieben kann der mögliche Bereich der Verdeckung ohne zusätzliche Kommunikationskosten aus Sicht des Sendeendgeräts erweitert werden.
  • Es wird darauf hingewiesen, dass als die in der dritten Ausführungsform verwendeten redundanten Daten auf der Seite des Sendeendgeräts Korrelationsdaten offensichtlich zwischen den Kanälen hinzugefügt werden können. Beispielsweise fügt das Sendeendgerät Korrelationsdaten des linken Kanals und des rechten Kanals hinzu und sendet die resultierenden Daten an das Empfangsterminal des linken Kanals. Danach fügt das Empfangsendgerät des linken Kanals, wenn eine Anforderung von dem Empfangsendgerät des rechten Kanals vorhanden ist, redundante Daten des linken Kanals und die Korrelationsdaten hinzu und sendet die resultierenden Daten an das Empfangsendgerät des rechten Kanals. Das Verfahren zur Behandlung der Korrelationsdaten ist ähnlich dem Verfahren zur Behandlung der Korrelationsdaten, das in der ersten Ausführungsform beschrieben ist, und seine Beschreibung wird weggelassen.
  • Jedes der Empfangsendgeräte führt die vorstehende Bearbeitung aus, so dass Paketverlustverdeckung, die für ein System aus mehreren Endgeräten (Kanälen) optimiert ist, erreicht werden kann.
  • <Konfiguration des Audioübertragungssystems>
  • 27 ist ein Diagramm, das ein Konfigurationsbeispiel eines Audioübertragungssystems gemäß der dritten Ausführungsform der vorliegenden Technologie darstellt.
  • Das Audioübertragungssystem ist durch Verbinden eines Sendeendgeräts 211 und der Empfangsendgeräte 212-1 bis 212-3 durch BLE-Kommunikation konfiguriert. Zusätzlich führen die Empfangsendgeräte 212-1 bis 212-3 in dem Audioübertragungssystem durch ein dediziert Kommunikationsverfahren eine Kommunikation zwischen Geräten aus.
  • Das Sendeendgerät 211 weist ein multifunktionales Mobiltelefon wie z. B. ein Smartphone, ein mobiles Endgerät oder dergleichen auf. Das Sendeendgerät 211 erzeugt ein Pakt auf eine Weise ähnlich derjenigen in der ersten und der zweiten Ausführungsform und sendet das Paket durch BLE-Kommunikation an jedes der Empfangsendgeräte 212-1 bis 212-3.
  • Die Empfangsendgeräte 212-1 bis 212-3 geben Töne aus, die den Audiokanälen, beispielsweise dem linken und dem rechten Kanal im Fall vollständig drahtloser Ohrhörer, entsprechen.
  • Es wird darauf hingewiesen, dass in einem Fall eines Geräts, das Stereowiedergabe durch ein Gerät ausführen kann, wie z. B. ein drahtloser Lautsprecher, Daten sowohl des linken Kanals als auch des rechten Kanals in einem Paket durch ein Verfahren ähnlich dem in der zweiten Ausführungsform übertragen werden können.
  • Die Empfangsendgeräte 212-1 bis 212-3 empfangen die von dem Sendeendgerät 211 gesendeten Pakete durch BLE-Kommunikation, decodieren die Pakete durch ein Verfahren ähnlich denjenigen in der ersten und der zweiten Ausführungsform und geben die Pakete wieder. Zusätzlich senden und empfangen die Empfangsendgeräte 212-1 bis 212-3 die vorstehend beschriebenen Anforderungsinformationen und zugehörige redundante Daten zusätzlich zu Steuerinformationen durch Kommunikation zwischen Geräten.
  • Es wird darauf hingewiesen, dass nachstehend in einem Fall, in dem es nicht notwendig ist, die Empfangsgeräte 212-1 bis 212-3 zu unterscheiden, sie als ein Empfangsendgerät 212 bezeichnet sind. Zusätzlich ist nachstehend zur Vereinfachung der Beschreibung angenommen, dass ein Empfangsendgerät 212 einen Kanal empfängt.
  • <Konfigurationsbeispiel für das Sendeendgerät>
  • 28 ist ein Blockdiagramm, das ein Konfigurationsbeispiel für das Sendeendgerät 211 darstellt.
  • Das Sendeendgerät 211 in 28 unterscheidet sich von dem Sendeendgerät 11 in 6 darin, dass die Signalverarbeitungseinheit 23 zu einer Signalverarbeitungseinheit 221 geändert ist, die Einheit 25 zur Erzeugung redundanter Daten zu einer Einheit 222 zur Erzeugung redundanter Daten geändert ist, die Codiereinheit 26 zu einer Codiereinheit 223 geändert ist und die Mux-Einheit 27 zu einer Mux-Einheit 224 geändert ist. Unter den in 28 dargestellten Konfigurationen sind die gleichen Konfigurationen wie die in 6 beschriebenen mit den gleichen Bezugszeichen gekennzeichnet. Sich überschneidende Beschreibungen werden gegebenenfalls weggelassen.
  • Die Signalverarbeitungseinheit 221 führt eine Vorverarbeitung der Audiocodierung durch ein Verfahren ähnlich dem der Signalverarbeitungseinheit 23 in 6 aus, fügt Informationen, die angeben, welchen Audiokanal der Rahmen enthält, hinzu und sammelt die Daten in dem Eingangspuffer 24.
  • Die Einheit 222 zur Erzeugung redundanter Daten und die Codiereinheit 223 erfassen aus dem Eingangspuffer 24 die ursprünglichen Daten, die zum Erzeugen eines Pakets eines speziellen Audiokanals erforderlich sind, und erzeugen und codieren Hauptdaten und redundante Daten durch ein Verfahren, das demjenigen der Einheit 25 zur Erzeugung redundanter Daten und der Codiereinheit 26 in 6 ähnlich ist. Die codierten Hauptdaten und redundanten Daten werden der Mux-Einheit 224 zugeführt.
  • Die Mux-Einheit 224 speichert die Hauptdaten und die redundanten Daten, die von der Codiereinheit 223 zugeführt werden, in einem Paket zur BLE-Kommunikation durch ein Verfahren, das dem der Mux-Einheit 27 in 6 ähnlich ist, und erhält ein Sendeziel aus Informationen, die angeben, welche Audiokanaldaten das Paket aufweist. Die Mux-Einheit 224 sammelt die Pakete zur BLE-Kommunikation in einem Sendepuffer 28.
  • Es wird darauf hingewiesen, dass der Betrieb des Sendeendgeräts 211 ähnlich demjenigen der ersten oder zweiten Ausführungsform ist, außer dass berücksichtigt wird, zu welchem Audiokanal jede Dateneinheit gehört, und somit wird seine Beschreibung weggelassen.
  • <Konfigurationsbeispiel für das Empfangsendgerät>
  • 29 ist ein Blockdiagramm, das ein Konfigurationsbeispiel für das Empfangsendgerät 212 darstellt. Unter den in 29 dargestellten Konfigurationen sind die gleichen Konfigurationen wie die in 12 beschriebenen mit den gleichen Bezugszeichen gekennzeichnet. Sich überschneidende Beschreibungen werden gegebenenfalls weggelassen.
  • Das Sendeendgerät 211 in 29 unterscheidet sich von dem Empfangsendgerät 12 in 12 darin, dass ein Empfangspuffer 251, eine Demux-Einheit 252 für geräteübergreifende Daten, eine Steuereinheit 253 für Kommunikation zwischen Geräten, eine Einheit 254 zum Hinzufügen redundanter Daten und ein Sendepuffer 255 hinzugefügt sind.
  • Der Empfangspuffer 251 empfängt und sammelt Pakete durch Kommunikation zwischen Geräten.
  • Die Demux-Einheit 252 für geräteübergreifende Daten erfasst Pakete geräteübergreifender Daten, die in dem Empfangspuffer 251 gesammelt sind. In einem Fall, in dem die redundante Daten dem erfassten Paket hinzugefügt sind, trennt die Demux-Einheit 252 für geräteübergreifende Daten die redundanten Daten, sammelt die redundanten Daten in einem Puffer 55 für redundante Daten und gibt andere Informationen (nachstehend als geräteübergreifende Steuerinformationen bezeichnet) an die Steuereinheit 253 für Kommunikation zwischen Geräten aus.
  • Die Steuereinheit 253 für Kommunikation zwischen Geräten erfasst die geräteübergreifenden Steuerinformationen, die von der Demux-Einheit 252 für geräteübergreifende Daten zugeführt und von dem anderen Empfangsendgerät 212 gesendet werden. Die geräteübergreifenden Informationen können eine Anforderung von redundanten Daten von einem weiteren Empfangsendgerät 212 aufweisen. In diesem Fall überprüft die Steuereinheit 253 für Kommunikation zwischen Geräten Daten, die in dem Puffer 55 für redundante Daten existieren, unter Daten der frame id, die von dem anderen Empfangsendgerät 212 angefordert werden. Die Steuereinheit 253 für Kommunikation zwischen Geräten stellt die in dem Puffer 55 für redundante Daten existierenden redundanten Daten als redundante Daten ein, die den geräteübergreifenden Steuerinformationen hinzugefügt werden sollen. Die Steuereinheit 253 für Kommunikation zwischen Geräten gibt die geräteübergreifenden Steuerinformationen, die durch sie selbst gesendet werden, und die frame_id der redundanten Daten, die hinzugefügt werden sollen, an die Einheit 254 zum Hinzufügen redundanter Daten aus.
  • Die Einheit 254 zum Hinzufügen redundanter Daten erfasst die redundanten Daten, die der frame_id der hinzuzufügenden redundanten Daten entsprechen, aus dem Puffer 55 für redundante Daten. Die Einheit 254 zum Hinzufügen redundanter Daten fügt die erfassten redundanten Daten den geräteübergreifenden Steuerinformationen hinzu, speichert die Informationen in einem zur Kommunikation zwischen Geräten geeigneten Paket und sammelt das Paket in dem Sendepuffer 255.
  • Zusätzlich überprüft die Steuereinheit 253 für Kommunikation zwischen Geräten den Hauptdatenpuffer 54 und den Puffer 55 für redundante Daten und erfasst die von der Steuereinheit 253 für Kommunikation zwischen Geräten selbst angeforderte frame_id für das andere Empfangsendgerät 212. Die Steuereinheit 253 für Kommunikation zwischen Geräten fügt Informationen über die frame_id der anzufordernden redundanten Daten zu den geräteübergreifenden Steuerinformationen, die durch sie selbst gesendet werden, hinzu und gibt die Informationen an die Einheit 254 zum Hinzufügen redundanter Daten aus.
  • Die Einheit 254 zum Hinzufügen redundanter Daten speichert die geräteübergreifenden Steuerinformationen in einem zur Kommunikation zwischen Geräten geeigneten Paket und sammelt das Paket in dem Sendepuffer 255.
  • Die in dem Sendepuffer 255 gesammelten Pakete werden durch Kommunikation zwischen Geräten an das andere Empfangsendgerät 212 gesendet.
  • <Betrieb des Empfangsendgeräts>
  • Nachstehend wird in dem grundlegenden Verarbeitungsablauf des Empfangsterminals 212 der dritten Ausführungsform nur die Steuerungsverarbeitung für Kommunikation zwischen Geräten, die sich von der ersten oder zweiten Ausführungsform unterscheidet, beschrieben. Die Steuerungsverarbeitung für Kommunikation zwischen Geräten wird zu einer Zeit unabhängig von der BLE-Kommunikation und der Datenerfassungsverarbeitung und der Audiowiedergabeverarbeitung, die in der ersten und der zweiten Ausführungsformen beschrieben sind, ausgeführt.
  • <Steuerungsverarbeitung für Kommunikation zwischen Geräten>
  • 30 ist ein Ablaufplan zum Beschreiben der Steuerungsverarbeitung für Kommunikation zwischen Geräten des Empfangsendgeräts 212.
  • Nachstehend ist zur Vereinfachung der Beschreibung angenommen, dass die Wiedergabezeiten mit einem zulässigen Genauigkeitsgrad zwischen den Empfangsendgeräten 212 synchronisiert sind. Zusätzlich ist angenommen, dass frame_id durch alle Empfangsendgeräte 212 als eine Nummer, die einen Rahmen angibt, zur gleichen Zeit in Audiodaten des Sendeendgeräts 211 korrekt gemeinsam verwendet werden kann.
  • In Schritt S301 erfasst die Demux-Einheit 252 für geräteübergreifende Daten ein Paket geräteübergreifender Daten, das von dem anderen Empfangsendgerät 212 gesendet und in dem Empfangspuffer 251 gesammelt wird.
  • In Schritt S302 bestimmt die Demux-Einheit 252 für geräteübergreifende Daten, ob den geräteübergreifenden Daten redundante Daten hinzugefügt worden sind oder nicht. Falls in Schritt S302 bestimmt wird, dass den geräteübergreifenden Daten redundante Daten hinzugefügt worden sind, fährt die Verarbeitung zu Schritt S303 fort.
  • In Schritt S303 führt Demux-Einheit 252 für geräteübergreifende Daten Demux-Verarbeitung für geräteübergreifende Daten aus, um redundante Daten zu trennen.
  • In Schritt S304 bestimmt die Demux-Einheit 252 für geräteübergreifende Daten, ob Daten derselben frame_id in dem Hauptdatenpuffer 54 und dem Puffer 55 für redundante Daten vorhanden sind oder nicht. Falls bestimmt wird, dass Daten derselben frame id in dem Hauptdatenpuffer 54 und dem Puffer 55 für redundante Daten vorhanden sind, fährt die Verarbeitung zu Schritt S305 fort.
  • In Schritt S305 ersetzt die Demux-Einheit 252 für geräteübergreifende Daten in einem Fall, in dem die Priorität der redundanten Daten, die von dem anderen Empfangsendgerät 212 empfangen werden, höher ist, die Daten derselben frame_id, die in dem Puffer 55 für redundante Daten existieren, durch die bereits von dem anderen Empfangsendgerät 212 empfangenen und in dem Empfangspuffer 251 gesammelten Daten.
  • Beispielsweise in dem Fall des Empfangsendgeräts 212, das Audiodaten des linken Kanals empfängt, besitzt ein Audiosignal des linken Kanals eine höhere Priorität, und ein Audiosignal des rechten Kanals besitzt eine niedrigere Priorität.
  • Andererseits verwirft in einem Fall, in dem die Priorität der von dem anderen Empfangsendgerät 212 empfangenen redundanten Daten niedriger ist, die Demux-Einheit 252 für geräteübergreifende Daten die empfangenen redundanten Daten.
  • Beispielsweise in einem Fall, in dem das Empfangsendgerät das Audiosignal von ch 1 wiedergibt und die redundanten Daten, die {frame_id, ch} = {150, 1} entsprechen, in dem Puffer 55 für redundante Daten vorhanden sind, werden die empfangenen verworfen, selbst wenn redundante Daten, die {frame_id, ch} = {150, 2} entsprechen, neu empfangen werden.
  • Falls in Schritt S304 bestimmt wird, dass keine Daten derselben frame_id in dem Hauptdatenpuffer 54 und dem Puffer 55 für redundante Daten vorhanden sind, fährt die Verarbeitung zu Schritt S306 fort.
  • In Schritt S306 sammelt die Demux-Einheit 252 für geräteübergreifende Daten die von dem anderen Empfangsendgerät 212 empfangenen redundanten Daten in dem Puffer 55 für redundante Daten.
  • Andererseits wird, falls in Schritt S302 bestimmt wird, dass keine redundanten Daten den geräteübergreifenden Daten hinzugefügt sind, die Verarbeitung der Schritte S303 bis S306 übersprungen, und die Verarbeitung fährt zu Schritt S307 fort.
  • In Schritt S307 führt die Steuereinheit 253 für Kommunikation zwischen Geräten Anforderungsdatenbestimmungsverarbeitung aus. Einzelheiten der Anforderungsdatenbestimmungsverarbeitung werden später mit Bezug auf 31 beschrieben. Durch die Verarbeitung von Schritt S307 werden der Hauptdatenpuffer 54 und Puffer 55 für redundante Daten der Steuereinheit 253 für Kommunikation zwischen Geräten selbst überprüft, und eine Liste der anzufordernden frame_ids wird erhalten.
  • Die Steuereinheit 253 für Kommunikation zwischen Geräten stellt die Liste anzufordernder frame_ids und ihre eigenen Kanalinformationen gemeinsam als Anforderungsinformationen des Empfangsendgeräts 212 ein. Beispielsweise werden für das Empfangsendgerät 212, das ch2 empfängt, die Anforderungsinformationen konfiguriert als {frame_id, ch} = {150, 2}, {167, 2}, {180, 2}, und so weiter.
  • Beispielsweise ist angenommen, dass das eigene Endgerät ein Empfangsendgerät ist, das das Audiosignal von ch1 wiedergibt, und das Anforderungszielendgerät ein Empfangsendgerät ist, das das Audiosignal von ch2 wiedergibt, jedoch auch das Audiosignal von ch1 empfängt. In einem solchen Fall fordert das eigene Endgerät {frame_id, ch} = {150, 1} mit hoher Priorität von dem Empfangsendgerät 212 an.
  • Es wird darauf hingewiesen, dass die Anforderung von Kanälen unterschiedslos erfolgen kann. Die Anforderungsinformationen sind in diesem Fall beispielsweise als {frame_id, ch} = {150, × (don't care)} konfiguriert.
  • In Schritt S308 führt die Steuereinheit 253 für Kommunikation zwischen Geräten die Erzeugungsverarbeitung der geräteübergreifenden Steuerinformationen aus. Insbesondere erzeugt die Steuereinheit 253 für Kommunikation zwischen Geräten geräteübergreifende Steuerinformationen, die durch sie selbst zusätzlich zu den Anforderungsinformationen zu senden sind. Zusätzlich fügt die Steuereinheit 253 für Kommunikation zwischen Geräten die vorstehend beschriebenen Anforderungsinformationen bei Bedarf den erzeugten geräteübergreifenden Steuerinformationen hinzu.
  • In Schritt S309 erfasst die Steuereinheit 253 für Kommunikation zwischen Geräten Anforderungsinformationen des anderen Empfangsendgeräts 212 aus den in Schritt S301 erfassten geräteübergreifenden Daten. Die Steuereinheit 253 für Kommunikation zwischen Geräten gibt die geräteübergreifenden Steuerinformationen und frame_id der redundanten Daten, die hinzugefügt werden sollen, an die Einheit 254 zum Hinzufügen redundanter Daten aus.
  • In Schritt S310 bestimmt die Einheit 254 zum Hinzufügen redundanter Daten, ob redundante Daten, die frame_id in den Anforderungsinformationen von dem anderen Empfangsendgerät 212 entsprechen, in dem Puffer 55 für redundante Daten vorhanden sind oder nicht. Falls in Schritt S310 bestimmt wird, dass redundante Daten, die frame_id in den Anforderungsinformationen von dem anderen Empfangsendgerät 212 entsprechen, vorhanden sind, fährt die Verarbeitung zu Schritt S311 fort.
  • In Schritt S311 wählt die Einheit 254 zum Hinzufügen redundanter Daten redundante Daten, die hinzuzufügen sind, gemäß der Menge, die hinzugefügt werden kann, und der Hinzufügungspriorität aus und fügt die ausgewählten redundanten Daten den geräteübergreifenden Steuerinformationen hinzu. Die Hinzufügungspriorität wird verwendet, um vorzugsweise eine alte frame_id so oft wie möglich zu senden. Es wird darauf hingewiesen, dass die Priorität, die sich auf den vorstehend beschriebenen Kanal bezieht, ebenfalls berücksichtigt werden kann.
  • Zusätzlich wird, falls in Schritt S310 bestimmt wird, dass keine redundanten Daten, die frame_id in den Anforderungsinformationen von dem anderen Empfangsendgerät 212 entsprechen, vorhanden sind, die Verarbeitung in Schritt S311 übersprungen, und die Verarbeitung fährt zu Schritt S312 fort.
  • In Schritt S312 speichert die Einheit 254 zum Hinzufügen redundanter Daten die geräteübergreifenden Steuerinformationen in einem zur Kommunikation zwischen Geräten geeigneten Paket und sammelt das Paket in dem Sendepuffer 255.
  • Die in dem Sendepuffer 255 gesammelten Pakete werden durch Kommunikation zwischen Geräten an das andere Empfangsendgerät 212 gesendet. Danach endet die Steuerungsverarbeitung für Kommunikation zwischen Geräten.
  • <Anforderungsdatenbestimmungsverarbeitung>
  • 31 ist ein Ablaufplan zum Beschreiben von Anforderungsdatenbestimmungsverarbeitung in Schritt S307 von 30.
  • In dieser Verarbeitung wird, um zu bestätigen, ob anzufordernde Daten vorhanden sind oder nicht, eine Variable id, die temporär frame_id hält, vorbereitet.
  • In Schritt S341 bestimmt die Steuereinheit 253 für Kommunikation zwischen Geräten, ob eine Anforderung für redundante Daten erforderlich ist oder nicht. Beispielsweise ist es in einer Situation, in der lange Zeit kein Paketverlust aufgetreten ist, nicht notwendig, eine Anforderung zu stellen. Somit wird bestimmt, dass eine Anforderung redundanter Daten nicht erforderlich ist, und die Anforderungsdatenbestimmungsverarbeitung endet.
  • Falls in Schritt S341 bestimmt wird, dass eine Anforderung redundanter Daten erforderlich ist, fährt die Verarbeitung zu Schritt S342 fort.
  • In Schritt S342 setzt die Steuereinheit 253 für Kommunikation zwischen Geräten frame_id der ältesten Daten, die sich derzeit in ihrem eigenen Hauptdatenpuffer 54 und Puffer 55 für redundante Daten befinden, in id ein und initialisiert id.
  • In Schritt S343 bestimmt die Steuereinheit 253 für Kommunikation zwischen Geräten, ob Daten der frame_id, die mit id übereinstimmt, in dem Hauptdatenpuffer 54 und dem Puffer 55 für redundante Daten vorhanden sind oder nicht. Falls in Schritt S343 bestimmt wird, dass keine Daten der frame_id, die mit der id übereinstimmt, in dem Hauptdatenpuffer 54 und dem Puffer 55 für redundante Daten vorhanden sind, fährt die Verarbeitung zu Schritt S344 fort.
  • In Schritt S344 fügt die Steuereinheit 253 für Kommunikation zwischen Geräten die id den Anforderungsinformationen hinzu.
  • Falls in Schritt S343 bestimmt wird, dass Daten der frame_id, die mit der id übereinstimmt, in dem Hauptdatenpuffer 54 und dem Puffer 55 für redundante Daten vorhanden sind, wird die Verarbeitung von Schritt S344 übersprungen und die Verarbeitung fährt zu Schritt S345 fort.
  • In Schritt S345 aktualisiert die Steuereinheit 253 für Kommunikation zwischen Geräten die id auf id+1.
  • In Schritt S346 bestimmt die Steuereinheit 253 für Kommunikation zwischen Geräten, ob die id gleich der oder kleiner als die neueste frame_id in dem Hauptdatenpuffer 54 ist oder nicht und ob die Anforderungsdaten gleich einer oder kleiner als eine im Voraus spezifizierte Zahl sind oder nicht. Falls in Schritt S346 bestimmt wird, dass die id gleich der oder kleiner als die neueste frame_id in dem Hauptdatenpuffer 54 ist und die Anforderungsdaten gleich der oder kleiner als die spezifizierte Zahl sind, kehrt die Verarbeitung zu Schritt S343 zurück, und die Verarbeitung in Schritt S343 und den nachfolgenden Schritten wird wiederholt.
  • Falls in Schritt S346 bestimmt wird, dass die id größer geworden ist als die neueste frame_id in den Hauptdaten oder die Anforderungsdaten größer geworden sind als die spezifizierte Zahl, wird die Anforderungsdatenbestimmungsverarbeitung beendet.
  • Auf diese Weise ist es möglich, durch Spezifizieren einer Zahl im Voraus und Einstellen der Anzahl von Einheiten von Anforderungsdaten, so dass sie gleich der oder kleiner als die spezifizierte Zahl ist, einen unnötigen Anstieg der Datenmenge der Kommunikation zwischen Geräten zu vermeiden.
  • Wie vorstehend beschrieben ist es gemäß der dritten Ausführungsform der vorliegenden Technologie möglich, die Variation in der Wahrscheinlichkeit für das Auftreten von Paketverlust aufgrund des Geräts in dem gleichen Kommunikationsstatus einzudämmen. Somit ist es möglich, unabhängig von dem Gerät eine stabile Sprachübertragung zu erreichen.
  • Zusätzlich kann gemäß der dritten Ausführungsform in einem System mit Sprachübertragung zu mehreren Geräten (Kanälen) die Häufigkeit von Tonunterbrechungen im Vergleich zu einem einzelnen Gerät reduziert sein.
  • Es wird darauf hingewiesen, dass die Technologie der dritten Ausführungsform nicht nur auf die erste Ausführungsform, sondern auch auf die zweite Ausführungsform angewandt werden kann.
  • <4. Anderes>
  • <Computerkonfigurationsbeispiel>
  • Die Reihe der vorstehend beschriebenen Verarbeitung kann durch Hardware oder Software ausgeführt werden. In einem Fall, in dem die Reihe der Verarbeitung durch Software ausgeführt wird, wird ein Programm, das die Software bildet, von einem Programmaufzeichnungsmedium auf einem Computer, der in dedizierter Hardware integriert ist, einem Allzweck-Personalcomputer oder Ähnlichem installiert.
  • 32 ist ein Blockdiagramm, das ein Beispiel für die Hardwarekonfiguration eines Computers, der die vorstehend beschriebene Reihe der Verarbeitung gemäß einem Programm ausführt, darstellt.
  • Eine zentrale Verarbeitungseinheit (CPU) 301, ein Festwertspeicher (ROM) 302 und ein Direktzugriffsspeicher (RAM) 303 sind über einen Bus 304 miteinander verbunden.
  • Eine Eingabe/Ausgabe-Schnittstelle 305 ist ebenfalls mit dem Bus 304 verbunden. Eine Eingabeeinheit 306, die eine Tastatur, eine Maus und dergleichen aufweist, und eine Ausgabeeinheit 307, die eine Anzeigevorrichtung, einen Lautsprecher und dergleichen aufweist, sind mit der Eingabe/Ausgabe-Schnittstelle 305 verbunden. Zusätzlich sind eine Speichereinheit 308 wie z. B. eine Festplatte und ein nichtflüchtiger Speicher, eine Kommunikationseinheit 309 wie z. B. eine Netzschnittstelle und ein Laufwerk 310 zum Antreiben eines herausnehmbaren Mediums 311 mit der Eingabe/Ausgabe-Schnittstelle 305 verbunden.
  • In dem wie vorstehend beschrieben konfigurierten Computer lädt die CPU 301 ein in der Speichereinheit 308 gespeichertes Programm über die Eingabe/Ausgabe-Schnittstelle 305 und den Bus in den RAM 303 und führt das Programm aus, beispielsweise um die vorstehend beschriebene Reihe der Verarbeitung auszuführen.
  • Das durch die CPU 301 ausgeführte Programm wird dadurch, dass es in dem herausnehmbaren Medium 311 aufgezeichnet ist, oder über ein drahtgebundenes oder drahtloses Übertragungsmedium wie z. B. ein lokales Netz, das Internet oder digitales Rundsenden bereitgestellt und wird beispielsweise in der Speichereinheit 308 installiert.
  • Es wird darauf hingewiesen, dass das durch den Computer ausgeführte Programm ein Programm sein kann, das die Verarbeitung in chronologischer Reihenfolge gemäß der in der vorliegenden Spezifikation beschriebenen Reihenfolge ausführt, oder ein Programm sein kann, das die Verarbeitung parallel oder zu einem erforderlichen Zeitpunkt ausführt, z. B. wenn es aufgerufen wird.
  • Es wird darauf hingewiesen, dass in der vorliegenden Spezifikation ein System eine Sammlung von mehreren Komponenten (Geräte, Module (Teile) und dergleichen) bedeutet, wobei es unerheblich ist, ob sich alle Komponenten in demselben Gehäuse befinden oder nicht. Dementsprechend sind sowohl mehrere Geräte, die in separaten Gehäusen untergebracht und über ein Netz verbunden sind, als auch ein Gerät, das mehrere Module in einem Gehäuse unterbringt, Systeme.
  • Darüber hinaus ist der in der vorliegenden Spezifikation beschriebene Effekt lediglich eine Erläuterung und nicht einschränkend. Somit können andere Effekte erhalten werden.
  • Ausführungsformen der vorliegenden Technologie sind nicht auf die vorstehend beschriebenen Ausführungsformen beschränkt, und verschiedene Modifikationen können vorgenommen werden, ohne von dem Schutzbereich der vorliegenden Technologie abzuweichen.
  • Beispielsweise kann die vorliegende Technologie eine Konfiguration mit Cloud-Computing, in der eine Funktion gemeinsam verwendet und durch mehrere Vorrichtungen über ein Netz verarbeitet wird, aufweisen.
  • Zusätzlich kann jeder in dem vorstehend beschriebenen Ablaufplan beschriebene Schritt durch ein einziges Gerät oder gemeinsam durch mehrere Geräte ausgeführt werden.
  • Außerdem können in einem Fall, in dem mehrere Prozesse in einem Schritt enthalten sind, die mehreren in einem Schritt enthaltenen Prozesse durch ein Gerät ausgeführt werden oder gemeinsam durch mehrere Geräte ausgeführt werden.
  • <Beispielhafte Kombination der Konfiguration>
  • Die vorliegende Technologie kann auch wie folgt konfiguriert sein.
    1. (1) Empfangsendgerät, das Folgendes aufweist:
      • eine Empfangseinheit, die ein von einem Sendeendgerät gesendetes Paket empfängt, wobei das Paket Hauptdaten und redundante Daten aufweist, die erzeugt werden auf der Basis eines Redundanzgrades, der bestimmt wird auf der Basis einer Neuübertragungs-Timeout-Zeitspanne, die eine Zeit ist, die durch eine Kombination des Sendeendgeräts und des Empfangsendgeräts bestimmt wird, und in der Neuübertragungsverarbeitung der Hauptdaten wiederholt ausgeführt und für die Wiederherstellung oder Interpolation verwendet werden kann; und
      • eine Decodiereinheit, die Wiedergabedaten durch Decodieren der Hauptdaten oder der redundanten Daten decodiert.
    2. (2) Empfangsendgerät nach dem vorstehenden (1), das ferner Folgendes aufweist:
      • einen Hauptdatenpuffer, der die Hauptdaten sammelt; und
      • einen Puffer für redundante Daten, der die redundanten Daten sammelt, wobei
      • in einem Fall, in dem die Hauptdaten, die den Wiedergabedaten entsprechen, nicht in dem Hauptdatenpuffer vorhanden sind, die Decodiereinheit die Wiedergabedaten durch Decodieren der redundanten Daten, die den Wiedergabedaten entsprechen, die aus dem Puffer für redundante Daten gelesen werden, decodiert.
    3. (3) Empfangsendgerät nach dem vorstehenden (1) oder (2), wobei der Redundanzgrad durch die Anzahl von Einheiten redundanter Daten pro Paket repräsentiert wird.
    4. (4) Empfangsendgerät nach dem vorstehenden (1) oder (2), wobei die redundanten Daten einem Rahmen vor oder nach einem Rahmen entsprechen, dem die in demselben Paket enthaltenen Hauptdaten entsprechen, und der Redundanzgrad durch einen Bereich des Rahmens, dem die redundanten Daten in dem Paket entsprechen, angepasst wird.
    5. (5) Empfangsendgerät nach einem aus den vorstehenden (1) bis (4), wobei Anteile einer Menge der Hauptdaten und einer Menge der redundanten Daten in einem Paket angepasst werden.
    6. (6) Empfangsendgerät nach einem aus den vorstehenden (1) bis (5), wobei ein Bereich in einem Paket, der durch Codieren der redundanten Daten frei wird, einem Bereich der Hauptdaten zugeordnet wird.
    7. (7) Empfangsendgerät nach einem aus den vorstehenden (1) bis (6), wobei die redundanten Daten auf der Basis des Redundanzgrades und einer Merkmalsmenge der Hauptdaten erzeugt werden.
    8. (8) Empfangsendgerät nach einem aus den vorstehenden (1) bis (7), wobei die redundanten Daten Korrelationsdaten sind, die eine Korrelation zwischen den Hauptdaten und den redundanten Daten oder eine Korrelation zwischen den redundanten Daten und weiteren redundanten Daten betreffen.
    9. (9) Empfangsendgerät nach einem aus den vorstehenden (1) bis (8), wobei die Empfangseinheit eine Datennummer zum Identifizieren von wiederzugebenden Daten den Hauptdaten und den redundanten Daten auf der Basis von Paketverlustinformationen, die den Verlust des Pakets angeben, hinzufügt.
    10. (10) Empfangsendgerät nach dem vorstehenden (1), wobei der Redundanzgrad auf der Basis der Neuübertragungs-Timeout-Zeitspanne und der Anzahl von in einem Sendepuffer gesammelten Paketen bestimmt wird.
    11. (11) Empfangsendgerät nach dem vorstehenden (10), wobei die Anzahl von Einheiten von Hauptdaten, die die Anzahl von Einheiten der Hauptdaten pro Paket ist, auf der Basis der Neuübertragungs-Timeout-Zeitspanne und der Anzahl von in dem Sendepuffer gesammelten Paketen bestimmt wird.
    12. (12) Empfangsendgerät nach dem vorstehenden (11), wobei ein Schwellenwert, der mit der Anzahl von in dem Sendepuffer gesammelten Paketen verglichen werden soll, um die Anzahl der Einheiten von Hauptdaten zu bestimmen, gemäß der Neuübertragungs-Timeout-Zeitspanne geändert wird.
    13. (13) Empfangsendgerät nach dem vorstehenden (11) oder (12), wobei der Redundanzgrad auf der Basis der Anzahl von Einheiten von Hauptdaten und der Neuübertragungs-Timeout-Zeitspanne geändert wird.
    14. (14) Empfangsendgerät nach dem vorstehenden (13), wobei eine Datenmenge der Hauptdaten auf der Basis der Anzahl von Einheiten von Hauptdaten, der Anzahl von Einheiten redundanter Daten pro Paket und einer Datenmenge der redundanten Daten geändert wird.
    15. (15) Empfangsendgerät nach einem aus den vorstehenden (11) bis (14), wobei eine Sendedatennummer, die eine Nummer ist, die den Hauptdaten an einem Kopf des Pakets entspricht, wenn Einheiten von Hauptdaten der Reihe nach zeitlich fortlaufend nummeriert werden, dem Paket hinzugefügt wird.
    16. (16) Empfangsendgerät nach dem vorstehenden (15), wobei die Empfangseinheit eine Datennummer zum Identifizieren von wiederzugebenden Daten den Hauptdaten und den redundanten Daten auf der Basis der Sendedatennummer hinzufügt.
    17. (17) Empfangsendgerät nach dem vorstehenden (2), das ferner Folgendes aufweist: eine Kommunikationseinheit, die mit einem weiteren Empfangsendgerät, das ein von dem Sendeendgerät gesendetes Paket empfängt, kommuniziert, wobei die Kommunikationseinheit die redundanten Daten von dem weiteren Empfangsendgerät empfängt.
    18. (18) Empfangsendgerät nach dem vorstehenden (17), das ferner Folgendes aufweist: eine Steuereinheit, die eine Anforderung für die redundanten Daten, die den Wiedergabedaten entsprechen, an das weitere Empfangsendgerät stellt in einem Fall, in dem die Hauptdaten, die den Wiedergabedaten entsprechen, nicht in dem Hauptdatenpuffer sind und die redundante Daten, die den Wiedergabedaten entsprechen, nicht in dem Puffer für redundante Daten sind, wobei die Kommunikationseinheit die von dem weiteren Empfangsendgerät in Reaktion auf die Anforderung gesendeten redundanten Daten empfängt.
    19. (19) Empfangsendgerät nach dem vorstehenden (17) oder (18), wobei die Kommunikationseinheit die redundanten Daten, die von dem weiteren Empfangsendgerät angefordert sind, aus dem Puffer für redundante Daten liest und die redundanten Daten an das weitere Empfangsendgerät sendet.
    20. (20) Empfangsverfahren, das Folgendes aufweist:
      • ein Empfangsendgerät
      • empfängt ein von einem Sendeendgerät gesendetes Paket, wobei das Paket Hauptdaten und redundante Daten aufweist, die erzeugt werden auf der Basis eines Redundanzgrades, der bestimmt wird auf der Basis einer Neuübertragungs-Timeout-Zeitspanne, die eine Zeit ist, die durch eine Kombination des Sendeendgeräts und des Empfangsendgeräts bestimmt wird, und in der Neuübertragungsverarbeitung der Hauptdaten wiederholt ausgeführt und zur Wiederherstellung oder Interpolation der Hauptdaten verwendet werden kann; und
      • decodiert Wiedergabedaten durch Decodieren der Hauptdaten oder der redundanten Daten.
    21. (21) Sendeendgerät, das Folgendes aufweist:
      • eine Einheit zur Erzeugung redundanter Daten, die einen Redundanzgrad redundanter Daten, die zur Wiederherstellung oder Interpolation von Hauptdaten verwendet werden, auf der Basis einer Neuübertragungs-Timeout-Zeitspanne, die eine Zeit ist, die durch eine Kombination aus dem Sendeendgerät und einem Empfangsendgerät bestimmt wird, und eine Zeit ist, in der Neuübertragungsverarbeitung der Hauptdaten wiederholt ausgeführt werden kann, bestimmt; und
      • eine Sendeeinheit, die ein Paket, das die Hauptdaten und die redundanten Daten, die auf der Basis des Redundanzgrads erzeugt sind, aufweist, sendet.
    22. (22) Sendeendgerät nach dem vorstehenden (21), wobei der Redundanzgrad durch die Anzahl von Einheiten der redundanten Daten pro Paket repräsentiert wird.
    23. (23) Sendeendgerät nach dem vorstehenden (21), wobei die redundanten Daten einem Rahmen vor oder nach einem Rahmen entsprechen, dem die in demselben Paket enthaltenen Hauptdaten entsprechen, und die Einheit zur Erzeugung redundanter Daten den Redundanzgrad durch einen Bereich des Rahmens, dem die redundanten Daten in dem Paket entsprechen, anpasst.
    24. (24) Sendeendgerät nach einem aus den vorstehenden (21) bis (23), wobei die Einheit zur Erzeugung redundanter Daten die Anteile einer Menge der Hauptdaten und einer Menge der redundanten Daten in einem Paket anpasst.
    25. (25) Sendeendgerät nach einem aus den vorstehenden (21) bis (24), wobei die Einheit zur Erzeugung redundanter Daten einen Bereich in einem Paket, der durch Codieren der Hauptdaten und der redundanten Daten frei wird, einem Bereich der Hauptdaten zuweist.
    26. (26) Sendeendgerät nach einem aus den vorstehenden (21) bis (25), wobei die Einheit zur Erzeugung redundanter Daten die redundanten Daten auf der Basis des Redundanzgrades und einer Merkmalsmenge der Hauptdaten erzeugt.
    27. (27) Sendeendgerät nach einem aus den vorstehenden (21) bis (26), wobei die Einheit zur Erzeugung redundanter Daten Korrelationsdaten, die eine Korrelation zwischen den Hauptdaten und den redundanten Daten oder eine Korrelation zwischen den redundanten Daten und weiteren redundanten Daten betreffen, einstellt.
    28. (28) Sendeendgerät nach dem vorstehenden (21), wobei die Einheit zur Erzeugung redundanter Daten einen Redundanzgrad der redundanten Daten auf der Basis der Neuübertragungs-Timeout-Zeitspanne und der Anzahl von in einem Sendepuffer gesammelten Daten bestimmt.
    29. (29) Sendeendgerät nach dem vorstehenden (28), wobei die Einheit zur Erzeugung redundanter Daten die Anzahl von Einheiten von Hauptdaten, die die Anzahl von Einheiten der Hauptdaten pro Paket ist, auf der Basis der Neuübertragungs-Timeout-Zeitspanne und der Anzahl von in dem Sendepuffer gesammelten Paketen bestimmt.
    30. (30) Sendeendgerät nach dem vorstehenden (29), wobei die Einheit zur Erzeugung redundanter Daten einen Schwellenwert, der mit der Anzahl von in dem Sendepuffer gesammelten Paketen verglichen werden soll, um die Anzahl der Einheiten von Hauptdaten zu bestimmen, gemäß der Neuübertragungs-Timeout-Zeitspanne ändert.
    31. (31) Sendeendgerät nach dem vorstehenden (29) oder (30), wobei die Einheit zur Erzeugung redundanter Daten den Redundanzgrad auf der Basis der Anzahl von Einheiten von Hauptdaten und der Neuübertragungs-Timeout-Zeitspanne ändert.
    32. (32) Sendeendgerät nach dem vorstehenden (29), wobei die Einheit zur Erzeugung redundanter Daten eine Datenmenge der Hauptdaten auf der Basis der Anzahl von Einheiten von Hauptdaten, der Anzahl von Einheiten redundanter Daten pro Paket und einer Datenmenge der redundanten Daten ändert.
    33. (33) Sendeendgerät nach einem aus den vorstehenden (28) bis (32), das ferner Folgendes aufweist:
      • eine Steuereinheit, die dem Paket einen Wert, der den Hauptdaten an einem Kopf des Pakets entspricht, wenn Einheiten der Hauptdaten fortlaufend in der Zeitreihe nummeriert sind, als eine Sendedatennummer hinzufügt.
    34. (34) Sendeendgerät nach dem vorstehenden (21), das ferner Folgendes aufweist:
      • eine Signalverarbeitungseinheit, die Identifizierungsinformationen zum Identifizieren eines Kanals eines Rahmens hinzufügt, wobei
      • die Sendeeinheit Senden durch Erhalten eines Empfangsendgeräts als ein Sendeziel eines Pakets, das dem Rahmen entspricht, aus mehreren Empfangsendgeräten auf der Basis der Identifizierungsinformationen ausführt.
    35. (35) Sendeverfahren, das Folgende aufweist:
      • ein Sendeendgerät
      • bestimmt einen Redundanzgrad redundanter Daten, die zur Wiederherstellung oder Interpolation von Hauptdaten verwendet werden, auf der Basis einer Neuübertragungs-Timeout-Zeitspanne, die eine Zeit ist, die durch eine Kombination aus dem Sendeendgerät und einem Empfangsendgerät bestimmt wird, und eine Zeit ist, in der Neuübertragungsverarbeitung der Hauptdaten wiederholt ausgeführt werden kann; und
      • sendet ein Paket, das die Hauptdaten und die redundanten Daten, die auf der Basis des Redundanzgrads erzeugt sind, aufweist.
  • Bezugszeichenliste
  • 11
    Sendeendgerät
    12
    Empfangsendgerät
    21
    BLE-Steuereinheit
    22
    Neuübertragungs-Timeout-Zeitspannen-Berechnungseinheit
    23
    Signalverarbeitungseinheit
    24
    Eingangspuffer
    25
    Einheit zur Erzeugung redundanter Daten
    26
    Codiereinheit
    27
    Mux-Einheit
    28
    Sendepuffer
    51
    BLE-Steuereinheit
    52
    Empfangspuffer
    101
    Einheit zur Erzeugung redundanter Daten
    102
    Codiereinheit
    103
    Mux-Einheit
    28
    Sendepuffer
    211
    Sendeendgerät
    221
    Signalverarbeitungseinheit
    222
    Einheit zur Erzeugung redundanter Daten
    223
    Codiereinheit
    251
    Empfangspuffer
    252
    Demux-Einheit für geräteübergreifende Daten
    253
    Steuereinheit für Kommunikation zwischen Geräten
    254
    Einheit zum Hinzufügen redundanter Daten
    255
    Sendepuffer
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2016208215 [0005]

Claims (20)

  1. Empfangsendgerät, das Folgendes umfasst: eine Empfangseinheit, die ein von einem Sendeendgerät gesendetes Paket empfängt, wobei das Paket Hauptdaten und redundante Daten aufweist, die erzeugt werden auf der Basis eines Redundanzgrades, der bestimmt wird auf der Basis einer Neuübertragungs-Timeout-Zeitspanne, die eine Zeit ist, die durch eine Kombination des Sendeendgeräts und des Empfangsendgeräts bestimmt wird und in der Neuübertragungsverarbeitung der Hauptdaten wiederholt ausgeführt und für die Wiederherstellung oder Interpolation der Hauptdaten verwendet werden kann; und eine Decodiereinheit, die Wiedergabedaten durch Decodieren der Hauptdaten oder der redundanten Daten decodiert.
  2. Empfangsendgerät nach Anspruch 1, das ferner Folgendes umfasst: einen Hauptdatenpuffer, der die Hauptdaten sammelt; und einen Puffer für redundante Daten, der die redundanten Daten sammelt, wobei in einem Fall, in dem die Hauptdaten, die den Wiedergabedaten entsprechen, nicht in dem Hauptdatenpuffer vorhanden sind, die Decodiereinheit die Wiedergabedaten durch Decodieren der redundanten Daten, die den Wiedergabedaten entsprechen, die aus dem Puffer für redundante Daten gelesen werden, decodiert.
  3. Empfangsendgerät nach Anspruch 1, wobei der Redundanzgrad durch die Anzahl von Einheiten der redundanten Daten pro Paket repräsentiert wird.
  4. Empfangsendgerät nach Anspruch 1, wobei die redundanten Daten einem Rahmen vor oder nach einem Rahmen entsprechen, dem die in demselben Paket enthaltenen Hauptdaten entsprechen, und der Redundanzgrad durch einen Bereich des Rahmens, dem die redundanten Daten in dem Paket entsprechen, angepasst wird.
  5. Empfangsendgerät nach Anspruch 1, wobei Anteile einer Menge der Hauptdaten und einer Menge der redundanten Daten in einem Paket angepasst werden.
  6. Empfangsendgerät nach Anspruch 1, wobei ein Bereich in einem Paket, der durch Codieren der redundanten Daten frei wird, einem Bereich der Hauptdaten zugeordnet wird.
  7. Empfangsendgerät nach Anspruch 1, wobei die redundanten Daten auf der Basis des Redundanzgrades und einer Merkmalsmenge der Hauptdaten erzeugt werden.
  8. Empfangsendgerät nach Anspruch 1, wobei die redundanten Daten Korrelationsdaten sind, die eine Korrelation zwischen den Hauptdaten und den redundanten Daten oder eine Korrelation zwischen den redundanten Daten und weiteren redundanten Daten betreffen.
  9. Empfangsendgerät nach Anspruch 1, wobei die Empfangseinheit eine Datennummer zum Identifizieren von wiederzugebenden Daten den Hauptdaten und den redundanten Daten auf der Basis von Paketverlustinformationen, die den Verlust des Pakets angeben, hinzufügt.
  10. Empfangsendgerät nach Anspruch 1, wobei der Redundanzgrad auf der Basis der Neuübertragungs-Timeout-Zeitspanne und der Anzahl von in einem Sendepuffer gesammelten Paketen bestimmt wird.
  11. Empfangsendgerät nach Anspruch 10, wobei die Anzahl von Einheiten von Hauptdaten, die die Anzahl von Einheiten der Hauptdaten pro Paket ist, auf der Basis der Neuübertragungs-Timeout-Zeitspanne und der Anzahl von in dem Sendepuffer gesammelten Paketen bestimmt wird.
  12. Empfangsendgerät nach Anspruch 11, wobei ein Schwellenwert, der mit der Anzahl von in dem Sendepuffer gesammelten Paketen verglichen werden soll, um die Anzahl der Einheiten von Hauptdaten zu bestimmen, gemäß der Neuübertragungs-Timeout-Zeitspanne geändert wird.
  13. Empfangsendgerät nach Anspruch 11, wobei der Redundanzgrad auf der Basis der Anzahl von Einheiten von Hauptdaten und der Neuübertragungs-Timeout-Zeitspanne geändert wird.
  14. Empfangsendgerät nach Anspruch 13, wobei eine Datenmenge der Hauptdaten auf der Basis der Anzahl von Einheiten von Hauptdaten, der Anzahl von Einheiten redundanter Daten pro Paket und einer Datenmenge der redundanten Daten geändert wird.
  15. Empfangsendgerät nach Anspruch 11, wobei eine Sendedatennummer, die eine Nummer ist, die den Hauptdaten an einem Kopf des Pakets entspricht, wenn Einheiten von Hauptdaten der Reihe nach zeitlich fortlaufend nummeriert werden, dem Paket hinzugefügt wird.
  16. Empfangsendgerät nach Anspruch 15, wobei die Empfangseinheit eine Datennummer zum Identifizieren von wiederzugebenden Daten den Hauptdaten und den redundanten Daten auf der Basis der Sendedatennummer hinzufügt.
  17. Empfangsendgerät nach Anspruch 2, das ferner Folgendes umfasst eine Kommunikationseinheit, die mit einem weiteren Empfangsendgerät, das ein von dem Sendeendgerät gesendetes Paket empfängt, kommuniziert, wobei die Kommunikationseinheit die redundanten Daten von dem weiteren Empfangsendgerät empfängt.
  18. Empfangsendgerät nach Anspruch 17, das ferner Folgendes umfasst eine Steuereinheit, die eine Anforderung für die redundanten Daten, die den Wiedergabedaten entsprechen, an das weitere Empfangsendgerät stellt in einem Fall, in dem die Hauptdaten, die den Wiedergabedaten entsprechen, nicht in dem Hauptdatenpuffer sind und die redundanten Daten, die den Wiedergabedaten entsprechen, nicht in dem Puffer für redundante Daten sind, wobei die Kommunikationseinheit die von dem weiteren Empfangsendgerät in Reaktion auf die Anforderung gesendeten redundanten Daten empfängt.
  19. Empfangsendgerät nach Anspruch 17, wobei die Kommunikationseinheit die redundanten Daten, die von dem weiteren Empfangsendgerät angefordert sind, aus dem Puffer für redundante Daten liest und die redundanten Daten an das weitere Empfangsendgerät sendet.
  20. Empfangsverfahren, das Folgendes umfasst: ein Empfangsendgerät empfängt ein von einem Sendeendgerät gesendetes Paket, wobei das Paket Hauptdaten und redundante Daten aufweist, die erzeugt werden auf der Basis eines Redundanzgrades, der bestimmt wird auf der Basis einer Neuübertragungs-Timeout-Zeitspanne, die eine Zeit ist, die durch eine Kombination des Sendeendgeräts und des Empfangsendgeräts bestimmt wird und in der Neuübertragungsverarbeitung der Hauptdaten wiederholt ausgeführt und für die Wiederherstellung oder Interpolation der Hauptdaten verwendet werden kann; und decodiert Wiedergabedaten durch Decodieren der Hauptdaten oder der redundanten Daten.
DE112020005969.3T 2019-12-05 2020-11-20 Empfangsendgerät und verfahren Pending DE112020005969T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019220262 2019-12-05
JP2019-220262 2019-12-05
PCT/JP2020/043421 WO2021111903A1 (ja) 2019-12-05 2020-11-20 受信端末および方法

Publications (1)

Publication Number Publication Date
DE112020005969T5 true DE112020005969T5 (de) 2022-09-22

Family

ID=76222094

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005969.3T Pending DE112020005969T5 (de) 2019-12-05 2020-11-20 Empfangsendgerät und verfahren

Country Status (4)

Country Link
US (1) US20220416949A1 (de)
CN (1) CN114793482A (de)
DE (1) DE112020005969T5 (de)
WO (1) WO2021111903A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016208215A (ja) 2015-04-21 2016-12-08 ソニー株式会社 送信装置、送信方法、およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4454320B2 (ja) * 2004-01-09 2010-04-21 富士通株式会社 伝送装置、伝送制御プログラム、及び伝送方法
EP1746580B1 (de) * 2004-05-10 2010-03-24 Nippon Telegraph and Telephone Corporation Paketkommunikationsverfahren für akustische signale, sendeverfahren, empfangsverfahren und einrichtung und programm dafür
EP1817859A1 (de) * 2004-12-02 2007-08-15 THOMSON Licensing Adaptive vorwärtsfehlerkorrektur
JP4513725B2 (ja) * 2005-11-09 2010-07-28 ソニー株式会社 パケット送信装置、通信システム及びプログラム
CN104823419B (zh) * 2012-11-28 2018-04-10 松下知识产权经营株式会社 接收终端及接收方法
US10485013B2 (en) * 2015-06-19 2019-11-19 Lg Electronics Inc. V2X message transmission method performed by terminal in wireless communication system, and terminal using same
JP6809456B2 (ja) * 2015-07-02 2021-01-06 ソニー株式会社 通信装置
JP2017092692A (ja) * 2015-11-10 2017-05-25 日本電信電話株式会社 データ伝送制御システム及び方法、並びに、データ伝送制御プログラム
US10630315B2 (en) * 2017-09-29 2020-04-21 Intel Corporation Technologies for applying a redundancy encoding scheme to segmented network packets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016208215A (ja) 2015-04-21 2016-12-08 ソニー株式会社 送信装置、送信方法、およびプログラム

Also Published As

Publication number Publication date
US20220416949A1 (en) 2022-12-29
CN114793482A (zh) 2022-07-26
WO2021111903A1 (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
DE60119080T2 (de) Verfahren und vorrichtung zur herstellung von kryptosynchronismus in einem auf gepackten daten basierenden kommunikationssystem
DE102010018376B4 (de) Dynamische Pufferung und Synchronisation verwandter Medienströme in Paketnetzwerken
DE602004009622T2 (de) Datenübertragung
US11289102B2 (en) Encoding method and apparatus
EP1883273A1 (de) Steuergerät und Verfahren zur drahtlosen Audiosignalübertragung im Rahmen einer Hörgeräteprogrammierung
WO2007038187A3 (en) Method and apparatus for boundary-based image compression
DE112009000561T5 (de) Koexistenz für an der gleichen Stelle angeordnete Funkgeräte, die in dem gleichen Frequenzband arbeiten
EP1771960A1 (de) Codier- und decodierverfahren, sowie codier- und decodiervorrichtungen mit einem zweistufigen fehlerschutzverfahren
EP1841285A1 (de) Hörgerätesystem mit binauralem DataLogging und entsprechendes Verfahren
WO2005064828A1 (de) Digitales mikrofon
DE102016110417A1 (de) Bildverarbeitungsvorrichtung und bildverrbeitungsverfahren
DE102015117057A1 (de) Drahtlos-Audioübertragungssystem, insbesondere Drahtlos-Mikrofonsystem
US11197044B2 (en) Communication apparatus, media distribution system, media distribution method, and non-transitory computer readable medium
DE112020005969T5 (de) Empfangsendgerät und verfahren
DE112021001487T5 (de) Bitstrom-erzeugungsverfahren, codierungsvorrichtung unddecodierungsvorrichtung
CN111741373B (zh) 一种视频数据传输方法和视频源设备
DE69432631T2 (de) Multiplexieren in einem System zur Kompression und Expandierung von Daten
JP2004147030A (ja) 受信装置、データ通信システム及びその通信方法
DE102006021611A1 (de) Mehrere Datenströme einer Multimediadatenverarbeitung
EP2159932A2 (de) Verfahren und Einrichtung zur Auswahl von Satellitenkanälen
DE112008000458T5 (de) Verfahren und Vorrichtung zum Senden und Empfangen von digitalen Fernsehrundfunkdaten
DE102009038521B4 (de) Drahtlos-Mikrofoneinheit, Drahtlos-Taschensender und Verfahren zur drahtlosen Audioübertragung
EP1858276A1 (de) Schnittstelle zur effizienten Übertragung von digitalen Signalen
DE102011001911A1 (de) Verfahren für einen Sender für ein Mehrkanal-Kommunikationssystem zur Versendung Echtzeit-sensitiver Daten D
DE112021005067T5 (de) Codec mit hierarchischer räumlicher auflösung