[go: up one dir, main page]

DE69517240T2 - Prozessor für inverse Übertragung mit Speicheradressenschaltung - Google Patents

Prozessor für inverse Übertragung mit Speicheradressenschaltung

Info

Publication number
DE69517240T2
DE69517240T2 DE69517240T DE69517240T DE69517240T2 DE 69517240 T2 DE69517240 T2 DE 69517240T2 DE 69517240 T DE69517240 T DE 69517240T DE 69517240 T DE69517240 T DE 69517240T DE 69517240 T2 DE69517240 T2 DE 69517240T2
Authority
DE
Germany
Prior art keywords
data
memory
packets
bit
buffer memory
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
DE69517240T
Other languages
English (en)
Other versions
DE69517240D1 (de
Inventor
Kevin Elliot Bridgewater
Michael Scott Deiss
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.)
Thomson Licensing SAS
Original Assignee
Thomson Consumer Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26926333&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69517240(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US08/232,787 external-priority patent/US5475754A/en
Priority claimed from US08/232,789 external-priority patent/US5521979A/en
Application filed by Thomson Consumer Electronics Inc filed Critical Thomson Consumer Electronics Inc
Publication of DE69517240D1 publication Critical patent/DE69517240D1/de
Application granted granted Critical
Publication of DE69517240T2 publication Critical patent/DE69517240T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Vorrichtung zum Verarbeiten von Paketen von Daten für Programmkomponenten aus einem Paket-Videosignal und zum Extrahieren entsprechender Nutzsignale aus verschiedenen Programm- Signalkomponenten. Die Erfindung umfaßt eine Vorrichtung zum Adressieren eines Übertragungs-Pufferspeichers und das Konzept der Anwendung eines gemeinsamen Übertragungs-Pufferspeichers.
  • HINTERGRUND DER ERFINDUNG
  • Es ist bekannt, zum Beispiel aus dem US-Patent mit der Nummer US-A-5 168 356 und aus dem US-Patent mit der Nummer US-A-5 289 276, daß es vorteilhaft ist, ein komprimiertes Videosignal in Paketen zu übertragen, wobei jeweilige Pakete ein Maß an Fehlerschütz/Fehlerkorrektur bieten. Die Systeme in den obigen Patentschriften übertragen und verarbeiten ein einziges Fernsehprogramm, wenngleich mit mehreren Programmkomponenten, von jeweiligen Übertragungskanälen. Diese Systeme verwenden Prozessoren für eine inverse Übertragung, um die Videosignalkomponente der jeweiligen Programme für eine weitere Verarbeitung zu extrahieren und die Videokomponente für eine Wiedergabe aufzuarbeiten. Die US-A- 5 289 276 beschreibt nur die Verarbeitung der Videosignal-Komponente. Die US-A-5 168 356 beschreibt einen Prozessor für eine inverse Übertragung, der andere Programmkomponenten mit einem einfachen Demultiplexer trennt, der auf sogenannte Paket-Header-Daten anspricht und die jeweiligen Signalkomponenten unterscheidet. Die abgetrennte Videokomponente wird einem Pufferspeicher zugeführt, während die übrigen Signalkomponenten direkt ihrer jeweiligen Verarbeitungsschaltung zugeführt werden.
  • Aus dem US-Patent US-A-5 233 654 ist es bekannt, daß mit den Fernsehsignalen ein Kode übertragen werden kann, um eine interaktive Programmierung durchzuführen. Dieser Kode wird im allgemeinen in einem einem Fernsehempfänger zugeordneten Computer verarbeitet oder durchgeführt. Aus der WO 94/14284 ist es außerdem bekannt, die verschiedenen Speicheraufbauten mit unterschiedlicher Zeitdauer zum Unterscheiden von Fernsehprogramm-Informationen zu verwenden.
  • Bei Anwendungen, wo die meisten Programmkomponenten komprimiert sind, wird eine gewisse Pufferung zwischen dem Übertragungskanal und dem größten Teil der Vorrichtung für die jeweilige Komponentenverarbeitung (Dekomprimierung) benötigt. Daher ist es erwünscht, die meisten, wenn nicht alle Bauteile mit dem Pufferspeicher zu verbinden. Die Datenraten von verschiedenen Programmkomponenten können zwischen den jeweiligen Komponenten, ebenso innerhalb jeweiliger Komponenten, sehr unterschiedlich sein. Daher ist es vorteilhaft, jede Komponente getrennt zu puffern. Ein Pufferspeicher zur Pufferung der Daten für die komprimierte Programmkomponente und zur Verarbeitung von interaktiven Programmen im allgemeinen ist nicht unbedeutend. In der Praxis kann dieser nennenswert zu den Kosten eines Empfängersystems beitragen.
  • Wenn der Prozessor für die inverse Übertragung zum Beispiel in einem Zusatzempfangsgerät, einer sogenannten "set top box", liegt, sollten die Speichergröße und die Verarbeitungsschaltung auf einem Minimum gehalten werden, um die Verbraucherkosten so niedrig wie möglich zu halten. Daher ist es wirtschaftlich erwünscht, denselben Speicher und dieselbe Speicher- Verwaltungsschaltung für die Pufferung der Programmkomponente, die Unterbringung des Prozessors und die interaktiven Funktionen zu verwenden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ist ein Prozessorsystem für eine inverse Übertragung für einen TDM-Paketsignal-Empfänger. Das System enthält eine Vorrichtung zum selektiven Extrahieren gewünschter Nutzsignale aus Daten für Programmkomponenten und zum Zuführen dieser Daten zu einem gemeinsamen Pufferspeicher-Dateneingangsanschluß. Ein Mikroprozessor erzeugt Daten, die auch dem gemeinsamen Pufferspeicher-Dateneingangsanschluß zugeführt werden. Die jeweiligen Nutzsignal- und Datenkomponente, die durch den Mikroprozessor erzeugt wird, wird in jeweiligen Blöcken des gemeinsamen Pufferspeichers durch zugeordnete Speicheradressen gespeichert, die über einen Adressenmultiplexer einem Speicheradressen-Eingangsanschluß zugeführt werden.
  • Bei einer besonderen Ausführungsform werden die Nutzsignale der Programmkomponentenpaketen von jeweiligen Programmkomponenten zu einem Speicher-Dateneingangsanschluß gemultiplext und dafür bestimmt, Bereiche eines Speichers mit Zufallszugriff (RAM = Random Access Memory) entsprechend mehreren Start- und Endzeigern auszuwählen. Der Start- und der Endzeiger werden in einer ersten Mehrzahl von Registern gespeichert, eines für jede Programmkomponente. Adressen werden teilweise durch mehrere Lesespeicherregister erzeugt, die mit einer Addierstufe gemultiplext sind und nacheinander die Zeiger für die jeweiligen Programmkomponenten inkrementieren. Die Startzeiger sind Lesezeigern für die Speicheradressen zugeordnet, die durch die zugeordneten Speicherblöcke laufen, die selektiv jeweiligen Programmkomponenten zugeordnet sind.
  • Bei einer weiteren Ausführungsform ist eine Entschlüsselungseinheit vorgesehen, um Nutzdaten entsprechend den speziellen Verschlüsselungskodes für das Paket zu entschlüsseln.
  • Bei einer weiteren Ausführungsform ist ein Detektor vorgesehen, um Berechtigungsdaten enthaltende Nutzdaten zu ermitteln. Berechtigungsdaten enthaltende Nutzdaten werden über einen gemeinsamen Pufferspeicher einer sogenannten Smart Card zugeführt, die die für das Paket speziellen Entschlüsselungskodes erzeugt.
  • Ein Datenausgang von dem Speicher ist mit einem Bus verbunden, der mit den jeweiligen Programmkomponenten-Prozessoren verbunden ist. Entsprechend Datenanforderungen von den jeweiligen Programmkomponenten-Prozessoren und den Anforderungen für das Schreiben von Daten von der Komponenten-Quelle wird der Speicherzugriff für die Lese- und Schreibfunktionen so entschieden, daß keine ankommenden Programmdaten verlorengehen und alle Komponenten-Prozessoren bedient werden.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Die Erfindung wird im folgenden anhand der Zeichnung beschrieben. Darin zeigen:
  • Fig. 1 eine bildliche Darstellung eines Paket-Fernsehsignals mit Zeitmultiplex,
  • Fig. 2 eine bildliche Darstellung der jeweiligen Signalpakete,
  • Fig. 3 ein Blockschaltbild eines Empfängers zur Auswahl und Verarbeitung von Paketen von gemultiplexten Komponentensignalen mit der vorliegenden Erfindung,
  • Fig. 4 ein Blockschaltbild einer beispielhaften Schaltung für eine Speicheranordnung, die zur Ausführung des Teils 17 von Fig. 3 angewendet werden kann,
  • Fig. 5 eine bildliche Darstellung für die Speicher-Adresseninformationen für Service-Kanaldaten,
  • Fig. 6 eine bildliche Darstellung von Speicher-Adresseninformationen für zusätzliche Paketdaten,
  • Fig. 7 ein Blockschaltbild einer beispielhaften Schaltung für die Erzeugung von Speicheradressen für die zusätzlichen Pakete,
  • Fig. 8 ein Blockschaltbild einer alternativen Registerschaltung für die Inkrementierung der Speicheradressen,
  • Fig. 9 ein Flußdiagramm für die Wirkungsweise der Steuerung der Speicheradressen und
  • Fig. 10 ein Blockschaltbild eines fakultativen Kodedetektors für den Filter/Start- Zugriff.
  • DETAILLIERTE BESCHREIBUNG
  • Fig. 1 zeigt einen Signalstrom aus einer Reihe von Kästen, die Signalpakete darstellen, die Komponenten von mehreren verschiedenen Fernseh- oder interaktiven Fernsehprogrammen sind. Es wird angenommen, daß diese Programmkomponenten in Form von komprimierten Daten ausgebildet sind und somit die Menge an Videodaten für die jeweiligen Bilder unterschiedlich ist. Die Pakete haben eine feste Länge. Pakete mit Buchstaben mit demselben Index bezeichnen Komponenten eines einzelnen Programms. Zum Beispiel stellen Vi, Ai, Di Video-, Audio- und Daten-Pakete dar. Mit V&sub1;, A&sub1;, D&sub1; bezeichnete Pakete bezeichnen Video-, Audio- und Daten-Komponenten für das Programm 1, und V&sub3;, A&sub3;&sub1;, A&sub3;&sub2;, D&sub3; bezeichnen Video-, Audio 1, Audio 2 und Datenkomponenten des Programms 3. Die Datenpakete D&sub1; können zum Beispiel Steuerdaten zur Auslösung eines bestimmten Vorgangs in einem Empfänger enthalten. Sie können auch einen durchführbaren Kode für eine Anwendung enthalten, die zum Beispiel durch einen Mikroprozessor durchgeführt wird, der in einem Empfänger angeordnet oder diesem zugeordnet ist.
  • In der oberen Zeile der Reihe von Paketen sind die jeweiligen Komponenten eines bestimmten Programms in Gruppen zusammengefaßt dargestellt. Es besteht jedoch keine Notwendigkeit, daß Pakete von demselben Programm so gruppiert sind, wie es durch die Gesamtreihe von Paketen dargestellt ist. Es gibt auch keine besondere Reihenfolge für die Folge in dem Auftreten der jeweiligen Komponenten.
  • Die jeweiligen Pakete enthalten ein sogenanntes Präfix (Vorwort) und ein Nutzsignal, wie es in Fig. 2 dargestellt ist. Das Präfix dieses Beispiels enthält Bytes mit 8 Bit mit fünf Feldern, von denen vier (P, BB, CF, CS) Felder mit 1 Bit sind und von denen eins (SCID) ein Feld mit 12 Bit ist. Das Feld SCID ist der Identifizierer für die Signalkomponente. Das Feld CF enthält eine Markierung zur Anzeige, ob das Nutzsignal des Pakets verschlüsselt oder verwürfelt ist, und das Feld CS enthält eine Markierung für eine Anzeige, welcher von zwei alternativen Entwürfelungskodes für die Entwürfelung der verwürfelten Pakete anzuwenden ist. Das Präfix jedes Paketes ist Paket-ausgerichtet, und somit ist die Lage der jeweiligen Felder leicht erkennbar.
  • Innerhalb jedes Nutzsignals gibt es einen sogenannten Header, der einen Kontinuitätszählwert CC (continuity count), Modulo 16, und ein sogenanntes TOGGLE-Markierungsbit enthält, die für die Programmkomponente spezifisch sind. Der Kontinuitätszählwert ist einfach eine fortlaufende Numerierung von aufeinanderfolgenden Paketen derselben Programmkomponente. Das TOGGLE- Markierungsbit ist ein Signal mit einem Bit, das für die Videokomponente in den Paketen den logischen Wert ständig ändert oder "toggelt" und dadurch den Beginn eines neuen Bildes (Vollbildes) bestimmt, das heißt Pakete, die einen Bildschicht- Header enthalten.
  • Fig. 3 zeigt in Blockform einen Teil eines Empfängers für ein digitales Fernsehsignal mit Bauteilen eines Prozessors für eine inverse Übertragung. Das Signal wird durch eine Antenne 10 erfaßt und einem Tuner/Detektor 11 zugeführt, der ein bestimmtes Frequenzband der empfangenen Signale extrahiert und ein komprimiertes Basisbandsignal in einem binären Format liefert. Das Frequenzband wird von dem Benutzer über einen Mikroprozessor 19 durch bekannte Verfahren ausgewählt. Normalerweise sind digitale Rundfunksignale fehlerkodiert, indem sie zum Beispiel eine sogenannte Reed-Solomon Vorwärts-Fehlerkorrektur (FEC = forward error correcting)-Kodierung anwenden. Die Basisbandsignale werden somit einem FEC-Dekoder 12 zugeführt. Der FEC-Dekoder 12 synchronisiert das empfangene Videosignal und liefert einen Strom von Signalpaketen von dem in Fig. 1 dargestellten Typ. Der FEC 12 kann Pakete in regelmäßigen Abständen oder auf Anforderung, zum Beispiel durch eine Speicher-Steuereinheit 17, liefern. In jedem Fall wird durch die FEC-Schaltung ein ein Paket rahmendes Signal oder ein Synchronisiersignal geliefert, das die Zeiten anzeigt, bei denen jeweilige Paketinformationen von dem FEC 12 übertragen werden.
  • Das detektierte Frequenzband kann mehrere Programme im Zeitmultiplex in Paketform enthalten. Es ist nützlich, wenn nur Pakete von einem einzigen Programm zu den weiteren Schaltungsbauteilen übertragen werden. In diesem Beispiel wird angenommen, daß der Benutzer keine Kenntnis darüber hat, welche Pakete auszuwählen sind. Diese Informationen sind in einem Programmführer enthalten, der in sich ein Programm mit Daten ist, die über die SCID's Programmsignal- Komponenten zueinander in Beziehung bringen und Informationen enthalten können, die sich zum Beispiel auf Abonnenten-Berechtigungen beziehen. Der Programmführer ist eine Auflistung für jedes Programm der SCID's für die Audio-, Video-, und Daten-Komponente der jeweiligen Programme. Der Programmführer (Pakete D4 in Fig. 1) ist einem festen SCID zugeordnet. Wenn Betriebsspannung an den Empfänger angelegt wird, wird der Mikroprozessor 19 so programmiert, daß er die zu dem Programmführer gehörende SCID in eines einer Reihe von ähnlich programmierbaren SCID-Registern 13 lädt. Die SCID-Felder des Präfixteils der jeweiligen detektierten Pakete des Signals von dem FEC 12 werden nacheinander in ein weiteres SCID-Register 14 geladen. Die programmierbaren Register und die empfangenen SCID-Register sind mit jeweiligen Eingangsanschlüssen einer Komparatorschaltung 15 verbunden, und das empfangene SCID wird mit dem Programmführer-SCID verglichen. Wenn das SCID für ein Paket mit den Programmführer-SCID übereinstimmt, beeinflußt der Komparator 15 eine Speicher- Steuereinheit 17 so, daß das Paket zu einer vorbestimmten Stelle in dem Speicher 18 für eine Anwendung durch den Mikroprozessor geführt wird. Wenn das empfangene SCID nicht mit dem Programmführer-SCID übereinstimmt, wird das entsprechende Paket einfach weggelassen oder verworfen.
  • Der Mikroprozessor wartet auf einen Programmierbefehl von dem Benutzer über eine Schnittstelle 20, die als eine Computer-Tastatur dargestellt ist, die jedoch eine bekannte Fernbedieneinheit oder durch Schalter an der Vorderseite des Empfängers gebildet sein kann. Der Benutzer kann fordern, ein auf Kanal 4 (in der Ausdrucksweise von analogen Fernsehsystemen) geliefertes Programm zu betrachten. Der Mikroprozessor 19 ist so programmiert, daß er die Programmführerliste abtastet, die in dem Speicher 18 für die jeweiligen SCID's der Programmkomponenten des Kanals 4 geladen wurden, und diese SCID'S in jeweiligen anderen der programmierbaren Register der Reihe von Registern 13 lädt, die zu entsprechenden Verarbeitungswegen für das Komponentensignal gehören.
  • Empfangene Pakete von Audio-, Video- oder Daten-Programmkomponenten für ein gewünschtes Programm müssen letztlich jeweiligen Audio 23, Video 23 bzw. Zusatzdaten 21, (24)-Signalprozessoren zugeführt werden. Die Daten werden mit einer relativ konstanten Rate empfangen, die Signalprozessoren benötigen jedoch normalerweise Eingangsdaten in Form von Paketen oder sogenannten Bursts (zum Beispiel entsprechend den jeweiligen Typen von Dekomprimiervorgängen). Das beispielhafte System von Fig. 3 leitet die jeweiligen Pakete zu vorbestimmten Speicherplätzen in dem Speicher 18. Danach fordern die jeweiligen Prozessoren 21- 24 die Komponentenpakte von dem Speicher 18 an. Der Verlauf der Komponenten durch den Speicher bildet ein Maß einer gewünschten Pufferung der Signal- Datenrate oder eine sogenannte Drosselung (throttling).
  • Die Audio-, Video- und Daten-Pakete werden in jeweilige vorbestimmte Speicherplätze geladen, damit die Signalprozessoren einen bequemen, gepufferten Zugang zu den Komponentendaten erhalten. Damit die Nutzdaten der jeweiligen Komponentenpakete in den geeigneten Speicherbereichen geladen werden, sind die jeweiligen SCID-Komparatoren diesen Speicherbereichen zugeordnet. Diese Zuordnung kann in der Speicher-Steuereinheit 17 fest verdrahtet sein, oder die Zuordnung kann auch programmierbar sein. Im ersteren Fall sind den einzelnen programmierbaren Registern 13 immer die Audio-, Video- bzw. Daten-SCID's zugeordnet. Im letzteren Fall können die Audio-, Video- und Daten-SCID's in eines der programmierbaren Register 13 geladen werden, und die geeignete Zuordnung wird in der Speicher-Steuereinheit 17 programmiert, wenn die jeweiligen SCID's in die programmierbaren Register geladen werden.
  • Im stationären Zustand, nachdem die Programm-SCID's in den programmierbaren Registern 13 gespeichert worden sind, werden die SCID's der empfangenen Signalpakete mit allen SCID's in den programmierbaren SCID-Registern verglichen. Wenn eine Übereinstimmung mit einem Audio-, Video- oder Daten-SCID erfolgt, wird das entsprechende Paket-Nutzsignal in dem Audio-, Video- oder Daten- Speicherbereich bzw. Block gespeichert.
  • Die jeweiligen Signalpakete werden über einen Signal-Entschlüsseler 16 von dem FEC 12 der Speicher-Steuereinheit 17 zugeführt. Es werden nur die Nutzsignale verschlüsselt oder verwürfelt, und die Paket-Header werden unverändert über den Entschlüsseler übertragen. Ob ein Paket entwürfelt werden muß oder nicht, wird durch die CF-Markierung in dem Paket-Präfix bestimmt, und wie es entwürfelt werden muß, wird durch die CS-Markierung bestimmt. Wenn keine SCID- Übereinstimmung für ein bestimmtes Paket besteht, kann der Entschlüsseler einfach dafür gesperrt werden, überhaupt Daten durchzulassen. Wenn alternativ keine SCID- Übereinstimmung mit einem Paket besteht, kann der Entschlüsseler entsprechend seiner letzten Einstellung die Entschlüsselung durchführen, und die Schreibsteuerung für den Speicher kann gesperrt werden, um das jeweilige Paket wegzulassen oder zu verwerfen.
  • Der Entschlüsseler wird mit Entschlüsselungskodes programmiert, die durch die Smart Card-Vorrichtung 31 geliefert werden. Die Smart Card reagiert auf Berechtigungsinformationen, die in bestimmten Paketen des Programmführers enthalten sind, und erzeugt geeignete Entschlüsselungs-Kodes. Das System gemäß dem vorliegendem Beispiel enthält zwei Werte für die Verschlüsselung oder den Programmzugriff, Steuernachrichten für die Berechtigung, ECM's, und Nachrichten für die Berechtigungsverwaltung, EMM's. Die Informationen für die Steuerung der Programmberechtigung und der Verwaltung werden regelmäßig in Paketen übertragen, die mit speziellen SCID's identifizierbar sind, die in dem den Programmführer enthaltenden Paketstrom enthalten sind. Die in diesen Paketen enthaltenen ECM-Informationen werden von der Smart Card dafür verwendet, die von dem Entschlüsseler verwendeten Entschlüsselungs-Kodes zu erzeugen. Die in diesen Paketen enthaltenen EMM-Informationen werden von der speziellen Smart Card des Abonnenten dafür benutzt, das Programmaterial zu bestimmen, für das der Abonnent berechtigt ist. Die EMM-Berechtigungsinformationen in diesen Paketen können geographisch-spezifisch oder Gruppen-spezifisch oder Abonnentenspezifisch ausgebildet sein. Zum Beispiel würde das vorliegende System ein (nicht dargestelltes) Modem für den Austausch von Berechtigungsinformationen von der Smart Card zu dem Programmanbieter, zum Beispiel den Satellitensender, enthalten. Die Smart Card kann zum Beispiel mit dem Bereichskode und der Fernsprechzentrale der Empfängerstelle programmiert werden. Die EMM kann Daten enthalten, die bei einer Verarbeitung durch die Smart Card den Empfang bestimmter. Programme in bestimmten Bereichskodes freigeben oder sperren.
  • Der Programmanbieter kann sich die Möglichkeit wünschen, bestimmte Bereiche oder Gruppen mit einer sehr kurzen Vorlaufzeit auszublenden. Zum Beispiel kann eine Sendeanstalt gezwungen sein, ein Fußballspiel in dem örtlichen Bereich des Stadions auszublenden, wenn die Eintrittskarten für das Spiel noch nicht ausverkauft sind. Diese Informationen sind nur bis unmittelbar vor der Spielzeit verfügbar. Bei einer derart kurzen Vorlaufzeit könnte es unmöglich sein, die EMM's so zu programmieren, daß der örtliche Bereich ausgetastet wird. Eine weitere Kodierung der Berechtigungsinformationen ist in den Nutzdaten der Berechtigungsdaten enthalten, um eine sofortige Austastung zu ermöglichen.
  • Berechtigungsdaten enthaltende Pakete enthalten einen Nutzdaten-Header mit 128 Bit, angeordnet in speziell kodierten vier Gruppen von 32 Bit. Ein signalangepaßtes Filter oder E-Kode-Dekoder 30 detektiert bestimmte Kombinationen von Bitmustern in dem Header mit 128 Bit. Wenn eine Übereinstimmung festgestellt wird, kommuniziert der Dekoder mit der Speicher-Steuereinheit 17 und der Smart Card 31, um den übrigen Teil der Berechtigungs-Nutzdaten für die Smart Card (über den Speicher 18) verfügbar zu machen. Wenn keine Übereinstimmung festgestellt wird, werden die Nutzdaten von dem speziellen Empfänger nicht angenommen. Die speziellen Kodes können periodisch geändert werden, wenn das signalangepaßte Filter 30 programmierbar ausgebildet ist. Diese Kodes können periodisch von der Smart Card geliefert werden. Für nähere Einzelheiten für die Wirkungsweise der Smart Card bezüglich der Berechtigungen des Betrachters wird der Leser verwiesen auf die Section 25 of THE SATELLITE BOOK, A COMPLETE GUIDE TO SATELLITE TV THEORY AND PRACTICE, Swift Television Publications, 17 Pittsfield, Cricklade, Wilts, England.
  • Das signalangepaßte Filter oder der E-Kode-Dekoder erfüllen eine zweite Funktion. Diese besteht in der Ermittlung bestimmter MPEG-Video-Header. Diese Header oder Startkodes haben eine Länge von 32 Bit (das ist der Grund, warum Header der Berechtigungs-Nutzdaten in Gruppen von 32 Bit kodiert sind). Wenn Videodaten verlorengegangen sind, kann ein MPEG-Video-Dekoder mit der Dekomprimierung von Videodaten nur an bestimmten Daten-Eingangsstellen neu beginnen. Diese Eintrittstellen fallen zeitlich mit den MPEG-Startkodes zusammen. Der Dekoder kann mit der Speicher-Steuereinheit 17 kommunizieren, um den Fluß von Videodaten zu dem Speicher nach einem Verlust eines Videopaketes zu sperren, und das Schreiben von Video-Nutzdaten in den Speicher nur wiederaufnehmen, nachdem der nächste MPEG-Startkode durch den Dekoder 30 ermittelt worden ist.
  • Fig. 4 zeigt eine beispielhafte Vorrichtung für die in Fig. 3 dargestellte Speicher- Steuereinheit 17. Jede Programmkomponente wird in einem anderen benachbarten Block des Speichers 18 gespeichert. Zusätzlich können andere Daten, wie zum Beispiel durch den Mikroprozessor 19 oder eine (nicht dargestellte) Smart Card erzeugte Daten, in dem Speicher 18 gespeichert werden.
  • Adressen werden über einen Multiplexer 105 dem Speicher 18 zugeführt, und Eingangsdaten werden über einen Multiplexer 99 dem Speicher 18 zugeführt. Ausgangsdaten von der Speicher-Verwaltungsschaltung werden über einen weiteren Multiplexer 104 den Signalprozessoren zugeführt. Die durch den Multiplexer 104 gelieferten Ausgangsdaten werden von dem Mikroprozessor 19, dem Speicher 18 oder direkt von dem Multiplexer 99 abgeleitet. Es wird angenommen, daß die Programmdaten eine Standard-Bildauflösung und Bildqualität aufweisen und mit einer bestimmten Datenrate auftreten. Andererseits erscheinen hochauflösende Fernsehsignale, HDTV, die durch diesen Empfänger geliefert werden können, mit einer nennenswert höheren Datenrate. Praktisch werden alle durch den FEC gelieferten Daten durch den Multiplexer 99 und die Speicher I/O-Schaltung 102 durch den Speicher 18 geführt, ausgenommen die HDTV-Signale mit höherer Datenrate, die direkt von dem Multiplexer 99 zu dem Multiplexer 104 geführt werden können. Daten werden zu dem Multiplexer 99 von dem Entschlüsseler 16, der Smart Card- Schaltung, dem Mikroprozessor 19 und einer Quelle von Übertragungs-Fehlerkodes 100 zugeführt. Der hier verwendete Ausdruck "Übertragungs-Fehlerkodes" bedeutet spezielle Kodewörter, die in einen Datenstrom eingefügt werden, damit der jeweilige Signalprozessor (Dekomprimierer) die Verarbeitung bis zu der Ermittlung eines vorbestimmten Kodewortes aussetzt, wie zum Beispiel einem Startkode, und dann die Verarbeitung zum Beispiel entsprechend dem Startkode wieder aufnimmt.
  • Speicheradressen werden dem Multiplexer 105 von der Programm- Adressierschaltung 79-97, von dem Mikroprozessor 19, von der Smart Card- Vorrichtung 31 und von dem Zähler 78 für die zusätzlichen Paketadressen zugeführt. Die Auswahl der jeweiligen Adresse bei einer bestimmten Zeitperiode wird durch eine sogenannte DMA (direct memory access)-Schaltung 98 gesteuert. Die SCID- Steuersignale von dem Komparator 15 und "für Daten benötigte" Signale von den jeweiligen Signalprozessoren werden der DMA 98 zugeführt, und daraufhin wird eine Unstimmigkeit in dem Speicherzugriff geschlichtet. Die DMA 98 arbeitet mit einem sogenanntem Service Pointer Controller (Service-Zeiger-Steuereinheit) 93 zusammen, um die geeigneten Lese- oder Schreibadressen für die jeweiligen Programm-Signalkomponenten zu liefern.
  • Die jeweiligen Adressen für die verschiedenen Signalkomponenten-Speicherblöcke werden durch vier Gruppen von Programmkomponenten- oder Service-Zeiger- Registern 83, 87, 88 und 92 erzeugt. Die Startzeiger für die jeweiligen Blöcke des Speichers, in dem jeweilige Signalkomponenten gespeichert werden, sind für die jeweiligen Signalkomponenten in den Registern 87 enthalten. Die Startzeiger können feste Werte sein, oder sie können durch bekannte Speicher-Verwaltungsverfahren in dem Mikroprozessor 19 berechnet werden.
  • Die letzten Adressenzeiger für die jeweiligen Blöcke werden in der Reihe von Serviceregistern 88 gespeichert, jeweils eines für jede denkbare Programmkomponente. Ähnlich zu den Startadressen können die Endadressen feste Werte oder durch den Mikroprozessor 19 gelieferte berechnete Werte sein. Die Anwendung von berechneten Werten für die Start- und Endzeiger wird bevorzugt, weil sie ein vielseitigeres System mit weniger Speichern bildet.
  • Die Speicher-Schreibzeiger oder die Kopfzeiger werden durch die Addierstufe 80 und die Service-Kopfregister 83 erzeugt. Es besteht ein Service-Kopfregister für jede denkbare Programmkomponente. Ein Schreib- oder Kopf-Zeigerwert wird in einem Register 83 gespeichert und während einer Speicher-Schreibperiode dem Adressen- Multiplexer 105 zugeführt. Der Kopfzeiger wird ebenfalls der Addierstufe 80 zugeführt, wo er um eine Einheit inkrementiert wird, und der inkrementierte Zeiger wird in dem geeigneten Register 83 für die nächste Schreibperiode gespeichert. Die Register 83 werden durch die Service-Zeiger-Steuereinheit 93 für die geeignete, derzeit bediente Programmkomponente ausgewählt.
  • In diesem Beispiel wird angenommen, daß die Start- und Endzeiger Zeiger mit 16 Bit sind. Die Register 83 liefern Schreib- oder Kopf-Zeiger mit 16 Bit. Zeiger mit 16 Bit wurden gewählt, um die Anwendung von Bussen mit 16 Bit oder 8 Bit für das Laden der Start- und End-Zeiger in den Registern 87 und 88 zu erleichtern. Der Speicher 18 hat andererseits Adressen mit 18 Bit. Die Schreibadressen mit 18 Bit werden durch Verknüpfung der beiden höchstwertigen Bit der Startzeiger mit den Kopfzeigern mit 16 Bit gebildet, mit den Startzeiger-Bit an den höchstwertigen Bitstellen der kombinierten Schreibadressen mit 18 Bit. Die Startzeiger werden durch die jeweiligen Register 87 an die Service-Zeiger-Steuereinheit 93 geliefert. Die Service-Zeiger- Steuereinheit analysiert die höherwertigen Startzeiger-Bit von den in den Registern 87 gespeicherten Startzeigern und ordnet diese Bit dem Kopfzeigerbus mit 16 Bit zu. Das ist durch den Bus 96, der mit dem Kopfzeiger kombiniert gezeigt ist, der den Multiplexer 85 ausgibt, und durch Fig. 5 mit Bezug auf die fettgedruckten Pfeife dargestellt.
  • In Fig. 5 stellen die obere, mittlere und untere Reihe der Kästen die Bit eines Startzeigers, einer Adresse bzw. Kopf- oder End-Zeigers dar. Die höher bezifferten Kästen stellen höherwertige Bitstellen dar. Die Pfeile zeigen, von welchen Bitstellen die Start- oder Kopf/Abschluß (tail)-Zeiger die jeweiligen Bit der Adressen abgeleitet werden. In dieser Ableitung stellen die fettschwarzen Pfeile den eingeschwungenen, stationären Zustand dar.
  • Auf ähnliche Weise werden durch die Addierstufe 79 und die Service-Abschluß (tail)- Register 92 Speicher-Kopfzeiger oder Abschluß-Zeiger erzeugt. Es besteht ein Service- Abschluß-Register für jede potentielle Programmkomponente. Ein Wert für einen Lese- oder Abschluß-Zeiger wird in einem Register 92 gespeichert und während einer Speicher-Leseperiode dem Adressen-Multiplexer 105 zugeführt. Der Abschluß-Zeiger wird außerdem der Addierstufe 79 zugeführt, worin er um eine Einheit inkrementiert wird, und der inkrementierte Zeiger wird für die nächste Leseperiode in dem geeigneten Register 92 gespeichert. Die Register 92 werden durch die Service-Zeiger-Steuereinheit 93 für die geeignete, derzeit bediente Programmkomponente ausgewählt.
  • Die Register 92 liefern Abschluß-Zeiger mit 16 Bit. Leseadressen mit 18 Bit werden durch Verknüpfung der zwei höchstwertigen Bit der Startzeiger mit den Abschluß- Zeigern mit 16 Bit gebildet, mit den Bit der Startzeiger an den höchstwertigen Bitstellen der kombinierten Schreibadresse mit 18 Bit. Die Service-Zeiger- Steuereinheit trennt die höherwertigen Bit des Startzeigers von den in den Registern 87 gespeicherten Startzeigern und ordnet diese Bit dem Endzeigerbus mit 16 Bit zu. Das ist durch den Bus 94 dargestellt, der kombiniert mit dem Abschlußzeiger-Bus gezeigt ist, der den Multiplexer 90 ausgibt.
  • Die Daten werden in dem Speicher 18 bei der berechneten Adresse gespeichert. Nach dem Speichern eines Byte von Daten wird der Kopfzeiger um eins inkrementiert und mit dem Endzeiger für diese Programmkomponente verglichen. Wenn sie gleich sind, werden die höherwertigen Bit des Kopfzeigers durch die niederwertigeren 14 Bit des Startzeigers ersetzt, und Nullen werden in den beiden niederwertigeren Bitstellen des Kopfzeigerteils der Adresse eingesetzt. Das ist in Fig. 5 durch die schraffierten Pfeile zwischen den Startzeigern und der Adresse dargestellt. Dieser Vorgang ist durch den Pfeil 97 dargestellt, der von der Service- Zeiger-Steuereinheit 93 zu dem Head-Zeiger-Bus von dem Multiplexer 85 zeigt. Es wird angenommen, daß die Anwendung der niederwertigeren 14 Bit des Startzeigers gegenüber dem Bit des Kopfzeigers vorrangig sind. Der Ersatz der Bit des Kopfzeigers durch die niederwertigeren Bit des Startzeigers in der Adresse für diese eine Schreibperiode bewirkt, daß der Speicher durch den Speicherblock läuft, der durch die beiden oberen Bit des Startzeigers bestimmt ist und so die Neuprogrammierung der Schreibadressen am Start jedes Paketes auf eine einzige Speicherstelle innerhalb eines Blockes vermeidet.
  • Wenn der Kopfzeiger immer gleich dem Endzeiger ist (wird benutzt für die Anzeige, wo Daten aus dem Speicher 18 zu lesen sind), wird ein Signal zu dem Unterbrechungsbereich des Mikroprozessors gesendet, um anzuzeigen, daß eine Zerstörung eines Kopfabschlusses stattgefunden hat. Ein weiteres Schreiben in den Speicher 18 von diesem Programmkanal wird gesperrt, bis der Mikroprozessor den Kanal wieder freigibt. Dieser Fall ist sehr selten und sollte im Normalbetrieb nicht auftreten.
  • Daten werden von dem Speicher 18 auf Anforderung durch die jeweiligen Signalprozessoren abgerufen, und zwar bei Adressen, die durch die Addierstufe 79 und die Register 92 berechnet werden. Nach dem Lesen eines Byte an gespeicherten Daten wird der Abschlußzeiger um eine Einheit inkrementiert und mit dem Endzeiger für diesen logischen Kanal in der Service-Zeiger-Steuereinheit 93 verglichen. Wenn der Abschlußzeiger und der Endzeiger gleich sind, werden die höherwertigen Bit des Abschlußzeigers durch die niederwertigeren 14 Bit des Startzeigers ersetzt, und Nullen werden an die Stellen des Abschlußzeigerteils der Adressen mit den niederwertigeren beiden Bit gesetzt. Das ist durch den Pfeil 95 dargestellt, der von der Steuereinheit 93 ausgeht und zu dem Abschlußzeiger-Bus von dem Multiplexer 90 zeigt. Wenn nun der Abschlußzeiger gleich dem Kopfzeiger ist, dann wird der jeweilige Speicherblock als leer definiert, und es werden keine weiteren Bytes zu dem zugehörigen Signalprozessor gesendet, bis mehr Daten von der FEC für diesen Programmkanal empfangen werden. Der tatsächliche Ersatz der Kopf- oder Abschlußzeiger-Teile der jeweiligen Schreib- oder Leseadresse durch die niederwertigeren 14 Bit des Startzeigers kann durch geeignetes Multiplexing oder die Anwendung von drei verbundenen Zuständen erfolgen.
  • Die in zusätzlichen Paketen übertragenen Daten sind im allgemeinen Verzeichnis-, Header- oder Steuerinformationen und werden somit etwas anders verarbeitet als die Daten für die Programmkomponente. Die Daten in den zusätzlichen Paketen enthalten Informationen, die notwendig sind, um die benötigten Speicherbereiche für die jeweiligen Programmkomponenten zu bilden, und jegliche eingeschlossene Anwendungen. Insofern wird den zusätzlichen Paketen die Priorität eingeräumt. Für jede Komponente sind zwei Service-Blöcke vorgesehen. Jeder Block enthält eine Adresse mit 8 Bit sequentiell oder Speicherplätze für 256 Bytes an Daten. Jeder Block hat eine Gesamtadresse mit 18 Bit, die in Fig. 6 dargestellt ist. Die acht LSB's der Adresse werden durch einen sequentiellen Zähler geliefert. Das neunte Bit wird durch das CS oder das Verwürfelungskodebit von dem Transport-Präfix geliefert. Das zehnte bis zwölfte Bit werden aufgrund der besonderen SCID's erzeugt, die der Programmermittlung zugeordnet sind. In diesem Beispiel wird angenommen, daß das System für die Verarbeitung und die Ermittlung von fünf Programmkomponenten (einschließlich Programmführer) oder Servicezwecke vorgesehen ist. Es gibt somit fünf SCID's, die in den jeweiligen programmierbaren SCID-Registern 13 programmiert sind, und fünf SCID-Komparatoren 15. Die fünf Komparatoren haben je eine Ausgangsklemme, die einer Programmkomponente zugeordnet ist. Den fünf möglichen Programmen, die zu den Ausgangsklemmen der fünf Komparatoren gehören, sind jeweils Kodes mit drei Bit zugeordnet. Drei Bit sind die niedrigste Zahl an Bit, die fünf Zustände darstellen kann. Die Kodes mit drei Bit werden als das zehnte bis zwölfte Bit der Adressen des zusätzlichen Paketes eingefügt. Es wird angenommen, daß SCID's für fünf jeweilige Programmkomponenten den willkürlich mit 1-5 bezifferten, programmierbaren Registern zugeordnet sind. Die Kodes mit drei Bit, die den den programmierbaren Registern 1-5 zugeordneten Komponenten zugeordnet sind, sind 000, 001, 010, 011 bzw. 100. Abhängig davon, welche Programmkomponente gerade detektiert wird, wird der Kode mit drei Bit, der dem programmierbaren Register zugeordnet ist, das die laufende Programmkomponente SCID enthält, in die zehnte bis zwölfte Bitstelle in der Speicher-Schreibadresse eingefügt.
  • Die sechs höchstwertigen Bit der zusätzlichen Adressen mit 18 Bit werden gemäß bekannten Speicher-Verwaltungslösungen durch den Mikroprozessor geliefert.
  • Fig. 7 zeigt eine beispielhafte, Schaltung zum Erzeugen der zusätzlichen Speicherdresse. Fig. 7 enthält ein Präfix-Register 125 für die Erfassung des Präfix- Bit CS, das dem Mikroprozessor 19 zugeführt wird. Die fünf Steuerleitungen von dem SCID-Detektor 15 werden einer fünffachen Steuerleitung zu dem Konverter 126 mit drei Bit zugeführt, der ein einfacher sogenannter Boolean-Logikoperator sein kann. Diese drei durch den Konverter 126 erzeugten Bit werden dem Mikroprozessor 19 zugeführt, der jeweils 10 höchstwertige Bit (MSB = most significant bit)-Teile von zusätzlichen Adressen zusammensetzt. Bei Ermittlung eines zusätzlichen Pakets wird der Adressenteil 10-MSB dem MSB-Teil eines einer Reihe von Registern 128 zugeführt. Der 8-LSB-Teil des jeweiligen Registers 128 wird zu Beginn jedes zusätzlichen Pakets auf einen vorbestimmten Wert gesetzt, im allgemeinen null. Der 8-LSB-Teil wird an den 10-MSB-Teil angehängt und einem Eingangsanschluß des Multiplexers 129 von 10 auf 1 zugeführt. Der 8-LSB-Teil der jeweiligen durch den Multiplexer 129 gelieferten Adressen wird einer Addierstufe 130 zugeführt, in der der Wert der 8-LSB-Adresse um eine Einheit inkrementiert und über einen weiteren Multiplexer 127 in den 8-LSB-Teil des Registers 128 zurückgeführt wird. Der inkrementierte LSB-Teil (mit seinem MSB-Teil) dient als die nächste darauffolgende Adresse für das jeweilige zusätzliche Paket. Die Multiplexer 127 und 129 werden durch die DMA-Steuereinheit 98 gesteuert, um den laufenden Speicherblock für die Adressenbildung auszuwählen. Es sei bemerkt, daß in einer alternativen Anordnung der gPC 19 wenigstens einen Teil der zusätzlichen Adressen liefern kann.
  • Die zusätzlichen Pakete werden im allgemeinen unabhängig verarbeitet, und das Nutzsignal eines vollständigen zusätzlichen Pakets wird im allgemeinen in einen Speicher geladen, bevor es verwendet werden kann. Somit wird der Speicherblock, der zum Schreiben eines laufenden zusätzlichen Pakets adressiert wird, normalerweise nicht gleichzeitig für Lese- und die Schreibzwecke adressiert. Daher können dieselben Register für die Lese- und Schreibadressierung verwendet werden. Sobald ein zusätzliches Paket in einem jeweiligem Speicherblock gespeichert worden ist, wird der 8-LSB-Teil in Vorbereitung für das Auslesen der Daten auf die vorbestimmte Startadresse zurückgesetzt. In einer alternativen Anordnung kann eine parallele Reihe von Registern, Multiplexern und einer Addierstufe ähnlich zu den Bauteilen 127-130 für die Erzeugung von Leseadressen ausgebildet werden. Diese Leseadressen können in einem weiteren Multiplexer in Kaskadenschaltung mit dem Multiplexer 129 in ein Zeitmultiplex gebracht werden.
  • Die Speicher-Lese/Schreib-Steuerung erfolgt durch die Service-Zeiger-Steuereinheit und die Bauteile 93 und 94 für den direkten Speicherzugriff DMA. Der DMA ist so programmiert, daß er Lese- und Schreibperioden auflistet. Die Auflistung ist davon abhängig, ob der FEC 12 in den Speicher zu schreibende Daten liefert oder nicht. Die Schreibvorgänge für FEC-Daten haben Vorrang, so daß keine ankommende Datenkomponente verlorengeht. In der in Fig. 4 dargestellten beispielhaften Vorrichtung gibt es vier Typen der Vorrichtung, die Zugriff zu dem Speicher haben. Das sind eine (nicht dargestellte) Smart Card, der FEC 12 (genauer der Entschlüsseler 16), der Mikroprozessor 19 und die Anwendungsgeräte wie zum Beispiel Audio- und Video-Prozessoren. Eine sogenannte Speicherkonkurrenz (memory contention) wird in der folgenden Weise behandelt. Der DMA, der auf Datenanforderungen von den verschiedenen, oben aufgelisteten Verarbeitungsbauteilen anspricht, teilt Speicherblöcke den jeweiligen Programmkomponenten zu. Der Zugriff zu dem Speicher erfolgt in einem Zeitschlitz von 95 ns, während dessen ein Datenbyte aus dem Speicher 18 gelesen oder in diesen geschrieben wird. Es gibt zwei Hauptmodi für die Zugriffszuordnung, bezeichnet mit "FEC Providing Data" (FEC liefert Daten) oder "FEC Not Providing Data" (FEC liefert keine Daten). Jedem dieser Modi werden die Zeitschlitze in der folgenden Weise zugeordnet und priorisiert, unter der Annahme einer maximalen FEC-Datenrate von 5 Byte/Sekunde oder einem Byte für jede 200 ns. Dies sind:
  • FEC Providing Data
  • 1) Schreiben von FEC-Daten,
  • 2) Anwendungsgerät Lesen/Mikroprozessor Lesen/Schreiben,
  • 3) Schreiben von FEC-Daten
  • 4) Mikroprozessor Lesen/Schreiben
  • und für
  • FEC Not Providing Data
  • 1) Smart Card Lesen/Schreiben,
  • 2) Anwendungsgerät Lesen/Mikroprozessor Lesen/Schreiben,
  • 3) Smart Card Lesen/Schreiben,
  • 4) Mikroprozessor Lesen/Schreiben.
  • Da Schreibvorgänge für FEC-Daten nicht verschoben werden können, muß der FEC (oder genauer der Entschlüsseler) dann, wenn er Daten liefert, während jedes Intervalls mit 200 ns Zugriff zu dem Speicher haben. Abwechselnde Zeitschlitze werden durch die Anwendungsgeräte und den Mikroprozessor aufgeteilt. Wenn keine Daten für die anfordernden Geräte verfügbar sind, verwendet der Mikroprozessor die Zeitschlitze.
  • Die Steuereinheit 93 kommuniziert mit dem SCID-Detektor und bestimmt, welcher von den jeweiligen Start-, Kopf- und End-Zeigerregistern Zugriff zu den Speicher- Schreibvorgängen haben soll. Die Steuereinheit 93 kommuniziert mit dem DMA, um zu bestimmen, welches der Start-, End- und Abschlußregister Zugriff zu den Speicher-Lesevorgängen haben soll. Der DMA98 steuert die Auswahl der entsprechenden Adressen und Daten durch die Multiplexer 99, 104 und 105.
  • Eine bevorzugte, alternative Schaltung für die Inkrementierung der Speicheradressen ist in Fig. 8 dargestellt. Diese Schaltung kann in der Vorrichtung gemäß Fig. 4 oder Fig. 7 angewendet werden. Fig. 8 zeigt ihre Anwendung für die Abschlußzeiger-Inkrementierung gemäß Fig. 4. Zu Beginn eines Pakets wird der Zeiger in dem zugehörigen Register der Addierstufe 79A zugeführt, in der er um 1 inkrementiert wird. Anstelle einer Speicherung von zwischen-inkrementierten Abschlußzeigern in den Registern 92A von Fig. 8 (92 von Fig. 4) werden zwischen-inkrementierte Zeigerwerte nacheinander in einem Arbeitsregister 107 gespeichert. Nachdem der letzte Zeigerwert für ein Signalpaket erzeugt worden ist, wird der aktualisierte Zeiger in dem Register 107 zu dem Register 92A übertragen, das zu dem Paket SCID gehört.
  • Es ist nicht ungewöhnlich, daß Daten in einem Pufferspeicher weggelassen werden müssen. Zum Beispiel kann ein Teilpaket gespeichert worden sein, wenn ein Systemfehler oder eine Datenunterbrechung erfolgt. Um Speicherplatz einzusparen, erfolgt das Weglassen von Daten einfach durch Überschreiben des teilweisen Datenpakets. Das Überschreiben dieser Daten erfolgt durch Rücksetzen des jeweiligen Zählers auf den Wert, den er am Beginn des Pakets hatte. Ein derartiges Rücksetzen erfolgt dadurch, daß der Wert in dem Register 107 nicht zu dem Zeigerregister übertragen wird, das heißt indem nichts geschieht.
  • Es ist vorteilhaft, Übertragungsfehler-Kodes in den Videokomponenten-Signalstrom einzufügen, wenn Pakete verlorengegangen sind, damit der Videosignal- Dekomprimierer die Dekomprimierung aussetzt, bis eine bestimmte Signaleintrittsstelle in dem Datenstrom auftritt. Es ist nicht praktikabel, vorauszusagen, wo und in welchem Videopaket die nächste Eintrittstelle auftritt. Um die nächste Eintrittstelle so schnell wie möglich zu finden, ist es notwendig, einen Übertragungsfehler-Kode zu Beginn des ersten Videopakets nach der Feststellung einzufügen, daß ein Paket verlorengegangen ist. Die Schaltung von Fig. 4 plaziert einen Übertragungsfehler-Kode zu Beginn jedes Videopakets und entfernt den Übertragungsfehler-Kode in jeweiligen Paketen, wenn kein Verlust eines vorangehenden Paketes besteht. Der Übertragungsfehler-Kode wird bei den ersten M Speicheradressenplätzen eingefügt, die für das Nutzsignal des laufenden Videopaketes reserviert sind, indem für M Schreibperioden ein Schreiben in den Speicher 18 erfolgt, bevor das Video-Nutzsignal von dem Entschlüsseler ankommt. Gleichzeitig bewirkt die DMA 98, daß der Multiplexer 99 den Übertragungsfehlerkode von der Quelle 100 dem Speicher 18 I/O zuführt. M ist einfach die ganze Zahl der Speicherstellen, die zum Speichern des Übertragungsfehler-Kodes benötigt werden. Unter der Annahme, daß der Speicher Bytes mit 8 Bit speichert und der Übertragungsfehler-Kode 32 Bit enthält, wäre M gleich 4.
  • Die Adressen zum Laden des Übertragungsfehler-Kodes in den Speicher werden von dem Multiplexer 82 und dem Multiplexer 85 durch das jeweilige Videokomponenten-Serviceregister 83 geliefert. Es sei bemerkt, daß die ersten M Adressen, die von dem Zeigerregister 83 zum Laden des Übertragungsfehler-Kodes in den Speicherplätzen geliefert werden, die anderenfalls mit den Videokomponenten-Daten geladen würden, einfach die nächsten M folgenden Adressen sind, die normalerweise durch den Video-Kopfzeiger erzeugt würden. Dieselben Adressen werden einem Verzögerungsbauteil 84 mit M Stufen zugeführt, so daß, unmittelbar nachdem das letzte Byte des Übertragungsfehler-Kodes in dem Speicher 18 gespeichert worden ist, die erste der M Adressen an dem Ausgang des Verzögerungsbauteils 84 verfügbar ist.
  • Die zeitliche Lage des Ladens des Übertragungsfehler-Kodes in dem Speicher fällt zusammen mit der Ermittlung eines verlorengegangenen Pakets. Das Laden des Übertragungsfehler-Kodes, während die Ermittlung des Paketverlustes erfolgt, bringt keine zusätzlichen zeitlichen Beschränkungen in der Verarbeitung des Signalflusses.
  • Wenn ein Paketverlust ermittelt wird, wird die Videokomponente des laufenden Pakets in dem Speicher 18 gespeichert, beginnend bei der nächsten oder (M+1)-ten Adressenstelle des Speicherblocks, der für diese Komponente bereitgestellt wird. Das erfolgt dadurch, daß der Multiplexer 85 weiterhin unverzögerte Kopfzeiger von dem geeigneten Register 83 liefert. Wenn alternativ kein Paketverlust ermittelt wird, werden die ersten M Byte der Videokomponente in dem laufenden Paket an den Speicherstellen gespeichert, bei denen der Übertragungsfehler-Kode unmittelbar vorher gespeichert war. Das erfolgt dadurch, daß die Service-Zeiger-Steuereinheit den Multiplexer 85 veranlaßt, die verzögerten Kopfzeiger für M Schreibperioden von dem Verzögerungsbauteil 84 zu entnehmen. Am Ende der M Schreibperioden veranlaßt die Service-Zeiger-Steuereinheit 93 den Multiplexer, wieder unverzögerte Kopfzeiger zu liefern. Wenn der Multiplexer auf die nicht verzögerten Zeiger zurückschaltet, entspricht der nächste unverzögerte Zeiger der (M+1)-ten Adresse.
  • Die Ermittlung eines Paketfehlers oder eines Paketverlustes erfolgt durch einen Fehlerdetektor 101, der auf die CC- und HD-Daten des laufenden Pakets anspricht. Der Detektor 101 prüft den Kontinuitätszählwert CC in dem laufenden Paket, um festzustellen, ob dieser von dem CC des vorangehenden Pakets um eine Einheit abweicht. Zusätzlich wird das TOGGLE-Bit in dem laufenden Paket geprüft, um zu ermitteln, ob es von dem vorangehenden Paket eine Änderung erfahren hat. Wenn der CC-Wert falsch ist, wird der Zustand des TOGGLE-Bit geprüft. Abhängig davon, ob einer oder beide des CC- und TOGGLE-Bit fehlerhaft bzw. geändert sind, werden ein erster oder ein zweiter Modus einer Fehlerbeseitigung eingeführt. In dem zweiten Modus, der durch das CC im fehlerhaften Zustand und das geänderte TOGGLE-Bit ausgelöst wird, bewirkt das System ein Rücksetzen auf ein Paket mit einem Bild- Schicht-Header. In dem ersten Modus, wo nur das CC fehlerhaft ist, bewirkt das System ein Rücksetzen auf ein Paket, das einen Scheiben-Startkode (slice start code) enthält. (Eine Scheibenschicht (slice layer) ist ein Untersatz von komprimierten Daten innerhalb eines Rahmens). In dem ersten und in dem zweiten Modus wird der in dem Speicher geschriebene Übertragungsfehler-Kode in dem jeweiligen Nutzsignal beibehalten, um den Dekomprimierer zu warnen, den Heilungsvorgang einzuführen.
  • Abhängig von den besonderen Aufbauten eines bestimmten Empfängers kann es zweckmäßig oder auch nicht zweckmäßig sein, Übertragunsfehler-Kodes in verschiedenen Signalkomponenten einzuführen, wenn jeweilige Komponenten- Transportpakete verlorengegangen sind. Zusätzlich kann es vorteilhaft sein, verschiedene Übertragungsfehler-Kodes für verschiedene Formate der Signalkomponente oder Komprimiervorgänge anzuwenden. Somit können eine oder mehrere Quellen für Übertragungsfehler-Kodes benötigt werden.
  • Fig. 9 zeigt ein beispielhaftes Flußdiagramm für den Zugriffsvorgang zu dem DMA- Speicher 98. Der DMA reagiert {200} auf die Ermittlung oder die Nicht-Ermittlung eines empfangenen Pakets über die Ermittlung der SCID's. Wenn ein SCID ermittelt worden ist und die Anwesenheit von in den Speicher zu schreibenden Daten von dem Entschlüsseler 16 anzeigt, wird ein Byte von Programmdaten von dem Entschlüsseler in den Pufferspeicher 18 geschrieben {201}. Der Block des Speichers, in den es geschrieben wird, wird durch den Prozessor 93 aus dem laufenden SCID bestimmt. Als nächstes ermittelt der DMA {202}, ob einer der Programmkomponenten-Prozessoren, einschließlich der Smart Card und des uPC, Daten anfordern oder einen Lese/Schreib (RIW)-Zugriff zu dem Speicher 18 anfordert. Wenn an den DMA keine Datenanforderungen bestehen, kehrt der Vorgang zum Schritt {200} zurück. Wenn eine Daten-R/W-Anforderung erfolgt ist, bestimmt der DMA {203} die Priorität der Anforderung. Das erfolgt durch einen konventionellen Unterbrechungsvorgang oder alternativ durch einen sequentiellen Service mit einem Byte in einer willkürlichen Reihenfolge dieser Daten anfordernden Programmprozessoren. Zum Beispiel sei angenommen, daß eine willkürliche Reihenfolge der Zugriffspriorität folgende ist: Video, Audio I, Audio II, Smart Card und uPC. Es wird auch angenommen, daß nur das Video, Audio If und gPC einen Speicherzugriff anfordern. Während des laufenden Betriebs des Schrittes {203} wird ein Byte mit Video von dem Speicher gelesen. Während des nächsten Betriebs des Schrittes {203} wird ein Byte von Audio II aus dem Speicher gelesen, und während des darauffolgenden Erscheinens des Schrittes {203} wird ein Byte mit gPC-Daten in · den Speicher 18 geschrieben oder aus diesem gelesen, undsoweiter. Es sei bemerkt, daß die Adresse für die Smart Card und den Zugriff zu dem UPC durch die Smart Card bzw. den gPC geliefert wird, daß jedoch Adressen für Video, Audio und Programmführer von der Adressen-Zeiger-Anordnung (80-93) verfügbar sind.
  • Wenn einmal der Prioritätszugriff gebildet ist {203}, wird der benötigte Programmprozessor mit einem Byte an Daten bedient {204}, die in dem Speicher 18 geschrieben oder aus diesem gelesen werden. Als nächstes wird ein Byte von Daten von dem Entschlüsseler 16 in den Speicher geschrieben {205}. Es wird eine Prüfung durchgeführt {206}, um festzustellen, ob der gPC einen Zugriff anfordert. Wenn der gPC einen Zugriff anfordert, wird er mit einem Byte an Daten bedient {207}. Wenn der gPC keinen Zugriff anfordert, springt der Vorgang zum Schritt {202}, um festzustellen, ob einer der Programmprozessoren einen Zugriff anfordert. Auf diese Weise ist den ankommenden Daten immer ein Zugriff zu jeder anderen Speicher- Zugriffsperiode garantiert, und die dazwischenliegenden Speicher-Zugriffsperioden werden auf die Programmprozessoren verteilt.
  • Wenn derzeit keine Daten von dem Entschlüsseler 16 verfügbar sind, das heißt vorübergehend kein SCID ermittelt wird, wird dem Vorgang {208-216} gefolgt. Zunächst {208} wird die Smart Card geprüft, um zu ermitteln, ob sie einen Speicherzugriff anfordert. Wenn dies der Fall ist, behält sie einen Speicherzugriff {209} von einem Byte, ansonsten erfolgt eine Prüfung {210}, um zu ermitteln, ob irgendeiner der Programmprozessoren einen Speicherzugriff anfordert. Wenn eine Daten RIW-Anforderung gemacht wurde, bestimmt der DMA {211} die Priorität der Anforderung. Der jeweilige Prozessor wird mit einem Zugriff für das Lesen oder das Schreiben des Speichers von einem Byte bedient {212}. Wenn durch die Programmprozessoren keine Daten FIIW-Anforderung erfolgt ist, springt der Vorgang zum Schritt {213}, wo eine Prüfung erfolgt, um zu ermitteln, ob die Smart Card einen Speicherzugriff anfordert. Wenn das der Fall ist, wird er mit einem Speicherzugriff für ein Byte bedient {216}, ansonsten springt der Vorgang zum Schritt {200}.
  • Es sollte erwähnt werden, daß in dem vorliegenden bevorzugten Beispiel dann, wenn man sich im Modus "FEC liefert keine Daten" befindet, die Smart Card den Vorzug eines zwei-zu-eins Zugriffs gegenüber allen anderen Programmprozessoren erhält. Diese Priorität wird in einem programmierbaren Statusgerät innerhalb der DMA- Vorrichtung programmiert und unterliegt einer Änderung durch den gPC. Wie bereits erwähnt, dient das System zur Lieferung von interaktiven Diensten, und der frPC 19 reagiert auf interaktive Daten, um wenigstens teilweise den interaktiven Vorgang durchzuführen. In dieser Rolle verwendet der uPC 19 den Speicher 18 sowohl für die Anwendungsspeicherung als auch als Arbeitsspeicher. In diesen Fällen kann der Systemoperator die Priorität für den Speicherzugriff ändern, um dem uPC 19 einen Speicherzugriff mit größerer Häufigkeit zu geben. Die Neuprogrammierung der Priorität für den Speicherzugriff kann als ein Untersatz von interaktiven Anwendungsinstruktionen enthalten sein.
  • Fig. 10 zeigt eine beispielhafte Vorrichtung zur Ermittlung von Paketen, die bedingte Zugriffsinformationen oder MPEG-Startkodes (Dekoder 30 von Fig. 3) enthalten. Ob der Dekoder 30 dafür konditioniert ist, Berechtigungs-Nutzsignale oder MPEG-Startkodes zu ermitteln, ist abhängig von dem derzeit empfangenen SCID. In Fig. 10 ist angenommen, daß die von dem Entschlüsseler 16 gelieferten Daten aus Bytes mit 8 Bit bestehen und in Paketen ausgerichtet sind. Das heißt, das erste Byte des Berechtigungs-Nutzsignals oder das erste Byte eines MPEG-Startkodes wird genau mit dem Beginn eines Paket-Nutzsignals ausgerichtet, so daß für die Ermittlung eines speziellen Headers oder Start-Kodewortes seine Lage in dem Bit/Byte-Strom genau bekannt ist. Daten von dem Entschlüsseler 16 werden einem Register 250 mit 8 Bit zugeführt, das einen 8-Bit-Parallelausgangsanschluß aufweist, der jeweils mit den ersten Eingängen eines Komparators 254 verbunden ist, der zum Beispiel aus einer Reihe von acht EXKLUSIV-NOR (XNOR)-Schaltungen aufgebaut ist, die jeweils Ausgangsanschlüsse aufweisen, die mit einem AND-Gatter und einem sogenannten Latch (Zwischenspeicher) verbunden sind. Das Latch kann ein Daten- Latch sein, das die Ergebnisse des AND-Gatters bei jedem Byte-Intervall zwischenspeichert.
  • Ein MPEG-Startkode mit 32 Bit wird in Form von vier Bytes in einer Registerreihe 265 mit 8 Bit gespeichert. Berechtigungs-Header-Kodes werden als Bytes mit 8 Bit in einer Reihe von 16 Registern 257 mit 8 Bit gespeichert. Das Laden der Registerreihen 251 und 256 wird durch den Mikroprozessor 19 und/oder durch die Smart Card gesteuert. Die Startkode-Register 265 sind mit einem vier-zu-eins- Multiplexer 266 verbunden, und die Berechtigungs-Header-Register sind über sechzehn mit einem Multiplexer 257 verbunden. Die Ausgangsanschlüsse der Multiplexer 257 und 266 sind mit einem zwei-zu-eins-Multiplexer 249 verbunden. Jeweilige Ausgangsanschlüsse der Multiplexer 249 sind jeweils mit entsprechenden zweiten Eingangsklemmen des Komparators 254 verbunden. Die Eingangs- und Ausgangsanschlüsse der Multiplexer 249, 257 und 266 sind Busse mit 8 Bit. Wenn die jeweiligen Werte an den jeweiligen Ausgangsanschlüssen des Registers übereinstimmend dieselben sind wie die Ausgangswerte an den jeweiligen Ausgangsanschlüssen des Multiplexers 249, wird für das entsprechende Datenbyte durch die Vergleichsschaltung 254 ein Signal "Wahr" erzeugt.
  • Für die Ermittlung des Startkodes wird der Multiplexer 266 durch den Zähler 258 abgetastet und verbindet nacheinander die vier verschiedenen Register 265 mit dem XNOR synchron mit dem Auftreten der ersten vier Datenbytes von dem Entschlüsseler 16. Alternativ wird, für die Ermittlung des Berechtigungs-Nutzsignal- Headers, der Multiplexer 257 durch den Zähler 258 abgetastet und verbindet nacheinander verschiedene der Register 265 mit der Komparatorschaltung.
  • Der Ausgang der Komparatorschaltung wird einer Akkumulations- und Prüfschaltung 255 zugeführt. Die Schaltung 255 ermittelt, ob eine einer vorbestimmten Anzahl von Byte-Übereinstimmungs-Bedingungen aufgetreten ist. Wenn das der Fall ist, erzeugt sie ein Schreib-Freigabesignal für die Berechtigungsdaten in einem Teil des besonderen, der Prüfung unterliegenden Nutzsignals. In dem vorliegendem System enthält der Berechtigungs-Nutzsignal-Header 128 Bit in vier Segmenten mit 32 Bit. Verschiedene Abonnenten werden nach unterschiedlichen Kombinationen von Bytes der 128 Bit Ausschau halten. Zum Beispiel kann eine Abonnentenvorrichtung dafür vorgesehen sein, die Übereinstimmung für die ersten vier Byte des Berechtigungs- Nutzsignal-Headers zu bewirken. Eine andere Abonnenten-Vorrichtung kann dafür vorgesehen sein, die Übereinstimmung der zweiten vier Byte des Berechtiguns- Nutzsignal-Headers zu bewirken, usw. In jeder dieser beispielhaften Fälle ermittelt die Schaltung 255, ob für die jeweiligen vier aufeinanderfolgenden Bytes eine Übereinstimmung aufgetreten ist.
  • Die Vorrichtung nach Fig. 10 enthält außerdem eine Schaltung (Bauteile 261-263), um einen Berechtiguns-Nutzsignal-Header-Zustand mit alles Nullen zu ermitteln. Die Bit der jeweils ankommenden Datenbytes werden jeweiligen Klemmen des OR- Gatters 263 mit 8 Bit zugeführt. Wenn eines der Bit eine logische "1" ist, erzeugt das OR-Gatter 263 einen Ausgang mit der logischen "1". Der Ausgang des OR-Gatters 263 ist mit einem Eingang eines OR-Gatters 262 mit zwei Eingängen verbunden, das einen Ausgang und einen zweiten Eingang hat, die mit dem Dateneingang bzw. der Q-Ausgangsklemme eines Latch 261 vom Typ D verbunden sind. Das D-Latch wird durch die Zeitsteuerschaltung 259 synchron mit der Ankunft der ankommenden Datenbytes getaktet. Wenn irgendein Bit in einem der Datenbytes, das nach dem Rücksetzen des Latch auftritt, eine logische "1" ist, nimmt das Latch 261 bis zu dem nächsten Rücksetzimpuls an seinem Q-Ausgang eine logische "1" an. Der Q- Ausgang des Latch 261 ist mit einem Inverter verbunden, der einen Ausgangswert null aufweist, wann immer das Latch einen Ausgangswert "1" aufweist. Somit geht, nachdem die 128 Bit (16 Byte) des Headers durch das Register 250 gelaufen sind, der Ausgang des Inverters auf "1", dann erhalten die 128 Bit den Wert null. Aufgrund der Ermittlung eines Ausgangswertes "1" von dem Inverter nach dem Durchlauf des Berechtiguns-Nutzsignal-Headers erzeugt die Schaltung 255 ein Daten-Schreib- Freigabesignal.
  • Es hat sich als besonders nützlich herausgestellt, das System so aufzuteilen, daß der SCID-Detektor, der Entschlüsseler, die Adressierschaltung, das Filter für den bedingten Zugriff und die Smart Card-Schnittstelle alle in einer einzigen integrierten Schaltung enthalten sind. Das begrenzt die Anzahl an externen Wegen, die zu kritischen zeitlichen Einschränkungen führen kann.

