PatentDe  


Dokumentenidentifikation DE69837502T2 13.12.2007
EP-Veröffentlichungsnummer 0000854654
Titel Übertragen von VBI-Information in digitalen Fernsehdatenströmen
Anmelder General Instrument Corporation, Horsham, Pa., US
Erfinder Nuber, Ray, Torrance, California 90505, US;
Walker, Kent G., Escondido, California 92025, US
Vertreter HOEGER, STELLRECHT & PARTNER Patentanwälte, 70182 Stuttgart
DE-Aktenzeichen 69837502
Vertragsstaaten AT, BE, DE, DK, ES, FR, GB, IE, IT, NL, PT
Sprache des Dokument EN
EP-Anmeldetag 14.01.1998
EP-Aktenzeichen 981005432
EP-Offenlegungsdatum 22.07.1998
EP date of grant 11.04.2007
Veröffentlichungstag im Patentblatt 13.12.2007
IPC-Hauptklasse H04N 7/52(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]
ALLGEMEINER STAND DER TECHNIK

Die vorliegende Erfindung bezieht sich auf die Kommunikation von digitalen Fernsehsignalen, und insbesondere auf ein bandbreiteneffizientes Schema, um es einem Digitalfernsehdatenstrom zu ermöglichen, die meisten Typen von Daten, die herkömmlich in der Vertikalaustastlücke (VBI) eines analogen Fernsehsignals befördert werden, zu befördern. Beispiele solcher Daten, auf die nachstehend als „Benutzerdaten" Bezug genommen wird, umfassen Closed-Caption-Daten (Untertitel für Hörbehinderte) (CC), Vertical Interval Time Code (VITC), Non-Realtime-Videodaten (z. B. Prüfzeilen Meßsignal (VITS)), abgetastete Videodaten, North American Basic Teletext Specification (NABTS), World System Teletext (WST), European Broadcast Union (EBU)-Daten und Nielsen Automated, Measurement, and Lineup (AMOL)-Daten.

Die digitale Übertragung von Fernsehsignalen kann Video- und Audiodienste überbringen, die eine viel höhere Qualität als analoge Techniken aufweisen. Digitale Übertragungsschemata eignen sich insbesondere für Signale, die über ein Kabelfernsehnetz oder über Satelliten zu Kabelfernsehgesellschaften und/oder direkt zu Heimsatellitenfernsehempfängern rundgesendet werden. Es wird erwartet, dass digitale Fernsehsendersysteme und Fernsehempfängersysteme existierende analoge Systeme ersetzen werden, so wie digitale Compact Discs analoge Schallplatten in der Audioindustrie ersetzt haben.

Ein Weg zur Übertragung der komprimierten Videodaten an einen Empfänger ist in der Form von Paketen, die in einem paketierten Datenstrom enthalten sind. Typischerweise werden die komprimierte Videodaten befördernden Pakete mit anderen Paketen, welche z. B. entsprechende Audiodaten und Steuerinformationen befördern, die zur Rekonstruktion eines Fernsehsignals notwendig sind, gemultiplext. Ein Standard zum Transportieren von digitalen Fernsehsignalen auf diese Weise ist der MPEG-2-Standard, Details zu diesem finden sich bei der Internationalen Organisation für Normung, ISO/IEC 13818-1, Internationale Norm, 13. November 1994 mit dem Titel „Generic Coding of Moving Pictures and Associated Audio: Systems", Empfehlung H.222.0. Weitere Details der Videosyntax und Semantik für MPEG-2-Video können in ISO/IEC 13818-2, Internationale Norm, 1995, der Internationalen Organisation for Normung mit dem Titel „Generic Coding of Moving Pictures and Associated Audio Information: Video", Empfehlung H.262, gefunden werden.

Ein weiterer Standard zum Transportieren von digitalen Fernsehdaten in einem Paketstrom ist der Advanced Television Systems Committee (ATSC) Digital Television Standard A/53, bewilligt am 12. April und 15. September 1995. Der digitale Fernsehstandard ATSC basiert auf dem ISO/IEC MPEG 2-Videostandard, dem digitalen Audiokompressionsstandard (AC-3) und dem ISO/IEC-MPEG-2-System-Standard.

