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:
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.