Claims (17)

1. Vorrichtung zum Verarbeiten von im Zeitmultiplex stehenden paketierten Signalprogrammkomponenten, wobei jeweils Pakete ein Programmkomponenten- Nutzsignal und einen Header mit einem Signalkomponenten-Identifizierer SCID enthalten, enthaltend
eine Quelle (11) der im Zeitmultiplex stehenden paketierten Signale,
gekennzeichnet durch
einen gemeinsamen Pufferspeicher (18),
eine Mehrzahl von Programmkomponenten verarbeitenden Vorrichtungen (21-24) mit jeweiligen Eingangsanschlüssen, die mit einem Daten-Ausgangsanschluß des gemeinsamen Pufferspeichers verbunden sind,
einen mit der Quelle verbundenen SCID-Detektor (13-15) zum Detektieren von Paketen, die jeweils durch eines der Mehrzahl von vorbestimmten SCID's identifiziert werden,
Mittel zum Zuführen jeweiliger Nutzsignale von Paketen, die durch die Mehrzahl von vorbestimmten SCID's identifiziert werden, zu einem Daten- Eingangsanschluß des gemeinsamen Pufferspeichers,
eine Adressierschaltung (17), die auf die Ermittlung eines der Mehrzahl von vorbestimmten SCID's anspricht und Schreibadressen zum Speichern der jeweiligen Nutzsignale der Programmkomponenten in jeweiligen Blöcken des gemeinsamen Pufferspeichers erzeugt und auf Datenanforderungen von der Mehrzahl von Programmkomponenten verarbeitenden Vorrichtungen anspricht, zum Lesen von entsprechenden Programmkomponenten-Nutzsignalen von den jeweiligen Blöcken des gemeinsamen Pufferspeichers zu der anfordernden Verarbeitungsvorrichtung.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Adressierschaltung (17) in aufeinanderfolgenden Speicherzugriffs-Vorgängen das Schreiben von Paket-Nutzdaten mit Lese/Schreib-Funktionen bewirkt, die durch die Mehrzahl der Vorrichtungen zum Verarbeiten der Programmkomponente angefordert werden.
3. Vorrichtung nach Anspruch 1, wobei jeweilige Nutzsignale mit speziellen SCID- Verschlüsselungskodes verschlüsselt werden, dadurch gekennzeichnet, daß die Mittel zum Zuführen jeweiliger Nutzsignale von Paketen zu einem Daten- Eingangsanschluß des gemeinsamen Pufferspeichers folgendes enthalten:
eine Smart Card-Schnittstelle (31) zur Bildung einer Schnittstelle für eine Smart Card, die auf in den vorbestimmten empfangenen Paketen enthaltende Berechtigungsdaten anspricht und spezielle SCID-Entschlüsselungskodes erzeugt,
einen Signal-Entschlüsseler (16) mit einem Ausgangsanschluß, der mit dem Daten-Eingangsanschluß des gemeinsamen Pufferspeichers verbunden ist, zum Entschlüsseln jeweiliger Nutzsignale gemäß den entsprechenden speziellen SCID-Entschlüsselungskodes.
4. Vorrichtung nach Anspruch 3, wobei Berechtigungsdaten enthaltende Pakete Nutzsignale mit Nutzsignal-spezifischen Headem enthalten, dadurch gekennzeichnet, daß diese Vorrichtung folgendes enthält: einen Dekoder (30) zum Erkennen der Nutzsignal-spezifischen Header zum Erzeugen eines Steuersignals für das Laden der Berechtigungsdaten in einem Smart Card-Block des gemeinsamen Pufferspeichers.
5. Vorrichtung nach Anspruch 1 oder 4, gekennzeichnet durch: einen Mikroprozessor (19) zur Durchführung von wenigstens System- Steuerfunktionen, wobei der Mikroprozessor den gemeinsamen Pufferspeicher für die Speicherung und den Arbeitsspeicher benutzt.
6. Vorrichtung nach Anspruch 1, gekennzeichnet durch:
einen Detektor zum Ermitteln des Auftretens von verlorengegangenen Paketen von Programmkomponenten und
eine Vorrichtung zum Durchführen eines Hilfsvorgangs aufgrund der Ermittlung von verlorengegangenen Paketen.
7. Vorrichtung nach Anspruch 5, gekennzeichnet durch:
einen ersten Multiplexer (99) zum wahlweisen Zuführen von Nutzsignaldaten, durch den Mikroprozessor erzeugten Daten und durch eine der mehreren Programmkomponenten-Verarbeitungsvorrichtungen erzeugten Daten zu einem Dateneingangsanschluß (I/O) des gemeinsamen Pufferspeichers (18),
einen zweiten Multiplexer (105) zum wahlweisen Zuführen von Speicheradressen, die durch die Adressen-Erzeugungsschaltung erzeugt werden, durch den Mikroprozessor erzeugt sind und durch eine der mehreren Programmkomponenten-Verarbeitungsvorrichtungen erzeugt sind, zu einem Speicheradressen-Anschluß (ADD) des gemeinsamen Pufferspeichers (18).
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß jeweilige Nutzsignale durchführbare Kodes enthalten, die Anwendungen zugeordnet sind, die durch den Mikroprozessor (19) ausgeführt werden, und daß der gemeinsame Pufferspeicher (A) die durchführbaren Kodes und die durch den Mikroprozessor erzeugten Daten speichert.
9. Vorrichtung nach Anspruch 7, gekennzeichnet durch: einen dritten Multiplexer (104) mit jeweiligen Eingangsanschlüssen, die mit einem Ausgangsanschluß des ersten Multiplexers (99) und der Quelle der im Zeitmultiplex stehenden Paketsignale verbunden sind, wobei der dritte Multiplexer wahlweise Nutzsignale von der Quelle zu einer der Verarbeitungsvorrichtungen (21, 22, 23, 24) ohne Durchlauf durch den gemeinsamen Pufferspeicher (A) zuführt.
10. Vorrichtung nach Anspruch 9, wobei jeweilige Nutzsignale mit SCID-spezifischen Verschlüsselungskodes verschlüsselt werden, dadurch gekennzeichnet, daß die Nutzsignale einem Eingangsanschluß des ersten Multiplexers (99) durch eine Vorrichtung zugeführt werden, die folgendes enthält:
eine Smart Card-Schnittstelle zum Bilden einer Schnittstelle für eine Smart Card, die auf Berechtigungsdaten anspricht, die in vorbestimmten empfangenen Paketen enthalten sind, zum Erzeugen von SCID-spezifischen Entschlüsselungskodes,
einen Signal-Entschlüsseler mit einem Ausgangsanschluß, der mit dem Eingangsanschluß des ersten Multiplexers verbunden ist, zum Entschlüsseln jeweiliger Nutzsignale gemäß entsprechenden SCID-spezifischen Entschlüsselungskodes.
11. Vorrichtung nach Anspruch 10, gekennzeichnet durch: eine Vorrichtung, die auf SCID's in jeweiligen Paketen anspricht, zum Zuführen von zugehörigen Paket-Nutzsignalen zu bestimmten Bereichen in dem gemeinsamen Pufferspeicher.
12. Vorrichtung nach Anspruch 1, gekennzeichnet durch:
eine Steuervorrichtung (19), die dafür programmiert ist, mehrere Start- und Endzeiger mit N Bit zu erzeugen, um mehrere Blöcke des Pufferspeichers einer Speicherung von Paket-Nutzsignalen von mehreren Programmkomponenten zuzuteilen (wobei N eine ganze Zahl ist),
eine erste und eine zweite Mehrzahl von Registern (87, 88) zum Speichern der Mehrzahl von Startzeigern mit N Bit bzw. Endzeigern mit N Bit,
eine dritte Mehrzahl von Registern (83) zum Speichern von Kopf- (Schreib)- Zeigern mit N Bit, wobei ein Satz von Registern, je eines von jedem der ersten, zweiten und dritten Mehrzahl von Registern, jeder jeweiligen Programmkomponente zugeordnet sind,
wobei für jeweilige Sätze von Registern:
eine Schaltung (93, 96) zum Verknüpfen von M Bit des Startzeigers mit dem Kopfzeiger mit N Bit zur Bildung einer Schreibadresse mit N+M Bit (wobei M eine ganze Zahl kleiner als N ist) und
Mittel (82, 86, 89, 90) zum Zuführen der Schreibadressen zu einem Adressen- Eingangsanschluß des Pufferspeichers.
13. Vorrichtung nach Anspruch 12, gekennzeichnet durch:
einen Komparator zum Ermitteln, wenn ein jeweiliger Kopfzeiger gleich einem entsprechendem Endzeiger ist, und
Mittel, die auf die Ermittlung der Gleichheit zwischen Kopf- und Endzeiger ansprechen, zum Erzeugen der nächsten Schreibadresse mit dem Startzeiger mit N Bit in den höchstwertigen Bitstellen der Schreibadresse mit M+N Bit und Nullen an den M geringstwertigen Bitstellen.
14. Vorrichtung nach Anspruch 12, gekennzeichnet durch: eine Addierstufe (90) zum Inkrementieren der jeweiligen Kopfzeiger um eine Einheit, jedesmal wenn ein derartiger Kopfzeiger zur Bildung einer Schreibadresse benutzt wird.
15. Vorrichtung nach Anspruch 12, wobei die Pakete aus zwei Typen bestehen, Basispaketen und Zusatzpaketen, dadurch gekennzeichnet, daß die Schaltung zum Erzeugen der Pufferspeicher-Adressen für die Nutzsignale der Zusatzpakete folgendes enthält:
eine vierte Mehrzahl von Registern (92), zwei für jede Programmkomponente, zum Speichern von zusätzlichen Adreßzeigern mit N+M Bit (Lesen/Schreiben) für die zusätzlichen Nutzsignale,
Mittel zum Ermitteln des Auftretens von zusätzlichen Nutzsignalen und Mittel zum Multiplexen von Speicheradressen, die aus den zusätzlichen Adreßzeigern erzeugt werden, zu einem Adresseneingang des Pufferspeichers.
16. Vorrichtung nach Anspruch 15, wobei jeweilige zusätzliche Paketheader einen Verwürfelungs-Schlüssel CS enthalten, dadurch gekennzeichnet, daß die Schaltung zum Erzeugen der Pufferspeicher-Adressen für die Nutzsignale der zusätzlichen Pakete folgendes enthält:
einen Detektor zum Detektieren des Verwürfelungsschlüssels CS in jeweiligen zusätzlichen Paketen,
einen Umsetzer zum Erzeugen von Kodes mit W Bit für den Typ der Programmkomponente, der jeweilige zusätzliche Pakete zugeordnet sind, eine Steuervorrichtung zum Erzeugen eines Zeigers mit Z Bit, der mit dem Kode mit W Bit und dem Verwürfelungsschlüssel CS verknüpft ist,
eine Akkumulierschaltung zum Inkrementieren eines Wertes mit L Bit um eine Einheit für jede Speicheradressen-Periode und
Mittel zum Anhängen des Wertes mit L Bit an den verknüpften Zeiger mit Z Bit, den Kode mit W Bit und den Verwürfelungsschlüssel CS zur Bildung einer Speicheradresse für zusätzliche Pakete mit N+M Bit und zum Laden jeweiliger Adressen mit N+M Bit in der vierten Mehrzahl von Registern.
17. Vorrichtung nach Anspruch 16, gekennzeichnet durch Mittel zum Rücksetzen des Wertes mit L Bit für eine Komponente auf einen vorbestimmten Wert zu Beginn jeweiliger Pakete, die ein zusätzliches Nutzsignal der Komponente enthalten.
DE69517240T 1994-04-22 1995-04-12 Prozessor für inverse Übertragung mit Speicheradressenschaltung Expired - Lifetime DE69517240T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/232,787 US5475754A (en) 1994-04-22 1994-04-22 Packet video signal inverse transport processor memory address circuitry
US08/232,789 US5521979A (en) 1994-04-22 1994-04-22 Packet video signal inverse transport system