Bei dem ATSC- und dem MPEG-2-System (und dem ähnlichen DigiCipher® II-System, gesetzlich geschützt für General Instrument Corporation, dem Zessionar hiervon) ist ein Transportstrom oder Transportmultiplex aus einem angrenzenden Satz von Paketen fester Länge zusammengesetzt. Die Videosequenz wird unter Verwendung einer Baumstruktur transportiert, bei der ein Sequenzanfangsblock von verschiedenen Erweiterungen, Benutzerdaten, einem Bildsequenz(„GOP")-Anfangsblock, optionalen Benutzerdaten, einem Bildanfangsblock etc. gefolgt wird. Der Sequenzanfangsblock stellt Informationen für eine Sequenz von Bildern, die im Allgemeinen mehr als eine GOP umfasst, bereit. Diese Informationen umfassen zum Beispiel horizontale und vertikale Größenwerte, Seitenverhältnis, Rahmenfrequenz und Bitrate und Quantisierungsparameter für die Videodaten. Eine Erweiterung der Benutzerdaten kann ebenfalls eingeschlossen werden, die neben anderen Dingen zusätzliche Daten zur Verwendung durch Decodierer bereitstellt. Der DigiCipher® II-Standard sorgt für den Transport von zusätzlichen Benutzerdaten nach dem Sequenzanfangsblock, um ein DigiCipher® II-Signal und die Verwendung von jeglichen speziellen Videokompressionstechniken, die innerhalb einer Sequenz verwendet werden, einschließlich von DigiCipher® spezieller Prädiktions- und Blockbewegungsschätzung, zu identifizieren.

In sowohl den MPEG-2- als auch den DigiCipher® II-Syntaxen wird eine Sequenzanzeigeerweiterung, die z. B. Informationen über Videoformat und Farbbeschreibung enthält, zusätzlich zu der Sequenzerweiterung und den Benutzerdaten bereitgestellt. Ein nachfolgender Bildsequenzanfangsblock stellt neben anderen Informationen einen Zeitcode bereit. Danach wird ein Bildanfangsblock bereitgestellt, der verschiedene Informationen umfasst, die ein entsprechendes Bild in einer Sequenz von anzuzeigenden Bildern betrifft. Eine Bilderweiterung und schließlich die aktuellen Bilddaten, die zum Ansehen decodiert und reproduziert werden sollen, werden dann bereitgestellt. Es sei beachtet, dass MPEG nicht die Ordnung spezifiziert, in der verschiedene Erweiterungen (wie etwa die Sequenzanzeigeerweiterung) oder die Benutzerdaten übertragen werden müssen, über die Tatsache hinaus, dass sie nach der Sequenzerweiterung und vor dem GOP-Anfangsblock (falls bereitgestellt) oder dem Bildanfangsblock sein müssen. MPEG erfordert nicht das Senden von GOP-Anfangsblöcken, und solche Anfangsblöcke können in bestimmten Implementierungen umgangen werden.

Bei einem praktischen Übertragungssystem kann es notwendig sein, zusätzliche Daten zu unterschiedlichen Zeiten für spezifische Zwecke einzuschließen, wie etwa das Bereitstellen von Untertiteln für Hörbehinderte, VITS, Hilfs-Echtzeitvideo, Teletext und AMOL-Daten. Derartige zusätzliche Daten können in den Vertikalaustastlückenabschnitten (VBI-Abschnitten) eines analogen Fernsehsignals befördert werden, und auf diese wird hier als „VBI-Benutzerinformationen", „Benutzerdaten" oder „Benutzerinformationen" Bezug genommen.

Zahlreiche Standards sind für Dienste entwickelt worden, die über Wellenformen, die in den VBI-Leitungen von analogem Video und Mischsignal-Video befördert werden, bereitgestellt werden. Digitale Videokompressionssysteme neigen dazu, Algorithmen einzusetzen, die für die Charakteristiken von zweidimensionaler Bewegtbild-Kommunikation optimiert werden. Diese Algorithmen sind im Allgemeinen nicht ideal für die Kompression von Videowellenformen, die in den VBI-Leitungen von analogem Video vorliegen.

Der Charakter von VBI-Wellenformen ist im Vergleich zu aktivem Video sehr unterschiedlich. Der Mangel an Kompression für diese Zeilen ist sehr bandbreitenintensiv, wie etwa das Senden von 8 oder 10 Bitproben von 704 oder 720 Luminanz- und Chrominanzpixeln. 720 Luminanz- und Chrominanzwerte bei 8 Bit Auflösung und 30 Hz erfordert zum Beispiel 345,600 bps, während die durch diese Zeilen übermittelten Informationen nur 480 bps für Untertitel für Hörbehinderte und 6720 bps für North America Basic Teletext Specification darstellen. Während der Übergang zu digitalem Video fortschreitet, besteht der Bedarf an Beförderung und Rekonstruktion von VBI-Diensten weiter. Von digitalen Videoverteilungssystemen wird erwartet, dass sie VBI sowie auch aktives Video rekonstruieren, selbst wenn digitale Videokompressionstechniken eingesetzt werden. Folglich besteht ein Bedarf an Algorithmen, Syntax und Semantik spezifisch für die Kompression von VBI-Videozeilen, die eine effiziente und flexible Alternative zum Entwickeln von VBI-Wellenform spezifischer Benutzerdatensyntax und Semantik ermöglicht.

Es wäre von Vorteil, eine generische Transportsyntax und Semantik für digitale Fernsehdaten, die verschiedene Typen von VBI-Benutzerinformationen unterbringen können, die zu jeder beliebigen Zeit verwendet oder nicht verwendet werden können, bereitzustellen. Ein derartiges Schema würde die ökonomische Verwaltung von Bandbreite ermöglichen, während für den Transport von VBI-Benutzerinformationen Flexibilität bereitgestellt wird. Die vorliegende Erfindung stellt ein Transportverfahren und ein Gerät bereit, die die zuvor erwähnten Vorteile genießen.

ZUSAMMENFASSUNG DER ERFINDUNG

Gemäß der vorliegenden Erfindung wird ein Verfahren zum Kommunizieren, in einem Digitalfernsehdatenstrom, von Benutzerinformationen einer Art, die herkömmlich als Non-Return-to-Zero-Daten (NRZ-Daten) in einer Vertikalaustastlücken-Wellenform (VBI-Wellenform) eines analogen Fernsehsignals befördert werden, bereitgestellt. Für den Zweck dieser Offenbarung soll der Begriff „NRZ-Daten" andere Typen Daten umfassen, die als NRZ-Daten dargestellt werden können, wie etwa Manchester codierte Daten. Der Digitalfernsehdatenstrom transportiert Daten gemäß einer Konvention, die eine Benutzerdatensyntax umfasst. Derartige Konventionen umfassen ohne Begrenzung die digitalen MPEG-2-, ATSC- und DigiCipher II-Fernsehstandards. Gemäß dem Verfahren wird die herkömmliche Benutzerdatensyntax durch einen Zeilenindikatorwert ergänzt, der die horizontale(n) Fernsehzeile(n) relativ zu einer Basis-VBI-Rahmenzeile, in welcher die Benutzerinformationen als NRZ-Daten in einem Ensprechungs-Fernsehsignal befördert werden, spezifiziert. Die Benutzerdatensyntax wird durch zumindest einen Zeitnormalwert, der eine Beziehung zwischen einer Symbolrate der NRZ-Daten und einem Referenztaktgeber des Digitalfernsehdatenstroms definiert, ergänzt. Die Benutzerdatensyntax wird ferner durch zumindest einen Zählwert, der eine Menge an in dem Digitalfernsehdatenstrom beförderten Benutzerinformationen indiziert, ergänzt. Die Benutzerdatensyntax wird dann durch zumindest ein Benutzerinformationsfeld, das ausreicht, um die Menge an von dem zumindest einen Zählwert indizierten Benutzerinformationen zu befördern, ergänzt.

Die Benutzerdatensyntax kann ferner durch einen Startabtastwert ergänzt werden. Der Startabtastwert ist für einen Abtastpunkt indikativ, an dem ein Übergang in ein erstes Luminanz(Luma)-NRZ-Symbol darin besteht, in einem Entsprechungs-Fernsehsignal zu beginnen, das aus dem Digitalfernsehdatenstrom rekonstruiert wird.

Die Benutzerdatensyntax kann ferner durch einen ersten Amplitudenwert, der für eine Amplitude indikativ ist, bei der Luma-NRZ-Symbole in dem Entsprechungs-Fernsehsignal, das aus dem Digitalfernsehdatenstrom rekonstruiert wird, erscheinen sollen, ergänzt werden.

Die Benutzerdatensyntax kann ferner durch einen Impulsformwert, der für eine Impulsform indikativ ist, welche den Luma-NRZ-Symbolen in dem Entsprechungs-Fernsehsignal, das aus dem Digitalfernsehdatenstrom rekonstruiert wird, bereitgestellt werden soll, ergänzt werden. Die Benutzerdatensyntax kann des Weiteren durch eine Feldnummer, die für ein Fernsehfeld indikativ ist, in dem entsprechende VBI-Daten in das Entsprechungs-Fernsehsignal, das aus dem Digitalfernsehdatenstrom rekonstruiert wird, eingefügt werden sollen, ergänzt werden.

Die Benutzerdatensyntax kann vorteilhafterweise eine Vielzahl von Luma-NRZ-Konstruktionen überbringen. Jede Konstruktion befördert zugehörige Benutzerinformationen. In einer derartigen Ausführungsform wird die Benutzerdatensyntax durch einen Luma-NRZ-Zählwert, der für die Anzahl der Luma-NRZ-Kontruktionen, die auf den Luma-NRZ-Zählwert folgen, indikativ ist, ergänzt. Die Benutzerdatensyntax kann ebenfalls durch ein Datentypfeld, das spezifiziert, dass Luma-NRZ-Daten folgen, ergänzt werden.

Die Benutzerdatensyntax kann durch einen zweiten Amplitudenwert, der für einen zweiten Amplitudenpegel der Luma-NRZ-Symbole indikativ ist, ergänzt werden. Ein Prioritätswert kann in der Syntax bereitgestellt werden, um eine Priorität der Luma-NRZ-Konstruktionen zur Verwendung bei der Rekonstruktion des Entsprechungs-Fernsehsignals aus dem Digitalfernsehdatenstrom zu kennzeichnen.

Wie oben indiziert, wird die Benutzerdatensyntax durch einen Zeitnormalwert ergänzt. Dieser Wert kann einen Luma-NRZ-Symbol-Taktzunahmewert und einen Luma-NRZ-Modulwert beinhalten. Der Symbol-Taktgeberzunahme- und Modulwert stehen mit der NRZ-Symbolrate und dem Referenztaktgeber wie folgt in Beziehung:

Der Zählwert kann eine Wortzählung beinhalten, die eine ganze Zahl von darauf folgenden Luma-NRZ-Wörtern indiziert, und eine restliche Zählung, die eine Zahl von darauf folgenden Luma-NRZ-Bits, die insgesamt weniger als ein vollständiges NRZ-Wort betragen, indiziert. Die Syntax stellt dadurch eine effiziente Verwendung von Bandbreite bereit, indem sie ermöglicht, dass Reste von weniger als einem vollständigen NRZ-Wort kommuniziert werden können. Bei einer spezifischen Ausführungsform wie etwa einer MPEG-2- oder einer ATSC-Implementierung weisen die Luma-NRZ-Wörter jeweils eine Länge von 22 Bit auf, und das Verfahren beinhaltet den folgenden weiteren Schritt des Einfügens eines Markierungsbits nach jedem Luma-NRZ-Wort, um einem falschen MPEG-Startcode vorzubeugen.

Die Benutzerinformationen können gemäß der Benutzerdatensyntax als Luma-NRZ-Wörter und Luma-NRZ-Bits befördert werden. Jedes Luma-NRZ-Wort beinhaltet eine Reihung von Luma-NRZ-Symbolen, wobei das erste Bit einem ersten Luma-NRZ-Symbol entspricht, das auf einer Videozeile, von links nach rechts angezeigt, rekonstruiert werden soll. Jedes Luma-NRZ-Bit stellt ein Luma-NRZ-Symbol dar, das auf der Videozeile rekonstruiert werden soll. Die Luma-NRZ-Bits werden in der Reihenfolge bereitgestellt, in der ihre Symbole auf der Videozeile im Anschluss an aus beliebigen Luma-NRZ-Wörtern rekonstruierten Symbolen, von links nach rechts angezeigt, rekonstruiert werden sollen.

Ein Empfängergerät wird zum Decodieren aus einem Digitalfernsehdatenstrom von Benutzerinformationen einer Art, die herkömmlich als NRZ-Daten in einer Vertikalaustastlücken-Wellenform eines analogen Fernsehsignals befördert werden, bereitgestellt. Der Digitalfernsehdatenstrom transportiert Daten gemäß einer Konvention, die eine Benutzerdatensyntax umfasst. Ein Syntaxprozessor erfasst Informationen, die gemäß der Benutzerdatensyntax befördert werden. Derartige Informationen umfassen einen ersten Wert, der zumindest eine horizontale Fernsehzeile relativ zu der Basis-VBI-Rahmenzeile identifiziert, in der bestimmte Benutzerinformationen in einem Entsprechungs-Fernsehsignal befördert werden. Ein zweiter Wert identifiziert eine Beziehung zwischen einer NRZ-Symbolrate des Entsprechungs-Fernsehsignals und einem Digitalfernsehdaten-Referenztaktgeber. Ein dritter Wert indiziert eine Menge von Benutzerinformationen, die in dem Digitalfernsehdatenstrom befördert werden.

Die gemäß der Benutzerdatensyntax beförderten Informationen umfassen ebenfalls die zu übermittelnden aktuellen Benutzerinformationen. Ein Rekonstruktionsprozessor reagiert auf den ersten, zweiten und dritten Wert zum Formatieren der Benutzerinformationen zu VBI-NRZ-Daten. Ein VBI-Inserter zum Einfügen der VBI-NRZ-Daten in zum Beispiel ein digitales Fernsehsignal, von dem ein analoges Fernsehsignal rekonstruiert werden kann, wird bereitgestellt. Ein solches digitales Fernsehsignal kann alternativ direkt aufgezeichnet oder durch eine digitale Fernseheinrichtung wie etwa einen Videorecorder oder digitales Fernsehen reproduziert werden.

Bei der dargestellten Ausführungsform erfasst der Syntaxprozessor einen Startabtastwert, der für einen Abtastpunkt, an dem ein Übergang in ein erstes NRZ-Symbol in dem rekonstruierten Fernsehsignal beginnen soll, indikativ ist. Der VBI-Inserter reagiert auf den Startabtastwert zum Einfügen der NRZ-Daten in das rekonstruierte Fernsehsignal. Der Syntaxprozessor erfasst einen ersten Amplitudenwert, der für eine Amplitude indikativ ist, bei der NRZ-Symbole in dem rekonstruierten Fernsehsignal auftreten sollen. Der Rekonstruktionsprozessor reagiert auf den ersten Amplitudenwert, um die VBI-NRZ-Daten bei der durch den ersten Amplitudenwert indizierten Amplitude bereitzustellen.

Der Syntaxprozessor der dargestellten Ausführungsform erfasst einen Impulsformwert, der für eine Impulsform indikativ ist, die den NRZ-Symbolen in dem rekonstruierten Fernsehsignal bereitgestellt werden soll. Der Rekonstruktionsprozessor reagiert auf den Impulsformwert, um den VBI-NRZ-Daten diese indizierte Impulsform bereitzustellen.

Der Syntaxprozessor kann ferner eine Feldnummer erfassen, die für ein Fernsehfeld indikativ ist, in dem entsprechende VBI-Daten in das rekonstruierte Fernsehsignal eingefügt werden sollen. Der VBI-Inserter reagiert auf die Feldnummer, um die entsprechenden VBI-Daten in ein richtiges Feld einzufügen. Der Syntaxprozessor kann des Weiteren einen NRZ-Zählwert erfassen, der für eine Anzahl von zu verarbeitenden NRZ-Konstruktionen indikativ ist. Als Reaktion auf den NRZ-Zählwert werden die nachfolgenden NRZ-Konstruktionen verarbeitet.

Der Syntaxprozessor kann ferner ein Datentypfeld zum Orten von NRZ-Daten in dem Digitalfernsehdatenstrom erfassen. Ein Datenlängenfeld kann ebenfalls bereitgestellt werden, um ungestützten Datentypen zu ermöglichen, durch das Überspringen einer Menge von durch das Datenlängenfeld spezifizierten Daten übergangen zu werden.

Ein zweiter Amplitudenwert kann zur Erfassung durch den Syntaxprozessor bereitgestellt werden. Der zweite Amplitudenwert ist indikativ für eine zweite Amplitude, bei der NRZ-Symbole in dem rekonstruierten Fernsehsignal erscheinen sollen. Der Zweck des ersten und zweiten Amplitudenwertes ist es, den Luminanzpegel für die „0"- und „1"-Symbole zu steuern. Bei einer solchen Ausführungsform reagiert der Rekonstruktionsprozessor auf die ersten und zweiten Amplitudenwerte, um die VBI-NRZ-Daten an der ersten und zweiten Amplitude bereitzustellen.

Der Syntaxprozessor kann ebenfalls einen Prioritätswert erfassen, der eine Priorität der NRZ-Konstruktionen kennzeichnet. Die durch den Prioritätswert festgelegte Priorität ermöglicht das Unterbringen von Decodierern mit unterschiedlichen Fähigkeiten, wobei die individuellen Decodierer entscheiden, welche Zeilen auf der Basis einer zugeteilten Priorität rekonstruiert werden sollen, wenn sie nicht alle mit dem Bild gelieferten Zeilen rekonstruieren können. Der Rekonstruktionsprozessor reagiert auf den Prioritätswert zum Rekonstruieren der ausgewählten Zeilen.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

1 ist ein Blockdiagramm eines digitalen Videocodierers, der die vorliegende Erfindung inkorporiert;

2 ist ein Blockdiagramm eines Videodekompressionsprozessors, der die vorliegende Erfindung inkorporiert;

3 ist ein Blockdiagramm einer ersten Ausführungsform eines Pixelgenerators zum Erzeugen einer digitalen VBI-Wellenform aus Benutzerdaten, die in einem digitalen Videodatenstrom gemäß der vorliegenden Erfindung befördert werden;

4 ist ein Blockdiagramm einer zweiten Ausführungsform eines Pixelgenerators zum Erzeugen einer digitalen VBI-Wellenform aus Benutzerdaten, die in einem digitalen Videodatenstrom befördert werden, wenn die Impulsreaktionszeit des VBI-Übertragungsstandards größer ist als eine Symbolzeit; und

5 ist eine graphische Darstellung, die das Frequenzverhalten des Interpolators aus 4 darstellt.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNG

Die vorliegende Erfindung stellt ein bandbreiteneffizientes Verfahren und ein Gerät zur Verwendung eines Digitalfernsehdatenstroms zum Transportieren variabler Mengen unterschiedlicher Typen an Informationen bereit, die herkömmlich in dem VBI-Abschnitt eines analogen Fernsehsignals befördert werden. Die Informationen von Belang sind eine Teilmenge einer Art von Benutzerdaten, auf die als „Bildbenutzerdaten" Bezug genommen wird, um sie von „Sequenzbenutzerdaten" in einem MPEG-, ATSC- oder DigiCipher® II-Transportstrom zu unterscheiden. Diese Teilmenge, auf die hier als VBI-Benutzerinformationen Bezug genommen wird, beinhaltet Informationen wie etwa Closed-Caption-Daten (Untertitel für Hörbehinderte), abgetastete Videodaten, NABTS-, WST-, EBU-Daten und Nielsen AMOL-Daten. Jede dieser Kategorien von Bildbenutzerdaten wird jeden Tag aktualisiert. Die Bildbenutzerdaten werden in Abschnitten von aufeinander folgenden Videobildern transportiert, die VBI-Zeilen entsprechen. Jede VBI-Zeile wird durch 720 Acht-Bit-Luminanzproben und 720 Acht-Bit-Chrominanzproben vor dem Verarbeiten gemäß der vorliegenden Erfindung dargestellt.

Die vorliegende Erfindung resultierte aus einer Realisierung, dass die meisten der Standard-VBI-Wellenformen als Non-Return-to-Zero-Daten (NRZ-Daten) dargestellt werden können, die auf den Luminanzabschnitt eines Videosignals moduliert werden können. Derartige Wellenformen können durch ihre Impulsform, die Anzahl an Pixeln pro Symbol, das Symbol-Anstiegzeit-Verhältnis, die Startzeit der Wellenform innerhalb der Videozeile und ein anwendbares Videosystem (d. h. Videostandard) klassifiziert werden. Da keiner der Standards eine signifikante Zeile-zu-Zeile- oder Rahmen-zu-Rahmen-Korrelation von Daten spezifiziert, kann jede VBI-Zeile unabhängig von jeder anderen VBI-Zeile verarbeitet werden.

Die Spezifikationen der Impulsform ermöglichen des Weiteren die Kategorisierung der unterschiedlichen VBI-Wellenformen in Wellenformen, die eine Impulsform von weniger als einer Symbolzeit in der Dauer erfordern (wie etwa Nicht-Teletext-Wellenformen) und Wellenformen, die eine Impulsform von mehr als einer Symbolzeit erfordern (wie etwa Teletext-Wellenformen).

Die vorliegende Erfindung konzentriert sich auf die oben dargelegten Realisierungen bezüglich der verschiedenen unterschiedlichen VBI-Wellenformenformate, um eine Syntax für die Kommunikation von VBI-Daten in einem Digitalfernsehdatenstrom bereitzustellen. Die Erfindung konzentriert sich ferner auf diese Realisierungen, um eine einzelne Zustandsmaschine, die dazu fähig ist, die meisten der verschiedenen VBI-Wellenformen zu rekonstruieren, bereitzustellen. Die Zustandsmaschine ermöglicht den folgenden Parametern, programmierbar zu sein: der Feldnummer der bestimmten VBI-Leitung, der Zeilennummer der bestimmten VBI-Leitung, der durch den bestimmten VBI-Wellenform-Standard verwendeten Symbolrate, der Startabtastnummer des Standard-CCIR-601, der Anstiegzeit des Standards (Verhältnis des Symbols zur Übergangsdauer), dem CCIR-601-Wert des Standards für NRZ „0"- und „1"-Symbole, der Anzahl von Symbolen in der Wellenform des Standards, und dem Vektor von Werten der Symbole in der Wellenform der bestimmten VBI-Zeile. Wie vom Fachmann verstanden werden wird, ist „CCIR-601" ein Standard, der durch den internationalen beratenden Ausschuss für den Funkdienst zur Codierung und zur Filterung von digitalen Komponenten veröffentlicht wird.

Tabelle 1 fasst die Schlüsselattribute der bekannten VBI-Wellenform-Standards zusammen. Die aufgeführten Standards treffen entweder auf Videosysteme mit 525 Zeilen (NTSC und PAL/M) oder Videosysteme mit 625 Zeilen (PAL außer PAL/M) zu. Jeder Standard stellt irgendeinen Abschnitt der Wellenform als ein Zeitnormal und ein Syncmuster zum Zweck der Symbolsynchronisation bereit.

Außerdem stellt jeder eine feste Anzahl von Datenbits pro Videozeile bereit, wobei einige von diesen zum Zweck der Fehlererfassung bereitgestellt werden können. Jeder moduliert die Datenbits über eine Modulationstechnik auf die Videozeile und setzt verschiedene Amplituden ein, um unterschiedliche Datenbitwerte darzustellen. Schließlich setzt jede Wellenform eine nominale Symbolrate (manchmal mit Verweis auf die Videozeilenrate [fh]) und die Impuls(Symbol)Form (oft mit einer Anstiegzeit [tr] oder überhöhte Kosinusimpulsform mit einem bestimmten Wert von Alpha) ein. Die einzelnen Attribute bestimmter Standards werden in fetter Schrift hervorgehoben.

Tabelle 1: Zusammenfassung von VBI-Wellenform-Standards.

Indem die in Tabelle 1 dargelegten verschiedenen VBI-Wellenform-Standards verglichen werden, können verschiedene Schlüsse gezogen werden. Diese umfassen Folgendes:

  • 1. Alle der Wellenformen können als auf die Luminanz des Videosignals modulierte NRZ-Daten dargestellt werden, selbst EBU 3211 modulierte Bi-Phase-Symbole, die nominalen Luminanzwerte, die NRZ „0"- und „1"-Symbole darstellen, unterscheiden sich jedoch von Wellenform zu Wellenform.
  • 2. Die Spezifikationen der Impulsform polarisieren die Wellenformen in die, die eine Impulsform von weniger als einer Symbolzeit in der Dauer für die nicht-Teletext-Wellenformen und das Gegenteil für die Teletext-Wellenformen erfordern.
  • 3. Keiner der Standards spezifiziert eine signifikante Zeile-zu-Zeile- oder Rahmen-zu-Rahmen-Korrelation; folglich ist es vorteilhaft, jede VBI-Zeile unabhängig von jeder anderen VBI-Zeile zu handhaben.
  • 4. Die VITC-Synchronisierungsbits werden am besten als Datenbits gehandhabt.
  • 5. Die Anzahl von CCIR-601-Proben pro Symbol rangiert um einen Faktor von 13 über alle Wellenformen.
  • 6. Das Symbol-Anstiegzeit-Verhältnis rangiert von 1,5 bis 8,5 über alle Nicht-Teletext-Wellenformen.
  • 7. Die Symbolrate der Wellenformen rangiert um einen Faktor von 21.
  • 8. Die erforderliche Startprobe der Wellenformen relativ zu der ersten CCIR-601-Probe rangiert von 27 Proben vor der CCIR-601-Probe null zu 80 Proben nach der Probe null, mit einem Nennwert von 26 Proben nach der Probe null.

Hinsichtlich der obigen Schlussfolgerungen ist bestimmt worden, dass eine einzelne Zustandsmaschine kreiert werden kann, um alle dieser VBI-Wellenformen zu rekonstruieren, wenn die folgenden Parameter in der Zustandsmaschine programmierbar sind:

  • 1. Die Feldnummer der bestimmten VBI-Leitung,
  • 2. Die Zeilennummer der bestimmten VBI-Leitung,
  • 3. Die Symbolrate des Standards,
  • 4. Die CCIR-601-Startabtastnummer des Standards,
  • 5. Die Anstiegzeit des Standards (Symbol Übergangsdauer),
  • 6. Der CCIR-601-Wert des Standards für NRZ „0"- und „1"-Symbole,
  • 7. Die Anzahl der Symbole in der Wellenform des Standards,
  • 8. Der Vektor von Werten der Symbole in der bestimmten Wellenform der VBI-Zeile.

Eine Zustandsmaschine, die Programmierbarkeit der obigen Parameter zur Verwendung bei der Rekonstruktion von jeder der verschiedenen VBI-Wellenformen bereitstellt, wird unten in Verbindung mit 3 offenbart. Vor dem Erörtern der Zustandsmaschine wird die neuartige Syntax der vorliegenden Erfindung zusammen mit einer beispielhaften Ausführungsform einer Codier- und Decodierstruktur offenbart.

1 stellt in Form eines Blockdiagramms einen Codierer zum Verarbeiten roher digitaler Videodaten in einer Benutzerdatensyntax, auf die hier als „Luma-NRZ" Bezug genommen wird, bei der variable Mengen verschiedener Arten von VBI-Benutzerinformationen in einem Digitalfernsehdatenstrom kommuniziert werden, dar. Das rohe digitale Video, wie etwa Video, das dem Standard der Society of Motion Picture and Television Engineers (SMPTE) entspricht, wird über das Terminal 10 in einen seriellen Empfänger 12 eingegeben. Der serielle Empfänger bringt die Daten, die in einem parallelen Format eingegeben werden, in serielle Form. Die in serielle Form gebrachten Daten werden in einem Puffer 14, der ein herkömmliches FIFO-Register beinhalten kann, zwischengespeichert. Ein Videoanalysealgorithmus 16 interpretiert die Syntax der in serielle Form gebrachten Daten und extrahiert verschiedene Informationen, wie etwa das Identifizieren des Starts einer neuen Zeile, den Start eines neuen Rahmens und die rohen Luminanz- und Chrominanzdaten. Die Luminanz- und Chrominanzdaten werden in einen Demultiplexer 18 eingegeben, wo sie in Datenabschnitte getrennt werden, die Vertikalaustastlücken aufeinander folgender Videobilder (z. B. Zeilen 1–21 eines analogen Entsprechungs-NTSC-Fernsehsignals) und den aktiven Videoabschnitten dieser Rahmen entsprechen. Der Demultiplexer 18 bestimmt ebenfalls, ob die Synchronisierung des erlangten Datenstroms verloren worden ist, und wenn ja, gibt er ein „Synchronisationsverlust"-Signal an einen Videokompressionsprozessor 22 aus, der ebenfalls das zu komprimierende aktive Video empfängt. Der Videokompressionsprozessor ist ein im Fach wohl bekannter Typ, wie etwa in den U.S. Patenten 5,376,968; 5,235,419; 5,091,782 oder 5,068,724 beschrieben.

Es sei beachtet, dass einige Arten von Benutzerdaten, die als VBI-Daten klassifiziert werden, nicht in dem aktuellen VBI residieren. Das Programmieren von Lineup-Informationen, die von der A. C. Nielsen Company zur Marktforschung verwendet werden und auf die als „Automated Measurement of Lineup" (AMOL) Bezug genommen wird, werden zum Beispiel in die Zeile 22 von Feld 2 jedes Fernsehrahmens in dem National Television Systems Committee (NTSC)-Rundfunkstandard eingefügt. Die Zeile 22 ist eine aktive Videozeile, und folglich kann ein Decodierer mit der Verarbeitung von aktivem Video mit Zeile 23 anstatt Zeile 22 für NTSC-Signale beginnen. Innerhalb einer 30-Rahmen-Sequenz ist die AMOL-Zeile für jeden Rahmen typischerweise vorhanden, aber die Daten für die meisten Rahmen sind im Allgemeinen null. Um AMOL-Daten unterzubringen, wird angenommen, dass sich VBI zu Zeile 22 anstatt Zeile 21 erstreckt.

Die in den VBI-Abschnitten des Digitalvideoeingabesignals enthaltenen Daten werden von dem Demultiplexer 18 an Direktzugriffsspeicher (RAM) 20, die sowohl einen Luminanz-RAM als auch einen Chrominanz-RAM umfassen, ausgegeben. Die RAM speichern die Daten, bis sie durch einen Syntaxprozessor 24 benötigt werden, der die VBI-Benutzerinformationen extrahiert und eine Syntax baut, die das effiziente Transportieren der Informationen in den VBI-Abschnitten eines Digitalfernsehdatenstroms, der zu einem entsprechenden Decodierer, z. B. an einer Endbenutzerstelle kommuniziert werden soll, ermöglicht.

Die durch den Syntaxprozessor bereitgestellte Syntax wird in einem Anfangsblock-FIFO 28 gespeichert, das verwendet wird, um Transportanfangsblöcke für z. B. eine MPEG- oder DigiCipher® II-Implementierung des Digitalfernsehdatenstroms zu assemblieren. Das Anfangsblock-FIFO stellt die Syntaxinformationen einem Bitstellenverschieber 30 bereit, der den Anfangsblock mit dem komprimierten aktiven Video aus einem Videocodierer 26 kombiniert. Der Videocodierer 26 codiert das komprimierte Video aus dem Videokompressionsprozessor 22 auf eine wohl bekannte Weise unter Verwendung von zum Beispiel Huffman-Codierung, um Codewörter (CW), Codewortlängen (CL) und Datentags, die die codierten Informationen identifizieren, bereitzustellen. Die Ausgabe des Bitstellenverschiebers 30 ist ein Datenstrom, der das durch Anfangsblöcke, die die notwendigen Informationen enthalten, um das aktive Video zu decodieren, getrennte aktive Video enthält. Dieser Datenstrom ist in einem Videopuffer 32 gespeichert, der die Daten auf einer Bedarfsbasis einem Paketierer 34 bereitstellt. Der Paketierer ist eine herkömmliche Komponente, die die Daten in Transportpaketen gemäß einem Transportstromstandard wie etwa dem ATSC-, MPEG-2- oder DigiCipher®II-Digitalfernseh-Standard assembliert.

Die Funktionen des Syntaxprozessors 24, so weit sie für die vorliegende Erfindung relevant sind, werden unten unter Verwendung der formalen Grammatik, die durch die ATSC- und MPEG-Transportstandards verwendet wird, beschrieben. Diese Grammatik ist eine der C-Sprache ähnliche Syntax und ist ein Verfahren, das Bitfolgen, die eine kontinuierliche und möglicherweise eine variable Rate aufweisen, beschreibt, anstatt ein prozedurales Programm und seine Funktionen zu spezifizieren, wie in der Computersprache C. Die erste Spalte der Syntax enthält das Syntaxelement. Die zweite Spalte gibt die Länge des Syntaxelements in Bit an, und die dritte Spalte identifiziert den Syntaxtyp. Die Typen sind bslbf (bit string left-most bit first = zuerst das am weitesten links stehende Bit der Bitfolge) und uimsbf (unsigned integer most significant bit first = zuerst das höchstwertige Bit einer vorzeichenlosen Ganzzahl). Der Anfangsblock „user_data() {...}" indiziert, dass die Syntaxelemente innerhalb der geschweiften Klammern eine benannte Menge sind und irgendwo anders in der Syntax durch einfaches Verwenden der Kennzeichnung „user_data()" aufgerufen werden können. Ein bedingtes Auftreten von Bit-Strukturen kann mit den gewöhnlichen „wenn"-Tests indiziert werden. Die üblichen, in der C-Sprache wohl bekannten Vergleichsoperatoren sind auch verfügbar. Schleifenstrukturen sind möglich und verwenden die Standard-C-Schleifenanfangsblockkopfsyntax. Die Syntaxtabelle wird von einem Satz Semantik begleitet, der Definitionen für jedes vorher undefinierte Syntaxfeld bereitstellt und hinsichtlich ihrer Verwendung Beschränkungen auferlegt. Die folgende Bildbenutzerdatenbitstromsyntax (in der die schattierten Bereiche die Standard-ATSC-Benutzerdatensyntax darstellen und die nicht schattierten Bereiche die Syntax der vorliegenden Erfindung darstellen) und Bitstrom-Semantik stellen eine bevorzugte Ausführungsform der vorliegenden Erfindung dar.

Semantische Erweiterungen der Bildbenutzerdaten:

  • additional_data_type – Eine 8-Bit-Ganzzahl (Werte im Bereich [1:255]), die die Art der zusätzlichen Datenkonstruktionen, die auf das Feld folgen, indiziert. Dieses Feld soll den Wert 01 in Hexadezimal aufweisen, um zu indizieren, dass die zusätzlichen Daten Luma-NRZ-Daten sind.
  • additional_data_length – Eine vorzeichenlose 16-Bit-Ganzzahl (Werte im Bereich [0:65535]), die die Länge in Byte von zusätzlichen Datenkonstruktionen, die auf das Feld folgen, indiziert. Die Länge umfasst nicht das additional_data_length-Feld selbst, sondern umfasst das folgende additional_data für das gegebene additional_data_type, bis zu aber nicht einschließlich nachfolgenden additional_data eines beliebigen anderen additional_data_type.
  • luma_nrz_count – Eine Fünf-Bit-Ganzzahl (Werte im Bereich [0:31]), die die Anzahl von Luma-NRZ-Konstruktionen indiziert, die auf das Feld folgen. Alle derartigen Konstruktionen müssen in der vorgesehenen Zeilen- und Feld-Anzeigeordnung auftreten.
  • luma_nrz_priority – Eine Anzahl zwischen 0 und 3, die die Priorität von Konstruktionen bei der Rekonstruktion von Bildern indiziert, wobei unterschiedliche Pegel an Hardwaretauglichkeit existieren. Für Luma-NRZ-Konstruktionen kann eine fixierte Anzahl von Zeilen pro Anzeigefeld als Priorität Null gekennzeichnet werden.
  • field_number – Die Nummer des Felds, in Anzeigeordnung, von dem die VBI-Daten ursprünglich stammten, interpretiert in Tabelle 2.

Tabelle 2. Feldnummer für Bildbenutzerdaten.

  • line_offset – Eine Fünf-Bit-Ganzzahl (Werte im Bereich [1:31]), die den Versatz in Zeilen nennt, von dem die Luma-NRZ-Daten relativ zu der Basis-VBI-Rahmenzeile (Zeile 9 des {NTSC and PAL/M}-Felds 1 mit 525 Zeilen, Zeile 272 des Felds 2 mit 525 Zeilen, Zeile 5 des {All PAL außer PAL/M}-Felds 1 mit 625 Zeilen und Zeile 318 des Felds 2 mit 625 Zeilen entsprang, wie im CCIR Report 624-4 spezifiziert.
  • start_sample – Eine vorzeichenlose 9-Bit-Ganzzahl (Werte im Bereich [0:511]), was die Probe der rekonstruierten Luminanzzeile indiziert, an der der Übergang in das erste Luma-NRZ-Symbol starten soll. start_sample soll in den gleichen Einheiten sein wie CCIR 601-Proben und soll zu der ersten Probe der CCIR 601 rekonstruierten Rahmen relativ sein.
  • nrz_increment – Eine vorzeichenlose 6-Bit-Ganzzahl (Werte im Bereich [1:63]), die den Luma-NRZ-Symbol-Taktzunahmewert indiziert und Werte aufgreift, die zusammen mit dem nrz_modulus die Beziehung des Luma-NRZ-Symbol-Taktzunahmewerts zu einer 27 MHz-Referenz beschreibt. Siehe die Semantik des nrz_modulus für mehr Details.
  • nrz_modulus – Eine vorzeichenlose 10-Bit-Ganzzahl (Werte im Bereich [2:1023]), die den Luma-NRZ-Symbol-Taktzunahmewert indiziert und Werte aufgreift, die zusammen mit dem nrz_increment die Beziehung des Luma-NRZ-Symbol-Takts zu einer 27 MHz-Referenz beschreibt. Spezifischerweise stehen nrz_increment und nrz_modulus mit der Luma-NRZ-Symbolrate wie folgt in Beziehung:



    nrz_increment/nrz_modulus = Luma-NRZ-Symbolrate/system_clock_frequency



    wobei
  • system_clock_frequency in ISO/IEC 13818-1 als 27 MHz ±30 ppm spezifiziert wird, und der Wert von nrz_increment darf nrz_modulus_1 nicht übersteigen.
  • 0_amplitude – Eine vorzeichenlose 8-Bit-Ganzzahl (Werte im Bereich [1:254}), die die Amplitude indiziert, bei der Luma-NRZ-Symbole des Werts 0 in Einheiten einer Amplitude von CCIR 601 rekonstruierten Rahmen rekonstruiert werden sollen.
  • 1_amplitude – Eine vorzeichenlose 8-Bit-Ganzzahl (Werte im Bereich [1:254}), die die Amplitude indiziert, bei der Luma-NRZ-Symbole des Werts 1 in Einheiten einer Amplitude von CCIR 601 rekonstruierten Rahmen rekonstruiert werden sollen.
  • pulse_shape – Eine vorzeichenlose 2-Bit-Ganzzahl, die die Form der Impulse indiziert, die verwendet werden sollen, um diese Zeile von Luma-NRZ zu rekonstruieren. Die Bedeutung von pulse_shape wird in Tabelle 3 definiert.

Tabelle 3. Impulsform.

  • symbol_to_transition_ratio – Eine vorzeichenlose 8-Bit-Ganzzahl (Werte im Bereich [16:255]), die das Verhältnis der Dauer jedes Luma-NRZ-Symbols zu der Übergangsdauer jedes Symbols zwischen den durch 0_amplitude und 1_amplitude spezifizierten Amplituden indiziert und Einheiten von 2–4 (0,0625) aufweist. Dieses Feld beschreibt Symbole mit einem Symbol-zu-Übergang-Verhältnis im Bereich von 1,0 bis 15,9375.
  • nrz_alpha – Eine vorzeichenlose 5-Bit-Ganzzahl (Werte im Bereich [0:31]), die den Wert von Alpha für den Filter mit überhöhtem Kosinus indiziert, dessen Impulsform jedes Luma-NRZ-Symbol mit Einheiten von 2–5 (0,03125) beschreibt. Dieses Feld beschreibt Werte von Alpha von 0,03125 bis 1,0. Die Bedeutung von nrz_alpha wird in Tabelle 4 definiert.

Tabelle 4. NRZ Alpha.

  • word_count – Eine vorzeichenlose 5-Bit-Ganzzahl (Werte im Bereich [0:31]), die die Anzahl von marker_bit- und luma_nrz_word-Paaren, die diesem Feld folgen, indiziert.
  • luma_nrz_word – Eine 22-Bit-Reihung von Luma-NRZ-Symbolen, so dass das erste empfangene Bit der Wert des ersten Luma-NRZ-Symbols ist, das auf der Videozeile wie von links nach rechts angezeigt rekonstruiert wird. luma_nrz_words sollen in der Ordnung empfangen werden, dass ihre Symbole auf der Videozeile wie von links nach rechts angezeigt rekonstruiert werden.
  • remainder_count – Eine vorzeichenlose 5-Bit-Ganzzahl (Werte im Bereich [0:21]), die die Anzahl von luma_nrz_bits, die diesem Feld folgen, indiziert.
  • luma_nrz_bit – Ein einzelnes Bit, dass das Luma-NRZ-Symbol darstellt, das auf der Videozeile rekonstruiert werden soll. luma_nrz_bits sollen in der Ordnung empfangen werden, dass ihre Symbole auf der Videozeile im Anschluss an Symbole, die aus beliebigen luma_nrz_words, wie von links nach rechts angezeigt, rekonstruiert werden, rekonstruiert werden.

Die obige Syntax wird durch den in 1 dargestellten Syntaxprozessor 24 assembliert. Bei der bevorzugten Ausführungsform wird der Syntaxprozessor in Firmware implementiert. Nachdem die Syntax zu den digitalen Videodaten hinzugefügt worden ist, wird der resultierende Datenstrom paketiert und von dem Paketierer 34 ausgegeben, um den endgültigen Transportstrom zur Kommunikation einer Gesamtheit von Decodierern bereitzustellen.

2 ist ein Blockdiagramm eines Videodekompressionsprozessors (d. h. Decodierers) zum Verarbeiten eines empfangenen Datenstroms, der die oben detailliert beschriebene VBI-Benutzerdatensyntax enthält. Der Videodekompressionsprozessor (VDP) inkorporiert ein Verwaltungsprogramm des Speichers 130, das einen DRAM 122 adressiert, um Videodaten, die zur Rekonstruktion eines Fernsehprogramms an einem Empfänger notwendig sind, zu speichern und abzurufen. Der Prozessor mit der allgemeinen Kennzeichnung 120 ist ein Pipeline-Prozessor, der dafür ausgelegt ist, sowohl die Transportschicht (d. h. Steuer- und andere Nicht-Video-Informationen) als auch die Videoschicht des über das Terminal 110 eingegebenen komprimierten Bitstroms, die manchmal als die „Transportpaketschnittstelle" des Videoprozessors bezeichnet werden, zu decodieren.

Eine Benutzerprozessorschnittstelle, die zum Beispiel eine M-Bus-Steuerung 150 beinhalten kann, wird an dem Terminal 114 zur Steuerung des Videodatenprozessors bereitgestellt. Diese Schnittstelle konfiguriert verschiedene Register in Prozessor 120, wie im Fach wohl bekannt ist.

Über die Adressenleitungen 124 und die Datenleitungen 126 wird eine Schnittstelle zu dem DRAM 122 bereitgestellt. Bei dem in 2 dargestellten Beispiel weist der DRAM 122 einen Neun-Bit-Adressenport und einen Zweiunddreißig-Bit-Datenport auf.

Eine Videoausgabeschnittstelle 138 wird für das dekomprimierte rekonstruierte Video bereitgestellt, das zum Beispiel als gemultiplextes Luminanz-(Y-) und Chrominanz-(Cr-, Cb-)Signal gemäß dem Standard CCIR 656 mit acht Bit und siebenundzwanzig MHz ausgegeben werden kann.

Über das Terminal 162 kann eine Prüfschnittstelle einer herkömmlichen JTAG-Steuerung (Joint Test Action Group) 160 bereitgestellt werden. JTAG ist eine standardisierte Boundary-Scan-Methodologie, die für das Prüfen auf Leiterplattenebene zur Erfassung von Fehlern bei Gehäuse- und Leiterplattenverbindungen sowie internen Schaltungsanordnungen verwendet wird.

Über das Terminal 112 empfängt der Videodekompressionsprozessor 120 ein Taktsignal. Der Takt liefert Zeitsteuerungsinformationen, die z. B. verwendet werden, um einem Transportsyntaxanalysealgorithmus 132 zu ermöglichen, aus Transportpaketen, die in einem über das Terminal 110 eingegebenen paketierten Datenstrom enthalten sind, Zeitsteuerungsinformationen und Videoinformationen wiederherzustellen. Eine Erfassungs- und Fehlermanagementschaltung 134 benutzt eine Programmtaktreferenz (PCR) und einen Decodierungszeitstempel (DTS), der von einem Videosyntaxanalysealgorithmus 140 erfasst wird, um den Start der Bilddecodierung zu synchronisieren. Diese Schaltung stellt die Vertikalsynchronisation ein und liefert globale Synchronisation für alle Videodecodierungs- und Anzeigefunktionen.

Die Videoschicht wird in einem von dem Verwaltungsprogramm des Speichers 130 in dem DRAM 122 konfigurierten Eingabepuffer (FIFO) zwischengespeichert. Der Videosyntaxanalysealgorithmus 140 empfängt die aus dem DRAM-FIFO ausgegebenen komprimierten Videodaten über das Verwaltungsprogramm des Speichers 130 und trennt die Bewegungsvektorinformationen von den Koeffizienten, die die Videoinformationen beschreiben. Die Koeffizienten werden durch einen Huffman-Decodierer 152, einen inversen Quantisierer 154 und einen IDCT-Prozessor 156 (IDCT = inverse diskrete Cosinus-Transformation) verarbeitet.

Bewegungsvektoren werden wiederhergestellt und zum Adressieren zuvor decodierter Videobilder verwendet, die zum Rekonstruieren eines aktuellen Videobilds erforderlich sind. Insbesondere decodiert ein Bewegungsvektordecodierer 142 die von dem Videosyntaxanalysealgorithmus 140 empfangenen Bewegungsvektoren und leitet sie zu einem Prädiktionsadressengenerator 144 weiter. Der Prädiktionsadressengenerator stellt die Adresseninformationen bereit, die notwendig sind, um über das Verwaltungsprogramm des Speichers 130 die notwendigen Ankereinzelbilddaten (d. h. Innenbild (I = intraframe)-Daten oder Prädiktions (P)-Einzelbilddaten) abzurufen, um es dem Prädiktionsrechenprogramm 146 zu ermöglichen, ein Prädiktionssignal bereitzustellen, das zur Rekonstruktion eines aktuellen Bildblocks notwendig ist. Der Differenzdecodierer 148 kombiniert die Prädiktionsdaten mit den decodierten Koeffizientendaten, um dekomprimierte Videodaten bereitzustellen. Die dekomprimierten Daten werden über das Verwaltungsprogramm des Speichers 130 in angemessenen Puffern des DRAMs 122 gespeichert. Es versteht sich, dass die von dem Bewegungsvektordecodierer 142, dem Prädiktionsadressengenerator 144, dem Prädiktionsrechenprogramm 146, dem Differenzdecodierer 148, dem Huffman-Decodierer 152, dem inversen Quantisierer 154 und dem IDCT 156 ausgeführten Videodekompressionsprozesse im Allgemeinen herkömmlich sind und vom Fachmann gut verstanden werden.

Das Verwaltungsprogramm des Speichers 130 plant alle Aktivitäten an der DRAM-Adresse und den Datenbussen 124, 126 ein und adressiert den DRAM 122 effizient. Das Verwaltungsprogramm des Speichers stellt sicher, dass den Datenübertragungsanforderungen des Eingabe-FIFO-Abschnitts des DRAM 122, des Videosyntaxanalysealgorithmus 140 und der Videorekonstruktionsschaltung 136 (sowie des Prädiktionsrechenprogramms 146 und des Differenzdecodierers 148) genügt wird. Die Videorekonstruktionsschaltung 136 kalkuliert ein aktuelles Bild und verarbeitet die VBI-Benutzerdaten, um beliebige Benutzerdaten zur Ausgabe auf der Videoausgabeleitung 138 einzufügen. Die Videoausgabe 138 enthält alle der übertragenen VBI-Benutzerinformationen zusammen mit dem dekomprimierten aktiven Video in dem Originalformat, das dem in 1 dargestellten seriellen Empfänger 12 präsentiert wird.

Der DRAM 122 wird als ein externer Speicher dargestellt. Es versteht sich, dass bei zukünftigen Implementierungen und mit fortschreitender Speichertechnologie der DRAM 122 als interner Speicher in dem Videodekompressionsprozessor bereitgestellt werden kann. Der DRAM wird so abgebildet, dass er verschiedene Decodier- und Ausgabevideopuffer sowie einen Umlauf-FIFO-Puffer für den komprimierten eingegebenen Videobitstrom bereitstellt. Der DRAM kann ebenfalls zur Bereitstellung eines Testmusterpuffers, eines VITS-Puffers und eines Closed-Caption-Anzeigeumordnungspuffers sowie zur Speicherung verschiedener Bildstrukturdaten, die zur ordnungsgemäßen Anzeige der decodierten Videobilds notwendig sind, verwendet werden. Der DRAM kann über das Verwaltungsprogramm des Speichers 130 neu initialisiert werden, um nach Bedarf verschiedene Speicherabbilder bereitzustellen, wenn Variablen modifiziert werden, wie etwa PAL- oder NTSC-Video, acht- oder sechzehn-Mbit-Speicherkonfiguration, und ob B-Rahmen vorliegen.

Wie oben indiziert, teilt das Verwaltungsprogramm des Speichers 130 alle Aktivität auf den DRAM-Bussen ein, einschließlich der Datenübertragungsanforderungen des Eingabe-FIFO, des Videoanalysealgorithmus und der Videorekonstruktionsschaltung. Das Verwaltungsprogramm des Speichers führt außerdem auf herkömmliche Weise die erforderliche DRAM-Auffrischung durch. Zum Beispiel kann gleichzeitig dieselbe Reihe in jedem von zwei oder vier DRAMs aufgefrischt werden.

Wird ein paketierter Bitstrom, der komprimierte Videodaten enthält, in das Terminal 110 des Videodekompressionsprozessors 120 eingegeben, werden von den komprimierten Daten dargestellte Videobilder jeweils einzeln rekonstruiert. Zu Anfang muss ein vollständiger Rahmen Videodaten empfangen und in dem DRAM 122 gespeichert worden sein. Informationen für nachfolgende Videobilder können eine Teilmenge des vollständigen Videobilds beinhalten, die, wenn sie zu Prädiktionsdaten aus dem vorherigen Videobild (das in DRAM 122 gespeichert ist) hinzugefügt wird, zu der Rekonstruktion eines vollständigen Rahmens führt.

3 ist ein Blockdiagramm eines Pixelgenerators zum Erzeugen einer digitalen VBI-Wellenform aus Benutzerdaten, die in einem digitalen Videodatenstrom gemäß der vorliegenden Erfindung befördert werden. Der Wellenformgenerator ist Teil der Videorekonstruktionsschaltung 136 aus 2, und kann die verschiedenen Parameter für die in Tabelle 1 dargelegten AMOL-, VITC- und EBU VBI-Standards unterbringen. Jeder dieser VBI-Dienste weist eine entsprechende Anzahl von Pixeln pro Symbol auf. Die Untertitel für Hörbehinderte-, AMOL, VITC- und EBU-Dienste weisen Impulse mit einer Impulsreaktionszeit auf, die weniger als eine Symbolzeit ist, auf die hier als Einzelsymbolimpulsreaktion Bezug genommen wird. Die Teletext-Dienste weisen eine Multisymbolimpulsreaktion auf, wobei die Impulsreaktionszeit mehrere Symbole beträgt. Ein Wellenformgenerator für Dienste mit einer Multisymbolimpulsreaktion wird in 4 beschrieben.

Die Dienste mit Einzelsymbolimpulsreaktion weisen jeder eine entsprechende Anstiegzeit, Gesamtübergangszeit und Anzahl von Pixeln pro Übergang auf. Diese Informationen werden für jeden Diensttyp in Tabelle 5 zusammengefasst.

Tabelle 5. Charakteristiken des VBI-Diensts

Die Einzelsymbolimpulsreaktionkategorie des Diensts weist das Charakteristikum auf, dass es vier oder mehr Pixel bei CCIR 601 Abtastrate pro Symbol gibt. Wie aus Tabelle 5 ersichtlich ist, weisen Untertitel für Hörbehinderte die größte Anzahl an Pixeln pro Symbol, nämlich 27, auf. Für Einzelsymbolimpulsreaktionsdienste gibt es keine Überlappung von einem Symbol zu dem nächsten. Das Zeitverhalten des Symbols wird durch seinen Übergang und den vollständigen Amplitudenabschnitt charakterisiert.

Der Übergangsabschnitt eines Symbols kann als Teil des Dienstes heruntergeladen werden oder in einem Übergangsspeicher (ROM oder RAM), wie er im Übergangsgenerator 218 in 3 bereitgestellt wird, resident sein. Die Verwendung von ROM ist hinsichtlich Hardwarekomplexität und Kanaleffizienz effizienter. Ein Sin-Übergang funktioniert für alle verschiedenen VBI-Dienste.

An einem Decodierer in eine VBI-Wellenform einzufügende Daten werden über eine Symboleingabe 200 eingefügt und in ein FIFO 202 eingereiht. Die Daten werden in das VBI durch das Rückspielen der Symbole durch einen Pixelgenerator eingefügt. Der Pixelgenerator wird mit den hohen und niedrigen Pegeln versehen, um (0_amplitude und 1_amplitude) über das Terminal 201 einzufügen, die Rahmenzeilennummer, auf der die Daten (abgeleitet von field_number und line_offset) über Terminal 203 eingefügt werden, der Übergangstyp (abgeleitet von pulse_shape) über das Terminal 205, die Anzahl von einzufügenden Symbolen (abgeleitet von word_count und remainder_count) über das Terminal 207, nrz_modulus und nrz_increment über Terminal 209 bzw. 211, symbol_to_transition_ratio über Terminal 213 und die Startzeit des ersten Symbols (start_sample) über Terminal 215. All diese Informationen sind für den bestimmten Typ von einzufügenden VBI-Daten spezifisch, und werden über die oben definierte Syntax bereitgestellt. Die Videodaten, in die die VBI-Daten eingefügt werden sollen, werden über das Terminal 217 in den Wellenformgenerator eingegeben.

Die Videodaten werden zum Beispiel in einem herkömmlichen CCIR 656-Format bereitgestellt und sind an einen Multiplexer 254 gekoppelt. Der Multiplexer empfängt ebenfalls ein Ansteuerungssignal von einem Einfügungsfenstergenerator 248, der dem Multiplexer ermöglicht, VBI-Daten während eines Zeitfensters, das zum Beispiel 704 Pixel in der Länge beträgt, auszugeben.

Um VBI-Daten in das Video an der richtigen Stelle einzufügen, wird eine Zählung der Zeilen der Videodaten aufrecht erhalten und mit der gewünschten Zeile der Einfügung verglichen. Diese Funktion wird durch einen Zeilendetektor 244 und den Zeilenzeitgenerator 246, der die aktuellen Zeileninformationen von den Videodaten über das Terminal 217 empfängt, bereitgestellt. Der Zeilenzeitgenerator 246 wird durch den Zeilendetektor 244 ermöglicht, wenn die Zeile, in die VBI-Daten eingefügt werden sollen, durch den Zeilendetektor erfasst wird. Der Zeilenzeitgenerator hält dann die Übersicht über die Pixel für diese Videozeile, und stellt die Pixelzählung der Videozeile dem Einfügungsfenstergenerator 248 bereit, um das richtige Einfügungsfenster von z. B. 704 aktiven Pixeln bereitzustellen.

Bei Ankunft eines Nulldatums der korrekten Zeile signalisiert der Zeilenzeitgenerator 246 ebenfalls einen Startzeitdetektor (Zählvorrichtung) 214, der eine Rückwärtszählung für die Startpixelzeit, die durch die von der Syntax erhaltenen start_sample-Informationen diktiert wird, beginnt. Die Startpixelrückwärtszählvorrichtung 214 gibt einen Symboltaktgenerator 210 frei, der wiederum eine Symbolzählvorrichtung 212 frei macht.

Der Symboltaktgenerator 210 empfängt nrz_modulus und nrz_increment von der Syntax. Sobald der Symboltaktgenerator als Reaktion auf den Detektor 214 gestartet wird, wird die Symbolzeit durch das Zunehmen einer Zählvorrichtung durch die Zähler der Bruchsymbolzeit über der Pixelzeit erlangt. Das Modul der Zählvorrichtung ist der Nenner des Bruchs. Falls gewünscht, können der Zähler und der Nenner mit einer Konstante multipliziert werden, um die Implementierung der Hardware zu vereinfachen.

Der Symboltaktgenerator 210 gibt einen Symboltakt an das FIFO zum Takten der VBI-Daten heraus aus dem FIFO 202 aus. Es stellt ebenfalls den Bruch an Symbolzeit, den eine aktuelle Probe für einen unten beschriebenen Festwertmultiplikator der Übergangszeit 216 darstellt, bereit. Der Symboltaktgeber läuft, bis die Symbolzählvorrichtung 212 die Anzahl von Symbolen, spezifiziert durch word_count und remainder_count von der Syntax, zählt, wobei zu dieser Zeit ein Stopsignal erzeugt wird. Das Stopsignal macht ebenfalls das Schieberegister 206 in dem VBI-Datenpfad frei.

Die durch das Register 206 verschobenen VBI-Daten werden durch eine Übergangszeichenerfassungsschaltung 208 überwacht. Die Anwesenheit oder Abwesenheit eines Übergangs wird durch das Vergleichen des vorher übertragenen Symbols mit dem aktuellen zu übertragenden Symbol erfasst. Wenn sie gleich sind, wird der gleiche Wert erzeugt und übertragen. Wenn zwischen den zwei Symbolen ein Unterschied besteht, dann wird der Übergangsgenerator 218 ausgewählt, der zum Beispiel Festwertspeicher (ROM) oder Direktzugriffsspeicher (RAM) beinhalten kann.

Der Übergangsgenerator speichert Daten zum Erzeugen von mehreren Rampen, eine für jeden Übergangstyp, der gestützt wird. Die Rampen stellen die Übergänge für die VBI-Datenimpulse für die unterschiedlichen VBI-Standards dar. Die bestimmte für die aktuellen VBI-Daten ausgewählte Rampe wird durch den Übergangstyp bestimmt, der durch den pulse_value der Syntax ausgewählt wird und in den Übergangsgenerator 218 über das Terminal 205 eingegeben wird. Der Anfang und das Ende des Übergangs werden durch die Adressen diktiert, die von dem Festwertmultiplikator der Übergangszeit 216 in den Übergangsgenerator eingegeben werden, diese skaliert den Bruch an Symbolzeit gemäß des Verhältnisses des Symbols zur Übergangsdauer von Terminal 213 und dem nrz_modulus von Terminal 209. Der skalierte Bruch der Symbolzeit stellt die Position der Probe rechtzeitig innerhalb der Anstiegzeit des VBI-Datenimpulses dar. Der Übergangsprozess wird wiederholt, bis die Erfassungsschaltung 220 bestimmt, dass die Adresse den Bereich des Übergangsgenerators ROM oder RAM übersteigt, zu welcher Zeit das Symbol 100 Prozent seines Endwerts erreicht hat. Ein Ausgabemultiplexer (Selektor) 242 wählt dann den Endwert für den Strom und den Rest der Pixel des Symbols aus. Die Auswahllogik 222 steuert den Multiplexer 242 auf der Basis der ursprünglichen Erfassung eines Übergangs durch die Übergangserfassungsschaltung 224 und die Vervollständigung des Übergangs wie durch die Schaltung 220 bestimmt.

Eine Verweistabelle (LUT) 236 (z. B. in ROM gespeichert) konvertiert jedes Bit Datenausgabe von dem Schieberegister 206 in einen Acht-Bit-Pegel, der letztlich auf den richtigen Luminanzpegel für den bestimmten Typ von Benutzerdaten, die verarbeitet werden, skaliert wird. LUT 236 kann zum Beispiel eine binäre „0" in das Acht-Bit-Wort 00001111 und eine binäre „1" in das Acht-Bit-Wort 1110000 konvertieren. Dieses Abbilden ist willkürlich, und beliebige andere gewünschte Acht-Bit-Pegel können für die binäre „1" und „0" gewählt werden. Der Acht-Bit-Pegel von der Ausgabe von LUT 236 wird dem Multiplexer 242 bereitgestellt, der diesen Pegel zur Ausgabe auswählt, bis ein Übergang wie durch Auswahllogik 222 indiziert im Gang ist, in welchem Fall der Übergang von dem Übergangsgenerator 218 ausgegeben wird.

Die Datenstromausgabe von dem Multiplexer 242 wird dann als Reaktion auf die 0_amplitude- und 1_amplitude-Werte, die durch die Benutzerdatensyntax über das Terminal 201 überbracht werden, auf die erforderlichen Ausgabepegel skaliert. Ein Ausgabemultiplexer 254 fügt die resultierenden VBI-Daten auf dem Videostrom von Terminal 217 für das durch den Generator 248 bereitgestellte Einfügungsfenster ein. Das Einfügungsfenster entspricht der Dauer des aktiven Videos.

Mehrere VBI-Dienste können mit dem Generator aus 3 eingefügt werden. Eine zusätzliche Schaltungsanordnung ist notwendig, um die erforderlichen Variablen zu laden, um den Generator auf einer Zeile-für-Zeile-Basis laufen zu lassen. Die Daten werden in einer gemeinen FIFO eingereiht. Bei der gezeigten Implementierung laufen alle Takte bei 13,5 MHz, außer anders indiziert. Dies ist eine Hälfte des standardmäßigen MPEG-, ATSC- und DigiCipher-Taktgebers.

EBU 3217 entsprechende Daten weisen die Eigenschaft auf, dass die Übergangszeit etwas länger ist als die Symbolzeit. Dies kann durch das Auswählen einer Translation, die relativ zu dem gesamten Übergang eine zehn Prozent bis neunzig Prozent langsamere Zeit aufweist, bewältigt werden. Der spezifizierte Filter zur Wellenformung von EBU 3217-Daten ist Gauß transitional. Ein Gaußscher Übergang mit Fenster kann eine bessere Leistung aufweisen als ein Sin-Übergang.

Teletext-Dienste können auf eine ähnliche Weise wie für die in Verbindung mit 3 erörterten VBI-Dienste offenbart gestützt werden. Um Teletext zu unterstützen, muss der Wellenformgenerator eine Impulsreaktion handhaben, die wie oben angemerkt, größer als ein Symbol ist. Eine beispielhafte Implementierung eines derartigen VBI-Wellenformgenerators wird in 4 dargestellt.

Das VBI-Daten-FIFO 310, das Schieberegister 312, die Symbolzählvorrichtung 316, der Symboltaktgenerator 320, die Startzeiterfassungsschaltung 322, die Skalier- und Versatzschaltung 306, der Multiplexer (Selektor) 308, der Einfügungsfenstergenerator 322, die Zeilenerfassungsschaltung 330 und der Zeilenzeitgenerator 328 aus 4 sind äquivalent zu den Elementen mit ähnlichem Namen in 3. Um Multisymbol-Impulsreaktionen der Teletext-Dienste zu handhaben, die von 1,89 bis 2,36 Proben pro Symbol bei 13,5 MHz-Abtasten reichen können, werden ein Übertragungs(Tx)-Filter ROM 302 und ein Interpolationsfilter 314 bereitgestellt. Es versteht sich, dass der Filter 302 falls gewünscht ebenfalls im RAM implementiert werden kann, insbesondere, wenn die Impulsreaktion des gewünschten Formats heruntergeladen werden soll, statt lokal in dem ROM gespeichert zu werden. Beliebige derartige heruntergeladene Daten befinden sich an einer fixierten Anzahl von Proben pro Symbolrate. Der Interpolator wird verwendet, um Pixel einer Rate von 13,5 MHz zu erzeugen. Der Unterschied in der Rate ist die Zunahme des Interpolators.

Die einzufügenden Daten werden über das Terminal 303 in FIFO 310 eingereiht. Die Daten werden in das VBI durch das Rückspielen der Symbole durch den Pixelgenerator eingefügt. Der Pixelgenerator wird mit der Startzeit des ersten Symbolpixels über das Terminal 315 bereitgestellt, die Anzahl der Pixel pro Symbol (Zunahme/Modul) über die Terminals 311 und 309, die hohen und niedrigen Pegel (0_amplitude und 1_amplitude) zum Einfügen über das Terminal 300, die Impulsreaktion des Signalisierungssystems (Übergangstyp) über das Terminal 301, die Anzahl von einzufügenden Symbolen über das Terminal 307, und die Anzahl der Rahmen und Zeilen, auf denen die Daten eingefügt werden sollen, über das Terminal 305.

Die Eingabe von Videodaten an das Terminal 317 wird im CCIR 656-Format bereitgestellt. Die Zählung der Zeilen wird erfasst und mit der gewünschten Zeile der Einfügung in den Schaltungen 330, 328 und 322 verglichen. Bei Ankunft des Nulldatums der korrekten Zeile wird eine Rückwärtszählung für die Startpixelzeit in der Schaltung 322 gestartet, was den Symbolratentaktgenerator 320 zur richtigen Zeit ermöglicht. Der 704-Pixelfenstergenerator 332 wird durch den Zeilenzeitgenerator 328 freigegeben.

Wie bei dem Wellenformgenerator aus 3 wird Symbolzeit durch das Zunehmen einer Zählvorrichtung durch die Zähler des Bruchs „Symbolzeit/Pixelzeit" erlangt, wobei die Zunahme „INCR" der Zähler und das Modul der Zählvorrichtung der Nenner des Bruchs ist. Zusätzlich zum Empfangen des Moduls und der Zunahme über die Terminals 309 bzw. 311 empfängt der Symboltaktgenerator 320 den Systemtakt (z. B. 27 MHz) über das Terminal 313. Durch das Laufen lassen des Symboltaktgenerators bei z. B. 27 MHz anstatt 13,5 MHz wird ein doppelter Symbolratentakt erzeugt.

Die Eingabe zur Freigabe von FIFO 310 empfängt den Symboltakt aus einem Teiler 318, der die Ausgabe des Taktgenerators 320 durch zwei teilt. Dies ist notwendig, da der Symboltaktgenerator einen Taktgeber bei der doppelten Symbolrate aufweist. Sobald die spezifizierte Anzahl von Symbolen von dem FIFO ausgegeben worden ist, wird der Symboltakt für die aktuelle Fernsehzeile deaktiviert. Alle nachfolgenden Datensymbole werden auf den niedrigen (null) Zustand gezwungen. Diese Symbole sind keine Daten, sondern füllen den Rest des 704 Pixel-Fensters mit niedrigen Zustandsdaten.

Der Übertragungsfilter ROM 302 erzeugt zwei Proben pro Symbol. Das Übertragungsschieberegister wird mit Übertragungssymbolen bei der Symbolrate übertragen, wenn die Startzeit angefangen hat. Das Register wird bei Vervollständigung jeder Einfügung auf einem niedrigen Zustand initialisiert. Die Übertragungsdaten für die Dauer der Impulsreaktion werden von dem Schieberegister 312 auf den Übertragungs-ROM angewendet. Der ROM speichert eine Verweistabelle von finiten Impulsreaktionen (FIR), die im voraus gemäß bekannten Techniken berechnet werden. Durch das Speichern der Ergebnisse der FIR-Kalkulation im ROM ist es nicht notwendig, die FIR-Koeffizienten zu speichern, um die Ergebnisse zu kalkulieren. Die geeigneten FIR für den bestimmten Übergang, die in der VBI-Wellenform bereitgestellt werden sollen, werden aus der LUT ausgegeben, wenn der ROM durch den Übergangstyp über Terminal 301 adressiert wird.

Die Ausgabe des Übertragungsfilters wird einem interpolierenden Filter 314 über das Register 304 bereitgestellt. Der Interpolationsfilter konvertiert die 2 Proben pro Symbolrate-Daten in Proben von 13,5 MHz. Ein Beispiel eines geeigneten Interpolationsfilters wird durch die folgenden FIR-Koeffizienten beschrieben: A0 = &agr;&mgr;2 – &agr;&mgr; A1 = –&agr;&mgr;2 + (&agr; + 1)&mgr; A2 = –&agr;&mgr;2 + (&agr; – 1)&mgr; + 1 A3 = &agr;&mgr;2 – &agr;&mgr; &agr; wird als 0,5 definiert. &mgr; ist die Zeit für die Probe, um interpoliert zu werden. Das Frequenzverhalten 400 dieses Interpolators (Paralntr) und die Übertragungsimpulsreaktionen 402, 404, 406 und 408 für die verschiedenen Teletextstandards sowie den VideoCipher-Standard, der dem ursprünglichen Zessionar der vorliegenden Erfindung eigen ist, werden in 5 dargestellt. Es ist ersichtlich, dass der Interpolator klar das übertragene Frequenzverhalten beeinflusst. Dieser Fehler im Frequenzverhalten kann in dem Übertragungsfilter 302 korrigiert (vorverzerrt) werden, um dessen Auswirkung zu minimieren. Es ist ein Erfordernis, dass das Übertragungsspektrum und dessen Bilder vor der Interpolation gut gesteuert werden. Dies ist für die beschriebenen Datensignaltypen der Fall. Wenn die Pixelrate pro Symbol weniger als ungefähr 3 Proben pro Symbol beträgt, wäre eine größere Anzahl von Proben pro Symbol erforderlich.

Die an den Interpolator 314 bereitgestellten Daten sind zweimal die Symbolrate. Die aktuellen Übertragungen von Daten treten übereinstimmend mit dem 27 MHz-Tick auf. Die Ausgabe des Interpolators wird bei 13,5 MHz gelesen. Die Variable der Zeitinterpolation wird dem Filter bei der 13,5 MHz-Rate zugeführt. Ein Zeitgenerator 324 und ein Festwertmultiplikator 326 ermöglichen, dass die numerische Darstellung von &mgr; mit dem numerischen System der Hardware des Filters konsistent und unabhängig von dem aktuellen Modulwert ist.

Der Datenstrom muss auf die erforderlichen Ausgabepegel skaliert werden. Dies kann zum Beispiel mit einer Multiplikation und Addition pro bereitgestelltem Pixel durch die Skalier- und Versatzschaltung 306 erzielt werden. Der Ausgabemultiplexer 308 fügt die VBI-Daten von der Skalier- und Versatzschaltung 306 auf dem CCIR-Videostrom von Terminal 317 für das 704 Pixelfenster ein.

Es gibt verschiedene alternative Wege, die durch die Wellenformgeneratorschaltungen aus 3 und 4 bereitgestellten Funktionen zu implementieren, und die dargestellten spezifischen Ausführungsformen sollen auf keinen Fall einschränkend sein. Zum Beispiel können die Skalierung und der Versatz in dem Prozess früher als dargestellt vorgenommen werden. In der Ausführungsform aus 4 kann eine Vielfalt bekannter Interpolatoren verwendet werden. Des Weiteren können in der Multisymbol-Ausführungsform niedrigere Datenraten durch das Aufweisen von Impulsreaktionen mit mehr Proben pro Symbol gestützt werden. Alle der aktuellen Teletext-Standards werden durch zwei Proben pro Symbol gestützt.

Zusätzlich dazu kann M-Pegel Multilevel-Pulsamplitudenmodulation (PAM) unter Verwendung des Wellenformgenerators aus 4 gestützt werden. Bei derartigen Implementierungen würde es log base 2 von M Bits pro Symbol geben anstatt einem, das dem Übertragungsfilter ROM geliefert wird.

Es versteht sich nun, dass die vorliegende Erfindung ein Verfahren und ein Gerät zum Kommunizieren von Benutzerinformationen in einem Digitalfernsehdatenstrom bereitstellt. Die Benutzerinformationen sind ein Typ, der herkömmlich als NRZ-Daten in der Vertikalaustastlücke eines analogen Fernsehsignals befördert wird. Die Benutzerdaten werden in einer Benutzerdatensyntax transportiert, die durch verschiedene Felder ergänzt worden ist. Diese umfassen ein zusätzliches Datentypfeld, eine Luma-NRZ-Zählung und -Priorität, Feldnummer, Zeilenversatz, Startabtasten, Zunahme und Modul von NRZ, Amplitudenwerte, Impulsforminformationen und Wort- und Restzählungsinformationen, die sich auf die Benutzerdaten beziehen, die in der Form von Luma-Wörtern und Luma-NRZ-Bits befördert werden.

Obwohl die Erfindung in Verbindung mit einer bevorzugten Ausführungsform beschrieben worden ist, sollte es sich verstehen, dass zahlreiche Anpassungen und Abwandlungen daran vorgenommen werden können, ohne den Bereich der in den Ansprüchen dargelegten Erfindung zu verlassen.


Anspruch[de]
Ein Verfahren zum Kommunizieren, in einem Digitalfernsehdatenstrom, von Informationen einer Art, die herkömmlich als NRZ-Daten in einer Vertikalaustastlücken-Wellenform (VBI-Wellenform) eines analogen Fernsehsignals befördert werden, wobei der Digitalfernsehdatenstrom Daten gemäß einer Konvention transportiert, die eine Benutzerdatensyntax umfasst, wobei das Verfahren die folgenden Schritte beinhaltet:

Ergänzen der Benutzerdatensyntax durch einen Zeilenindikatorwert, der die horizontale(n) Fernsehzeile(n) relativ zu einer Basis-VBI-Rahmenzeile, in welcher die Benutzerinformationen als NRZ-Daten in einem Entsprechungs-Fernsehsignal befördert werden, spezifiziert;

Ergänzen der Benutzerdatensyntax durch zumindest einen Zeitnormalwert, der eine Beziehung zwischen einer Symbolrate der NRZ-Daten und einem Referenztaktgeber des Digitalfernsehdatenstroms definiert;

Ergänzen der Benutzerdatensyntax durch zumindest einen Zählwert, der eine Menge an in dem Digitalfernsehdatenstrom beförderten Benutzerinformationen indiziert; und

Ergänzen der Benutzerdatensyntax durch zumindest ein Benutzerinformationsfeld, das ausreicht, um die Menge an von dem zumindest einen Zählwert indizierten Benutzerinformationen zu befördern.
Verfahren gemäß Anspruch 1, das den folgenden weiteren Schritt beinhaltet:

Ergänzen der Benutzerdatensyntax durch einen Startabtastwert, der für einen Abtastpunkt indikativ ist, an dem ein Übergang in ein erstes Luma-NRZ-Symbol darin besteht, in einem Entsprechungs-Fernsehsignal zu beginnen, das aus dem Digitalfernsehdatenstrom rekonstruiert wird.
Verfahren gemäß Anspruch 1 oder 2, das den folgenden weiteren Schritt beinhaltet:

Ergänzen der Benutzerdatensyntax durch einen ersten Amplitudenwert, der für eine Amplitude indikativ ist, bei der Luma-NRZ-Symbole in dem Entsprechungs-Fernsehsignal, das aus dem Digitalfernsehdatenstrom rekonstruiert wird, erscheinen sollen.
Verfahren gemäß einem der vorhergehenden Ansprüche, das den folgenden weiteren Schritt beinhaltet:

Ergänzen der Benutzerdatensyntax durch einen Impulsformwert, der für eine Impulsform indikativ ist, welche den Luma-NRZ-Symbolen in dem Entsprechungs-Fernsehsignal, das aus dem Digitalfernsehdatenstrom rekonstruiert wird, bereitgestellt werden soll.
Verfahren gemäß einem der vorhergehenden Ansprüche, das den folgenden weiteren Schritt beinhaltet:

Ergänzen der Benutzerdatensyntax durch eine Feldnummer, die für ein Fernsehfeld indikativ ist, in dem entsprechende VBI-Daten in das Entsprechungs-Fernsehsignal, das aus dem Digitalfernsehdatenstrom rekonstruiert wird, eingefügt werden sollen.
Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die Benutzerdatensyntax eine Vielzahl von Luma-NRZ-Konstruktionen, die jeweils zugehörige Benutzerinformationen befördern, überbringen kann, das den folgenden weiteren Schritt beinhaltet:

Ergänzen der Benutzerdatensyntax durch einen Luma-NRZ-Zählwert, der für die Anzahl der Luma-NRZ-Kontruktionen, die auf den Luma-NRZ-Zählwert folgen, indikativ ist.
Verfahren gemäß einem der vorhergehenden Ansprüche, das den folgenden weiteren Schritt beinhaltet:

Ergänzen der Benutzerdatensyntax durch ein Datentypfeld, das spezifiziert, dass Luma-NRZ-Daten folgen.
Verfahren gemäß einem der Ansprüche 3 bis 7, das den folgenden weiteren Schritt beinhaltet:

Ergänzen der Benutzerdatensyntax durch einen zweiten Amplitudenwert, der für einen zweiten Amplitudenpegel der Luma-NRZ-Symbole indikativ ist.
Verfahren gemäß einem der Ansprüche 6 bis 8, das den folgenden weiteren Schritt beinhaltet:

Ergänzen der Benutzerdatensyntax durch einen Prioritätswert, der eine Priorität der Luma-NRZ-Konstruktionen zur Verwendung bei der Rekonstruktion des Entsprechungs-Fernsehsignals aus dem Digitalfernsehdatenstrom kennzeichnet.
Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der Zeitnormalwert einen Luma-NRZ-Symbol-Taktzunahmewert und einen Luma-NRZ-Modulwert beinhaltet, wobei der Symbol-Taktgeberzunahme- und Modulwert mit der NRZ-Symbolrate und dem Referenztaktgeber wie folgt in Beziehung stehen:
Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der Zählwert eine Wortzählung beinhaltet, die eine ganze Zahl von darauf folgenden Luma-NRZ-Wörtern indiziert, und eine restliche Zählung, die eine Zahl von darauf folgenden Luma-NRZ-Bits, die insgesamt weniger als ein vollständiges Luma-NRZ-Wort betragen, indiziert;

wobei die Syntax somit eine effiziente Verwendung von Bandbreite bereitstellt, indem sie ermöglicht, dass Reste von weniger als einem vollständigen NRZ-Wort kommuniziert werden können.
Verfahren gemäß Anspruch 11, wobei die Luma-NRZ-Wörter jeweils eine Länge von 22 Bit aufweisen, wobei das Verfahren den folgenden weiteren Schritt beinhaltet:

Einfügen eines Markierungsbits nach jedem Luma-NRZ-Wort, um einem falschen MPEG-Startcode vorzubeugen.
Verfahren gemäß einem der vorhergehenden Ansprüche, wobei:

die Benutzerinformationen gemäß der Benutzerdatensyntax als Luma-NRZ-Wörter und Luma-NRZ-Bits befördert werden;

jedes Luma-NRZ-Wort eine Reihung von Luma-NRZ-Symbolen beinhaltet, wobei das erste Bit einem ersten Luma-NRZ-Symbol entspricht, das auf einer Videozeile, von links nach rechts angezeigt, rekonstruiert werden soll; und

jedes Luma-NRZ-Bit ein Luma-NRZ-Symbol darstellt, das auf der Videozeile rekonstruiert werden soll;

die Luma-NRZ-Bits in der Reihenfolge bereitgestellt werden, in der ihre Symbole auf der Videozeile im Anschluss an aus beliebigen Luma-NRZ-Wörtern rekonstruierten Symbolen, von links nach rechts angezeigt, rekonstruiert werden sollen.
Verfahren gemäß einem der vorhergehenden Ansprüche, wobei:

die NRZ-Daten in einem Luminanz-Teil (Luma-Teil) der VBI-Wellenform befördert werden.
Ein Empfängergerät zum Decodieren, aus einem Digitalfernsehdatenstrom, von Benutzerinformationen einer Art, die herkömmlich als NRZ-Daten in einer Vertikalaustastlücken-Wellenform (VBI-Wellenform) eines analogen Fernsehsignals befördert werden, wobei der Digitalfernsehdatenstrom Daten gemäß einer Konvention transportiert, die eine Benutzerdatensyntax umfasst, wobei das Gerät Folgendes beinhaltet:

einen Syntaxprozessor zum Erfassen von Informationen, die gemäß der Benutzerdatensyntax befördert werden, wobei die Informationen Folgendes umfassen:

einen ersten Wert, der (eine) horizontale Fernsehzeile(n) relativ zu der Basis-VBI-Rahmenzeile identifiziert, in der bestimmte Benutzerinformationen in einem Entsprechungs-Fernsehsignal befördert werden,

einen zweiten Wert, der eine Beziehung zwischen einer NRZ-Symbolrate des Entsprechungs-Fernsehsignals und einem Digitalfernsehdaten-Referenztaktgeber identifiziert,

einen dritten Wert, der eine Menge von Benutzerinformationen, die in dem Digitalfernsehdatenstrom befördert werden, indiziert und die Benutzerinformationen;

einen Rekonstruktionsprozessor, der auf den ersten, zweiten und dritten Wert zum Formatieren der Benutzerinformationen zu VBI-NRZ-Daten reagiert; und

einen VBI-Inserter zum Einfügen der VBI-NRZ-Daten in ein Fernsehsignal, das aus dem Digitalfernsehdatenstrom rekonstruiert ist.
Gerät gemäß Anspruch 15, wobei:

der Syntaxprozessor einen Startabtastwert erfasst, der für einen Abtastpunkt, an dem ein Übergang in ein erstes NRZ-Symbol in dem rekonstruierten Fernsehsignal beginnen soll, indikativ ist; und

der VBI-Inserter auf den Startabtastwert zum Einfügen der NRZ-Daten in das rekonstruierte Fernsehsignal reagiert.
Gerät gemäß einem der Ansprüche 15 bis 16, wobei:

der Syntaxprozessor einen ersten Amplitudenwert erfasst, der für eine Amplitude indikativ ist, bei der NRZ-Symbole in dem rekonstruierten Fernsehsignal auftreten sollen; und

der Rekonstruktionsprozessor auf den ersten Amplitudenwert reagiert, um die VBI-NRZ-Daten bei dieser Amplitude bereitzustellen.
Gerät gemäß einem der Ansprüche 15 bis 17, wobei:

der Syntaxprozessor einen Impulsformwert erfasst, der für eine Impulsform indikativ ist, die den NRZ-Symbolen in dem rekonstruierten Fernsehsignal bereitgestellt werden soll; und

der Rekonstruktionsprozessor auf den Impulsformwert reagiert, um den VBI-NRZ-Daten diese Impulsform bereitzustellen.
Gerät gemäß einem der Ansprüche 15 bis 18, wobei:

der Syntaxprozessor eine Feldnummer erfasst, die für ein Fernsehfeld indikativ ist, in dem entsprechende VBI-Daten in das rekonstruierte Fernsehsignal eingefügt werden sollen; und

der VBI-Inserter auf die Feldnummer reagiert, um die entsprechenden VBI-Daten in ein richtiges Feld einzufügen.
Gerät gemäß einem der Ansprüche 15 bis 19, wobei:

der Syntaxprozessor einen NRZ-Zählwert, der für eine Anzahl von zu verarbeitenden NRZ-Konstruktionen indikativ ist, erfasst und auf diesen reagiert.
Gerät gemäß einem der Ansprüche 15 bis 20, wobei:

der Syntaxprozessor ein Datentypfeld zum Orten von NRZ-Daten in dem Digitalfernsehdatenstrom erfasst und auf dieses reagiert.
Gerät gemäß einem der Ansprüche 17 bis 21, wobei:

der Syntaxprozessor einen zweiten Amplitudenwert erfasst, der für eine zweite Amplitude indikativ ist, bei der NRZ-Symbole in dem rekonstruierten Fernsehsignal auftreten sollen; und

der Rekonstruktionsprozessor auf den ersten und zweiten Amplitudenwert reagiert, um die VBI-NRZ-Daten bei dieser ersten und zweiten Amplitude bereitzustellen.
Gerät gemäß einem der Ansprüche 15 bis 22, wobei:

der Syntaxprozessor einen Prioritätswert erfasst, der eine Priorität der NRZ-Konstruktionen kennzeichnet; und

der Rekonstruktionsprozessor auf den Prioritätswert zur Verwendung bei der Formatierung der Benutzerinformationen reagiert.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com