-
Technisches
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf die Kodierung eines digitalen
Signals und dessen Blöcke
digitaler Tastwerte zur Übertragung über ein Paket-geschaltetes
Netzwerk.
-
In
der Folge bezieht sich die vorliegende Erfindung ferner auf die
Dekodierung eines digitalen Signals und dessen Blöcke digitaler
Tastwerte, die aus einem Paket-geschalteten Netzwerk empfangen wurden.
-
Technischer
Hintergrund und Stand der Technik
-
Die
Telefonie über
Paket-geschaltete Netzwerke wie IP (Internet Protokoll)-basierte
Netzwerke (hauptsächlich
in Internet- oder Intranet-Netzwerken) ist auf Grund verschiedener
Funktionen immer attraktiver geworden. Zu diesen Funktionen gehören beispielsweise
relativ geringe Betriebskosten, eine einfache Integration neuer
Dienstleistungen und ein Netzwerk für Sprache und Daten. Das Sprach-
oder Audiosignal in Paket-geschalteten
Systemen wird in ein digitales Signal umgewandelt, d. h. in einen
Bitstrom, der in Abschnitte passender Größe unterteilt wird, um in Datenpaketen über das
Paket-geschaltete
Netzwerk von einem Sendepunkt zu einem Empfangspunkt übertragen
zu werden.
-
Paket-geschaltete
Netzwerke sind ursprünglich
für die Übertragung
von Nicht-Echtzeitdaten
ausgelegt und Sprachübertragungen über solche
Netzwerke verursachen einige Probleme. Datenpakete können bei
der Übertragung
verloren gehen, da sie absichtlich vom Netzwerk auf Grund von Überlastungsproblemen
oder Übertragungsfehlern
verworfen werden können.
In Nicht-Echtzeitanwendungen ist dies kein Problem, da ein verlorenes
Paket erneut übertragen
werden kann. Eine erneute Übertragung ist
jedoch bei Echtzeitanwendungen keine mögliche Lösung. Ein Paket, das für eine Echtzeitanwendung zu
spät ankommt,
kann nicht zur Rekonstruktion des entsprechenden Signals genutzt
werden, da dieses Signal bereits an den empfangenden Sprecher ausgeliefert
wurde bzw. worden sein sollte. Daher entspricht ein Paket, das zu
spät ankommt,
einem verlorenen Paket.
-
Eine
Eigenschaft eines IP-Netzwerks ist, dass der Inhalt unbeschädigt ist,
wenn das Paket ankommt. Ein IP-Paket besitzt einen Kopfbereich,
der ein CRC (Cyclic Redundancy Check, zyklische Redundanzprüfung)-Feld
enthält.
Mit der CRC wird geprüft,
ob der Inhalt des Paketes unbeschädigt ist. Wenn eine CRC einen
Fehler anzeigt, wird das Paket verworfen. Anders ausgedrückt, es
kommen keine Bitfehler vor, nur der Verlust von Paketen.
-
Das
Hauptproblem bei verlorenen oder verzögerten Datenpaketen ist die
Einführung
einer Verzerrung in das rekonstruierte Sprach- oder Audiosignal.
Die Verzerrungsergebnisse können
von der Tatsache herrühren,
dass die Signalsegmente, die von verlorenen oder verzögerten Datenpakten übertragen
werden, nicht rekonstruiert werden können. Die heutzutage verwendeten
Sprachkodierer wurden ursprünglich
für Schaltungs-geschaltete Netzwerke ausgelegt,
mit fehlerfreien Kanälen
oder mit Kanälen, die
Bitfehlereigenschaften aufweisen. Daher ist ein Problem bei diesen
Sprachkodierern, dass sie Paketverluste nicht sehr gut verarbeiten.
-
In
Anbetracht des oben Ausgeführten
wie auch anderer Besonderheiten von Paket-geschalteten Netzwerken, gibt es Probleme
in Zusammenhang damit, wie bei der Telefonie über Paket-geschaltete Netzwerke
dieselbe Qualität
wie bei der normalen Telefonie über
Schaltungs-geschaltete Netzwerke zur Verfügung gestellt werden kann.
Um diese Probleme zu lösen,
müssen
die Eigenschaften eines Paket-geschalteten Netzwerks mitberücksichtigt
werden.
-
Um
die Probleme bezüglich
der verlorenen oder verzögerten
Datenpakete während
der Echtzeitübertragung
zu lösen,
ist es angebracht, die Diversität
für die Übertragung über das
Paket-geschaltete Netzwerk einzuführen. Die Diversität ist ein
Verfahren, das die Robustheit in der Übertragung durch das Verteilen
von Informationen (wie bei der Verschachtelung (Interleaving) in
der Mobiltelefonie) in der Zeit oder über eine physikalische Entität (wie bei
der Verwendung mehrerer Empfangsantennen) erhöht. Bei der Paketübertragung
wird die Diversität
vorzugsweise auf Paket-Ebene eingeführt, indem eine Möglichkeit
gefunden wird, eine Diversität
zwischen den Paketen zu erstellen. Die einfachste Möglichkeit,
die Diversität
in einem Paket-geschalteten Netzwerk zu erstellen, ist die Übertragung
derselben Paket-Nutzdaten zweimal in zwei verschiedenen Paketen.
Auf diese Weise stört
ein verlorenes oder verzögertes
Paket nicht die Übertragung
der Nutzdaten-Informationen, da ein anderes Paket mit identischen
Nutzdaten, höchstwahrscheinlich,
rechtzeitig empfangen wird. Es ist offensichtlich, dass die Übertragung
von Informationen in einem Diversitätssystem eine höhere Bandbreite
erfordert als die Übertragung
von Informationen in einem normalen System.
-
Viele
der Diversitätsschemen
oder Diversitätssysteme
des Stands der Technik weisen den Nachteil auf, dass die Übertragung
eines Tonsignals nicht von der zusätzlichen Bandbreite profitiert,
die von der übertragenen
redundanten Information unter normalen Betriebsbedingungen benötigt wird.
Daher wird die meiste Zeit, wenn es keine Paketverluste oder -verzögerungen
gibt, die zusätzliche
Bandbreite nur für
die Übertragung
von Zusatzinformationen verwendet.
-
Da
die Bandbreite oftmals eine begrenzte Ressource ist, wäre es wünschenswert,
wenn ein übertragenes
Tonsignal von der zusätzlichen
Bandbreite profitieren könnte,
die von einem Diversitätssystem
benötigt
wird. Es wäre
vorzugsweise wünschenswert,
dass die zusätzliche
Bandbreite für
die Verbesserung der Qualität
des dekodierten Tonsignals am Empfangspunkt verwendet werden könnte.
-
In "Design of Multiple
Description Scalar Quantizers",
V. A. Vaishampayan, IEEE Transactions on Information Theory, Vol.
39, Nr. 3, Mai 1993, wird der Einsatz von Mehrfachbeschreibungen
in einem Diversitätssystem
offen gelegt. Der Kodierer sendet zwei unterschiedliche Beschreibungen
desselben Quellsignals über
zwei verschiedene Kanäle,
und der Dekodierer rekonstruiert das Quellsignal basierend auf den
Informationen, die von dem Kanal/den Kanälen empfangen werden, die derzeit
aktiv sind. Somit basiert die Qualität des rekonstruierten Signals
auf einer einzigen Beschreibung, wenn nur ein Kanal arbeitet. Wenn
beide Kanäle
arbeiten, basiert das reproduzierte Signal auf den zwei Beschreibungen
und am Empfangspunkt wird eine höhere
Qualität
erzielt. In dem Artikel behandelt der Autor das Problem der Indexzuweisung,
um den Nutzen mehrerer Beschreibungen in einem Diversitätssystem
zu maximieren.
-
In
einem System, das Daten über
Paket-geschaltete Netzwerke überträgt, werden
ein oder mehrere Kopfbereiche zu jedem Datenpaket hinzugefügt. Diese
Kopfbereiche enthalten Datenfelder mit Informationen über das
Ziel des Pakets, die Senderadresse, die Größe der Daten im Paket wie auch
weitere Datenfelder, die sich auf den Transport des Paketes beziehen.
Die Größe der Kopfbereiche,
die zu den Daten hinzugefügt
wurden, stellt eine Zusatzinformation dar, die berücksichtigt
werden muss. Um die Verzögerung
bei der Paketzusammenstellung der Datenpakete gering zu halten,
werden die Nutzdaten der Datenpakete in der Größe beschränkt. Die Nutzdaten sind die
Informationen in einem Paket, die von einer Anwendung verwendet
werden. Die Größe der Nutzdaten
im Vergleich zu der Größe des tatsächlich übertragenen
Datenpakets mit den eingeschlossenen Zusatzinformationen ist ein
wichtiges Maß bei der
Abwägung
des Betrags der verfügbaren
Bandbreite. Ein Problem bei der Übertragung
mehrerer relativ kleiner Datenpakete ist, dass die Größe der Kopfbereiche
im Vergleich zur Größe der Informationen,
die für
die Anwendung nützlich
sind, wesentlich ist. De facto ist die Größe des Kopfbereichs nicht selten
größer als
die Größe der nützlichen
Informationen.
-
Um
Bandbreitenprobleme abzuschwächen, ist
es erstrebenswert, die Bitrate durch eine geeignete Kodierung der
zu übertragenden
Informationen zu reduzieren. Ein häufig verwendetes Schema ist
die Kodierung von Informationen mit Vorhersagen der Daten. Diese
Vorhersagen werden auf der Basis vorhergehender Informationsdaten
desselben Informationssignals generiert. Auf Grund des Phänomens jedoch,
dass Pakete während
der Übertragung
verloren gehen können,
empfiehlt es sich nicht, Abhängigkeiten
zwischen verschiedenen Paketen einzufügen. Wenn ein Paket verloren
geht und die Rekonstruktion eines folgenden Informationssegments
von den Informationen abhängt,
die in dem verloren gegangenen Paket enthalten waren, dann leidet
die Rekonstruktion des darauf folgenden Informationssegments darunter.
Es ist wichtig, dass diese Art der Fehlerweitergabe vermieden wird.
Daher ist die normale Vorgehensweise mit der Vorhersage die Bitrate
eines Sprach- oder Tonsignals zu reduzieren für diese Art der Übertragungskanäle nicht
leistungsfähig,
da eine solche Vorhersage zu einer Fehlerweitergabe führen würde. Es
besteht daher das Problem, wie die Vorhersage in Paket-geschalteten
Netzwerken bereitgestellt werden soll, wenn Datenpakete mit Sprach- oder
Tonsignalinformationen übertragen
werden.
-
Die
Nutzung der Vorhersage ist ein gängiges Verfahren
bei der Sprachkodierung, um die Kodierungseffizienz zu verbessern,
d.h. um die Bitrate zu reduzieren. Ein Beispiel ist die prädiktive
Kodierungstechnik für
Differential PCM (DPCM)-Kodierer, die in "Digital Coding of Waveforms: Principles
and Applications to Speech and Video", N. S. Jayant und P. Noll, Prentice
Hall, ISBN 0-13-211913-7 01, 1984 offen gelegt wurde. Die Vorhersage
eines Signaltastwerts wird durch einen Prädiktor berechnet, der auf einem
zuvor quantisierten Signaltastwert basiert, d. h. die Vorhersage
ist rückwärts lernend.
Der berechnete Vorhersagetastwert wird dann von dem ursprünglichen
Tastwert abgezogen, der vorhergesagt werden soll. Das Ergebnis der
Subtraktion ist der Fehler bei der Vorhersage des Signaltastwerts
mit Hilfe des Prädiktors.
Dieser resultierende Vorhersagefehler wird dann quantisiert und
an einen Empfangspunkt übertragen.
Beim Empfänger
wird der Vorher sagefehler zu einem neu generierten Vorhersagesignal
aus dem Prädiktor
hinzugefügt,
der dem Prädiktor
am Sendepunkt entspricht. Diese Kombination des empfangenen Vorhersagefehlers
mit einem berechneten Vorhersagewert ermöglicht die Rekonstruktion des
ursprünglichen
Signaltastwerts am Empfangspunkt. Diese Art der Kodierung führt zu Bitraten-Einsparungen,
da die Redundanz entfernt wird und das Vorhersagefehlersignal eine
geringere Leistung aufweist als das ursprüngliche Signal, so dass weniger
Bits für
die Quantisierung des Fehlersignals bei einem gegebenen Geräuschpegel
benötigt
werden.
-
Wie
oben ausgeführt,
führt diese
Art der Kodierung/Dekodierung von Sprache und Ton über ein Paket-geschaltetes
Netzwerk zu einer Fehlerweitergabe, wenn das Paket verloren geht.
Wenn das Paket nicht empfangen wird, basiert der im Dekodierer berechnete
Vorhersagewert auf Tastwerten des letzten Pakets, das empfangen
wurde. Dies führt
zu einem Vorhersagewert im Dekodierer, der sich von dem entsprechenden
Vorhersagewert im Kodierer unterscheidet. Somit wird der empfangene
quantisierte Vorhersagefehler zu dem falschen Vorhersagewert im
Dekodierer hinzugefügt.
Daher führt
ein verlorenes Paket zu einer Fehlerweitergabe. Wenn man in Betracht
zieht, den Vorhersagestatus nach jedem übertragenen/empfangenen Paket
zurückzusetzen,
gäbe es
keine Fehlerweitergabe. Dies würde aber
zu einer geringen Qualität
des dekodierten Signals führen.
Der Grund hierfür
ist, dass wenn der Prädiktorstatus
auf Null eingestellt wird, das Ergebnis eine geringe Qualität des Vorhersagewertes
während der
Kodierung ist und somit die Erzeugung einer Vorhersagefehlers mit
mehr Informationsinhalten. Dies führt wiederum zu einer niedrigen
Qualität
des quantisierten Signals mit einem hohen Geräuschpegel, da der Quantisierer
nicht dazu ausgebildet ist, Signale mit derart hohem Informationsinhalt
zu quantisieren.
-
Wenn
ein Diversitätssystem
basierend auf Mehrfachbeschreibungen implementiert wird, wird die
Einbindung der Vorhersage zu weiteren Probleme führen, die darauf zurückzuführen sind,
dass das Tonsignal verschiedenen Darstellungen aufweist. Wenn das
oben beschriebene Schema für
die prädiktive
Kodierung/Dekodierung zusammen mit mehreren Beschreibungsquantisierern
verwendet wird, tritt eines von zwei Problemen auf. Das Problem
hängt davon
ab, wie die Prädikatoren
am Sende-/Empfangspunkt genutzt werden.
-
Wenn
jeder der Mehrfachbeschreibungsquantisierer am Empfangspunkt in
unabhängige
Vorhersagefilter eingegeben wird, ist der Vorhersagewert für jede Beschreibung
unab hängig
von der Ankunft der anderen Mehrfachbeschreibungen. Bei dieser Lösung unterscheidet
sich aber der Versatz der verschiedenen kodierten Darstellungen
zwischen den unterschiedlichen unabhängigen Prediktorausgaben. Dadurch
geht der regelmäßige Abstand
zwischen den Darstellungen von mehreren Quantisierern verloren,
und damit geht auch die optimierte Verbesserung aus dem Empfang
von Mehrfachbeschreibungen verloren.
-
Alternativ
können
alle Mehrfachbeschreibungen aus demselben Prädiktor erstellt werden, wobei die
optimierte Verbesserung aus dem Empfang von Mehrfachbeschreibungen
beibehalten wird. Wenn jedoch diese Vorhersage aus einer vordefinierten
Darstellung stammt, z. B. eine bestmögliche Darstellung, die von
der Kombination aller Beschreibungen erhalten wird, dann geht die
Synchronisierung des Dekodierers mit dem Kodierer verloren, wenn
eine (oder mehrere) Beschreibungen auf Grund eines Paketverlusts
nicht empfangen werden, wenn diese Beschreibung von dem Kodierer
am Sendepunkt zum Dekodierer am Empfangspunkt übertragen wird.
-
Daher
besteht wie oben dargelegt ein Problem darin, wie die Vorhersage
zur Reduzierung der Bitrate eines Sprach- oder Audiosignals für die Übertragung über ein
Paketnetzwerk verwendet werden soll, da ein verlorenes Paket mit
einem Signalinformationssegment die Rekonstruktion des folgenden Signalinformationssegments
negativ beeinflussen wird.
-
Bei
der Verwendung von Mehrfachbeschreibungen erfordert die Übertragung
des Tonsignals mehr Bandbreite wie die Verwendung einer einzelnen
Beschreibung. In solch einem System wäre es interessanter, die Vorhersage
zur Reduzierung der erforderlichen Bandbreite zu nutzen. Es besteht
jedoch, wie oben ausgeführt,
das Problem, wie die prädiktive
Kodierung/Dekodierung in solch einem System implementiert werden
soll, während
gleichzeitig der grundlegende Vorteil einer Mehrfachbeschreibungsquantisierung
erhalten bleiben soll.
-
Übersicht über die
Erfindung
-
Ein
Ziel der vorliegenden Erfindung ist die Lösung von mindestens einigen
der oben dargestellten Problemen mit Hilfe der prädiktiven
Kodierung/Dekodierung zur Reduzierung der Bandbreite, die bei der Übertragung
eines digitalisierten Tonsignals über ein Paket-geschaltetes Netzwerk
erforderlich ist.
-
Nach
der vorliegenden Erfindung wird dieses Ziel durch die Verfahren
erreicht, die Funktionen wie in den Hauptansprüchen 1, 15, 29 und 30 definiert aufweisen.
-
Die
vorliegende Erfindung bietet eine vorteilhafte Möglichkeit der Kodierung/Dekodierung
digitaler Tastwerte für
die Übertragung/den
Empfang über ein
Paket-geschaltetes Netzwerk. Dies wird durch die verlustlose Kodierung
der digitalen Tastwerte erreicht, sowie die verlustlose Kodierung
der entsprechenden Kodewörter,
bedingt durch generierte Vorhersagetastwerte.
-
Somit
ist die Ausgabe aus dem bedingten verlustlosem Kodierer eine Funktion
von zwei Variablen: dem quantisierten digitalen Tastwert und dem Vorhersagetastwert.
Entsprechend ist die Ausgabe aus dem bedingten verlustlosem Dekodierer
eine Funktion von zwei Variablen: dem Kodewort und dem Vorhersagetastwert.
-
Seiteneffekte
auf Grund schlechter Vorhersagewerte, z. B. wenn ein vorhergehendes
Paket verloren gegangen ist, werden abgeschwächt, da die verlustlose Kodierung
immer noch fortlaufend mit Bezug auf die quantisierten digitalen
Tastwerte des digitalen Signals durchgeführt wird. Im Vergleich dazu, wenn
die verlustlose Kodierung nur hinsichtlich der Vorhersagefehler
durchgeführt
wird, würde
dies zu erheblichen Seiteneffekten führen. Der Grund hierfür ist, dass
ein verlorenes Paket impliziert, dass ein Prädiktorstatus zurückgesetzt
wird, oder zwangsweise auf Null gesetzt wird, was zu einer großen Varianz des
Prädiktorfehlers
führt.
Somit sind Signale mit hohem Informationsinhalt zu Anfang eines
neuen Blocks vorhanden, wenn ein Prädiktorstatus zwangsweise auf
Null eingestellt oder anderweit bearbeitet wird, um die Fehlerweitergabe
zwischen verschiedenen Blöcken
digitaler Tastwerte zu vermeiden. In solch einem Fall ist das Vorhersagefehlersignal
im Grunde das ursprüngliche
digitale Signal. Jedoch bei der Lösung nach der Erfindung wird
dies abgeschwächt,
da die verlustlose Kodierung und Dekodierung immer noch auf quantisierten
digitalen Signaltastwerten und Kodewörtern basieren, jeweils bedingt
durch den Vorhersagewert anstatt nur auf Vorhersagefehlern basierend.
-
Somit
ermöglicht
bei Verwendung der vorliegenden Erfindung ein schlechter Vorhersagewert
immer noch eine gute Qualität
des übertragenen
Signaltastwerts. Der Nachteil liegt darin, dass die Bitersparnisse
der verlustlosen Kodierung/Dekodierung gering sind.
-
Darüber hinaus
ermöglicht
die vorliegende Erfindung, dass der Prädiktorstatus in einer Ausführungsform
auf Null eingestellt werden kann, wenn Vorhersagetastwerte bei der
verlustlosen Kodierung/Dekodierung zu Anfang eines Blocks digitaler Tastwerte
generiert werden, wodurch der Effekt abgeschwächt wird, dass die verlorenen
Pakete eine Fehlerweitergabe aufweisen, wenn Vorhersagen im Kodierungs-/Dekodierungsprozess
verwendet werden.
-
Während der
Kodierung werden alle Quantisierungen der generierten Vorhersagetastwerte
getrennt von der Quantisierung der digitalen Tastwerte durchgeführt. Die
Vorhersagen können
dann in einer Ausführungsform
in dem Indexbereich verwendet werden, um die quantisierten Indizes
bei der Kodierung/Dekodierung des digitalen Signals zu bilden.
-
Ein
Vorteil der Verwendung der Vorhersagen auf diese Weise ist, dass
der Prädiktor
so gestaltet werden kann, dass er am Empfangspunkt auf dieselbe
Weise arbeitet wie am Sendepunkt und es nicht erforderlich ist,
zusätzliche
Vorhersageinformationen an den Empfangspunkt zu übertragen.
-
Nach
einigen Ausführungsformen
können Vorhersagen
auf der Basis quantisierter digitaler Tastwerte direkt als Quantisierungsindizes
von Vorhersagetastwerten oder als Tastwerte generiert werden, die
nach ihrer Generierung mit Hilfe desselben Satzes an Quantisierungspegeln
quantisiert werden, der für
die quantisierten digitalen Tastwerte verwendet wurde, oder auch
als ein gänzlich
unterschiedlicher Satz an Quantifizierungspegeln.
-
In
einer Ausführungsform
wird die verlustlose Kodierung/Dekodierung bedingt durch generierte Vorhersagetastwerte,
indem diese für
die Auswahl einer von verschiedenen Nachschlagetabellen verwendet
werden, mit der die quantisierten digitalen Tastwerte verlustfrei
in Kodewörter
kodiert werden, oder Kodewörter
verlustfrei in quantisierte digitale Tastwerte kodiert werden.
-
Die
Vorhersage, die zur Definition der Bedingung der verlustlosen Kodierung/Dekodierung
verwendet wird, kann durch beispielsweise eine grobe quantisierte
Schätzung
des Signals oder der Vorhersagefehlervarianz, oder anderer grob
quantisierter Funktionen ergänzt
werden, die aus dem zurückliegenden
Teil des Signals extrahiert werden. Somit können eine Anzahl von Funktionen
aus dem zurückliegenden
Teil des Signals extrahiert werden, grob quantisiert werden und
dann dazu verwendet werden, einen verlustlosen Kodierer/Dekodierer
zu bedingen. Daher kann ein verlustloser Kodierer/Dekodierer auf
unabhängige
Weise optimiert werden und für
jede mögliche
Indexkombination aus der Quantisierung der extrahierten Funktionen
verwendet werden. Beispiele nützlicher
Funktionen für
die Kodierung von Sprachsignalen sind: eine quantisierte Vorhersage;
der Quantisiererindex nicht nur von einem sondern von mehreren vorhergehenden
Tastwerten im Signal; eine quantisierte Schätzung der Signal- oder Vorhersagefehlervarianz;
eine Schätzung
der Richtung der Wellenform; und/oder eine Klassifikation nach stimmhaft/stimmlos.
-
Einige
der obigen Funktionen können
nach Tastwert oder nach Tastwerteblock im Kodieren extrahiert werden
und als Nebeninformationen übertragen
werden. Die Wellenform-Richtung
ist ein Beispiel einer solchen Funktion, die für die Übertragung als Nebeninformation
geeignet ist, z. B. durch die Verwendung eines hoch-dimensionalen
Blockkodes. Ein weiteres Beispiel ist die Klassifikation nach stimmhaft/stimmlos.
Die Nebeninformation ergibt einen Produktkode für die verlustlose Kodierung.
Die Kodierung dieses Produktkodes kann entweder sequenziell oder
mit einer Analyse durch Synthese erfolgen.
-
Der
Vorteil der Bitraten-Reduzierung durch die verlustlose Kodierung/Dekodierung
basierend auf Vorhersagen ist aber weniger signifikant, und die Bandbreite
ist immer noch ein Problem, wenn sehr große Zusatzinformationen im Form
eines Kopfbereichs zu den kodierten Informationen vor Übertragung
des Datenpakets hinzugefügt
werden. Dieses Problem tritt auf, wenn Mehrfachbeschreibungen des digitalen
Signals verwendet werden, um die Diversität zu erhalten, ein Problem,
das jedoch durch die vorliegende Erfindung gelöst wird.
-
Der
Kodier/Dekodierer der vorliegenden Erfindung ist vorzugsweise ein
Mehrfachbeschreibungskodierer/-dekodierer, d. h. ein Kodierer/Dekodierer,
der mindestens zwei verschiedene Beschreibungen eines digitalen
Signals generiert/empfängt. Somit
liefern die Mehrfachbeschreibungen Mehrfachblockbeschreibungen für jeden
Block an digitalen Tastwerten.
-
Die
Erfindung bietet Diversität
auf der Basis von Mehrfachbeschreibungen durch die Übertragung/den
Empfang verschiedener einzelner Blockbeschreibungen desselben Blocks
digitaler Tastwerte in verschiedenen Datenpaketen zu verschiedenen
Zeitinstanzen. Diese so genannte Zeitdiversität, die durch die Verzögerung zwischen
den Blockbe schreibungen besteht, ist insbesondere vorteilhaft, wenn ein
zeitlich lokalisierter Engpass in dem Paket-geschalteten Netzwerk
auftritt, da die Chance des Empfangs von mindestens einer der Blockbeschreibungen
eines bestimmten Blocks steigt, wenn die verschiedenen Blockbeschreibungen
zu verschiedenen Zeitpunkten in unterschiedlichen Paketen übertragen werden.
Es wird vorzugsweise ein vorbestimmtes Zeitintervall zwischen den Übertragungen
zweier einzelner Blockbeschreibungen desselben Blocks der digitalen
Tastwerte eingeführt.
-
Vorteilhafterweise
werden Blockbeschreibungen von unterschiedlichen Beschreibungen
des digitalen Signals, die sich auf unterschiedliche Blöcke der
digitalen Tastwerte beziehen, im selben Paket zusammen gruppiert.
Es werden mindestens zwei aufeinander folgende Blöcke durch
einzelne Blockbeschreibungen von unterschiedlichen Beschreibungen
des digitalen Signals dargestellt. Dies ist vorteilhaft, da hiermit
weitere Zusatzinformationen vermieden werden, die die Kopfbereiche
der Pakete benötigen,
die unterschiedlichen Blockbeschreibungen für ein und denselben Block an
digitalen Tastwerten übertragen,
während
noch eine Blockbeschreibung eines bestimmten Blocks an digitalen
Tastenwerten verloren geht oder verzögert wird, wenn ein Paket verloren
geht oder verzögert
wird.
-
Vorteilhafterweise
wird die verlustlose Kodierung/Dekodierung für jede verschiedene Blockbeschreibung
einzeln durchgeführt.
Dies reduziert die Bitrate, die für die zu übertragenden Mehrfachbeschreibungen
benötigt
werden. Darüber
hinaus werden einzelne Prädiktoren
desselben Typs für
verschiedene Beschreibungen jeweils am Sende- und Empfangspunkt
verwendet. Dies behebt das Problem der verlorenen Synchronisierung
zwischen einem Kodierer und einem Dekodierer, die andernfalls auftreten
kann, wenn ein Paket mit einer Blockbeschreibung verloren geht,
wenn ein Prädiktor
für die verlustlose
Kodierung/Dekodierung am Sende-/Empfangspunkt verwendet wird.
-
Die
Erfindung ist für
ein digitales Signal geeignet, das aus einem digitalisierten Tonsignal
besteht, wobei in diesem Fall ein Block von digitalen Tastwerten
einem Tonsegment des digitalisierten Tonsignals entspricht.
-
Nach
der Erfindung ist das digitale Signal optional ein n-Bit PCM-kodiertes
digitalisiertes Tonsignal. Dies ist vorzugsweise ein 64 kBit/s PCM-Signal gemäß dem Standard
G.711. Die n-Bit PCM-kodierte Signalbeschreibung wird durch einen
Mehrfachbeschreibungskodierer auf mindestens zwei Beschreibungen
transkodiert, wobei weniger als n Bit für dessen Darstellung verwendet
werden, z. B. zwei (n – 1)-Bit-Darstellungen,
drei (n – 1)-Bitdarstellungen oder
vier (n – 2)-Bit-Darstellungen.
Am Empfangspunkt transkodiert ein Mehrfachbeschreibungskodierer
die empfangenen Beschreibungen zurück in ein einzelnes n-Bit PCM-kodiertes
Tonsignal. Die Transkodierung entspricht einer Übersetzung zwischen einem Kodewort
einer Beschreibung und den entsprechenden Kodewörtern von mindestens zwei verschiedenen
Beschreibungen. Durch die Transkodierung des PCM-kodierten Signals
in Mehrfachbeschreibungen muss das PCM-kodierte Signal nicht zuerst
dekodiert und dann erneut kodiert werden, um Mehrfachbeschreibungen
bereitstellen zu können.
-
Daher
ermöglicht
die Erfindung die Nutzung der prädiktiven
Kodierung/Dekodierung, wenn Mehrfachbeschreibungen zur Übertragung
eines digitalen Signals verwendet werden, wie ein digitalisiertes Tonsignal über ein
Paket-geschaltetes Netzwerk.
-
Es
versteht sich, dass der hier verwendete Begriff digitaler Signaltastwert
entweder als konkreter Tastwert oder als eine Form der Darstellung
des Signals interpretiert werden sollte, die aus einem oder mehreren
Tastwerten extrahiert wird. Ebenso soll ein Vorhersagetastwert entweder
als eine Vorhersage eines konkreten digitalen Signaltastwerts oder
als eine Form der Vorhersage einer Darstellung interpretiert werden,
die aus einem oder mehreren digitalen Signaltastwerten erhalten
oder extrahiert wird. Schließlich
ist ein Quantisierungspegel eines digitalen Tastwerts entweder der
Index oder der Wert eines quantisierten digitalen Tastwerts.
-
Kurzbeschreibung
der Zeichnungen
-
Weitere
Funktionen und Vorteile der Erfindung sind leicht aus den angehängten Ansprüchen und
der folgenden detaillierten Beschreibung einer Reihe beispielhafter
Ausführungsformen
der Erfindung ersichtlich, wenn in Verbindung mit den begleitenden
Zeichnungen verwendet, in denen ähnliche Referenzzeichen
für ähnliche
Funktionen verwendet werden, wobei gilt:
-
1 stellt
eine veranschaulichende Möglichkeit
der Verwirklichung von Mehrfachbeschreibungen gemäß dem Stand
der Technik dar;
-
2 stellt
eine Übersicht über den
Sendeteil eines Systems zur Übertragung
von Ton über
ein Paket-geschaltetes Netzwerk dar;
-
3 stellt
eine Übersicht über den
Empfangsteil eines Systems zur Übertragung
von Ton über
ein Paket-geschaltetes Netzwerk dar;
-
4a und 4b zeigen
jeweils Übersichten über einen
Tonkodierer am Sendeteil und einen Tonkodierer am Empfangsteil,
eines Systems zur Übertragung
von Ton über
ein Paket-geschaltetes Netzwerk nach einer Ausführungsform der vorliegenden
Erfindung;
-
5a und 5b zeigen
jeweils Übersichten über einen
Tonkodierer am Sendeteil und einen Tonkodierer am Empfangsteil,
eines Systems zur Übertragung
von Ton über
ein Paket-geschaltetes Netzwerk nach einer weiteren Ausführungsform
der vorliegenden Erfindung; und
-
6 zeigt
einige der Elemente des Sendeteils eines Systems zur Übertragung
von Ton über
ein Paket-geschaltetes Netzwerk nach einer weiteren Ausführungsform
der vorliegenden Erfindung.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsformen
-
In 1 wird
eine beispielhafte Möglichkeit der
Verwirklichung von Mehrfachbeschreibungen eines Quellsignals, wie
ein Tonsignal, veranschaulicht. Dieser Ansatz ist in der Technik
bekannt und ist ein Beispiel von Mehrfachbeschreibungen, die von
der vorliegenden Erfindung verwendet werden können. Andere geeignete Möglichkeiten
der Implementierung von Mehrfachbeschreibungen können gleichermaßen gut
zusammen mit der vorliegenden Erfindung verwendet werden. In 1 werden
die Quantisierungspegel von zwei verschiedenen Beschreibungen 100, 110 von
zwei entsprechenden Quantisierern gezeigt. Wie gezeigt, haben beide
Beschreibungen dieselbe Quantisierungsschrittgröße Q, wobei aber die Beschreibung 110 Quantisierungspegel aufweist,
die um die Hälfte
der Quantisierungsschrittgröße Q bezüglich der
Quantisierungspegel von Beschreibung 100 verschoben sind.
Aus diesen beiden Beschreibungen 100 und 110 führt eine
Kombination zu einer kombinierten Beschreibung 120 mit
einer feineren Quantisierungsschrittgröße Q/2. Bei Verwendung der
beiden Grobquantisierer ist eine Bitrate von 2R erforderlich, um
die Leistung eines einzelnen Feinquantisierers mit der Bitrate R
+ 1 zu erreichen. Wenn beispielsweise jede der Beschreibungen 100 und 110 über vier
Quantisierungspegel verfügt,
sind zur Kodierung dieses Pegels jeweils 2 Bit erforderlich, d.
h. insgesamt 4 Bit. Wenn ein feinerer Quantisierer für die kombinierte
Beschreibung 120 verwendet würde, wären für die Kodierung der sieben
Quantisie rungspegel 3 Bit erforderlich. Für hohe R-Werte stellt dies
eine signifikante Erhöhung
der Bitrate dar, wenn zwei Grobquantisierer zur Lieferung von Mehrfachbeschreibungen
statt eines feineren Quantisierers mit einer einzelnen Beschreibung
verwendet werden.
-
In 2 wird
ein Blockdiagramm des Sendeteils eines Systems zur Übertragung
von Ton über
ein Paket-geschaltetes Netzwerk darstellt. Der Ton wird durch ein
Mikrofon 210 aufgenommen, um ein analoges elektrisches
Signal 215 zu erzeugen, das durch einen A/D-Wandler 220 abgetastet
und in das digitale Format quantisiert wird. Die Tastwertrate des
Tonsignals hängt
von der Quelle des Tonsignals und der gewünschten Qualität ab. In
der Regel beträgt
die Tastwertrate 8 oder 16 kHz für
Sprachsignale und bis zu 48 kHz für Audiosignale. Die Qualität des digitalen
Signals wird auch durch die Genauigkeit des Quantisierers des A/D-Wandlers
beeinflusst. Bei Sprachsignalen liegt die Genauigkeit normalerweise
zwischen 8 und 16 Bit pro Abtastwert. In einem typischen System enthält der Sendepunkt
einen Tonkodierer 230, um das abgetastete digitale Signal
weiter zu komprimieren. Nach der vorliegenden Erfindung ist ein
weiterer Zweck des Tonkodierers 230 die Bearbeitung der Darstellung
des Tonsignals vor der Übertragung,
mit der Absicht, die Robustheit gegenüber Paketverluste und -verzögerungen
in dem Paket-geschalteten Netzwerk
zu erhöhen.
Das abgetastete Signal 225 wird in den Tonkodierer 230 eingegeben,
der das abgetastete Signal kodiert und das erhaltene Signal in Datenpakete
abpackt. Die Datenpakete 235 werden dann an eine Steuereinheit 240 übertragen,
die die Sequenzierung und Zieladresseninformationen zu den Datenpaketen
hinzufügt,
um die Pakete für
die Übertragung über ein
Paket-geschaltetes Netzwerk geeignet zu machen. Die Datenpakete 245 werden dann über das
Paket-geschaltetes Netzwerk an ein Empfangsteil übertragen.
-
In 3 wird
ein Blockdiagramm des Empfangsteils eines Systems zur Übertragung
von Ton über
ein Paket-geschaltetes Netzwerk darstellt. Eine Steuereinheit 350 empfängt Datenpakete
aus dem Paket-geschalteten Netzwerk, entfernt die Adressinformationen
und setzt die Datenpakete 355 in einen Jitter-Puffer 360.
Der Jitter-Puffer 360 ist ein Speichermedium, in der Regel
RAM, das die Rate reguliert, in der die Datenpakete 365 den
Jitter-Puffer 360 verlassen. Die physikalische Kapazität des Jitter-Puffers
ist dergestalt ausgestaltet, dass die eingehenden Datenpakete 355 gespeichert
werden können.
Die Datenpakete 365, die den Jitter-Puffer 360 verlassen, werden
in einen Tondekodierer 370 eingegeben. Der Tondekodierer 370 dekodiert
Informationen in den Datenpaketen in reproduzierte Tastwerte eines
digitalen Tonsignals. Das digitale Signal 375 wird dann durch
den D/A-Wandler 380 in ein analoges elektrisches Signal 385 umgewandelt, wobei
das analoge Signal ein Tonreproduktionssystem 380 steuert,
z. B. einen Lautsprecher, um Ton am Empfangspunkt zu erzeugen.
-
Der
Entwurf und der Betrieb des Tonkodierers und des Tondekodierers
werden nun nach einer Ausführungsform
der Erfindung detaillierter mit Bezug auf 4a und 4b beschrieben.
Mit Ausnahme der folgenden Beschreibung zu den Tonkodierungs-/Dekodierungsblöcken entspricht
die Gesamtoperation der, die oben für 2 und 3 beschrieben
wurde.
-
In 4a wird
ein Tondekodierer zum Dekodieren eines digitalen Signals an einem
Sendepunkt nach einer Ausführungsform
der Erfindung gezeigt. Der Tondekodierer enthält einen ersten Quantisierer 400,
einen Dequantisierer 410, einen Verzögerungsblock 420,
einen Prädiktor 430,
einen zweiten Quantisierer 440 und einen bedingten verlustlosen
Kodierer 450. Der Dequantisierer 410 und der zweite Quantisierer 440 werden
als gestrichelte Linie dargestellt, da sie keine notwendigen Elemente
dieser Ausführungsform
sind. Die Verwendung dieser optionalen Elemente wird später in einer
alternativen Ausführungsform
beschrieben.
-
Dementsprechend
wird in 4b ein Tonkodierer zum Kodieren
eines digitalen Signals an einem Empfangspunkt nach einer Ausführungsform
der Erfindung gezeigt. Der Tonkodierer enthält einen bedingten verlustlosen
Dekodierer 455, eine Quantisierer 470, einen Prädiktor 480,
einen Verzögerungsblock 490 und
die Dequantisierer 460 und 463. Der Quantisierer 470 und
der Dequantisierer 463 werden als gestrichelte Linien dargestellt,
da sie keine erforderlichen Elemente dieser Ausführungsform sind. Die Verwendung
dieser optionalen Elemente wird später in einer alternativen Ausführungsform
beschrieben.
-
Der
Zweck der Durchführung
verlustloser Kodierung/Dekodierung mit Hilfe des bedingten verlustlosen
Kodierers 450 und des bedingten verlustlosen Dekodierers 455 besteht
darin, eine Möglichkeit zu
finden, die weniger Bit zur Beschreibung der Daten benötigt, die
von dem Sendepunkt zum Empfangspunkt ohne Informationsverlust übertragen
werden. Die verlustlose Kodierung verwendet statistische Informationen über das
Eingangssignal zur Reduzierung der durchschnittlichen Bitrate. Das
wird z. B. auf eine Weise durchgeführt, dass die Kodewörter in
einer Tabelle danach angeordnet sind, wie oft sie in dem Eingangssignal
auftreten. Die häufigsten
Kodewörter
werden dann durch weniger Bit dargestellt als die restlichen Kodewörter. Ein
Beispiel eines verlustlosen Kodierers, der in der Technik bekannt
ist und dieses Konzept verwendet, ist der Huffman-Kodierer.
-
Die
verlustlose Kodierung funktioniert gut in Netzwerken ohne Bitfehler
in den empfangenen Daten. Die Kodewörter, die in Verbindung mit
der verlustlosen Kodierung verwendet werden, weisen eine unterschiedliche
Länge auf,
und wenn Bitfehler auftreten, kann nicht erkannt werden, wann ein
Kodewort endet und ein neues beginnt. Somit führt ein einzelner Bitfehler
nicht nur einen Fehler in der Dekodierung des aktuellen Kodeworts
sondern im gesamten Datenblock ein. Wenn das Paket-geschaltete Netzwerk
ein IP (Internet Protokoll)-Netzwerk ist, dann werden alle beschädigten Datenpakete
automatisch verworfen. Somit gibt es in solch einem Paket-geschalteten
Netzwerk keine Bitfehler in den Datenpaketen am Empfangspunkt. Daher
ist die verlustlose Kodierung wie eine skalare oder eine Huffman-Blockkodierung
nach der vorliegenden Erfindung für den Einsatz zur unabhängigen Komprimierung
aller kodierten Blöcke
digitaler Tastwerte geeignet, deren Blöcke zusammen das digitale Signal
bilden.
-
Der
bedingte verlustlose Kodierer 450 und der bedingte verlustlose
Dekodierer 455 der Ausführungsform
der 4a und 4b enthalten
beide Tabellen, die alle möglichen
Kodewörter
und deren Bitdarstellung enthalten. Tabellennachschläge werden
durchgeführt,
um einen Block digitaler Tastwerte, der durch den Quantisierer 400 quantisiert
wurde, verlustlos zu kodieren, bevor sie als Kodewörter über das
Paketnetzwerk übertragen
werden. Dementsprechend werden die Kodewörter eines kodierten Blocks von
quantisierten digitalen Tastwerten am Empfangspunkt verlustlos in
quantisierte digitale Tastwerte dekodiert, die dann von dem Dequantisierer 460 in
einen rekonstruierten ursprünglichen
Block digitaler Tastwerte dequantisiert werden.
-
In 4a werden
die digitalen Tastwerte eines digitalen Signals, das von dem A/D-Wandler empfangen
wurde, durch den Quantisierer 400 in quantisierte digitale
Tastwerte quantisiert. Für
jeden quantisierten digitalen Tastwert wird ein Vorhersagetastwert
von dem Prädiktor 430 auf
der Basis eines oder mehrerer quantisierten digitaler Tastwerte
generiert. Der Prädiktor 430 generiert
für den
Vorhersagetastwert möglicherweise
einen Quantisierungsindex hiervon, basierend auf den Quantisierungsebenen,
d. h. Quantisierungsindizes oder Quantisierungswerten, für diese
vorhergehenden quantisierten digitalen Tastwerte, deren Pegel durch
den Quantisierer 400 ausgegeben und vom Verzögerungsblock 420 verzögert wurden.
Der Vorhersagetastwert oder sein Quantisierungsindex wird zur Auswahl
einer von mehreren Nachschlagetabellen mit Kodewörtern im be dingten verlustlosen
Kodierer 450 verwendet. Der quantisierte Pegel, wie der
Index, des aktuellen quantisierten digitalen Tastwerts aus Quantisierer 400 wird
dazu verwendet, einen bestimmten Eintrag in der ausgewählten Nachschlagetabelle
auszuwählen.
Der bedingte verlustlose Kodierer wird dann ein Kodewort ausgeben,
das dem speziellen Eintrag in der ausgewählten Tabelle entspricht.
-
Die
Kodewörter
eines vollständigen
kodierten Blocks quantisierter digitaler Tastwerte werden dann möglicherweise
in ein eigenes Paket zusammengestellt, das an eine Steuereinheit übertragen wird.
Alternativ wird jedes Kodewort eines kodierten Blocks von der Steuereinheit
gesammelt und dann für
den kodierten Block in einem eigenen Paket zusammengestellt. Die
Steuereinheit fügt
Kopfbereichsinformationen hinzu, bevor das Datenpaket über ein Paket-geschaltetes
Netzwerk übertragen
wird.
-
In 4b wird
ein Tondekodierer nach der Ausführungsform
von 4a gezeigt. Pakete mit Kodewörtern oder Kodewörter mit
zerlegten Paketen werden von einem Jitter-Puffer vom bedingten verlustlosen
Dekodierer 455 empfangen. Für jeden quantisierten digitalen
Tastwert wird ein Vorhersagetastwert durch den Prädiktor 480 auf
der Basis einer oder mehrere vorhergehender quantisierter digitaler Tastwerte
generiert. Prädiktor 480 am
Empfangspunkt ist ausgestaltet, um auf dieselbe Weise zu arbeiten
wie der Prädiktor 430 am
Sendepunkt. Die Ausgestaltung dieser Prädiktoren ist in der Regel so, dass
der Prädiktorstatus
Null oder nahe Null ist, wenn Vorhersagetastwerte generiert werden,
die den anfänglichen
quantisierten digitalen Tastwerten eines digitalen Signals entsprechen.
Auf dieselbe Weise wie der Sendepunkt kann der Prädiktor 480 einen Quantisierungsindex
eines Vorhersagetastwerts basierend auf den Quantisierungspegeln
generieren. d.h. Quantisierungsindizes oder Quantisierungswerten
von vorhergehenden, quantisierten digitalen Tastwerten, deren Pegel
implizit vom verlustlosen Dekodierer 455 ausgegeben und
durch den Verzögerungsblock 490 verzögert wurden.
Der am Empfangspunkt generierte Vorhersagetastwert wird zur Auswahl
einer Nachschlagetabelle aus mehreren Tabellen im bedingten verlustlosen
Dekodierer 455 verwendet. Ein aus dem Jitter-Puffer empfangenes
Kodewort wird zur Adressierung eines bestimmten Eintrags in der
ausgewählten
Tabelle verwendet, nach dem ein entsprechender quantisierter digitaler
Tastwert zur Dequantisierung durch einen Dequantisierer 460 ausgegeben
wird, nach dem der digitale Tastwert an den D/A-Wandler übertragen
wird.
-
In
alternativen Ausführungsformen
schließt der
Tonkodierer den Dequantisierer 410 und/oder den zweiten
Quantisierer 440 ein, wie in 4a dargestellt.
Dementsprechend schließt
der Tondekodierer nach diesen alternativen Ausführungsformen den Quantisierer 470 und/oder
den Dequantisierer 463 ein.
-
Mit
den Dequantisierern 410 und 463 werden Quantisierungswerte
von quantisierten digitalen Tastwerten in den Prädiktor 430 und 480 anstelle
von Quantisierungsindizes eingegeben, und die Prädiktoren generierten Vorhersagetastwerte
auf der Basis von Werten anstelle von Indizes.
-
Wenn
die Prädiktoren 430 und 480 keine Quantisierungstabellen
zur Ausgabe der Quantisierungspegel der generierten Vorhersagetastewerte enthalten,
wie Indizes, falls das erwünscht
sein sollte, enthält
der Tonkodierer/-dekodierer die Quantisierer 440, 470 zur
Lieferung von Quantisierungspegeln, z.B. Indizes, der generierten
Vorhersagewerte. Somit kann bei Verwendung der Quantisierer 440 und 470 festgestellt
werden, dass die Quantisierungspegel der generierten Vorhersagetastwerte
gültige
Pegel sind, die zu einem vordefinierten Pegelsatz gehören, und
es sich nicht um Pegel handelt, die zwischen die verschiedenen gültigen Quantisierungspegel
fallen.
-
Nach
der Erfindung sollte ein generierter Vorhersagetastwert, der einem
digitalen Tastwert eines Blocks digitaler Tastwerte entspricht,
nicht auf digitalen Tastwerten eines vorhergehenden Blocks basieren,
um die Fehlerweitergabe zu vermeiden. Nach einer Ausführungsform
wird dies durch das Einstellen des Prädiktorstatus des Prädiktors 430 auf
Null erreicht, bevor ein neuer Block mit quantisierten digitalen
Tastwerten kodiert wird. Dementsprechend wird im Tondekodierer am
Empfangspunkt der Prädiktorstatus
des Prädiktors 480 auf
Null eingestellt, bevor ein neuer Block mit quantisierten digitalen
Tastwerten dekodiert wird. Als Alternative zur Einstellung des Prädiktorstatus
auf Null können
Statusinformationen in jeden Block digitaler Tastwerte aufgenommen
werden, oder die Kodierung/Dekodierung kann einem Schema folgen,
das keine oder wenig Statusinformationen bei der Kodierung/Dekodierung
zu Beginn eines Blocks verwendet.
-
Somit
ist der Tonkodierer/-dekodierer der vorliegenden Erfindung dazu
ausgelegt, die Bitrate zu reduzieren, die zur Übertragung eines digitalen
Signals über
ein Paket-geschaltetes
Netzwerk benötigt wird.
Der Block digitaler Tastwerte, mit denen der Tonkodierer/-dekodierer
arbeitet, sind vorzugsweise Tonsegmente mit digitalisierten Tontastwerten.
-
Die
vorliegende Erfindung ist nicht für eine bestimmte Art von Prädiktor optimiert.
Für Tonsignale wird
jedoch ein Prädiktor
durch die LPC-Analyse des quantisierten Signals erhalten, möglicherweise
durch einen langfristigen Prädiktor
verfeinert, der Kennern der Technik gut bekannt ist. Auch können nicht-lineare
Prädiktoren,
wie der durch das Oszillatormodell definierte und in "Time-Scale Modification
of Speech Based on a Non-linear Oscillator Model", G. Kubin and W. B. Kleijn, in Proc.
Int. Conf. Acoust. Speech Sign. Pracess., (Adelaide), S. 1453–1456, 1994,
offen gelegte, in den Kodierungs-/Dekodierungsschema
der vorliegenden Erfindung verwendet werden.
-
Gemäß der Erfindung
ist der Tonkodierer/-dekodierer weiterhin dazu ausgelegt, die Robustheit
gegenüber
Paketverlusten und Verzögerungen in
dem Paket-geschalteten Netzwerk zu erhöhen. Die Gestaltung zur Erhöhung der
Robustheit basiert auf der Darstellung des Tonsignals oder eines
anderen digitalen Signals, im allgemeinen Fall, durch Mehrfachbeschreibungen.
Diese Gestaltung nach einer Ausführungsform
der Erfindung wird in 5a und 5b dargestellt.
Mit Ausnahme der folgenden Beschreibung zu den Tonkodierungs-/Dekodierungsblöcken entspricht
die Gesamtoperation der, die oben für 2 und 3 beschrieben
wurde.
-
In 5a schließt der Tonkodierer 530 am Sendepunkt
einen Mehrfachbeschreibungskodierer 510 und eine Diversitätssteuereinheit 520 ein.
Dementsprechend schließt
der Tondekodierer 570 von 5b am
Empfangspunkt eine Diversitätssteuereinheit 550 und
einen Mehrfachbeschreibungsdekodierer 580 ein.
-
Wenden
wir uns nun 5a zu: Der Mehrfachbeschreibungskodierer 510 des
Tonkodierers 530 kodiert ein abgetastetes Tonsignal 525 auf
zwei unterschiedliche Arten, wodurch zwei verschiedene Bitstromdarstellungen
erhalten werden, d.h., zwei verschiedene Beschreibungen des Tonsignals.
Wie bereits ausgeführt,
weist jede Beschreibung ihren eigenen Satz an Quantisierungspegeln
auf, die durch beispielsweise das Verschieben der Quantisierungspegel
einer Beschreibung um die Hälfte
eines Quantisierungsschritts erhalten werden. Wenn dementsprechend
drei Beschreibungen geliefert werden müssen, werden die Quantisierungspegel
der zweiten Beschreibung mit einem dritten Schritt bezüglich der
ersten Beschreibung verschoben, und die dritte Beschreibung mit
einem dritten Schritt bezüglich
der zweiten Beschreibung. Somit kann das Tonsignal, wie in 5a angegeben,
mit mehr als zwei Beschreibungen kodiert werden, ohne vom Geltungsbereich
der vorliegenden Erfindung abzuweichen. Für eine einfachere Beschreibung werden
jedoch in den hier offen gelegten Ausführungsformen nur zwei Signalbeschreibungen
verwendet.
-
Jede
Beschreibung liefert eine Segmentbeschreibung eines kodierten Tonsignalsegments
des Tonsignals. Der Mehrfachbeschreibungskodierer 510 generiert
jede Beschreibung und deren Segmentbeschreibungen, indem die digitalisierten
Tontastwerte nach den obigen Ausführungen für 4a bedingt verlustlos
kodiert werden. Somit wird ein entsprechender Satz aller in 4a dargestellten
Elemente in einem Mehrfachbeschreibungskodierer 410 vorhanden
sein, auf den in 5a für jede generierte Beschreibung
Bezug genommen wird. Dementsprechend ist ein entsprechender Satz
aller in 4b dargestellten Elemente für jede Beschreibung
vorhanden, die in einem Mehrfachbeschreibungskodierer 410 verwendet
wird, auf den in 4b Bezug genommen wird.
-
In 5a werden
die verschiedenen Segmentbeschreibungen desselben Tonsegments in
entsprechende Pakete an die Diversitätssteuereinheit 520 übertragen.
In 5a werden zwei Beschreibungen angegeben, D1 und D2. Die aufeinander
folgenden Segmente n, n + 1, n + 2 usw. werden dargestellt durch
die Beschreibung D1 als Segmentbeschreibungen
D1(n), D1(n + 1),
D1(n + 2) ..., deren Segmentbeschreibungen
in den entsprechenden aufeinander folgenden Datenpaketen 515, 516, 517 von
dem Mehrfachbeschreibungskodierer 510 an die Diversitätssteuereinheit 520 übertragen
werden. Dementsprechend werden dieselben Segmente auch dargestellt
als Segmentbeschreibungen D2(n), D2(n + 1), D2(n +
2) ... durch die Beschreibung D2 und werden auch
in den entsprechenden Datenpaketen an die Diversitätssteuereinheit übergeben.
Somit wird jedes Tonsegment des Tonsignals 625 durch eine
Segmentbeschreibung einer jeden Beschreibung dargestellt, z. B.
in 5a wird Tonsegment n + 1 dargestellt durch die
Segmentbeschreibung D1(n + 1) der Beschreibung
D1 und durch die Segmentbeschreibung D2(n + 1) der Beschreibung D2.
-
Die
Diversitätssteuereinheit 520 fertigt
die vom Mehrfachbeschreibungskodierer 510 gemäß des verwendeten
Diversitätsschemas
empfangene Pakete ab. In 5a legt
die Diversitätssteuereinheit 520 jede
Segmentbeschreibung eines Tonsegments in separaten Pakten nacheinander
ab. Die Pakete mit verschiedenen Segmentbeschreibungen desselben Tonsegments
werden an die Steuereinheit 540 in verschiedenen Zeitinstanzen übergeben.
Zum Beispiel, wie in 5a dargestellt, werden die beiden
Segmentbeschreibungen D1(n) und D2(n) des Tonsegments n an die Steuereinheit 540 in
einzelnen Paketen 521 und 522 zu verschiedenen
Zeitpunkten t1 und t2 übertragen.
Somit wird eine Verzögerung
von t2 – t1 eingeführt,
um eine Zeitdiversität
zu erzeugen. Ein typische Verzögerung
t2 – t1, die in Verbindung mit der typischen Tonsegmentlänge von
20 ms verwendet werden könnte,
beträgt
10 ms. Bei Empfang eines Pakets von der Diversitätssteuereinheit 520 formatiert
die Steuerungseinheit 540 das Paket, indem Informationen
zur Sequenzierung und der Zieladresse hinzugefügt werden, für die sofortige Übertragung
im Paket-geschalteten Netzwerk. Somit fügt die Steuereinheit 540 einen
Kopfbereich H mit Informationen zu jedem Paket hinzu. Für IPv4-Transporte
mit UDP (User Datagram Protocol) und RTP (Real Time Protocol) beträgt die Kopfbereichsgröße 320 Bit.
Bei einer typischen Sprachsegmentlänge von 20 ms ergibt dies 320
Bit pro 20 ms, d.h. 16 kBit/s für
die Kopfbereiche jeder verwendeten Beschreibung. Wenn jedes Sprachsegment
mit zwei Segmentbeschreibungen dargestellt wird, erfordern die Kopfbereiche
der Pakete, die die Segmentbeschreibungen übertragen, zusammen eine Bitrate
von 2·16
= 32 kBit/s. Dies kann mit der Bitrate von 64 kBit/s für die Standard-PCM
(Pulse Code Modulated, Pulskodemadulation)-Telefonie verglichen
werden. Folglich beträgt die
Bitrate der Zusatzinformationen 50% (32 geteilt durch 64) der Nutzdatenrate.
-
Wie
bereits für 3 beschrieben,
werden die Pakete am Empfangspunkt durch eine Steuereinheit 350 empfangen.
Die Steuereinheit entfernt die Kopfbereichsinformationen und überträgt die Pakete an
den Jitter-Puffer 360, der wiederum die Pakete an den Tondekodierer 370 überträgt. Wenden
wir uns nun 5b zu: Die Diversitätssteuereinheit 550 des Tondekodierers 570 empfängt die
Pakete mit verschiedenen Segmentbeschreibungen aus einem Jitter-Puffer.
Die Diversitätssteuereinheit
plant dann die verschiedenen Segmentbeschreibungen desselben Tonsegments
zur gleichzeitigen Übertragung
an den Mehrfachbeschreibungsdekodierer 580. Wie in 5b dargestellt,
empfängt
so der Mehrfachbeschreibungsdekodierer 580 zum Beispiel
beide Pakete 571 und 572 mit den entsprechenden
Segmentbeschreibungen D1(n) und D2(n) des Tonsegments n gleichzeitig und dann
beide Pakete 574 und 575 mit den entsprechenden
Segmentbeschreibungen D1(n + 1) und D2(n + 1) des Tonsegments n + 1 und so weiter.
Der Mehrfachbeschreibungsdekodierer 580 extrahiert für jedes
Tonsegment die gemeinsamen Informationen aus den verschiedenen Paketen
und dekodiert das Tonsignalsegment zur Übertragung an einen D/A-Wandler.
Wenn beispielsweise eine Segmentbeschreibung D1(n)
nicht oder zu spät
am Empfangspunkt ankommt, plant die Diversitätssteuereinheit 550 nur
die Übertragung
von D2(n) (wenn zwei Beschreibungen verwendet
werden) an den Mehrfachbeschreibungsdekodierer 580, der
dann ein Tonsegment n des Tonsignals mit der angemessenen Qualität aus der
empfangenen Einfachsegmentbeschreibung D2(n)
dekodiert.
-
In 6 wird
eine weitere Ausführungsform der
vorliegenden Erfindung gezeigt. Diese Ausführungsform unterscheidet sich
von der zuvor für
die 5a und 5b beschriebenen
bezüglich
der Anordnung der Segmentbeschreibungen in den Paketen, die über das
Paket-geschaltete Netzwerk übertragen
werden. Somit liegt der Unterschied in der Paketzusammenstellung/-zerlegung,
die am Sende-/Empfangspunkt durch die Diversitätssteuereinheit des Tonkodierers/-dekodierers
durchgeführt wird.
Dieser Unterschied wird im Folgenden beschrieben.
-
Wie
mit Bezug auf die 5a und 5b beschrieben,
sind die Zusatzinformationen, die aus den Kopfbereichen der verschiedenen
Pakete resultieren, die verschiedene Segmentbeschreibungen desselben
Tonsegments übertragen,
sehr umfangreich. Um dies abzuschwächen, werden die Segmentbeschreibungen
verschiedener Beschreibungen, die sich auf verschiedene Tonsegmente
beziehen, im selben Paket gruppiert, bevor das Paket über das
Paket-geschaltete Netzwerk übertragen
wird. Wie in 6 gezeigt, gruppiert die Diversitätssteuereinheit 620 des
Tonkodierers am Sendepunkt zwei einzelne Segmentbeschreibungen von
zwei aufeinander folgenden Tonsegmenten zusammen in jedes Paket.
Die beiden Segmentbeschreibungen eines Pakets gehören zu den
entsprechenden Beschreibungen des Tonsignals. Ein Paket enthält beispielsweise
die Segmentbeschreibung D2(n – 1) des
Tonsegments n – 1
und die Segmentbeschreibung D1(n) des Tonsegments
n. Die Steuereinheit 640 wird, wie bereits ausgeführt, Kopfbereichsinformationen
zu jedem Paket hinzufügen,
bevor das Paket einschließlich
der beiden Segmentbeschreibungen über das Paket-geschaltete Netzwerk übertragen
wird.
-
Somit
wird genau wie in der Ausführungsform
von 5 die Diversitätssteuereinheit 620 dieser
Ausführungsform
jede Segmentbeschreibung eines Tonsegments in eigenen Paketen aufeinander folgend
ablegen, und wie in der Ausführungsform
von 5 werden die Pakete mit verschiedenen
Segmentbeschreibungen desselben Tonsegments an die Steuereinheit 640 zu
verschiedenen Zeitinstanzen übertragen.
In 6 werden die beiden Segmentbeschreibungen D2(n) und D1(n + 1)
der Tonsegmente n und n + 1 an die Steuereinheit 640 in
Paket 622 geliefert. Somit muss das Segment n + 1 kodiert
worden sein, bevor die Segmentbeschreibung D2(n)
an die Steuereinheit übertragen
werden kann. Andererseits wurde die Segmentbeschreibung D1(n) in einem vorhergehenden Paket 621 an
die Steuereinheit übertragen.
Wenn ein Tonsegment 20 ms lang ist, muss die Übertragung von D2(n)
um 20 ms im Vergleich zur Übertragung
von D1(n) verzögert sein, da D2(n)
im selben Paket 622 geplant ist wie D1(n
+ 1). Somit liefert dieses Schema automatisch Zeitdiversität, da die verschiedenen
Segmentbeschreibungen desselben Tonsegments an die Steuereinheit 640 in
einem 20 ms Intervall übertragen
werden (bei einer Tonsegmentlänge
von 20 ms). So wird im Vergleich zu der Ausführungsform in 5 eine
zusätzliche
Verzögerung
zwischen den beiden Segmentbeschreibungen desselben Tonsegments
automatisch mit diesem Schema der Zusammenstellung von Paketen mit mehreren
Segmentbeschreibungen eingeführt.
Diese zusätzliche
Verzögerung
zwischen den Segmentbeschreibungen bietet einen zusätzlichen
Zeitdiversitätsvorteil
und kann später
in der Übertragungskette kompensiert
werden, z.B. indem niedrigere Verzögerungseinstellungen im Jitter-Puffer
am Empfangspunkt bestehen.
-
Darüber hinaus
entspricht der Betrag der Nutzdaten in einem Paket nach dieser Ausführungsform
dem Gesamtbetrag an Daten, die aus einem Tonsegment generiert wurden,
daher erhöhen
sich die Zusatzinformationen nicht, wenn mit diesem Schema eine
Zeitdiversität
erstellt wird.
-
Entsprechend
dem oben Beschriebenen teilt die Diversitätssteuereinheit am Empfangspunkt
in dieser Ausführungsform
die empfangenen Pakete in ihre Segmentbeschreibungen auf, bevor
sie die Segmentbeschreibungen an den Mehrfachbeschreibungsdekodierer überträgt, was
der Darstellung in 5b entspricht.
-
Die
Wirkung des in 6 dargestellten Zeitdiversitätsschemas
ist wiederum, dass die Beschreibungen aller Tonsegmente immer noch
am Empfangspunkt verfügbar
sind und kein Tonsegmentverlust wahrgenommen wird, wenn ein Paket
bei der Übertragung über das
Paket-geschaltete Netzwerk verloren geht oder sich verzögert.
-
Nach
einer Ausführungsform
der Erfindung kodiert/dekodiert der Tonkodierer/-dekodierer PCM-Indizes
als einen standardmäßigen 64
kBit/s PCM-Bitstrom. Diese Ausführungsform
wird zur einfacheren Beschreibung wieder mit Bezug auf die 4a und 4b beschrieben.
Wie bereits ausgeführt,
sind die Elemente in den entsprechenden 4a und 4b für jede Beschreibung
vorhanden, die von dem Tonkodierer/-dekodierer generiert/dekodiert
wird. Jedoch werden der Quantisierer 400 von 4a und
der Dequantisierer 460 von 4b durch
den entsprechenden Transkodierer ausgetauscht, der im Folgenden
beschrieben wird. Weiterhin, falls das digitale Signal nicht bereits
ein PCM-kodiertes
Signal ist, schließt
der Tonkodierer einen PCM-Kodierer vor dem Transkodierer ein und der
Tondekodierer schließt
einen PCM-Dekodierer nach dem Transkodierer ein. In dieser Ausführungsform
schließt
der Tonkodierer wieder einen Mehrfachbeschreibungskodierer ein,
der eine Diversitätssteuereinheit
mit Mehrfachbeschreibungen von ein und demselben Tonsegment liefert.
dementsprechend schließt
der Tondekodierer einen Mehrfachbeschreibungskodierer ein, der Mehrfachbeschreibungen
ein und desselben Segments von einer Diversitätssteuereinrichtung am Empfangspunkt
empfängt.
-
Der
Mehrfachbeschreibungskodierer des Tonkodierers besteht aus einem
normalen PCM-Kodierer, auf dem ein Transkodierer folgt. Somit wird das
digitale Signal, das vom Tonkodierer aus dem A/D-Wandler empfangen
wird, mit einem normalen PCM-Kodierer kodiert. Der erhaltene PCM-Bitstrom wird
dann transkodiert, d. h., übersetzt
in verschiedene Bitströme
durch dem Transkodierer, nach dem jeder Bitstrom eine Grobdarstellung
des PCM-Signals darstellt. Der entsprechende Mehrfachbeschreibungsdekodierer
am Empfangspunkt schließt
einen Transkodierer für
die Transkodierung der empfangenen Mehrfachbitstrombeschreibungen
in einen einzelnen PCM-Bitstrom ein. Dieser PCM-Bitstrom wird dann durch einen normalen
PCM-Dekodierer dekodiert, bevor er an einen D/A-Wandler übergeben
wird. Das Verfahren der Transkodierung oder Übersetzung wird beispielhaft
im Folgenden veranschaulicht, wo ein 64 kBit/s PCM-Bitstrom in zwei
Bitströme
transkodiert wird, die mehrere Beschreibungen des PCM-Signals liefern.
-
Ein
standardmäßiger 64
kBit/s PCM-Kodierer mit Protokollkomprimierung nach der μ-Regel kodiert die
Tastwerte mit 8 Bit/Tastwert. Dies ergibt 256 verschiedene Kodewörter, wobei
aber der Quantisierer aus 255 verschiedenen Pegeln besteht. Der Null-Pegel
wird durch zwei verschieden Kodewörter dargestellt, um die Hardware-seitige
Implementierung zu vereinfachen. Nach der Ausführungsform wird jeder Quantisierungspegel
durch einen Ganzzahlenindex dargestellt, der bei Null für den negativsten
Pegel beginnt und bis zu 254 für
den höchsten Pegel
geht. Der erste der beiden Bitströme wird durch das Entfernen
des Bit mit dem niedrigsten Stellenwert eines jeden Ganzzahlenindex
verwirklicht. Dieser neue Index stellt einen Quantisierungspegel im
ersten der beiden Grobquantisierer dar. Der zweite Bitstrom wird
verwirklicht durch das Hinzufügen von
Eins zu jedem Index, bevor das Bit mit dem niedrigsten Stellenwert
entfernt wird. Daher werden zwei 7 Bit-Darstellungen aus der ursprünglichen
8 Bit PCM-Darstellung verwirklicht. Die Dekodierung der zwei Darstellungen
kann entweder für
jede einzelne Darstellung durchgeführt werden, im Fall eines Paketverlusts,
oder für
die beiden Darstellungen, wobei hier das ursprüngliche PCM-Signal rekonstruiert wird.
Die Dekodierung ist einfach eine Transkodierung zurück in die
PCM-Indizes, gefolgt von einem Tabellennachschlag.
-
Alternativ
ist der PCM-Kodierer ein standardmäßiger 64 kBit/s PCM-Kodierer
mit einer Protokollkomprimierung nach der μ-Regel. In diesem Fall beträgt die Anzahl
der Pegel in dem Quantisierer 256, das ist einer mehr als in einem
Kodierer nach der μ-Regel.
Zur Darstellung dieser 256 Pegel mit neuen Quantisierungsrastern
und um das Signal vollständig rekonstruieren
zu können,
wird ein Raster mit 128 Pegeln und eines mit 129 Pegeln benötigt. Es
ist erstrebenswert, zwei 7 Bit-Raster wie in dem Fall der μ-Regel zu
verwenden, aber das Problem mit dem zusätzlichen Quantisierungspegel
muss gelöst
werden. Nach der Erfindung wird jeder Quantisierungspegel durch
einen Ganzzahlenindex dargestellt, der bei Null für den negativsten
Pegel beginnt und bis zu 255 für
den höchsten
Pegel geht. Exakt dieselbe Regel wie im Fall der μ-Regel wird
verwendet, um neue Indizes zu bilden, mit Ausnahme der Darstellung
der Indexnummer 255. Die Indexnummer 255 wird durch die Indexnummer
126 für
den ersten Quantisierer und der Indexnummer 127 für den zweiten
dargestellt, anstelle von 128 und 127, die bei Einhaltung der Regel
erhalten werden würden.
Der Dekodierer muss diese Indexdarstellung prüfen, wenn zwei Bitströme in einen
PCM-Bitstrom nach der A-Regel transkodiert werden. Wenn nur die
erste von zwei Beschreibungen nach der Übertragung empfangen wird und
der 255. Index kodiert wurde, führt
der Dekodierer einen Quantisierungsfehler ein, der etwas höher ist
als für
die anderen Indizes.
-
Ein
kodiertes PCM-Signal enthält
einen hohen Redundanzgrad. Daher ist es besonders vorteilhaft die
Verwendung von PCM-Signalen mit der verlustlosen Kodierung/Dekodierung
von Mehrfachbeschreibungen zu kombinieren, die aus einem PCM-Signal abgeleitet
wurden.
-
Wenn
das digitale Signal, das vom Tonkodierer empfangen wurde, bereits
als 64 kBit/s PCM-Bitstrom vorliegt und wenn der Tondekodierer am
Empfangsteil einen 64 kBit/s PCM-Bitstrom ausgeben soll, sind der
PCM-Kodierer am Sendepunkt und der PCM-Dekodierer am Empfangspunkt nicht erforderlich.
In diesem Fall empfängt
der Mehrfachbeschreibungskodierer der vorliegenden Erfindung den PCM-Bitstrom
und konvertiert die PCM-Indizes in die oben beschriebene Darstellung
von 0 bis 254. Diese Darstellung wird direkt in den Transkodierer
eingespeist, der den Bitstrom mit Hilfe der obigen einfachen Regeln
in zwei neue Bitströme
transkodiert. Am Empfangspunkt des Systems werden die Informationen
in den empfangenen Paketen durch die Diversitätssteuereinheit gesammelt.
Wenn alle Pakete ankommen, kombiniert und übersetzt der Transkodierer die
Informationen aus den Mehrfachbeschreibungen zurück in den ursprünglichen
PCM-Bitstrom. Wenn einige
Pakete verloren gehen, kann der ursprüngliche Bitstrom nicht ex akt
rekonstruiert werden, aber es wird eine gute Annäherung aus den Beschreibungen
erhalten, die angekommen sind.
-
Obwohl
die Erfindung oben anhand von Beispielen mit Bezug auf deren verschiedene
Ausführungsformen
beschrieben wurde, versteht es sich, dass verschiedene Bearbeitungen
und Änderungen vorgenommen
werden können,
ohne von dem Geltungsbereich der Erfindung, wie in den angehängten Ansprüchen definiert,
abzuweichen.