-
HINTERGRUND
-
Technisches Gebiet
-
Die vorliegende Technik betrifft einen Decodierer, einen Codierer, ein Computerprogramm und ein Verfahren.
-
Stand der Technik
-
Die hier bereitgestellte Beschreibung des „Stands der Technik“ dient zum allgemeinen Präsentieren des Kontexts der Offenbarung. Arbeiten der hier benannten Erfinder, soweit sie im Abschnitt über den Stand der Technik beschrieben werden, sowie Aspekte der Beschreibung, die sich zum Zeitpunkt der Einreichung anderweitig nicht als Stand der Technik qualifizieren, werden weder ausdrücklich noch implizit als Stand der Technik gegenüber der vorliegenden Technik zugelassen.
-
Es ist bekannt, Untertitel entweder als Text oder als Bitmaps zu übertragen. Im Fall von Bitmaps wird der Mechanismus zum Übertragen dieser Untertitel in [1] dargelegt. Bei diesem Standard werden die Bitmaps jedoch als Abtastung des verschachtelten Typs übertragen. Auf der Übertragungsseite muss deshalb, wenn die Bitmaps progressiv abgetastet werden, die Übertragungsseite die ungeraden und geraden Zeilen in zwei getrennte Datenblöcke zum Führen in dem Objekt_Daten_Segment gemäß [1] heraustrennen. Ähnlich müssen im Decodierer die ungeraden und geraden Zeilen von Untertitel-Bitmappixeldaten aus dem Objekt_Daten_Segment, das gemäß [1] gesendet wird, extrahiert und in einem Scan des progressiven Typs zur Anzeige neu kombiniert werden. Es gibt natürlich viele Situationen, in denen immer noch die Abtastung des verschachtelten Typs auftritt, und für Vorwärtskompatibilität von Vorrichtungen ist es wünschenswert, Untertitel-Bitmaps unter Verwendung des in [1] dargelegten Rahmens als progressive Abtastung zu übertragen.
-
Eine Aufgabe der Offenbarung ist die Behandlung dieses Problems.
-
KURZFASSUNG
-
Gemäß Ausführungsformen der Offenbarung wird eine Untertitel-Codierungsvorrichtung zum Übertragen eines Bitmap-Untertitels zur Einfügung in ein Bild unter Verwendung einer Abtastung des progressiven Typs bereitgestellt, die eine Steuerung umfasst, ausgelegt zum Angeben in einem Verschachtelungs-Untertitelsystem, das eine obere Teilbildblocklänge null ist; und Bereitstellen des Bitmap-Untertitels in einem unteren Teilbild des Verschachtelungs-Untertitelsystems.
-
Andere Merkmale und Ausführungsformen können im Allgemeinen wie in den folgenden angehängten Ansprüchen geschrieben werden.
-
Die obigen Absätze wurden zur allgemeinen Einleitung bereitgestellt und sollen den Schutzumfang der folgenden Ansprüche nicht beschränken. Die beschriebenen Ausführungsformen werden zusammen mit weiteren Vorteilen am besten durch Bezugnahme auf die folgende ausführliche Beschreibung in Verbindung mit den beigefügten Zeichnungen verständlich.
-
Figurenliste
-
Ein vollständigeres Verständnis der Offenbarung und vieler ihrer einhergehenden Vorteile wird ohne weiteres erhalten, wenn diese unter Bezugnahme auf die folgende ausführliche Beschreibung in Verbindung mit den beigefügten Zeichnungen besser verständlich wird. Es zeigen:
- 1 einen Fernsehempfänger 100 gemäß Ausführungsformen der vorliegenden Offenbarung;
- 2 eine Fernsehübertragungsvorrichtung 200 gemäß Ausführungsformen der vorliegenden Offenbarung;
- 3 eine schematische Darstellung des Prozesses 300 der Untertitel-Bitmapcodierung, -führung und -decodierung gemäß der in [1] dargelegten Untertitelungs-Spezifikation;
- 4 eine schematische Darstellung des bekannten Untertitel-Codierungsprozesses 400 mit Abtastung des verschachtelten Typs;
- 5 die Syntax des Objekt_Daten_Segment bei Verwendung der Abtastung des verschachtelten Typs;
- 6 eine schematische Darstellung eines Untertitel-Codierungsprozesses 600 mit Abtastung des progressiven Typs gemäß Ausführungsformen der Offenbarung;
- 7 die Objekt_Daten_Segment-Struktur 700 gemäß Ausführungsformen der Offenbarung;
- 8 ein Flussidagramm 800 eines in dem Untertitel-Codierer 210 ausgeführten Prozesses gemäß Ausführungsformen der Offenbarung; und
- 9 ein Flussidagramm 900 eines in dem Untertitel-Decodierer 110 ausgeführten Prozesses gemäß Ausführungsformen der Offenbarung.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Nunmehr mit Bezug auf die Zeichnungen in denen in den mehreren Ansichten gleiche Bezugszahlen identische oder entsprechende Teile bezeichnen.
-
1 zeigt einen Fernsehempfänger 100 gemäß Ausführungsformen der vorliegenden Offenbarung. Der Fernsehempfänger 100 kann eine Set-Top-Box sein, die terrestrisches Fernsehen, Kabelfernsehen oder Satellitenfernsehen empfängt, oder kann eine Vorrichtung sein, die Fernsehdienste über eine Datenverbindung empfängt, wie etwa eine Breitband-Internetverbindung, oder über ein Mobilkommunikationsnetz. Der Fernsehempfänger 100 kann in eine Fernsehanzeigevorrichtung oder einen optischen Disk-Leser, wie etwa einen Blu-Ray- oder DVD-Player, integriert sein. Als Alternative kann der Fernsehempfänger in eine Spielkonsole, einen Personal Computer oder eine beliebige Art von geeigneter Vorrichtung integriert sein. Der Fernsehempfänger kann die Form einer Softwareanwendung annehmen, die auf einer in der Hand gehaltenen Vorrichtung oder auf beliebigen der oben erwähnten Vorrichtungstypen ausgeführt wird.
-
Der Betrieb des Fernsehempfängers 100 wird durch eine Steuerung 105 gesteuert. Die Steuerung 105 kann die Form von Steuerungsschaltkreisen annehmen, die typischerweise aus Halbleitermaterial bestehen und die unter der Kontrolle von als computerlesbarer Code realisierter Computersoftware laufen. Dieser Code kann in der Steuerung 105 oder an einer anderen Stelle in dem Fernsehempfänger 100 gespeichert sein. In diesem spezifischen Beispiel wird die Computersoftware in dem Speichermedium 125 gespeichert, das mit der Steuerung 105 verbunden ist. Das Speichermedium 125 kann aus einer beliebigen Art geeigneter Medien gebildet sein, wie etwa Halbleiterspeicherung oder magnetische oder optische lesbare Medien. Es können auch andere Daten, wie etwa Benutzerprofilinformationen, Anwendungsdaten und Inhalt, auf dem Speichermedium 125 gespeichert werden.
-
Außerdem ist ein Fernsehdecodierer 120 mit der Steuerung 105 verbunden. Der Fernsehdecodierer 120 kann die Form von Kommunikationsschaltkreisen annehmen, die dafür ausgelegt sind, Fernsehsignale zu empfangen, die unter Verwendung des DVB-Standardsatzes (Digital Video Broadcasting) codiert sind. Bei Ausführungsformen können die codierten Fernsehsignale im Multicast- oder Unicast-Modus über eine terrestrische Verbindung, eine Kabelverbindung, eine Satellitenverbindung, eine Breitband-Internetverbindung oder über ein Mobilfunk-(Mobiltelefon-)Netz ausgestrahlt oder abgeliefert werden.
-
Der Fernsehdecodierer 120 ist mit einer Antenne 130 verbunden, die das Empfangen dieser Fernsehsignale erlaubt. Die Antenne 130 kann die Form einer Yagi- oder Antenne des Log-periodischen Typs oder einer Satellitenschüssel, eines Kabel-Headend oder einer beliebigen Art von geeigneter Empfangsvorrichtung annehmen. Bei einigen Fernsehdecodierer-Vorrichtungsausführungsformen nimmt die Antenne die Form eines Modems an, das Fernsehsignale aus einer Kabelverbindung, zum Beispiel einer Breitband-Internetverbindung, empfängt.
-
Die Steuerung 105 ist auch mit einem Benutzereingabemodul 135 verbunden. Das Benutzereingabemodul 135 kann eine Fernbedienung oder -steuerung, ein Touchscreen, ein Stift, eine Tastatur, eine Maus, ein Gestenerkennungssystem oder eine beliebige Art von Einrichtung sein, die dafür geeignet ist, es dem Benutzer zu erlauben, den Betrieb des Fernsehempfängers 100 zu steuern.
-
Die Steuerung 105 ist auch mit einem Benutzerausgabemodul 115 verbunden. Das Benutzerausgabemodul 115 kann eine Anzeige (in die der Fernsehempfänger integriert oder mit der er verbunden ist), Wearable-Technologie wie eine Smartwatch oder Smart-Brille oder eine beliebige Art von Vorrichtung sein, die dafür geeignet ist, es dem Benutzer zu erlauben, die Fernsehausgabe des Fernsehempfängers 100 zu empfangen.
-
In der Steuerung 105 befindet sich ein Untertitel-Decodierer 110, der in die Steuerung 105 integriert oder von dieser getrennt sein kann. Der Betrieb des Untertitel-Decodierers 110 wird durch die Steuerung 105 gesteuert, und seine Funktionsweise wird später beschrieben. Der Untertitel-Decodierer 110 kann wie die Steuerung 105 als Schaltkreise realisiert werden und kann durch auf dem Speichermedium 125 gespeicherte Software gesteuert werden.
-
2 zeigt eine Fernsehübertragungsvorrichtung 200 gemäß Ausführungsformen der vorliegenden Offenbarung. Die Fernsehübertragungsvorrichtung 200 kann ein Ablieferungssystem sein, das terrestrisches Fernsehen, Kabelfernsehen oder Satellitenfernsehen überträgt.
-
Der Betrieb der Fernsehübertragungsvorrichtung 200 wird durch eine Steuerung 205 gesteuert. Die Steuerung 205 kann die Form von Steuerungsschaltkreisen annehmen, die typischerweise aus Halbleitermaterial bestehen und die unter der Kontrolle von als computerlesbarer Code realisierter Computersoftware laufen. Dieser Code kann in der Steuerung 205 oder an einer anderen Stelle in der Fernsehübertragungsvorrichtung 200 gespeichert sein. In diesem spezifischen Beispiel ist die Computersoftware in dem Speichermedium 225 gespeichert, das mit der Steuerung 205 verbunden ist. Das Speichermedium 225 kann aus einer beliebigen Art geeigneter Medien gebildet sein, wie etwa Halbleiterspeicherung oder magnetische oder optische lesbare Medien. Es können auch andere Daten, wie etwa Benutzerprofilinformationen, Anwendungsdaten und Inhalt, auf dem Speichermedium 225 gespeichert werden.
-
Außerdem ist ein Fernsehcodierer 220 mit der Steuerung 205 verbunden. Der Fernsehcodierer 220 kann die Form von Kommunikationsschaltkreisen annehmen, die dafür ausgelegt sind, Fernsehsignale zu übertragen, die unter Verwendung des DVB-Standards (Digital Video Broadcasting) codiert sind. Bei Ausführungsformen können die codierten Fernsehsignale über eine terrestrische Verbindung, eine Kabelverbindung, eine Satellitenverbindung, eine Breitband-Internetverbindung oder über ein Mobilfunk-(Mobiltelefon-)Netz abgeliefert werden.
-
Der Fernsehcodierer 220 ist mit einer Antenne 230 verbunden, die das Übertragen oder Ausstrahlen dieser Fernsehsignale erlaubt. Für auf Drahtleitungen basierende Ablieferungssysteme wird die Antenne durch ein Modem, einen Switch, einen Server oder ein Inhaltsablieferungsnetz ersetzt.
-
Die Steuerung 205 ist auch mit einem Benutzereingabemodul 235 verbunden. Das Benutzereingabemodul 235 kann eine Fernbedienung oder -steuerung, ein Touchscreen, ein Stift, eine Tastatur, eine Maus, ein Gestenerkennungssystem oder eine beliebige Art von Einrichtung sein, die geeignet ist, es dem Benutzer zu erlauben, den Betrieb der Fernsehübertragungsvorrichtung 200 zu steuern.
-
Die Steuerung 205 ist auch mit einem Benutzerausgabemodul 215 verbunden. Das Benutzerausgabemodul 215 kann eine Anzeige (in die der Fernsehempfänger integriert oder mit der er verbunden ist), und Wearable-Technologie, wie etwa eine Smartwatch oder Smart-Brillen, oder eine beliebige Art von Vorrichtung sein, die dafür geeignet ist, es dem Benutzer zu erlauben, die Fernsehausgabe der Fernsehübertragungsvorrichtung 200 zu betrachten.
-
In der Steuerung 205 befindet sich ein Untertitel-Codierer 210, der in die Steuerung 205 integriert oder von dieser getrennt sein kann. Der Betrieb des Untertitel-Codierers 210 wird durch die Steuerung 205 gesteuert, und seine Funktionsweise wird später beschrieben. Der Untertitel-Codierer 210 kann wie die Steuerung 205 als Schaltkreise realisiert werden und kann durch auf dem Speichermedium 225 gespeicherte Software gesteuert werden.
-
3 zeigt eine schematische Darstellung des Prozesses 300 der Untertitel-Bitmapcodierung, -führung und -decodierung gemäß der in [1] dargelegten Untertitelungsspezifikation. Um Zweifel zu vermeiden, wird der Gegenstand von [1] hier durch Bezugnahme aufgenommen.
-
Der Prozess 300 weist eine Untertitel-Bitmap 305 auf, die dem Fernsehinhalt zu überlagern ist. In dem abgebildeten Beispiel ist die Bitmap eine grafische Darstellung des Texts „Das hat sie gesagt“. Die Bitmap kann natürlich eine beliebige grafische Darstellung sein, wie etwa andere Wörter, Bilder, Logos oder dergleichen. Die Bitmap 305 wird in den Untertitel-Codierer 210 von 2 geleitet. Die Bitmap wird in dem Untertitel-Codierer 210 codiert. In dem bekannten System codiert der Untertitel-Codierer die Bitmap zu einer Codierung mit Abtastung des Verschachtelungstyps. Bei Ausführungsformen der Offenbarung codiert der Untertitel-Codierer 210 die Bitmap jedoch direkt zu einer Codierung mit Abtastung des progressiven Typs, wie später erläutert werden wird.
-
Der Fernsehinhalt wird mit der Untertitel-Bitmap gemultiplext und dann in Block 310 zu dem Fernsehempfänger 100 übertragen oder ausgestrahlt. Bei einigen Ausführungsformen werden die Untertitel-Bitmaps in ihrer codierten Form getrennt von dem Fernsehinhalt abgeliefert, zum Beispiel über eine Internetverbindung, und in dem Fernsehempfänger 100 mit dem Fernsehinhalt neu kombiniert und synchronisiert. Der Fernsehinhalt wird in dem Fernsehempfänger 100 empfangen und decodiert und die Untertitel-Bitmap wird durch den Untertitel-Decodierer 110 decodiert. In dem bekannten System wird die Codierung mit Abtastung des Verschachtelungstyps decodiert, und wenn die Anzeige eine Anzeige des progressiven Typs ist, muss der Fernsehempfänger 100 eine geeignete Transformation von der Abtastung des verschachtelten Typs zu der progressiven Abtastung durchführen. Bei Ausführungsformen der vorliegenden Offenbarung empfängt der Untertitel-Decodierer 110 jedoch die in einer Codierung mit Scan des progressiven Typs codierte Untertitel-Bitmap und somit ist dieser weitere Transformationsschritt in dem Fernsehempfänger 100 nicht erforderlich. Der Fernsehinhalt einschließlich der Untertitel-Bitmap wird dann in Schritt 315 angezeigt.
-
4 zeigt eine schematische Darstellung des bekannten Untertitel-Codierungsprozesses 400 mit Abtastung des verschachtelten Typs. Die Untertitel-Bitmap 305 wird in ein oberes Teilbild 405 und ein unteres Teilbild 410 aufgeteilt. In dem oberen Teilbild 405 werden die ungeradzahligen Pixelzeilen codiert, und in dem unteren Teilbild werden die geradzahligen Pixelzeilen codiert. 4 zeigt die Untertitel-Bitmap-Eingangsdaten als eine Reihe von Zeilen, die die Form der Untertitel-Bitmap imitieren. Dies dient lediglich der Zweckmäßigkeit, da bekannt ist, dass jeder Pixeldaten-Subblock eine zusammenhängende Reihe von Bytewerten ist, ohne Abgrenzung gemäß der Form des Bitmap-Untertitels. Diese Zeilen von Pixeldaten werden dann gemäß dem bekannten Verfahren in [1] bei 415 lauflängencodiert und in dem Objekt_Daten_Segment des DVB-Standards, dargelegt in [1] geführt, wobei lauflängencodierte Pixeldaten jedes Teilbilds als zwei getrennte Teilbilder in den jeweiligen Subblöcken geführt werden. Die Untertitel-Bitmaps können auch ohne den Schritt des Anwendens von Lauflängencodierung oder ähnlicher einfacher Komprimierungstechniken an Empfänger abgeliefert werden.
-
5 zeigt die Syntax des Objekt_Daten_Segment bei Verwendung der Abtastung des verschachtelten Typs. Es ist ersichtlich, dass die Blocklänge des oberen Teilbilds in oberes_Teilbild_Daten_Block_Länge 505 und die Blocklänge des unteren Teilbilds in unteres_Teilbild_Daten_Block_Länge 510 identifiziert sind. Außerdem gibt es ein reserviertes Bit 510, das in dem bekannten Objekt_Daten_Segment nicht vergeben ist.
-
In dieser bekannten Syntax werden deshalb selbst Untertitel-Bitmaps mit progressiver Abtastung zum Führen in der Objekt_Daten_Segment-Struktur als Bitmaps mit verschachtelter Abtastung vorverarbeitet und als Bitmaps mit Abtastung des verschachtelten Typs übertragen. Der Fernsehempfänger 100 muss dann die Bitmaps mit Abtastung des verschachtelten Typs decodieren und sie zur Anzeige in Bitmaps mit Abtastung des progressiven Typs transformieren.
-
6 zeigt eine schematische Darstellung eines Untertitel-Codierungsprozesses 600 mit Abtastung des progressiven Typs gemäß Ausführungsformen der Offenbarung. Die Untertitel-Bitmap 305 wird zur Abtastung des progressiven Typs in Zeilen von Pixeldaten aufgeteilt. 6 zeigt die Untertitel-Bitmap-Eingangsdaten als eine Reihe von Zeilen, die die Form der Untertitel-Bitmap imitieren. Dies dient der Zweckmäßigkeit, weil es bekannt ist, dass jeder Pixeldaten-Subblock eine zusammenhängende Reihe von Byte-Werten ist, ohne Abgrenzung gemäß der Form des Bitmap-Untertitels. Diese Zeilen von Pixeldaten werden dann gemäß dem bekannten Verfahren in [1] bei 610 lauflängencodiert und in dem unteren Teilbild des Objekt_Daten_Segment bei 615 geführt.
-
Damit der Untertitel-Decodierer 110 versteht, dass die empfangene Untertitel-Bitmap eine Abtastung des progressiven Typs ist, wird oberes_Teilbild_Block_Länge auf 0 (null) gesetzt. Anders ausgedrückt ist der Wert von oberes_Teilbild_Block_Länge 0x0000. Die unteres_Teilbild_Daten_Block_Länge wird dann auf die Bitmap-Größe gesetzt, und der gesamte Inhalt der Bitmap im Progressiv-Abtastungsformat wird in dem unteren Teilbild gesendet.
-
Obwohl 6 zeigt, dass die Untertitel-Bitmap in dem unteren Teilbild gesendet wird, wird natürlich in Betracht gezogen, dass die Untertitel-Bitmap im oberen Teilbild gesendet werden kann. In diesem Fall wird die Untertitel-Bitmap 305 wieder zur Abtastung des progressiven Typs in Zeilen von Pixeldaten aufgeteilt. Diese Zeilen von Pixeldaten werden jedoch dann in dem oberen Teilbild des Objekt_Daten_Segment codiert.
-
Damit der Untertitel-Decodierer 110 versteht, dass die empfangene Untertitel-Bitmap eine Abtastung des progressiven Typs ist, wird das reservierte Bit 510 umdefiniert, um zu signalisieren, dass das Objektdatensegment einen Bitmap-Untertitel mit progressiver Abtastung führt. Der Grund dafür besteht darin, dass [1] bereits die Option umfasst, unteres_Teilbild_Block_Länge auf den Wert null zu setzen. In dem bekannten Objektdatensegment bedeutet Setzen von unteres_Teilbild_Block_Länge auf 0 (null), dass die oberen Teilbildpixeldaten für das untere Teilbild gültig sind und somit effektiv die Pixeldaten des oberen Teilbilds im unteren Teilbild wiederholen.
-
Falls der Wert von unteres_Teilbild_Block_Länge 0x0000 ist, muss deshalb das reservierte Bit zu einem progressive Abtastung Bitmap-Bit wechseln, wie mit Bezug auf 7 erläutert werden wird. Obwohl Definieren von oberes_Teilbild_Block_Länge als 0x0000 (null) ausreichen würde, um die Abtastung des progressiven Typs und dass die Untertitel-Bitmap im unteren Teilbild enthalten ist, anzugeben, kann natürlich das progressive Abtastung Bitmap-Bit auch verwendet werden, wenn die Untertitel-Bitmap in dem unteren Teilbild gesendet wird.
-
Weiter mit Bezug auf die Erläuterung der im oberen Teilbild gesendeten Untertitel-Bitmap wird dann oberes_Teilbild_Daten_Block_Länge auf die lauflängencodierte Bitmap-Größe gesetzt und der gesamte Inhalt der lauflängencodierten Bitmap im Format der progressiven Abtastung wird dann im oberen Teilbild gesendet.
-
7 zeigt die Objekt_Daten_Segment-Struktur 700 gemäß Ausführungsformen der Offenbarung. In der Objekt_Daten_Segment-Struktur 700 gemäß Ausführungsformen der Offenbarung wird das reservierte Bit von 5 in ein progressive_Abtastung_Bitmap-Bit 705 umgeändert.
-
Das progressive Abtastung Bitmap-Bit kann folgendermaßen definiert werden.
-
Bitmap mit progressiver Abtastung: Wenn es auf „1“ gesetzt ist, entsprechen die in dem oberen Teilbild-Pixeldaten-Subblock enthaltenen Pixeldaten einer progressiv abgetasteten Bitmap und in dem unteren Teilbild-Pixeldaten-Subblock sind keine Daten enthalten, so dass das Feld unteres_Teilbild_Daten_Block_Länge auf den Wert „0x0000“ gesetzt werden soll. In diesem Fall gilt der zuvor definierte Fall von unteres_Teilbild_Daten_Block_Länge, das den Wert „0x0000“ enthält, was bedeutet, dass untere Teilbild-Pixeldaten dieselben wie obere Teilbild-Pixeldaten sind, nicht. Wenn progressive_Abtastung_Bitmap auf „0“ gesetzt ist, soll die Untertitel-Bitmap aus oberen und unteren Teilbildern bestehen und wenn keine Pixeldaten in dem unteren Teilbild gesendet werden, d.h. unteres_Teilbild_Daten_Block_Länge „0x0000“ gesetzt ist, sollen die Daten für das obere Teilbild auch für das untere Teilbild gültig sein.
-
8 zeigt ein Flussdiagramm 800 eines in dem Untertitel-Codierer 210 ausgeführten Prozesses. Der Prozess 800 beginnt im Schritt 805. Die Untertitel-Bitmap wird dann in Schritt 810 erhalten. In Schritt 815 wird bestimmt, ob die Untertitel-Bitmap eine Abtastung des verschachtelten Typs sein soll, der Prozess schreitet auf bekannte Weise voran und endet in Schritt 820. Wenn die Untertitel-Bitmap jedoch Abtastung des progressiven Typs sein soll, geht der Prozess zu Schritt 825 über.
-
In Schritt 825 wird bestimmt, ob die Untertitel-Bitmap im oberen Teilbild oder unteren Teilbild geführt werden soll. Wenn die Untertitel-Bitmap im unteren Teilbild geführt werden soll, wird oberes_Teilbild_Block_Länge in den Objektsegmentdaten auf 0x0000 gesetzt, und unteres_Teilbild_Daten_Block_Länge wird auf die Bitmap-Größe gesetzt. Gegebenenfalls kann auch das progressive Abtastung Bitmap-Bit gesetzt werden. Die Untertitel-Bitmap wird dann in einer Abtastung des progressiven Typs im unteren Teilbild geführt.
-
Wenn die Untertitel-Bitmap im oberen Teilbild geführt werden soll, wird unteres_Teilbild_Block_Länge in den Objektsegmentdaten auf 0x0000 gesetzt, und oberes_Teilbild_Daten_Block_Länge wird auf die Bitmap-Größe gesetzt. In diesem Fall wird das progressive_Abtastung_Bitmap-Bit auch gesetzt. Die Untertitel-Bitmap wird dann in einer Abtastung des progressiven Typs im oberen Teilbild geführt.
-
Der Prozess endet in Schritt 830, wenn die Untertitel-Bitmap gesendet wird.
-
9 zeigt ein Flussdiagramm 900 eines in dem Untertitel-Decodierer 110 ausgeführten Prozesses. Der Prozess beginnt in Schritt 905. Der Fernsehempfänger 100 empfängt das codierte Fernsehsignal. Dieses wird in Schritt 910 empfangen und decodiert.
-
Der Untertitel-Decodierer 110 identifiziert dann in Schritt 915, ob der Untertitel in einer Abtastung des progressiven oder verschachtelten Typs geführt wird.
-
Um zu bestimmen, dass die Untertitel-Bitmap als eine Abtastung des progressiven Typs gesendet wird, identifiziert der Untertitel-Decodierer 110, ob oberes_Teilbild_Block_Länge auf 0x000 gesetzt ist und unteres_Teilbild_Block_Länge auf einen von null verschiedenen Wert gesetzt ist. In diesem Fall kann der Untertitel-Decodierer 110 gegebenenfalls auch identifizieren, ob das progressive_Abtastung_Bitmap-Bit gesetzt ist. In diesem Fall weiß der Untertitel-Decodierer 110, dass die Untertitel-Bitmap eine Abtastung des progressiven Typs ist und im unteren Teilbild gesendet wird.
-
Als Alternative kann der Untertitel-Decodierer 110 identifizieren, ob unteres_Teilbild_Block_Länge auf 0x000 und oberes_Teilbild_Block_Länge auf einen von null verschiedenen Wert gesetzt ist. In diesem Fall identifiziert der Untertitel-Decodierer 110 auch, ob das progressive Abtastung Bitmap-Bit gesetzt ist. Wenn das progressive_Abtastung_Bitmap gesetzt ist, weiß der Untertitel-Decodierer 110 in diesem Fall, dass die Untertitel-Bitmap Abtastung des progressiven Typs ist und im oberen Teilbild gesendet wird.
-
Wenn dagegen progressive_Abtastung_Bitmap nicht gesetzt ist, weiß der Untertitel-Decodierer 110, dass die Untertitel-Bitmap eine verschachtelte Abtastung ist und die oberen Teilbild-Pixeldaten für die unteren Teilbild-Pixeldaten gültig sind.
-
Wenn weder oberes_Teilbild_Block_Länge noch unteres_Teilbild_Block_Länge auf 0x000 gesetzt sind, weiß der Untertitel-Decodierer 110 natürlich, dass die Untertitel-Bitmap verschachtelte Abtastung ist.
-
Der Untertitel wird dann in Schritt 920 angezeigt, und der Prozess endet in Schritt 925.
-
Obwohl das Obige vollständiges Senden der Bitmap entweder im oberen oder unteren Teilbild beschreibt, ist die Offenbarung nicht darauf beschränkt. Tatsächlich kann die Untertitel-Bitmap aufgeteilt und sowohl im oberen Teilbild als auch im unteren Teilbild geführt werden. Zum Beispiel kann die Anwesenheit des progressive_Abtastung_Bitmap-Bit angeben, dass die obere Hälfte der Untertitel-Bitmap im oberen Teilbild und die untere Hälfte im unteren Teilbild geführt wird. In diesem Fall wären oberes_Teilbild_Block_Länge und unteres_Teilbild_Block_Länge beide von null verschiedene Werte und das progressive Abtastung Bitmap-Bit würde nur identifizieren, dass die Untertitel-Bitmap Abtastung des progressiven Typs ist und im oberen Teilbild und unteren Teilbild auf vorbestimmte Weise geführt wird. Dies kann durch den Standard oder auf andere Weise vorbestimmt werden.
-
In diesem Fall kann sich die Definition des progressive_Abtastung_Bitmap-Bit ändern, um auch zu umfassen, dass, wenn es gesetzt ist und der Wert von oberes_Teilbild_Block_Länge und unteres_Teilbild_Block_Länge von null verschieden ist, die Daten im oberen Teilbild ein erstes vordefiniertes (bereits festgelegtes) Segment der Bitmap sein werden und die Daten im unteren Teilbild ein zweites vordefiniertes (bereits festgelegtes) Segment der Bitmap sein werden.
-
Im Hinblick der obigen Lehren sind zahlreiche Modifikationen und Varianten der vorliegenden Offenbarung möglich. Es versteht sich deshalb, dass die Offenbarung innerhalb des Schutzumfangs der angefügten Ansprüche anders als hier spezifisch beschrieben ausgeübt werden kann.
-
Soweit Ausführungsformen der Offenbarung als mindestens teilweise durch Software gesteuerte Datenverarbeitungsvorrichtungen implementiert beschrieben wurden, versteht sich, dass ein nichtflüchtiges maschinenlesbares Medium, das solche Software führt, wie etwa ein optischer Datenträger, ein magnetischer Datenträger, Halbleiterspeicher oder dergleichen, auch als eine Ausführungsform der vorliegenden Offenbarung repräsentierend betrachtet wird.
-
Es versteht sich, dass die obige Beschreibung der Klarheit halber Ausführungsformen unter Bezugnahme auf verschiedene Funktionseinheiten, Schaltkreise und/oder Prozesse beschrieben hat. Es versteht sich jedoch, dass jede beliebige geeignete Verteilung von Funktionalität zwischen verschiedenen Funktionseinheiten, Schaltkreisen und/oder Prozessoren verwendet werden kann, ohne von den Ausführungsformen abzulenken.
-
Beschriebene Ausführungsformen können in einer beliebigen geeigneten Form implementiert werden, darunter Hardware, Software, Firmware oder eine beliebige Kombination dieser. Beschriebene Ausführungsformen können gegebenenfalls mindestens teilweise als Computersoftware implementiert werden, die auf einem oder mehreren Datenprozessoren und/oder digitalen Signalprozessoren läuft. Die Elemente und Komponenten jeder Ausführungsform können physisch, funktional und logisch auf beliebige geeignete Weise implementiert werden. Tatsächlich kann die Funktionalität in einer einzigen Einheit, in mehreren Einheiten oder als Teil anderer Funktionseinheiten implementiert werden. Dementsprechend können die offenbarten Ausführungsformen in einer einzigen Einheit implementiert werden oder können physisch und funktional zwischen verschiedenen Einheiten, Schaltkreisen und/oder Prozessoren verteilt werden.
-
Obwohl die vorliegende Offenbarung in Verbindung mit einigen Ausführungsformen beschrieben wurde, soll sie nicht auf die hier dargelegte spezifische Form beschränkt werden. Obwohl ein Merkmal scheinbar in Verbindung mit konkreten Ausführungsformen beschrieben wird, ist für Fachleute zusätzlich erkennbar, dass verschiedene Merkmale der beschriebenen Ausführungsformen auf beliebige geeignete Weise kombiniert werden können, um die Technik zu implementieren.
-
Ausführungsformen der vorliegenden Technik können im Allgemeinen durch die folgenden bezifferten Klauseln beschrieben werden:
- 1. Eine Untertitel-Codierungsvorrichtung zum Übertragen eines Bitmap-Untertitels zur Einfügung in ein Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend eine Steuerung, ausgelegt zum
Angeben in einem Verschachtelungs-Untertitelsystem, dass eine Blocklänge des oberen Teilbilds null ist; und
Bereitstellen des Bitmap-Untertitels in einem unteren Teilbild des Verschachtelungs-Untertitelsystems.
- 2. Eine Untertitel-Codierungsvorrichtung nach Klausel 1, wobei der Wert eines oberes_Teilbild_Daten_Block_Länge-Felds auf null gesetzt wird.
- 3. Eine Untertitel-Codierungsvorrichtung nach Klausel 1 oder 2, wobei die Steuerung ferner ausgelegt ist zum
Setzen eines Flags, das angibt, dass der Bitmap-Untertitel für Einfügung unter Verwendung einer Abtastung des progressiven Typs bestimmt ist.
- 4. Eine Untertitel-Codierungsvorrichtung nach Klausel 3, wobei der Wert eines progressive Abtastung Bitmap-Bit als das Flag gesetzt wird.
- 5. Eine Untertitel-Codierungsvorrichtung zum Übertragen eines Bitmap-Untertitels zur Einfügung in ein Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend eine Steuerung, ausgelegt zum Angeben in einem Verschachtelungs-Untertitelsystem, dass eine Blocklänge des unteren Teilbilds null ist;
Setzen eines Flags, das angibt, dass der Bitmap-Untertitel für Einfügung unter Verwendung einer Abtastung des progressiven Typs bestimmt ist; und
Bereitstellen des Bitmap-Untertitels im oberen Teilbild des Verschachtelungs-Untertitelsystems.
- 6. Eine Untertitel-Codierungsvorrichtung nach Klausel 5, wobei der Wert eines oberes_Teilbild_Daten_Block_Länge-Felds auf null gesetzt wird und wobei der Wert eines progressive_Abtastung_Bitmap-Bit als das Flag gesetzt wird.
- 7. Eine Untertitel-Codierungsvorrichtung zum Übertragen eines Bitmap-Untertitels zur Einfügung in ein Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend eine Steuerung, ausgelegt zum:
- Setzen eines Flags, das angibt, dass der Bitmap-Untertitel für Einfügung unter Verwendung einer Abtastung des progressiven Typs bestimmt ist;
- Aufteilen des Bitmap-Untertitels in ein erstes und ein zweites vorbestimmtes Segment; und
Übertragen des ersten vorbestimmten Segments in einem oberen Teilbild eines Verschachtelungs-Untertitelsystems und des zweiten vorbestimmten Segments in einem unteren Teilbild des Verschachtelungs-Untertitelsystems.
- 8. Eine Untertitel-Codierungsvorrichtung nach Klausel 7, wobei der Wert eines progressive_Abtastung_Bitmap-Bit als das Flag gesetzt wird.
- 9. Ein Untertitel-Codierungsverfahren zum Übertragen eines Bitmap-Untertitels zur Einfügung in ein Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend die folgenden Schritte:
- Angeben in einem Verschachtelungs-Untertitelsystem, dass eine Blocklänge des oberen Teilbilds null ist; und
- Bereitstellen des Bitmap-Untertitels in einem unteren Teilbild des Verschachtelungs-Untertitelsystems.
- 10. Ein Untertitel-Codierungsverfahren nach Klausel 9, wobei der Wert eines oberes_Teilbild_Daten_Block_Länge-Felds auf null gesetzt wird.
- 11. Ein Untertitel-Codierungsverfahren nach Klausel 9 oder 10, ferner umfassend:
- Setzen eines Flags, das angibt, dass der Bitmap-Untertitel für Einfügung unter Verwendung einer Abtastung des progressiven Typs bestimmt ist.
- 12. Ein Untertitel-Codierungsverfahren nach Klausel 11, wobei der Wert eines progressive Abtastung Bitmap-Bit als das Flag gesetzt wird.
- 13. Ein Untertitel-Codierungsverfahren zum Übertragen eines Bitmap-Untertitels zur Einfügung in ein Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend die folgenden Schritte:
- Angeben in einem Verschachtelungs-Untertitelsystem, dass eine Blocklänge des unteren Teilbilds null ist;
- Setzen eines Flags, das angibt, dass der Bitmap-Untertitel für Einfügung unter Verwendung einer Abtastung des progressiven Typs bestimmt ist; und
- Bereitstellen des Bitmap-Untertitels in dem oberen Teilbild des Verschachtelungs-Untertitelsystems.
- 14. Ein Untertitel-Codierungsverfahren nach Klausel 13, wobei der Wert eines oberes_Teilbild_Daten_Block_Länge-Felds auf null gesetzt wird und wobei der Wert eines progressive_Abtastung_Bitmap-Bit als das Flag gesetzt wird.
- 15. Ein Untertitel-Codierungsverfahren zum Übertragen eines Bitmap-Untertitels zur Einfügung in ein Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend die folgenden Schritte:
- Setzen eines Flags in einem Verschachtelungs-Untertitelsystem, das angibt, dass der Bitmap-Untertitel für Einfügung unter Verwendung einer Abtastung des progressiven Typs bestimmt ist;
- Aufteilen des Bitmap-Untertitels in ein erstes und ein zweites vorbestimmtes Segment; und
- Übertragen des ersten vorbestimmten Segments in einem oberen Teilbild eines Verschachtelungs-Untertitelsystems und des zweiten vorbestimmten Segments in einem unteren Teilbild des Verschachtelungs-Untertitelsystems.
- 16. Ein Untertitel-Codierungsverfahren nach Klausel 15, wobei der Wert eines progressive Abtastung Bitmap-Bit als das Flag gesetzt wird.
- 17. Eine Untertitel-Decodierungsvorrichtung zum Empfangen eines Bitmap-Untertitels zur Anzeige in einem Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend eine Steuerung, ausgelegt zum:
- Identifizieren aus einem empfangenen Verschachtelungs-Untertitelsystem, dass eine Blocklänge des oberen Teilbilds null ist; und
- Extrahieren des Bitmap-Untertitels aus einem unteren Teilbild des Verschachtelungs-Untertitelsystems.
- 18. Eine Untertitel-Decodierungsvorrichtung nach Klausel 17, wobei der Wert eines oberes_Teilbild_Daten_Block_Länge-Felds auf null gesetzt wird.
- 19. Eine Untertitel-Decodierungsvorrichtung nach Klausel 17 oder 18, wobei die Steuerung ferner ausgelegt ist zum:
- Identifizieren eines Flags, das angibt, dass der Bitmap-Untertitel unter Verwendung einer Abtastung des progressiven Typs eingefügt wird.
- 20. Eine Untertitel-Codierungsvorrichtung nach Klausel 19, wobei der Wert eines progressive_Abtastung_Bitmap-Bit als das Flag gesetzt wird.
- 21. Eine Untertitel-Decodierungsvorrichtung zum Empfangen eines Bitmap-Untertitels zur Anzeige in einem Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend eine Steuerung, ausgelegt zum:
- Identifizieren aus einem empfangenen Verschachtelungs-Untertitelsystem, dass eine Blocklänge des unteren Teilbilds null ist;
- Identifizieren eines Flags, das angibt, dass der Bitmap-Untertitel unter Verwendung einer Abtastung des progressiven Typs eingefügt wird; und
- Extrahieren des Bitmap-Untertitels aus dem oberen Teilbild des Verschachtelungs-Untertitelsystems.
- 22. Eine Untertitel-Decodierungsvorrichtung nach Klausel 21, wobei der Wert eines oberes_Teilbild_Daten_Block_Länge-Felds auf null gesetzt wird und wobei der Wert eines progressive_Abtastung_Bitmap-Bit als das Flag gesetzt wird.
- 23. Eine Untertitel-Decodierungsvorrichtung zum Empfangen eines Bitmap-Untertitels zur Anzeige in einem Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend eine Steuerung, ausgelegt zum:
- Identifizieren eines Flags in einem Verschachtelungs-Untertitelsystem, das angibt, dass der Bitmap-Untertitel unter Verwendung einer Abtastung des progressiven Typs eingefügt wird;
- Extrahieren eines ersten vorbestimmten Teils des Bitmap-Untertitels aus einem oberen Teilbild des Verschachtelungs-Untertitelsystems und des zweiten vorbestimmten Segments in einem unteren Teilbild des Verschachtelungs-Untertitelsystems; und
- Kombinieren des ersten und zweiten vorbestimmten Teils.
- 24. Eine Untertitel-Decodierungsvorrichtung nach Klausel 23, wobei der Wert eines progressive_Abtastung_Bitmap-Bit als das Flag gesetzt wird.
- 25. Ein Untertitel-Decodierungsverfahren zum Empfangen eines Bitmap-Untertitels zur Anzeige in einem Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend die folgenden Schritte:
- Identifizieren aus einem empfangenen Verschachtelungs-Untertitelsystem, dass eine Blocklänge des oberen Teilbilds null ist; und
- Extrahieren des Bitmap-Untertitels aus einem unteren Teilbild des Verschachtelungs-Untertitelsystems.
- 26. Ein Untertitel-Decodierungsverfahren nach Klausel 25, wobei der Wert eines oberes_Teilbild_Daten_Block_Länge-Felds auf null gesetzt wird.
- 27. Ein Untertitel-Decodierungsverfahren nach Klausel 25 oder 26, umfassend:
- Identifizieren eines Flags, das angibt, dass der Bitmap-Untertitel unter Verwendung einer Abtastung des progressiven Typs eingefügt wird.
- 28. Ein Untertitel-Decodierungsverfahren nach Klausel 27, wobei der Wert eines progressive Abtastung Bitmap-Bit als das Flag gesetzt wird.
- 29. Ein Untertitel-Decodierungsverfahren zum Empfangen eines Bitmap-Untertitels zur Anzeige in einem Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend die folgenden Schritte:
- Identifizieren aus einem empfangenen Verschachtelungs-Untertitelsystem, dass eine Blocklänge des unteren Teilbilds null ist;
- Identifizieren eines Flags, das angibt, dass der Bitmap-Untertitel unter Verwendung einer Abtastung des progressiven Typs eingefügt wird; und
- Extrahieren des Bitmap-Untertitels aus dem oberen Teilbild des Verschachtelungs-Untertitelsystems.
- 30. Ein Untertitel-Decodierungsverfahren nach Klausel 29, wobei der Wert eines oberes_Teilbild_Daten_Block_Länge-Felds auf null gesetzt wird und wobei der Wert eines progressive_Abtastung_Bitmap-Bit als das Flag gesetzt wird.
- 31. Ein Untertitel-Decodierungsverfahren zum Empfangen eines Bitmap-Untertitels zur Anzeige in einem Bild unter Verwendung einer Abtastung des progressiven Typs, umfassend die folgenden Schritte:
- Identifizieren eines Flags in einem Verschachtelungs-Untertitelsystem, das angibt, dass der Bitmap-Untertitel unter Verwendung einer Abtastung des progressiven Typs eingefügt wird;
- Extrahieren eines ersten vorbestimmten Teils des Bitmap-Untertitels aus einem oberen Teilbild des Verschachtelungs-Untertitelsystems und des zweiten vorbestimmten Segments in einem unteren Teilbild des Verschachtelungs-Untertitelsystems; und
- Kombinieren des ersten und zweiten vorbestimmten Teils.
- 32. Ein Untertitel-Decodierungsverfahren nach Klausel 31, wobei der Wert eines progressive_Abtastung_Bitmap-Bit als das Flag gesetzt wird.
- 33. Ein Computerprogrammprodukt mit computerlesbaren Anweisungen, die, wenn sie auf einen Computer geladen werden, den Computer dafür konfigurieren, das Verfahren nach einer der Klauseln 9 bis 16 oder 25 bis 32 auszuführen.
-
Literatur
-
[1] ETSI TS 300 743 v1.5.1 (2014-01); DVB Digital Video Broadcasting (DVB); Untertitelungs-Systeme.