-
SACHGEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich allgemein auf Datenströme und insbesondere
auf ein Verfahren und eine Vorrichtung zur Feststellung schwacher
oder ungültiger
Signale in Datenströmen.
-
HINTERGRUND DER ERFINDUNG
-
Im
allgemeinen können
verschiedene Arten von Videostrom-Daten Schein-(dummy)- oder Hilfs-Vollbilder
zwischen gültigen
Vollbildern enthalten, die zuvor bekannte Verfahren zur Feststellung schwacher
oder ungültiger
Signale sprengen. Üblicherweise
vergleichen bekannte Feststellungsverfahren ein gültiges Video-Vollbild
mit einem aktuellen Eingangs-Vollbild, um ein schwaches oder ungültiges Vollbild
festzustellen. Eine typische bekannte Feststellungsvorrichtung zählt schwache
oder ungültige Vollbilder.
Wenn diese Zählung
einen festgesetzten Schwellenwert überschreitet, wird das Ereignis
eines schwachen Signals erzeugt, und eine Empfangsvorrichtung kann
entsprechend reagieren. Dieses Verfahren liefert jedoch falsche
positive Ereignisse von schwachen Signalen in Datenströmen, die
Schein- oder Hilfsdaten enthalten.
-
Zum
Beispiel können
einige Kodierer nur Schein-Vollbilder
hinzufügen
und die Zeitstempel für das
neue Timing verwalten, so dass der Dekodierer ein aktuelles Schein-Vollbild
als Vollbild feststellt, das zu überspringen
ist, und der Dekodierer wiederholt die Anzeige des alten (vorhergehenden)
Vollbildes. In einem solchen Fall sollte das Blind-Vollbild ohne weiteres
durch Überwachung
des Trickbetriebs-Kennzeichens in dem Header des paketisierten elementaren
Stroms (PES) festgestellt werden. Jedoch fügen einige Kodierer eine Diskontinuität zur Verwal tung
ihrer Zeitstempel ein, oder sie verwenden eine andere Art zur Kodierung
des Trickbetriebs-Stroms, so dass die entsprechenden Dekodierer
den Strom nicht wie gewünscht
dekodieren.
-
Als
relevanter Hintergrund beschreibt die am 30. Mai 2002 veröffentlichte
US-Patentanmeldung 2002/0064369 A1 von Harold Rhea McKee et al.
ein Verfahren zur Beseitigung von fehlenden Videoabschnitten oder
Videoabschnitten mit schlechter Qualität aus einer Videoaufzeichnung
durch Analyse von Synchronimpulsen, die dem der Aufzeichnung unterliegenden
Videosignal zugeordnet sind. Wenn das Videosignal fehlt oder von
schlechter Qualität
ist, wird die Aufzeichnung angehalten. Eine solche Anordnung liefert
jedoch kein Ausgangssignal, das das Vorhandensein entweder von gültigen oder
ungültigen
Vollbildern anzeigt.
-
Demzufolge
besteht ein Bedarf für
ein Verfahren und eine Vorrichtung zur Feststellung eines schwachen
Signals in Trickbetriebs-Operationen, das die oben genannten Probleme
des Standes der Technik überwindet.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
oben genannten Probleme sowie andere mit dem Stand der Technik verbundene
Probleme werden durch die vorliegende Erfindung gelöst, die auf
ein Verfahren und eine Vorrichtung zur Feststellung schwacher Signalzustände in komprimierten
Informationsströmen,
wie Trickbetriebs-MPEG-Strömen, gerichtet
ist.
-
Gemäß einem
Aspekt der vorliegenden Erfindung ist ein Verfahren zur Feststellung
von Signalzuständen
in kompri mierten Informationsströmen vorgesehen,
die sowohl alternative Betriebszustände als auch gültige Vollbilder
haben. Das Verfahren beginnt mit der Feststellung der alternativen
Betriebszustände
und der gültigen
Vollbilder in dem komprimierten Informationsstrom innerhalb eines
vordefinierten Suchfensters. Es wird eine Anzeige ausgegeben, dass
ein ungültiges
Signal festgestellt wird, wenn ein alternativer Betriebszustand
nicht mehr festgestellt wird und ein gültiges Vollbild während einer
vorbestimmten Zeitdauer nicht festgestellt worden ist.
-
Diese
und andere Aspekte, Merkmale und Vorteile der vorliegenden Erfindung
werden aus der folgenden ausführlichen
Beschreibung von bevorzugten Ausführungsbeispielen in Verbindung
mit den beigefügten
Zeichnungen ersichtlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Ablaufdiagramm, das ein Verfahren zur Feststellung eines schwachen
Signalzustandes für
Trickbetriebs-Operationen eines Motion-Picture-Experts-Group-(MPEG)-Videostroms anhand
eines Ausführungsbeispiels
der vorliegenden Erfindung veranschaulicht.
-
2 und 3 sind
Ablaufdiagramme, die das Verfahren von 1 anhand
eines Ausführungsbeispiels
der vorliegenden Erfindung weiter veranschaulichen; und
-
4 ist
ein Blockschaltbild, das eine Vorrichtung zur Feststellung schwacher
Signalzustände für Trickbetriebs-Operationen
eines Motion-Picture-Experts-Group-(MPEG)-Videostroms
gemäß einer
Aus führungsform
der vorliegenden Erfindung veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die
vorliegende Erfindung ist auf ein Verfahren und eine Vorrichtung
zur Feststellung schwacher Signalzustände für komprimierte Informationsströme und insbesondere
Trickbetriebs-MPEG-Ströme
gerichtet.
-
Aus
Veranschaulichungsgründen
wird nun eine kurze Beschreibung der vorliegenden Erfindung in Bezug
auf Trickbetriebs-Operationen in Motion-Picture-Experts-Group-(MPEG)-Strömen gegeben.
Es sei jedoch hervorgehoben, dass die vorliegende Erfindung nicht
auf Trickbetriebs-Operationen oder MPEG-Ströme beschränkt ist.
-
Bei
der Trickbetriebs-Operation hat ein Datenstrom ein gültiges Vollbild
während
einer Periode zusammen mit einigen Blind-Vollbildern und Diskontinuitäts-Einstellungen.
Somit kann gemäß der Erfindung
ein Suchfenster zur Feststellung eines gültigen Vollbildes verwendet
werden, denn es muss ein gültiges
Signal vorhanden sein, wenn sowohl ein Trickbetriebs-Kennzeichen
als auch ein gültiges
Vollbild in dem Suchfenster festgestellt wird. Somit kann das ungültige Vollbild
innerhalb des Fensters als gültiges Vollbild
gezählt
werden, selbst wenn es dort ein Dekodierproblem für dieses
Vollbild gibt. Ferner kann eine solche Lösung auch verwendet werden,
um einen schwachen Signalzustand oder einen Zustand ohne Signal
festzustellen, weil das Trickbetriebs-Kennzeichen verloren ist oder
ein gültiges
Vollbild während
einer bestimmten Zeitdauer, die sich auf einen schlechten Signalzustand
bezieht, nicht existiert.
-
Es
sei ferner bemerkt, dass die vorliegende Erfindung in verschiedenen
Formen von Hardware, Software, Firmware, Spezial-Prozessoren oder
einer Kombination davon ausgeführt
werden kann. Vorzugsweise wird die vorliegende Erfindung als Kombination
von Hardware und Software ausgeführt.
Ferner wird die Software vorzugsweise als ein Anwendungsprogramm
ausgeführt,
das greifbar in einer Programmspeicher-Vorrichtung verkörpert ist. Das Anwendungsprogramm
kann auf eine Maschine mit geeigneter Architektur hochgeladen und
von dieser ausgeführt
werden. Vorzugsweise wird die Maschine auf einer Computer-Plattform
ausgeführt,
die eine Hardware aufweist, wie ein oder mehrere Zentral-Verarbeitungseinheiten
(CPU), einen Speicher mit wahlfreiem Zugriff (RAM) und Eingangs/Ausgangs-(I/O)-Schnittstelle(n).
Die Computer-Plattform enthält
auch ein Betriebssystem und einen Mikro-Befehlskode. Die verschiedenen
hier beschriebenen Prozesse und Funktionen können entweder Teil des Mikro-Befehlskodes oder
Teil des Anwendungsprogramms (oder eine Kombination davon) sein,
das über
das Betriebssystem ausgeführt
wird. Außerdem können verschiedene
andere Peripheriegeräte
mit der Computer-Plattform verbunden sein, z. B. eine zusätzliche
Datenspeichervorrichtung oder ein Drucker.
-
Es
sei ferner bemerkt, dass sich, weil einige der in den Zeichnungen
dargestellten Systemkomponenten und Verfahrensschritte vorzugsweise
als Software ausgeführt
sind, die aktuellen Verbindungen zwischen den Systemkomponenten
(oder den Prozess-Schritten) je nach Art, in der die vorliegende Erfindung
programmiert wird, unterschiedlich sein können. Nach den hierin gegebenen
Lehren wird der auf dem Sachgebiet tätige Fachmann in der Lage sein,
diese und ähnliche
Ausführungen
oder Konfigurationen der vorliegenden Erfindung zu erwägen.
-
4 ist
ein Blockschaltbild, das eine Vorrichtung 400 zur Feststellung
schwacher Signalzustände
in einem komprimierten Informationsstrom und insbesondere für Trick betriegs-Operationen
eines Motion-Picture-Experts-Group-(MPEG)-Videostroms gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung veranschaulicht. Die Vorrichtung 400 enthält eine
Zentral-Verarbeitungseinheit (CPU) 405, eine Speichervorrichtung 410,
einen Transportstrom-Demultiplexer 415, einen paketisierten
Elementarstrom-(PES)-Puffer 420 für Videosignale, einen PES-Paketpuffer 425 für Audiosignale,
einen Video-Dekodierer 430 und einen Audio-Dekodierer 435.
Es sei bemerkt, dass die vorliegende Erfindung nicht allein auf
die Konfiguration und die Elemente von 4 beschränkt ist
und daher andere Konfigurationen und Elemente ausgeführt werden
können, ohne
den Geist der vorliegenden Erfindung zu verlassen.
-
1 ist
ein Ablaufdiagramm, das ein Verfahren zur Feststellung eines schwachen
Signalzustandes in einem komprimierten Informationsstrom und insbesondere
für Trickbetriebs-Operationen
eines Motion-Picture-Experts-Group-(MPEG)-Videostroms gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung veranschaulicht. 2 und 3 sind
Ablaufdiagramme gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung, die das Verfahren von 1 weiter
veranschaulichen. Dies bedeutet, dass 2 und 3 Unterprogramme
sind, die sich jeweils auf Fehlerverarbeitung und Verarbeitung von
gültigen
Signalen in dem Verfahren/Programm von 1 beziehen.
-
Vor
dem Beginn des Verfahrens werden alle Variablen auf ihren Anfangswert
gesetzt/zurückgesetzt.
Die Vollbild-Dekodierung
beginnt in Bezug auf eine Signalquelle während des Schritts 101.
Der Schritt 101 wird von dem Video-Dekodierer 430 und dem Audio-Dekodierer 435 von 4 ausgeführt. Das
Verfahren von 1 wird vorzugsweise bei digitalen
Eingangsquellen ausgeführt,
so dass bei analogem Eingang ein anderes Verfahren verwendet werden
muss, um schwache Signalzustände
festzustellen. Somit bestimmt die CPU 405 zunächst, ob
die Videoquelle eine digitale Videoquelle oder eine analoge Videoquelle
ist (Schritt 105). Wenn die Videoquelle eine digitale Videoquelle
ist, dann schreitet das Verfahren zum Schritt 110 weiter.
Andernfalls schreitet das Verfahren zum Schritt 195 weiter.
Beim Schritt 195 ist ein Detektor für schwache Signale (nicht dargestellt)
zur Verwendung für
die analoge Quelle vorgesehen, und dann ist das Verfahren beendet.
-
Beim
Schritt 110 wird eine Variable „Frame_count" fortgeschaltet.
Die hier verwendete Variable „Frame_count" liefert einen Wert,
der die Zahl von Vollbildern anzeigt, die gezählt worden sind, und dient
zur Feststellung einer bestimmten Zeitdauer. Bei dem hier vorgesehenen
Beispiel ist die von der Variablen „Frame_count" festgestellte Zeitdauer eine
(1) Sekunde für
eine 60 Hz-Eingangsquelle. Natürlich
kann die Zeitdauer in Abhängigkeit
von der Eingangsquelle variiert werden, weil die Vollbildrate entsprechend
der Eingangsquelle geändert
werden kann. Zum Beispiel wird 60 Hz-Material mit 60 Vollbildern
pro Sekunde angezeigt, während
29,97 Hz-Material mit 29,97 Vollbildern pro Sekunde angezeigt wird.
Die Variable Frame_count zählt
alle Vollbilder, wird aber beim Schritt 145 auf 0 zurückgesetzt,
wenn gefunden wird, dass der Wert von Frame_count während des
Vergleichs beim schritt 140 gleich einem Referenzwert FRAME_PER_SEC
ist.
-
Es
können
auch andere Lösungswege
für die Feststellung
verwendet werden. Zum Beispiel kann ein Timer (nicht dargestellt)
verwendet werden. In einem solchen Fall würde die Variable Frame_count auf
null (0) zurückgesetzt
werden, wenn der Timer aktiviert ist, und eine Timer-Unterbrechung
kann jede Sekunde angewendet werden, um eine Zeitdauer von einer
Sekunde festzustellen, oder es kann eine Sekunde von der Timer-Unterbrechung
an gezählt werden,
wenn das Timer-Unterbrechungs-Intervall kürzer ist
als eine Sekunde. Die Werte der Variablen Frame_count und der anderen
hier verwendeten Variablen werden in der Speichervorrichtung 410 gespeichert
und durch die CPU 405 (beide in 4) manipuliert
(z. B. erniedrigt, erhöht,
etc.).
-
Es
sei hervorgehoben, dass Kriterien für einen schwachen Signalzustand
aus den Informationen in dem Puffer 420 der 4 für den paketisierten elementaren
Strom (PES) abgeschätzt
werden können,
z. B. aus dem PES-Header und -Datenformat, oder aus dem MPEG-Header-Format,
und dass ein Sprung zur Fehlerverarbeitung (siehe Schritt 190 und 2)
gemacht wird, wenn es ein Problem in diesen Bereichen gibt, anstatt
die Verarbeitung eines gültigen
Signals auszuführen
(siehe Schritt 135 und 3).
-
Somit
wird von der CPU 405 bestimmt, ob es gültige PES-Daten in dem PES-Puffer 420 gibt,
indem vor-errichtete Kriterien mit den aktuellen PES-Daten in dem
PES-Puffer 420 verglichen werden (Schritt 115).
Wenn dies der Fall ist, schreitet das Verfahren zum Schritt 120 weiter.
Andernfalls schreitet das Verfahren zum Schritt 190 weiter.
Beim Schritt 190 wird die Fehlerverarbeitung ausgeführt, und
das Verfahren schreitet zum Schritt 140 weiter.
-
Beim
Schritt 120 wird bestimmt, ob der PES-Header gültig ist,
indem der PES-Header und entsprechende Zeitstempel mit vor-errichteten
Kriterien verglichen werden. Wenn dies der Fall ist, schreitet das
Verfahren zum Schritt 125 weiter. Andernfalls schreitet
das Verfahren zum Schritt 190 weiter. Beim Schritt 125 beginnt
die Dekodierung der nächsten Schicht,
d. h. des MPEG-Stroms durch den Video-Dekodierer 430 und den Audio-Dekodierer 435. Beim
Schritt 130 bestimmt die CPU 405, ob der MPEG-Header
und die Daten gültig
sind. Ist dies der Fall, schreitet das Verfahren zum Schritt 135 weiter. Andernfalls
schreitet das Verfahren zum Schritt 190 weiter. Beim Schritt 135 wird
die Verarbeitung des gültigen
Signals ausgeführt.
-
Beim
Schritt 140 bestimmt die CPU 405, ob die Variable
Frame_count gleich FRAME_PER_SEC ist. Sowohl Frame_count als auch FRAME_PER_SEC
können
als ganze Zahlen ausgeführt
werden, von denen jede eine bestimmte Zahl von Vollbildern innerhalb
einer gegebenen Zeitdauer darstellt. Vorzugsweise, aber nicht notwendigerweise,
wird die Variable Frame_count mit FRAME_PER_SEC mit einer Rate von
einmal pro Sekunde verglichen. Für
einen guten Signalzustand stellt FRAME_PER_SEC einen gültigen Vollbild-Zählwert dar,
was bedeutet, dass alle Vollbilder gültige Vollbilder sind. Wenn
dies der Fall ist (d. h. wenn Frame_count = FRAME_PER_SEC), dann schreitet
das Verfahren zum Schritt 145 weiter. Andernfalls ist das
Verfahren beendet. Beim Schritt 145 wird Frame_count auf
null zurückgesetzt.
-
Beim
Schritt 150 bestimmt die CPU 405, ob die Variable
Weak_signal_count" größer ist
als LIMIT_FRAME_COUNT. Ist dies der Fall, schreitet das Verfahren
zum Schritt 155 weiter. Andernfalls ist das Verfahren beendet.
Die Variable „Weak_signal_count" zeigt die Zahl der
schwachen Signalzustände
an, die in einer gegebenen Zeitdauer festgestellt werden. Die Variable „LIMIT_FRAME_COUNT" zeigt eine Schwellwertzahl (oder
einen Zählwert)
von Vollbildern innerhalb einer gegebenen Zeitdauer an. Es sei bemerkt,
dass die Variablen Weak_signal_count und LIMIT_FRAME_COUNT als ganze
Zahlen ausgeführt
werden können.
Beim Schritt 155 wird das Ereignis einer Feststellung eines
schwachen Signals durch die CPU 405 erzeugt, und das Verfahren
ist beendet.
-
In 2,
die die Fehlerverarbeitung betrifft (Schritt 190 in 1),
bestimmt die CPU 405, ob ein alternativer Betriebszustand
(z. B. ein Trickbetriebs-Kennzeichen)
aktuell festgestellt wird (Schritt 205). Ist dies der Fall,
schreiter das Unterprogramm zum Schritt 210 weiter. Wenn
andernfalls ein Trickbetrieb aktuell nicht festgestellt wird (d.
h. der Datenstrom wird als in normalem Betrieb befindlich festgestellt),
dann wird der Fehler einem gegebenenfalls schwachen Signal zugeordnet,
und das Unterprogramm schreitet zum Schritt 220 weiter
(wo die Zunahme des Wertes von Weak_signal_count die Wahrscheinlichkeit
erhöht,
dass das Ereignis eines schwachen Signals erzeugt wird).
-
Beim
Schritt 210 wird die Variable WaitGoodSignalCount erniedrigt.
Die Variable WaitGoodSignalCount kann als ganze Zahl ausgeführt werden,
die eine bestimmte, in Sekunden gemessene Zeitdauer oder einen Bruchteil
oder ein Vielfaches davon darstellt. Beim Schritt 215 wird
von der CPU 405 bestimmt, ob WaitGoodSignalCount gleich
null ist (d. h. ob das Prüffenster
abgelaufen ist). Ist dies der Fall (WaitGoodSignalCount = 0), dann
schreitet das Verfahren zum Schritt 220 weiter. Andernfalls
ist das Unterprogramm beendet. Beim Schritt 220 wird Weak_signal_count
erhöht,
und das Unterprogramm ist beendet.
-
Gemäß 3,
die die Verarbeitung des gültigen
Signals betrifft (Schritt 135 in 1), erfolgt eine
Prüfung,
ob aktuell ein Trickbetrieb festgestellt wird (Schritt 305).
Trifft dies zu, schreitet das Unterprogramm zum Schritt 310 weiter.
Andernfalls ist das Unterprogramm beendet. Beim Schritt 310 wird
die Variable WaitGoodSignalCount auf den Anfangswert des Referenzwertes
INIT_WAIT_VALUE gesetzt, und das Unterprogramm ist beendet. Es sei
bemerkt, dass INIT_WAIT_VALUE als ganze Zahl ausge führt werden
kann, die eine bestimmte, in Sekunden gemessene Zeitdauer oder einen
Bruchteil oder ein Vielfaches davon darstellt. Der Anfangswert INIT_WAIT_VALUE
entscheidet die Fenstergröße zur Feststellung
des nächsten
gültigen
Signals. Wenn somit der Datenstrom in einer ausgeprägten Betriebsart
ist, aber nicht auf Trickbetrieb begrenzt ist, dann wird der Zählwert (WaitGoodSignalCount) kontinuierlich
zurückgestellt,
um ein falsches positives schwaches Signalereignis zu vermeiden.
Dies ist im Gegensatz zu den Fehlerverarbeitungsschritten (siehe 2)
zu setzen, bei denen WaitGoodSignalCount vermindert wird (Schritt 210)
und ein aktives Vollbild nicht als ungültig markiert wird, bis die
folgenden Bedingungen erfüllt
sind: ein gültiges
Vollbild wurde zuvor festgestellt und WaitGoodSignalCount erreicht
null.
-
Obwohl
hier Ausführungsbeispiele
mit Bezugnahme auf die beigefügten
Zeichnungen beschrieben wurden, ist zu verstehen, dass die vorliegende
Erfindung nicht auf diese genauen Ausführungsformen beschränkt ist
und verschiedene andere Änderungen
und Abwandlungen von dem Fachmann vorgenommen werden können. Alle
solchen Änderungen
und Abwandlungen sollen unter den Schutzumfang der Erfindung fallen,
die in den beigefügten
Ansprüchen
definiert ist.