Publications (2)

Publication Number Publication Date
DE69517240D1 DE69517240D1 (de) 2000-07-06
DE69517240T2 true DE69517240T2 (de) 2000-10-26

Family

ID=26926333

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69517240T Expired - Lifetime DE69517240T2 (de) 1994-04-22 1995-04-12 Prozessor für inverse Übertragung mit Speicheradressenschaltung
DE69529001T Expired - Lifetime DE69529001T2 (de) 1994-04-22 1995-04-12 Prozessor für inverse Übertragung mit Speicheradressenschaltung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69529001T Expired - Lifetime DE69529001T2 (de) 1994-04-22 1995-04-12 Prozessor für inverse Übertragung mit Speicheradressenschaltung

Country Status (13)

Country Link
EP (2) EP0679028B1 (de)
JP (2) JP3495454B2 (de)
KR (2) KR100343819B1 (de)
CN (2) CN1100438C (de)
BR (1) BR9501735A (de)
CA (1) CA2146472C (de)
DE (2) DE69517240T2 (de)
ES (2) ES2146677T3 (de)
HK (1) HK1018564A1 (de)
MY (2) MY121258A (de)
PT (2) PT971538E (de)
RU (1) RU2145728C1 (de)
TR (1) TR28547A (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0166935B1 (ko) * 1994-11-23 1999-03-20 구자홍 엠펙2 트랜스포트 디코더 장치
US5898695A (en) * 1995-03-29 1999-04-27 Hitachi, Ltd. Decoder for compressed and multiplexed video and audio data
US5899578A (en) * 1995-12-25 1999-05-04 Sony Corporation Digital signal processor, processing method, digital signal recording/playback device and digital signal playback method
JP3269768B2 (ja) * 1996-01-16 2002-04-02 株式会社東芝 ディジタル信号受信装置
WO1997042762A2 (en) * 1996-05-06 1997-11-13 Philips Electronics N.V. Security device managed access to information
CA2204828C (en) * 1996-05-10 2004-11-23 Ray Nuber Error detection and recovery for high rate isochronous data in mpeg-2 data streams
FR2752350B1 (fr) * 1996-08-09 2001-06-08 Thomson Multimedia Sa Procede d'extraction de donnees dans un systeme de transmission cyclique et dispositif de mise en oeuvre
CA2216573C (en) * 1996-10-01 2006-03-14 Sony Corporation Digital tuner having ieee 1394 serial bus interface for providing a plurality of selected programs as a functional unit
US6414726B1 (en) 1996-11-01 2002-07-02 Texas Instruments Incorporated Device for identifying packets of digital data and a receiver for digital television signals equipped with such a device
US6226291B1 (en) * 1996-11-01 2001-05-01 Texas Instruments Incorporated Transport stream packet parser system
GB2329802B (en) * 1997-06-28 1999-08-18 United Microelectronics Corp Adaptive-selection method for memory access priority control in MPEG processor
EP0893913A1 (de) * 1997-07-24 1999-01-27 CANAL+ Société Anonyme Verarbeitung eines digitalen Transportstroms
WO1999007151A1 (en) * 1997-08-01 1999-02-11 Scientific-Atlanta, Inc. Mechanism and apparatus for encapsulation of entitlement authorization in conditional access system
JP3578913B2 (ja) * 1997-09-29 2004-10-20 松下電器産業株式会社 データ一致検出装置,及びデータ選別装置
JP3389843B2 (ja) * 1997-10-17 2003-03-24 日本電気株式会社 情報処理装置におけるデジタル放送受信システム
NL1007453C2 (nl) * 1997-11-05 1999-05-07 United Microelectronics Corp Zich aanpassende kieswerkwijze voor het regelen van de geheugentoegangsprioriteit in een MPEG-processor.
US6621817B1 (en) 1999-07-06 2003-09-16 Texas Instruments Incorporated Transport packet parser
EP1096714A3 (de) * 1999-10-29 2003-04-09 Matsushita Electric Industrial Co., Ltd. Dispositif et procédé de conversion d'un contenu de données et support d'enregistrement stockant un programme de conversion d'un contenu de données
CA2360550C (en) * 1999-11-17 2007-01-23 Sony Corporation Method and apparatus for digital signal processing and method of providing extension function
DE10035707A1 (de) * 2000-07-21 2002-01-31 Scm Microsystems Gmbh Digitales Aufnahme-und Weidergabeverfahren
EP1193608B1 (de) * 2000-09-27 2006-12-20 Texas Instruments Incorporated Gerät und Verfahren für einen Sortierungmodus in einer Direktspeicherzugriffssteuerung von einer Einrichtung zur digitalen Signalverarbeitung
US6775254B1 (en) 2000-11-09 2004-08-10 Qualcomm Incorporated Method and apparatus for multiplexing high-speed packet data transmission with voice/data transmission
FR2819139B1 (fr) * 2001-01-03 2003-03-28 Canal Plus Technologies Procede et dispositif de gestion d'informations dans un systeme de communication interactif
US6868125B2 (en) * 2001-11-29 2005-03-15 Thomson Licensing S.A. Transport stream to program stream conversion
JP2003333024A (ja) * 2002-05-09 2003-11-21 Nec Corp 暗号化/復号化システム及びその暗号解読防止/改竄防止方法
US7213103B2 (en) 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
US7366865B2 (en) * 2004-09-08 2008-04-29 Intel Corporation Enqueueing entries in a packet queue referencing packets
JP4667108B2 (ja) 2005-04-11 2011-04-06 パナソニック株式会社 データ処理装置
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
JPWO2007099659A1 (ja) 2006-03-01 2009-07-16 パナソニック株式会社 データ転送装置及びデータ転送方法
US7797670B2 (en) 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US7924456B1 (en) * 2007-01-12 2011-04-12 Broadbus Technologies, Inc. Data distribution and buffering
US7760562B2 (en) 2008-03-13 2010-07-20 Qualcomm Incorporated Address multiplexing in pseudo-dual port memory
CN114595105B (zh) * 2022-05-09 2022-08-05 深圳佰维存储科技股份有限公司 Psn唯一性设计方法、装置、可读存储介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4866770A (en) * 1986-07-08 1989-09-12 Scientific Atlanta, Inc. Method and apparatus for communication of video, audio, teletext, and data to groups of decoders in a communication system
US5168356A (en) 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
US5289276A (en) 1992-06-19 1994-02-22 General Electric Company Method and apparatus for conveying compressed video data over a noisy communication channel
KR100319581B1 (ko) * 1992-12-09 2002-04-22 마크 홀린저 텔레비젼프로그램 패키징 및 배달 시스템용 운영 센터

Also Published As

Publication number Publication date
EP0971538B1 (de) 2002-11-27
CN1100438C (zh) 2003-01-29
CA2146472C (en) 2007-10-09
DE69529001D1 (de) 2003-01-09
MY121258A (en) 2006-01-28
EP0679028A3 (de) 1996-04-24
EP0679028A2 (de) 1995-10-25
DE69517240D1 (de) 2000-07-06
PT679028E (pt) 2000-11-30
CN1208307A (zh) 1999-02-17
RU95106681A (ru) 1997-01-27
HK1018564A1 (en) 1999-12-24
JP2002135739A (ja) 2002-05-10
CA2146472A1 (en) 1995-10-23
ES2146677T3 (es) 2000-08-16
DE69529001T2 (de) 2003-10-09
RU2145728C1 (ru) 2000-02-20
EP0971538A2 (de) 2000-01-12
JP3495454B2 (ja) 2004-02-09
KR100343821B1 (ko) 2002-07-20
CN1113534C (zh) 2003-07-02
MY115173A (en) 2003-04-30
JPH07297855A (ja) 1995-11-10
EP0971538A3 (de) 2000-07-19
ES2183468T3 (es) 2003-03-16
KR100343819B1 (ko) 2002-11-30
EP0679028B1 (de) 2000-05-31
KR950035437A (ko) 1995-12-30
BR9501735A (pt) 1995-11-14
PT971538E (pt) 2003-03-31
JP3690737B2 (ja) 2005-08-31
CN1111867A (zh) 1995-11-15
TR28547A (tr) 1996-09-30

Similar Documents

Publication Publication Date Title
DE69517240T2 (de) Prozessor für inverse Übertragung mit Speicheradressenschaltung
DE69505369T2 (de) Informationsanordnung für bedingten zugang
DE69933721T2 (de) DMA-Steuereinheit
DE69516752T2 (de) Paketprogrammkomponentendetektor
DE69523937T2 (de) Chipkarte, signalverarbeitungsgerät und verfahren zur signalverarbeitung
DE69509897T2 (de) Verfahren und gerät zur bearbeitung einer progammübersicht mit bedingtem zugang für satelliten-fernsehdienst
DE69215973T2 (de) Multiplexer mit Einfügung von digitalen Paketen mit verschiedenen Prioritäten in einem Übertragungskanal
DE69523972T2 (de) Medienfehlerkode-Verarbeitung, zur Anwendung bei der Dekompression digitaler Videosignalpakete
DE69422791T2 (de) Sendung und Empfang von Programminformation
DE60038509T2 (de) Verfahren zum bedingten zugang für digitales fernsehen und vorrichtung zur gleichzeitigen verarbeitung von mehreren fernsehprogrammen
DE60034064T2 (de) Vorrichtung und verfahren für digitales fernsehen
DE69509697T2 (de) Verfahren zum Ver- und Entschlüsseln eines Bitstromes mit digitaler Information
DE69613199T2 (de) Ver- und Entschlüsselung von Daten mit verbesserter Sicherheit
DE69505652T2 (de) Verfahren zur programmverteilung mit progressivem bedingtem zugriff und informationsstromtrennung sowie entsprechender empfänger
DE69726753T2 (de) Verfahren und gerät zur dekodierung und speicherung verschlüsselter videodaten
DE2439116C2 (de) Verfahren und Anordnung zum Verzerren und Entzerren von Fernsehsignalen
DE69420260T2 (de) Vorrichtung mit dynamischer virtueller dienstauswahl in einem mehrdienstkommunikationssystem
DE69011422T2 (de) Paketstruktur und Übertragung der von einem Videosignal-Kodierer erzeugten Information.
DE69718199T2 (de) Verfahren zum verarbeiten eines verschlüsselten videosignals zur erzeugung eines entschlüsselten programmsignals
DE69434120T2 (de) Verfahren und einrichtung zur einmaligen verschlüsselung einer vielzahl von diensten an einer sendestelle
DE69227487T2 (de) Verfahren zum Senden und Empfangen von personalisierten Programmen
DE10212656A1 (de) Selektive Verschlüsselung von Multimediadaten
DE69834396T2 (de) Sicheres Datensignalübertragungssystem
EP0946056A1 (de) Verfahren zum Erhöhen der Speicherkapazität für Serviceinformation in einem Empfäger für digitale TV-Sendungen
DE19503762A1 (de) Dynamische Signalzusammensetzung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: THOMSON LICENSING, ISSY-LES-MOULINEAUX, FR

8328 Change in the person/name/address of the agent

Representative=s name: WOERDEMANN & ROSSMANITH PATENTANWAELTE, 30625 HANN