DE60207731T2 - Datenschutzsystem und -verfahren für audio-video übertragung - Google Patents

Datenschutzsystem und -verfahren für audio-video übertragung Download PDF

Info

Publication number
DE60207731T2
DE60207731T2 DE60207731T DE60207731T DE60207731T2 DE 60207731 T2 DE60207731 T2 DE 60207731T2 DE 60207731 T DE60207731 T DE 60207731T DE 60207731 T DE60207731 T DE 60207731T DE 60207731 T2 DE60207731 T2 DE 60207731T2
Authority
DE
Germany
Prior art keywords
sub
block
blocks
header
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60207731T
Other languages
English (en)
Other versions
DE60207731D1 (de
Inventor
W. Marc KLEIN MIDDELINK
F. Ralf FUNKEN
W. Arnoldus OOMEN
M. Leon VAN DE KERKHOF
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE60207731D1 publication Critical patent/DE60207731D1/de
Application granted granted Critical
Publication of DE60207731T2 publication Critical patent/DE60207731T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Television Systems (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf den Schutz von A/V-Daten vor Übertragungs-/Speicherfehlern, insbesondere für Streaming von A/V-Daten.
  • Verteilung von A/V-Daten (Audio- und/oder Videodaten) über ein Speicher- oder Übertragungsmedium ist sehr wichtig geworden. So hat beispielsweise der Erfolg von Internet zu der Übertragung von vielen MP3 codierten Audio-Titeln geführt. Statt einer Herunterladung einer Datei wird erwartet, dass Streaming mit Echtzeit-Verbrauch der empfangenen Daten zunehmen wird, insbesondere in Kombination mit drahtloser Übertragung. Die Bandbreitenanforderungen für Streaming von codierten Audio- oder Videosignalen mit einer relativ hohen Qualität sind wesentlich, was es wichtig macht, dass die bei der Übertragung anfallenden Gesamtkosten gesteuert werden. Da die Zuverlässigkeit des Übertragungsmediums, insbesondere eines drahtlosen Übertragungsmediums, relativ gering sein kann, soll auf die Detektion von Übertragungsfehlern besonders geachtet werden und soll gegen detektierte Fehler eingeschritten werden. So kann beispielsweise ein Fehler, der in einer kurzen Periode des übertragenen A/V-Signals auftritt, durch Interpolation zwischen zwei benachbarten Signalperioden oder durch Anwendung anderer geeigneter Maßnahmen verschleiert werden.
  • Die Abschnitte 6.2 und 8.1 der ISO/IEC Advanced Audio Coding (AAC) Norm 13818-7 (MPEG2-AAC) und Abschnitt A 2.2 des Subteils 1 der ISO/IEC Norm 14496-3 (MPEG4-Audio) beschreiben ein Format zur Übertragung codierter Audioströme, das sog. "audio data transport stream" (ADTS) Frame. Ein Audio-Stream besteht in diesem Fall aus einer Sequenz von ADTS-Frames. Das ADTS-Frame, wie in 1 dargestellt, umfasst einen Headerblock 10 und ein Nutzlastfeld 20. Der Headerblock 10 umfasst einen festen Header 12 und einen variablen Header 14. Der feste Header 12 enthält Information, die für alle Frames in der Sequenz die gleiche ist, wie eine Abtastfrequenz des Audios. Diese Information wird in jedem Frame übertragen, um einen beliebigen Zugriff auf den Bitstrom zu ermöglichen. Der feste Header enthält ebenfalls ein Synchronisationswort. Der variable Header enthält Headerinformation, die von Frame zu Frame sich ändern kann. Eines der Elemente des variablen Headers ist die Framelänge, welche die Länge L des Frames enthält. Das Nutzlastfeld 20 kann bis zu 4 Subblöcke (22, 24, 26, 28) unverarbeiteter Au diodaten enthalten, wobei jeder Subblock eine feste Anzahl Audioabtastwerte je Kanal enthält (beispielsweise 1024 in MPEG2-AAC).
  • Während der Übertragung des codierten Bitstroms können Bitfehler auftreten, die durch ungünstige Übertragungsumstände verursacht werden können. Derartige Fehler können einen Bitstrom ungültig machen, was zu einem stark gestörten Ausgang des Decoders führt. Um derartige Probleme zu überwinden haben die Standards spezifiziert, dass der Headerblock und das wirklich codierte Audio in dem Subblock ggf. unter Anwendung eines Fehlerschutzcodes 30 geschützt werden kann, wobei dieser Code auch in das Frame eingefügt werden kann. Als Fehlerschutzcode wird eine zyklische Redundanzprüfung ("Cyclic Redundancy Check", CRC) angewandt. Die CRC kann zum Korrigieren von Übertragungsfehlern angewandt werden. Für stark gestörte Übertragungskanäle kann es sein, dass die CRC nicht ausreicht zum Korrigieren von Fehle, kann aber dennoch angewandt werden um ein ungültiges Segment der Daten zu markieren. In dem Fall kann der Decoder geeignete Fehlerverschleierungsmaßnahmen für dieses betreffende Datensegment treffen. Es dürfte einleuchten, dass es für A/V-Streaming, wobei normal empfangene Daten in Echtzeit aufbereitet werden, meistens keine Zeit gibt, eine Neuübertragung von Daten durchzuführen, wenn ein Fehler detektiert worden ist.
  • Zur Zeit wird das MPEG-AAC-ADTS-Frameformat angewandt zum Übertragen codierten Audios unter Verwendung nur eines Subblocks je Frame. Typischerweise wird der etwaige Fehlerschutz, bei dem CRC angewandt wird, durchgeführt. Wie in 1A dargestellt, wird im Falle eines einzigen Subblocks je Frame, der CRC-Code 30 über den festen Header 12, den variablen Header 14 und den Subblock 22 berechnet. Der Header (der aus dem festen und dem variablen Header besteht) des Frames hat eine feste Länge, was die Decodierung vereinfacht. Zum Reduzieren der Gesamtkosten der Übertragung ist es erwünscht, die von den Standards gelieferte Option zu benutzen um mehr als nur einen Subblock in das ADTS-Frame einzuschließen. Aber die Standards liefern nicht eine deutliche Beschreibung über Schutz von Daten in dam Fall von mehreren Subblöcken in einem ADTS-Frame. Der Rahmen des Schutzes der einen spezifizierten CRC kann sich über alle Subblöcke in dem Frame erstrecken, wie in 1b dargestellt. Wenn man dies tut, würde das bedeuten, dass ein einziger Bitfehler irgendwo in dem Header oder in den Subblöcken alle Subblöcke unbrauchbar macht. Dies macht die Verschleierung von Fehlern schwierig, wenn nicht unmöglich.
  • EP-A-827 312 beschreibt ein System mit einem Sender und einem Empfänger zum Übertragen eines Signals in Form eines Streams mit Frames. Jedes Frame umfasst einen Headerblock und eine Anzahl Subblöcke. Die Subblöcke können eine variable Länge haben. Der Headerblock und jeder der Subblöcke umfassen betreffende assoziierte Fehlerschutzcodes zum Schützen der betreffenden Blöcke.
  • Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung ein Frameformat zu schaffen, dass für Streaming codierter A/V-Daten geeignet ist, wobei das Frame eine Anzahl Datensubblöcke aufweist, während der Einfluss der Übertragung von Fehlern begrenzt wird.
  • Diese Aufgabe der vorliegenden Erfindung wird erfüllt durch ein System nach Anspruch 1. Durch separaten Schutz jedes der Subblöcke können Korrekturmaßnahmen für jeden einzelnen Subblock getroffen werden. Dadurch, dass auch ein einzelner Schutz des Headers angewandt wird, der im vergleich zu dem Subblock meistens relativ kurz ist, können Fehler in dem header einzeln detektiert werden. Ein Fehler in dem ersten Subblock wird den Headerblock nicht unbrauchbar machen und an sich kann Headerinformation dennoch zum verarbeiten der anderen Subblöcke verwendet werden. Die Fehlerschutzcodes ermöglichen vorzugsweise eine zuverlässige Detektion mehrerer Bitfehler. Vorzugsweise wird den Headern dadurch mehr Schutz gegeben, dass denselben ein stärkerer Kanalcode gegeben wird. Nach der vorliegenden Erfindung unterstützt das Frame die Übertragung von Subblöcken mit einer variablen Länge. Um es zu ermöglichen, nur diejenigen Subblöcke zu überspringen, die fehlerhaft sind, ist Ortungsinformation vorhanden um die einwandfreien Blöcke orten zu können. Die Ortungsinformation wird in den Headerblock eingefügt und wird durch den Headerfehlerschutzcode geschützt. Die Ortungsinformation kann jede geeignete Form annehmen, wie ein Offset vom Anfang des Frames. Auch Längen der Subblöcke können spezifiziert werden, wobei die Ausgangslage eines Subblocks von einer Ausgangslage eines vorhergehenden Subblocks und der Länge dieses Subblocks hergeleitet wird.
  • Die Länge des Headerblocks ist dem Empfänger bekannt (oder im Allgemeinen: die gesamte Länge aller Frame-Elemente, die den Subblöcken vorhergehen, ist bekannt). Um aus dieser Information Nutzen zu ziehen braucht die Ortungsinformation nicht die Lage des ersten Subblocks nach dem Header zu enthalten. Auch die gesamte Län ge des Frames ist für ein Frame bekannt, wodurch es ermöglicht wird, die Lage des nächsten Frames zu orten.
  • Nach einer Maßnahme des Unteranspruchs 2 werden die Fehlerschutzcodes unmittelbar neben und vorzugsweise unmittelbar hinter dem Block vorgesehen, den sie schützen. Dies ermöglicht eine einfache Verarbeitung ohne Verzögerungen.
  • Nach einer Maßnahme des Unteranspruchs 3 hat der Headerblock eine feste Größe. Folglich ist die Lage des ersten Blocks unbedingt bekannt und es erübrigt sich zusätzliche Information. Wenn der Headerblock nicht eine feste Größe hätte, wird vorzugsweise Information über die Länge des Headers in den Headerblock selber eingefügt (vorzugsweise an einer vorbestimmten Stelle).
  • Das Frame wird vorzugsweise für drahtlose Übertragung und drahtlosen Empfang und für Streaming (Übertragung und Empfang) von codierten A/V-Signalen verwendet. Das Frame ist insbesondere sehr nützlich für ausgesendetes Audio und Fernsehen sowie für Internetradio. Das Frame kann auch zum Speichern codierter A/V-Signale verwendet werden, insbesondere wenn ein beliebiger Zugriff auf e Frames erforderlich ist.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
  • 1 die bekannte Framestruktur,
  • 2 die Framestruktur nach der vorliegenden Erfindung,
  • 3 ein Übertragungssystem nach der vorliegenden Erfindung, und
  • 4 eine Decoderanordnung mit einem Aufzeichnungsträger, auf dem die Framestruktur aufgezeichnet wird.
  • 1A zeigt die bekannte Framestruktur für ein Frame mit einem Subblock 22. 1B zeigt die Framestruktur, die aus dem Syntax in denn MPEG AAC Standards für das Beispiel mit vier Subblöcken 22, 24, 26 und 28 in dem Nutzlastfeld des Frames folgt. In dem vorliegenden Fall deckt die CRC des Feldes 30 des Frames den Headerblock 10 (mit dem festen Header 12 und dem variablen Header 14) und alle Subblöcke in dem Frame. Da die Subblöcke meistens ziemlich lang sind und im Wesentlichen länger als der Header, ist die Wahrscheinlichkeit groß, dass ein detektierter Fehler in einem der Subblöcke auftritt. Da es aber nicht bekannt ist, wo der Fehler ist, ist der Header nicht zuverlässig, was die Verarbeitung des ganzen Frames unmöglich macht.
  • 2 zeigt die Framestruktur nach der vorliegenden Erfindung. 2-I zeigt die bekannte Situation für einen einzigen Subblock. Wegen eines Vergleichs mit bestehenden Implementierungen wird bevorzugt, dass diese Framestruktur für ein Frame mit einem einzigen Subblock eingehalten wird. Die 2-II bis IV zeigen die Framestruktur für Frames mit 2, 3 bzw. 4 Subblöcken (im Allgemeinen: N Subblöcken, wobei N > 1 ist). In 2-IV umfasst das Nutzlastfeld des Frames vier Subblöcke 22, 24, 26 und 28. Nach der vorliegenden Erfindung wird der Headerblock 10 durch einen separaten Fehlerschutzcode 31 geschützt, der in dem Frame vorgesehen ist, statt durch die bekannte CRC 30 in 1. Wegen des Vergleichs und der Einfachheit halber kann die gleiche CRC verwendet werden, wie von den MPEG AAC Standards vorgeschrieben. Da ein nicht wiederherstellbarer Fehler in dem Headerblock das Verarbeiten des ganzen Frames unmöglich macht, wird vorzugsweise einstärkerer Kanalcode verwendet. Wie auch dargestellt, geht mit jedem Subblock ein assoziierter Fehlerschutzcode einher, der diesen Subblock deckt. Diese Codes sind such in das Frame eingeschlossen. In dem Beispiel nach 2-IV wird der Subblock 22 durch den Code 32 geschützt, der Block 24 wird durch den Code 34 geschützt, der Block 26 durch den Code 36 und der Block 28 durch den Code 38. Vorzugsweise wird die von den MPEG AAC Standards spezifizierte CRC als ein Fehlerschutzcode für die Subblöcke verwendet. Andere Codes können ebenfalls verwendet werden.
  • Bei einer bevorzugten Ausführungsform grenzen die Fehlerschutzcodes an dem von dem Code geschützten Block und folgen vorzugsweise demselben unmittelbar. Dies macht die Prüfung des Codes möglich, und zwar ohne unnötige Verzögerung.
  • Nach der vorliegenden Erfindung können die Subblöcke eine variable Länge haben. Es dürfte einleuchten, dass für eine bestimmte Applikation auch Subblöcke mit einer festen Länge übertragen werden können, während zu einem anderen Zeitpunkt für eine andere Applikation Subblöcke einer anderen Größe übertragen werden. Innerhalb einer einzigen Applikation kann auch die Länge der Subblöcke von Natur aus in der Zeit variieren. Die Variation in der Länge kann in dem Kompressionspegel liegen. Für die bevorzugte Verwendung des Frames für MPEG AAC stellt ein Subblock beispielsweise 1024 Audioabtastwerte dar. Für Codierung mit einer hohen Bitrate (für Streaming über Kanäle mit einer hohen bandbreite), kann die Bitrate beispielsweise 128000 Bits/Sekunde sein bei einer Abtastfrequenz von 48000 Hz. Die mittlere Länge eines Subblocks ist dann 1024·128000/48000 = 2730,666 Bits, oder (etwa) 342 Bytes, aber variiert je Subblock. Für Co dierung mit einer niedrigen Bitrate (für Streaming über Kanäle mit einer niedrigen Bandbreite), kann die Bitrate beispielsweise 32000 Bits/Sekunde sein bei einer Abtastfrequenz von 32000 Hz. Die mittlere Länge eines Subblocks ist dann 1024·32000/32000 = 1024 Bits, oder 128 Bytes, aber variiert auch hier wieder je Subblock. Für MPEG AAC ist die Länge des Headerblocks (mit dem festen und variablen Header) immer 7 Bytes. Sogar für eine niedrige Bitrate ist der Header vorzugsweise im Wesentlichen kleiner als der Subblock (zum Reduzieren der Gesamtkosten, verursacht durch den Headerblock). Vorzugsweise ist die Länge des Headerblocks wenigstens um das Zehnfache kleiner a die Länge eines mittleren Subblocks. Durch Verwendung relativ großer Subblöcke im Vergleich zu dem Header, wird ein Fehler in dem Frame höchstwahrscheinlich in einem der Subblöcke liegen. Dadurch, dass der Headerblock separat geschützt wird, wird mit einer hohen Wahrscheinlichkeit der Headerblock denn och verwendbar sein, wenn Fehler in dem Frame detektiert werden. Mit Hilfe der Subblockfehlerschutzcodes und der Ortungsinformation können die gültigen Subblöcke geortet und weiter verarbeitet werden, während der (die) ungültige(n) Subblock (Subblöcke) abgelegt werden.
  • Nach der vorliegenden Erfindung umfasst das Frame Positionsinformation 40, die es ermöglicht, dass die Position der Subblöcke mit variabler Länge geortet wird. Für Frames, wie MPEG AAC, wobei die Länge aller Elemente, die den Subblöcken vorhergehen, bekannt ist, (im Falle von MPEG-AAC wird die Länge vorbestimmt; als eine Alternative könnte die Längeninformation auch in das Frame eingefügt oder mit demselben mitgesendet werden), ist es nicht notwendig, die Position des ersten Subblocks zu spezifizieren. In einem derartigen Fall wird Information über die Stelle der Subblöcke II durch N in einem Frame hinzugefügt, vorzugsweise in Form eines Offsets in Bytes gegenüber dem Start des Subblocks I. Die Position des Subblocks I ist implizit (unmittelbar hinter den Headern). Die Stelleninformation ermöglicht eine Decodierung von Subblöcken in dem Fall, dass es sich herausstellt, dass vorhergehende Subblöcke ungültig sind.
  • Die Stelleninformation wird in den Headerblock eingefügt und wird von dem Fehlerschutzcode geschützt. Damit die Stelleninformation optimal zu den bestehenden Implementierungen des MPEG AAC Frameformats mit einem einzigen Subblock passt, wird sie an der letzten Stelle des variablen Headers eingeschlossen. Die bestehende CRC 30 wird an derselben Stelle festgehalten, schützt aber nun nur den festen Header, den variablen Header und die Stelleninformation, aber nicht länger den ersten Subblock.
  • Die Syntaxbeschreibung einer bevorzugten Framestruktur ist nun wie folgt (wobei die Syntaxschreibweise von MPEG AAC verwendet wird):
    Figure 00070001
    Figure 00080001
  • Definitionen:
    • * raw_data_block_position(i): Startposition des raw_data_block(i) gemessen als Offset in Bytes von der Startposition von raw_data_block(0) an.
    • * adts_error_check(): entsprechend der Definition in ISO/IEC 13818-7.
    • * adts_header_error_check(): CRC Fehlerdetektionsdaten, erzeugt wie beschrieben in ISO/IEC 11172-3, Subklausel 2.4.3.1 (Tabelle 6,7). Die nachfolgenden Bits werden geschützt und in in der Reihenfolge ihres Erscheinens den CRC Algorithmus eingespeist:
    • * alle Bits des adts_fixed_header()
    • * all bits des adts_variable_header() all bits der raw_data_block_position Felder.
    • * adts_raw_data_block_error_check(i): CRC Fehlerdetektionsdaten, erzeugt, wie beschrieben in ISO/IEC 11172-3, Subklausel 2.4.3.1 (Tabelle 6,7). Die nachfolgenden Bits des raw_data_block(i) werden geschützt und in in der Reihenfolge ihres Erscheinens den CRC Algorithmus eingespeist:
    • * die ersten 192 Bits des single_channel_element (SCE), channel_pair_element (CPE), coupling_channel_element (CCE), low frequency enhancement channel (LFE)
    • * die ersten 128 Bits des zweiten individual_channel_stream (ICS) in dem channel_pair_element müssen geschützt werden.
    • * Alle Informationen in einem program_configuration_element (PCE) oder data_stream_element (DSE) müssen geschützt werden.
  • Für jedes Element, bei dem die spezifizierte Länge von 128 oder 192 Bits die wirkliche Länge übersteigt, wird das Element für CRC Berechnungen Null gepolstert zu der spezifizierten Länge.
  • Die id_syn_ele bits sollen vom CRC Schutz ausgeschlossen werden. Wenn die Länge eines CPE kleiner ist als 192 Bits, werden Null Daten angehängt um die Länge von 192 Bits zu erhalten.
  • Weiterhin wird, wenn die ersten ICS des CPE bei dem N. Bit (N < 192) endet, werden die ersten (192-N) Bits des zweiten ICS zweimal geschützt. Wenn beispielsweise das zweite ICS bei dem 190. Bit des CPE startet, werden die ersten 3 Bits des zweiten ICS zweimal geschützt. Zum Schluss, wenn die Länge des zweiten ICS kleiner ist als 128 Bits, werden zum Erreichen der Länge von 128 Bits Null Daten angehängt.
  • 3 zeigt ein Übertragungssystem 300 nach der vorliegenden Erfindung. Das A/V-Signal wird einem Codierer 330 zugeführt. Der Codierer 330 umfasst einen Eingang zum Empfangen einer Anzahl digital codierter Audio/Video Datensubblöcke, wobei jeder Subblock vorbestimmten aufeinander folgenden Periode des A/V-Signals entspricht. Wie oben beschrieben, haben die Subblöcke im Allgemeinen eine variable Länge. Die Subblöcke werden typischerweise in einem im Wesentlichen kontinuierlichen Strom aufeinander folgender Blöcke empfangen. Der Codierer 330 ist wirksam zum Erzeugen des Headerblocks. Der Headerblock enthält Information über die zu codierenden A/V Datenblöcke (beispielsweise Abtastrate). Einige dieser Informationen können separat dem Codierer zugeführt werden. Die Information umfasst Stelleninformation über die Stelle der Subblöcke, die in das Frame eingeschlossen werden sollen. Der Codierer ermittelt vorzugsweise diese Information aus der Längeninformation des einzelnen, dem Eingang zugeführten Subblocks. Eine derartige Längeninformation kann separat zugeführt werden oder sie kann in anderer Information drin sein. Der Codierer 330 berechnet für den Headerblock einen assoziierten Headerfehlerschutzcode zum Schützen des Headerblocks während der Übertragung und/oder Speicherung. Der Codierer 330 berechnet ebenfalls für jeden der betreffenden A/V Datensubblöcke einen betreffenden assoziierten Subblockfehlerschutzcode zum Schützen des assoziierten Subblocks während der Übertragung und/oder Speicherung. Eine herkömmliche Software-Routine oder eine Hardware-Schaltungsanordnung kann zum Berechnen des Fehlerschutzcodes verwendet werden. Die Codierer baut in einem Speicher die ganze Framestruktur nach der vorliegenden Erfindung und führt diese Weiter zu einem Sender 310. Meistens wird ein einziger integrierter Codierer zum Erzeugen der Subblöcke und zum Anhängen der Header und der Fehlerschutzcodes verwendet. Typischerweise wird der Codierer in Software implementiert, und zwar unter Verwendung eines DSPs oder eines Mikroprozessors eines ähnlichen Typs. Die Software kann in den Codierer eingebettet sein. Ein Fachmann wird imstande sein, eine geeignete Hardware-Implementierung des Codierers zu bauen. Der Sender kann jedes gewünschte Kommunikationsprotokoll implementieren um das Frame über ein Kommunikationsmedium 350 zu einem Endempfänger 320 zu übertragen (beispielsweise über das Internet). Der Empfänger 320 liefert die empfangene Information einem Decoder 340.
  • Der Decoder 340 umfasst einen Eingang zum Empfangen des Frames mit dem Headerblock, dem assoziierten Headerfehlerschutzcode, und einer Anzahl Datensubblöcke und einer Anzahl betreffender assoziierter Subblockschutzcodes. Der Headerblock umfasst Information über die Datensubblöcke in dem Frame, u. a. die Stelleninformation über die Stelle wenigstens eines der Datensubblöcke in dem Frame. Der Decoder 340 prüft, ob der Headerfehlerschutzcode dem Headerblock entspricht. Dies kann durch Berechnung des Fehlerschutzcodes für den empfangenen Headerblock und durch einen Vergleich dieses Codes mit dem empfangenen Headerfehlerschutzcode geschehen. Wenn ein Fehler detektiert wird, beendet der Decoder 340 die Verarbeitung des Frames. Der Decoder 340 ortet die Datensubblöcke wenigstens teilweise unter Ansteuerung der Stelleninformation in dem Headerblock, wie oben beschrieben. Der Decoder prüft für jeden der betreffenden Datensubblöcke, ob der betreffende assoziierte Subblockschutzcode dem Datensubblock entspricht (beispielsweise durch Berechnung des Codes und durch einen Vergleich dieses Codes mit dem empfangenen Code). Fehlerhafte Subblöcke werden abgelegt und die einwandfreien Subblöcke werden durch Extraktion eines codierten A/V Signals aus jedem Subblock, bei dem kein Fehler detektiert wurde, beibehalten. Das codierte A/V Signal wird weiterhin auf eine Art und Weise decodiert, die für die spezifische Form der Codierung (beispielsweise MPEG 2 Codierung) geeignet ist. Diese weitere Decodierung kann von dem Decoder 340 oder von einem externen Decoder durchgeführt werden. Typischerweise wird der Decoder auch in Software auf einer geeigneten Verarbeitungsplattform implementiert.
  • Vorzugsweise werden fehlerhafte Frames oder Subblöcke nicht einfach abgelegt, sondern es werden Maßnahmen getroffen, derartige Fehler zu verschleiern, und zwar durch Ersatz des fehlerhaften Frames oder des Subblocks durch ein geschätztes Frame oder einen geschätzten Subblock. Jedes beliebige bekannte Verschleierungsverfahren (beispielsweise Interpolation) kann dazu angewandt werden.
  • 4 zeigt eine Decoderanordnung 400 mit einem Speichermedium 410, auf dem die Framestruktur aufgezeichnet ist. Jedes beliebige Speichermedium (einschließlich Aufzeichnungsträger) können verwendet werden, beispielsweise optische, magnetische, magneto/optische, Halbleiterspeicher usw. Der Leser 420 liest ein oder mehrere Frames aus dem Speicher 410 und liefert diese dem Decoder 430. Der Decoder 430 kann der selbe sein, wie für den Decoder 340 in 3 beschrieben. Der Leser 420 passt zu dem Speichermedium. Das Speichermedium 410 kann fest in der Decoderanordnung 400 vorgesehen sein. Auch können entfernbare Speichermedien verwendet werden (beispielsweise optische Platten, Flash-Speicherkarten) welche die Frames nach der vorliegenden Erfindung tragen.
  • Text in der Zeichnung
  • 1A
  • 12
    fester Header
    14
    variabler Header
    22
    Subblock
  • 1B
  • 12
    fester Header
    14
    variabler Header
    22
    Subblock
  • 2
  • Fester Header
    Variabler Header
    Subblock
    Positionsinformation der Subblöcke

Claims (11)

  1. System (300) mit einem Sender (310) und einem Empfänger (320) zum Übertragen eines A/V-Signals in Form eines Streams von Frames, wobei jedes Frame einen Header-Block (10) und eine Anzahl Subblöcke (22, 24, 26, 28) aufweist; wobei jeder Subblock digital codierte Audio/Videodaten entsprechend vorbestimmten aufeinander folgenden Periode des A/V-Signals enthält; wobei die Subblöcke eine variable Länge haben können; wobei das Frame für den Header-Block einen Header-Fehlerschutzcode (31) aufweist zum Schützen des Header-Blocks während der Übertragung, für jeden Subblock einen betreffenden assoziierten Subblockfehlerschutzcode (32, Fernsehprogramminformationsbestimmungsmittel (34), 36, 38) zum Schützen des assoziierten Block während der Übertragung; dadurch gekennzeichnet, dass der Header-Block ein Lageninformationsfeld (40) aufweist, das Information über die Lage aller Subblöcke außer dem ersten enthält; wobei in dem Frame die Lage des ersten Subblocks von einer gesamten Länge aller anderen Elemente in dem den Subblöcken vorhergehenden Frame hergeleitet werden kann.
  2. System nach Anspruch 1, wobei jeder Fehlerschutzcode unmittelbar grenzend an den von dem Code geschützten assoziierten Block liegt.
  3. System nach Anspruch 1, wobei die gesamte Länge aller Elemente in dem Frame, das den Subblöcken vorhergeht, vorbestimmt ist.
  4. Verfahren zum Codieren eines A/V-Signals in Form eines Streams von Frames, wobei dieses Verfahren die nachfolgenden Verfahrensschritte umfasst: – das Empfangen einer Anzahl digital codierter Audio/Videodatensubblöcke (22, 24, 26, 28), die je mit vorbestimmten, aufeinander folgenden Periode des A/V-Signals übereinstimmen, wobei die Subblöcke eine variable Länge haben können; – das Erzeugen eines Header-Blocks (10), der Information über die zu codierenden Subblöcke in einem Frame enthalten; wobei die Information Lageninformation über die Lage aller Subblöcke außer dem ersten enthält; wobei in dem Frame die Lage des ersten Subblocks von einer gesamten Länge aller anderen Elemente in dem Frame, das den Subblöcken vorhergeht, hergeleitet werden kann; – das für den Header-Block Berechnen eines assoziierten Header-Fehlerschutzcodes (31) zum Schützen des Header-Blocks während der Übertragung und/oder Speicherung; – das für jeden der betreffenden A/V-Datensubblöcke Berechnen eines betreffenden assoziierten Subblockfehlerschutzcodes (32, 34, 36, 38) zum Schützen des assoziierten Subblocks während der Übertragung und/oder Speicherung; – das Bilden und Übertragen und/oder Speichern eines Frames mit dem Header-Block, dem assoziierten Header-Fehlerschutzcode, und jedem der Datensubblöcke und der betreffenden assoziierten Subblockfehlerschutzcodes.
  5. Codierungsanordnung (330), welche die nachfolgenden Elemente umfasst: – einen Eingang zum Empfangen einer Anzahl digital codierter Audio/Videodatensubblöcke (22, 24, 26, 28), die je mit vorbestimmten aufeinander folgenden Perioden des A/V-Signals übereinstimmen, wobei die Subblöcke eine variable Länge haben können; – Mittel zum Erzeugen eines Header-Blocks (10) mit Information über die zu codierenden Subblöcke; wobei die Information Lageninformation über die Lage aller Subblöcke außer dem ersten umfasst; wobei in dem Frame die Lage des ersten Subblocks von einer gesamten Länge aller anderen Elemente in dem Frame, das den Subblöcken vorhergeht, hergeleitet werden kann; – Mittel um für den Header-Block einen assoziierten Header-Fehlerschutzblock (31) zum Schützen des Header-Blocks während der Übertragung und/oder der Speicherung zu berechnen; – Mittel um für jeden betreffenden A/V-Datensubblock einen betreffenden assoziierten Subblockfehlerschutzcode (32, 34, 36, 38) zum Schützen des assoziierten Subblocks während der Übertragung und/oder der Speicherung zu berechnen; und – Mittel zum Bilden und Übertragen und/oder Speichern eines Frames mit dem Header-Block, dem assoziierten Header-Fehlerschutzblock und jedem der Datensubblöcke und betreffenden assoziierten Subblockfehlerschutzcodes.
  6. Verfahren zum decodieren eines A/V-Signals in Form eines Streams von Frames, wobei dieses Verfahren die nachfolgenden Verfahrensschritte umfasst: – das Empfangen eines Kommunikationsframes mit einem Header-Block (10), einem assoziierten Header-Fehlerschutzcode (31), einer Anzahl Datensubblöcke (22, 24, 26, 28) und betreffender assoziierter Subblockfehlerschutzcodes; wobei der Header-Block Information über die Datenblöcke in dem Frame enthält; wobei die Information Lageninformation über die Lage aller Subblöcke außer dem ersten Subblock enthält, in dem Frame die Lage des ersten Subblocks von einer gesamten Länge aller anderen Elemente in dem Frame, das den Subblöcken vorhergeht, hergeleitet werden kann; wobei jeder der Datensubblöcke mit vorbestimmten aufeinander folgenden Perioden des A/V-Signals übereinstimmt, wobei die Subblöcke eine variable Länge haben können, – das Überprüfen, ob der Header-Fehlerschutzcode mit dem Header-Block übereinstimmt; und das Beenden der Verarbeitung des Frames, wenn keine Übereinstimmung gefunden wird; – das Auffinden der Datensubblöcke wenigstens teilweise unter Ansteuerung der Lageninformation in dem Header-Block; – für jeden der betreffenden Datensubblöcke, das Überprüfen, ob der betreffende assoziierte Subblockfehlerschutzcode mit dem Datensubblock übereinstimmt; und – das Extrahieren eines codierten A/V-Signals aus jedem Subblock, für den kein Fehler detektiert wurde.
  7. Verfahren zum Decodieren eines A/V-Signals in Form eines Streams von Frames nach Anspruch 6, wobei das Verfahren das Tarnen eines Fehlers in einem Datensubblock des Streams durch Erzeugung eines geschätzten Subblocks aus wenigstens einem benachbarten Subblock ohne Fehler umfasst.
  8. Decodieranordnung, welche die nachfolgenden Elemnte umfasst: – einen Eingang (420) zum Empfangen eines Frames mit einem Header-Block (10), einem assoziierten Header-Fehlerschutzcode (31) und einer Anzahl Datensubblöcke (22, 24, 26, 28) und betreffenden assoziierten Subblockfehlerschutzcodes (32, 34, 36, 38); wobei der Header-Block Information über die Datensubblöcke in dem Frame aufweist; wobei die Information Lageninformation über die Lage aller Subblöcke außer dem ersten enthält; wobei in dem Frame die Lage des ersten Subblocks aus einer gesamten Länge aller anderen Elemente in dem Frame, das den Subblöcken vorhergeht, hergeleitet werden kann; wobei jeder der Datensubblöcke mit vorbestimmten aufeinander folgenden Periode des A/V-Signals übereinstimmt, wobei die Subblöcke eine variable Länge haben können; und – einen Decoder (430), der Folgendes umfasst: – Mittel um zu überprüfen, ob der Header-Fehlerschutzcode mit dem Header-Block übereinstimmt, und um die Verarbeitung des Frames zu beenden, wenn keine Übereinstimmung gefunden wird; – Mittel zum Auffinden der Datensubblöcke, wenigstens teilweise unter Ansteuerung der Lageninformation in dem Header-Block; – Mittel um für jeden betreffenden Datensubblock zu überprüfen, ob der betreffende assoziierte Subblockfehlerschutzcode mit dem Datensubblock übereinstimmt; und – Mittel zum Extrahieren eines codierten A/V-Signals aus jedem Subblock, für den kein Fehler detektiert wurde.
  9. Decoder nach Anspruch 8, mit einer Leseanordnung (420) zum Auslesen von Frames aus einem Speichermedium (410) und zum Zuführen der ausgelesenen Frames zu dem Decoder (430).
  10. Decoder nach Anspruch 9, mit Mitteln zum Empfangen eines entfernbaren Speichermediums; wobei die Leseanordnung derart gesteuert werden kann, dass diese die Frames aus dem entfernbaren Speichermedium ausliest.
  11. Speichermedium (410), auf dem eine Anzahl Frames gespeichert werden, wobei jedes Frame einen Header-Block (10) und eine Anzahl Subblöcke (22, 24, 26, 28) aufweist; wobei jeder der Subblöcke digital codierte Audio/Videodaten enthält, die mit vorbestimmten aufeinander folgenden Perioden des A/V-Signals übereinstimmen; wobei die Subblöcke eine variable Länge haben können; wobei das Frame für den Header-Block einen Header-Fehlerschutzcode (31) aufweist zum Schützen des Header-Blocks während der Übertragung, für jeden der Headerblöcke einen betreffenden assoziierten Subblockfehlerschutzcode (32, 34, 36, 38) zum Schützen des assoziierten Blocks während der Übertragung; dadurch gekennzeichnet, dass der Header-Block ein Lageninformationsfeld (40) aufweist, das Information über die Lage aller Subblöcke außer dem ersten gibt; in dem Frame die Lage des ersten Subblocks aus einer gesamten Länge aller anderen Elemente in dem Frame, das den Subblöcken vorhergeht, hergeleitet werden kann.
DE60207731T 2001-08-03 2002-07-29 Datenschutzsystem und -verfahren für audio-video übertragung Expired - Lifetime DE60207731T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01202956 2001-08-03
EP01202956 2001-08-03
PCT/IB2002/003204 WO2003015419A1 (en) 2001-08-03 2002-07-29 Protection of streaming a/v data

Publications (2)

Publication Number Publication Date
DE60207731D1 DE60207731D1 (de) 2006-01-05
DE60207731T2 true DE60207731T2 (de) 2006-08-10

Family

ID=8180753

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60207731T Expired - Lifetime DE60207731T2 (de) 2001-08-03 2002-07-29 Datenschutzsystem und -verfahren für audio-video übertragung

Country Status (9)

Country Link
US (1) US7039850B2 (de)
EP (1) EP1417842B1 (de)
JP (1) JP4376623B2 (de)
KR (1) KR100922391B1 (de)
CN (1) CN1287601C (de)
AT (1) ATE311727T1 (de)
DE (1) DE60207731T2 (de)
TW (1) TW595232B (de)
WO (1) WO2003015419A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100344121C (zh) * 2003-03-13 2007-10-17 华为技术有限公司 一种提高无线局域网***网络传输效率的方法
JP4073892B2 (ja) * 2004-05-10 2008-04-09 株式会社ソニー・コンピュータエンタテインメント コンテンツ再生装置、コンテンツ再生方法、コンピュータプログラム
DE102004042819A1 (de) * 2004-09-03 2006-03-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen eines codierten Multikanalsignals und Vorrichtung und Verfahren zum Decodieren eines codierten Multikanalsignals
US8281351B2 (en) * 2005-04-29 2012-10-02 Alcatel Lucent System, method, and computer readable medium rapid channel change
US8121836B2 (en) * 2005-07-11 2012-02-21 Lg Electronics Inc. Apparatus and method of processing an audio signal
FR2903702B1 (fr) 2006-07-13 2012-10-19 Oreal Equivalent d'epiderme capable de se pigmenter obtenu a partir de cellules de la matrice, procede de preparation et utilisation
CN101179735B (zh) * 2006-11-08 2010-07-14 中兴通讯股份有限公司 一种多媒体广播***媒体数据流的封装方法
CN1972453B (zh) * 2006-11-30 2012-12-05 中兴通讯股份有限公司 一种移动多媒体广播***的数据流封装方法
EP3511841B1 (de) 2007-11-16 2021-07-21 DivX, LLC Chunk-header mit binären flags und korrelierten feldern variabler länge
US8387129B2 (en) * 2008-06-09 2013-02-26 Qualcomm Incorporated Method and apparatus for verifying data packet integrity in a streaming data channel
EP2353121A4 (de) * 2008-10-31 2013-05-01 Divx Llc System und verfahren zur wiedergabe von inhalten auf zertifizierten geräten
US8237721B2 (en) * 2009-04-22 2012-08-07 Dell Products, Lp Information handling system and method for using main link data channels
KR102126018B1 (ko) 2013-11-06 2020-06-23 삼성전자주식회사 필드의 위치 정보를 포함하는 패킷을 처리하는 송, 수신 노드의 동작 방법 및 필드의 위치 정보를 포함하는 패킷

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK0441168T3 (da) * 1990-02-06 1996-11-18 Alcatel Italia System, pakkestruktur og indretning til at behandle udgående information fra en signalindkoder
JP3149328B2 (ja) * 1995-01-09 2001-03-26 松下電器産業株式会社 送信装置と受信装置
DE69631182T2 (de) * 1995-04-28 2004-08-19 Matsushita Electric Industrial Co., Ltd., Kadoma Datenübertragungsverfahren
EP0827312A3 (de) * 1996-08-22 2003-10-01 Marconi Communications GmbH Verfahren zur Änderung der Konfiguration von Datenpaketen
US6430159B1 (en) * 1998-12-23 2002-08-06 Cisco Systems Canada Co. Forward error correction at MPEG-2 transport stream layer
US6662329B1 (en) * 2000-03-23 2003-12-09 International Business Machines Corporation Processing errors in MPEG data as it is sent to a fixed storage device

Also Published As

Publication number Publication date
EP1417842B1 (de) 2005-11-30
WO2003015419A1 (en) 2003-02-20
EP1417842A1 (de) 2004-05-12
DE60207731D1 (de) 2006-01-05
KR20040022230A (ko) 2004-03-11
CN1287601C (zh) 2006-11-29
KR100922391B1 (ko) 2009-10-19
JP4376623B2 (ja) 2009-12-02
US7039850B2 (en) 2006-05-02
TW595232B (en) 2004-06-21
CN1539244A (zh) 2004-10-20
JP2004538729A (ja) 2004-12-24
ATE311727T1 (de) 2005-12-15
US20030033569A1 (en) 2003-02-13

Similar Documents

Publication Publication Date Title
DE60207731T2 (de) Datenschutzsystem und -verfahren für audio-video übertragung
EP0127136B1 (de) Verfahren zur Übertragung von digital codierten Analogsignalen
DE60217522T2 (de) Verbessertes verfahren zur verschleierung von bitfehlern bei der sprachcodierung
EP1112621B1 (de) Vorrichtung und verfahren zum entropie-codieren von informationswörtern und vorrichtung und verfahren zum decodieren von entropie-codierten informationswörtern
DE10129239C1 (de) Vorrichtung und Verfahren zum Einbetten eines Wasserzeichens in ein Audiosignal
EP3217583B1 (de) Decodierer und verfahren zum decodieren einer folge von datenpaketen
EP0717503B1 (de) Digitales Codier- und Decodierverfahren
EP0624291B1 (de) Fehlerschutz in einem subbandkodierer
DE60117471T2 (de) Breitband-signalübertragungssystem
EP1212857B1 (de) Verfahren und vorrichtung zum einbringen von informationen in einen datenstrom sowie verfahren und vorrichtung zum codieren eines audiosignals
EP0978172B1 (de) Verfahren zum verschleiern von fehlern in einem audiodatenstrom
EP2062254B1 (de) Steganographie in digitalen signal-codierern
EP0954909A1 (de) Verfahren zum codieren eines audiosignals
DE60311334T2 (de) Verfahren und Vorrichtung zur Kodierung und Dekodierung eines digitalen Informationssignals
EP0659002A1 (de) Verfahren und Schaltungsanordnung zur Übertragung von Sprachsignalen
EP1155498B1 (de) Vorrichtung und verfahren zum erzeugen eines datenstroms und vorrichtung und verfahren zum lesen eines datenstroms
DE202013001075U1 (de) Audio-Codierer und Decodierer mit Lautheits-Verarbeitugszustands-Metadaten
DE19959037B4 (de) Verfahren zur Dekodierung von digitalen Audiodaten
DE102015005087A1 (de) Erzeugen von Manchester-dekodierten Binärwerten
EP1153481B1 (de) Verfahren und vorrichtung zum erzeugen eines datenstroms aus codeworten variabler länge und verfahren und vorrichtung zum lesen eines datenstroms aus codeworten variabler länge
DE4137609C2 (de) Kombiniertes Sprach- und Kanaldecodierverfahren
DE19735675C2 (de) Verfahren zum Verschleiern von Fehlern in einem Audiodatenstrom
DE69633719T2 (de) Sender und verfahren zur übertragung eines breitbandigen, digitalen informationssignals
DE19840853B4 (de) Verfahren und Vorrichtungen zum Codieren eines Audiosignals
DE19540741B4 (de) Verfahren zur fehlergeschützten Übermittlung von zeitkritischen Digitalsignalen variabler Bitrate

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition