DE602004007928T2 - Verfahren für lauflängenkodierung eines bitmapdatenstroms - Google Patents

Verfahren für lauflängenkodierung eines bitmapdatenstroms Download PDF

Info

Publication number
DE602004007928T2
DE602004007928T2 DE602004007928T DE602004007928T DE602004007928T2 DE 602004007928 T2 DE602004007928 T2 DE 602004007928T2 DE 602004007928 T DE602004007928 T DE 602004007928T DE 602004007928 T DE602004007928 T DE 602004007928T DE 602004007928 T2 DE602004007928 T2 DE 602004007928T2
Authority
DE
Germany
Prior art keywords
color
byte
codewords
length
pixels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602004007928T
Other languages
English (en)
Other versions
DE602004007928D1 (de
Inventor
Dirk Adolph
Jobst Hörentrup
Axel Kochale
Ralf Ostermann
Hartmut Peters
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of DE602004007928D1 publication Critical patent/DE602004007928D1/de
Application granted granted Critical
Publication of DE602004007928T2 publication Critical patent/DE602004007928T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles

Description

  • Sachgebiet der Erfindung
  • Die Erfindung bezieht sich auf ein Verfahren zum Kodieren eines Datenstroms, insbesondere eines Bitmap-kodierten Untertitel-Datenstroms.
  • Hintergrund
  • Fernsehrundfunksendungen oder schreibgeschützte Aufzeichnungsträger, die Videodaten enthalten, können auch Unterbild-Datenströme umfassen, die Text- oder graphische Informationen enthalten, die benötigt werden, um Untertitel, Glyphe oder Animation für irgendeinen besonderen Zweck, z.B. Menü-Schaltflächen, vorzusehen. Da die Anzeige solcher Informationen üblicherweise wirksam oder unwirksam gemacht werden kann, wird sie dem zugeordneten Videobild als zusätzliche Schicht überlagert und als ein oder mehrere rechteckige Bereiche ausgeführt, die als Regionen bezeichnet werden. Für eine solche Region ist eine Reihe von Attributen spezifiziert, wie zum Beispiel Bereichsgröße, Bereichsposition oder Hintergrundfarbe. Da die Region dem Fernsehbild überlagert wird, ist ihr Hintergrund oft als transparent definiert, so dass das Videobild gesehen werden kann oder mehrere Unterbildschichten überlagert werden können. Ferner kann eine Untertitelregion breiter als das zugeordnete Bild sein, so dass nur ein Teil der Unterbildregion sichtbar ist und der sichtbare Teil der Region zum Beispiel von rechts nach links durch den ganzen Untertitelbereich verschoben wird, was so aussieht, als ob die Untertitel durch die Anzeige geschoben würden. Dieses Verfahren von auf Pixel beruhender Untertitelung ist in der europäi schen Patentanmeldung EP 02 025 474.4 beschrieben und wird als Zurechtschneiden (cropping) bezeichnet.
  • Untertitel waren ursprünglich als Unterstützung von behinderten Personen oder zur Einsparung der Kosten für die Übersetzung eines Films in wenig benutzte Sprachen gedacht, und für reinen Untertiteltext würde es daher ausreichen, wenn der Untertitel-Datenstrom zum Beispiel gemäß ASCII kodierte Zeichen enthält. Heute enthalten Untertitel aber auch andere Elemente bis hinauf zu hochauflösenden Bildern, Glyphen oder animierten graphischen Objekten. Die Handhabung solcher Elemente ist leichter, wenn der Untertitelstrom im Bitmap-Format kodiert wird, bei dem die Zeilen eines Bereiches und die Pixel innerhalb einer Zeile aufeinanderfolgend kodiert und dekodiert werden. Dieses Format enthält viel Redundanz, z.B. wenn aufeinanderfolgende Pixel denselben Farbwert haben. Diese Redundanz kann durch verschiedene Kodierverfahren vermindert werden, z.B. durch Lauflängenkodierung (RLE). RLE wird oft verwendet, wenn Datensequenzen denselben Wert haben, und die Grundideen bestehen darin, die Sequenzlänge und den Wert getrennt zu kodieren und die häufigsten Kodeworte so kurz wie möglich zu kodieren. Insbesondere bei der Kodierung der Untertitelschicht für hochauflösende Videosignale (HDTV) mit 1920×1280 Pixeln wird ein Kodier-Algorithmus benötigt, der für diesen Zweck optimiert ist, um die erforderliche Datenmenge zu vermindern.
  • Zusammenfassung der Erfindung
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur optimierten Kodierung von Untertitel- oder Unterbildschichten für hochauflösende Videosignale, wie zum Beispiel HDTV, aufzuzeigen, die als Bitmap-formatierte Bereiche darge stellt werden, die viel breiter als das sichtbare Videobild sein können.
  • Die Erfindung ist in den angefügten Ansprüchen dargelegt.
  • Gemäß der Erfindung wird zu diesem Zweck eine vierstufige Lauflängen-Kodierung (RLE) verwendet, bei der die kürzesten Kodeworde für einzelne Pixel verwendet werden, die von Transparenz abweichende individuelle Farbwerte haben, bei der die zweitkürzesten Kodeworte für kürzere Sequenzen von transparenten Pixeln verwendet werden, bei der die drittkürzesten Kodeworte für längere Sequenzen von transparenten Pixeln und kürzere Sequenzen von Pixeln mit gleicher, von transparent abweichender Farbe verwendet werden, und bei der die viertkürzesten Kodeworte für längere Sequenzen von Pixeln mit gleicher, von Transparenz abweichender Farbe verwendet werden. Üblicherweise sind die meisten Pixel in der Untertitelschicht transparent. Anders als bei konventioneller RLE, bei der die häufigsten Daten die kürzesten Kodeworte verwenden, umfasst dieses Verfahren die Verwendung der zweitkürzesten Kodeworte für kurze Sequenzen mit der häufigsten Farbe und der drittkürzesten Kodeworte für längere Sequenzen der häufigsten Farbe und auch kurzer Sequenzen mit anderen Farben. Kürzeste Kodeworte werden für einzelne Pixel mit einer anderen als der häufigsten Farbe reserviert. Dies ist vorteilhaft, wenn Pixel mit der häufigsten Farbe fast immer in Sequenzen erscheinen, was der Fall für transparente Pixel in der Untertitelschicht ist, während einzelne Pixel mit individueller Farbe mit größerer Wahrscheinlichkeit nicht transparent sind.
  • Vorteilhafterweise enthält ein Kode gemäß dem erfindungsgemäßen Verfahren nur wenige redundante Kodeworte, die definiert sind, unter den längeren Kodeworten zu sein. Zum Bei spiel wird ein einzelnes Pixel mit irgendeiner von transparent abweichenden Farbe im Idealfall mit einem Kodewort der kürzesten Art kodiert, aber es kann ebenso ein Kodewort der drittkürzesten Art verwendet werden, wobei die Sequenzlänge gleich eins ist. Obwohl die letztere Möglichkeit üblicherweise für diesen Zweck nicht benutzt wird, können diese nicht benutzten Kodeworte oder Lücken in dem Kodewortraum für den Transport anderer Informationen verwendet werden. Ein Beispiel ist die Zeilenend-Information, die zur Resynchronisation verwendet werden kann. Gemäß der Erfindung wird das kürzeste redundante Kodewort zum Kodieren dieser Informationen verwendet.
  • Ein weiterer Vorteil besteht darin, dass das offenbarte Verfahren die Menge der erforderlichen Daten vermindert und somit den Untertitel-Datenstrom komprimiert, wobei der Kompressionsfaktor von den Inhalten des Datenstroms abhängt. Besonders hohe Kompressionsfaktoren werden für Datenkombinationen erreicht, die sehr oft in typischen Untertitelströmen erscheinen. Das sind Sequenzen mit einer kürzeren Länge als z.B. 64 Pixel, die denselben Farbwert haben, aber auch Sequenzen aus transparenten Pixeln, die irgendeine Länge haben, und einzelne Pixel, die individuelle Farbwerte haben. Die ersten dieser Gruppen werden oft in Zeichen oder Glyphen verwendet, die zweiten dieser Gruppen werden vor, zwischen und nach den angezeigten Elementen des Untertitelstroms verwendet, und die dritte dieser Gruppen wird in Bildern oder Bereichen mit sich leicht ändernder Farbe verwendet. Da transparente Pixel kaum jemals in sehr kurzen Sequenzen erscheinen, z.B. weniger als drei Pixel, reicht es aus, diese nicht mit den kürzesten, sondern nur mit den zweitkürzesten Kodeworten zu kodieren.
  • Gleichzeitig kann das erfindungsgemäße Verfahren wirksam Sequenzen handhaben, die länger als 1920 Pixel sind und zum Beispiel bis zu 16.383 Pixel lang sein können, so dass sehr breite Untertitelbereiche ermöglicht werden.
  • Ferner erzeugt das Kodierverfahren einen eindeutigen Wert, der das Ende einer Zeile darstellt, und daher ist es für den Fall eines Synchronisationsverlustes möglich, jede Zeile zu resynchronisieren.
  • Vorteilhafterweise ist das erfindungsgemäße Verfahren für das Kodieren dieser Kombination einer Anzahl von für Untertitelströme typischen Merkmalen optimiert.
  • Daher kann die Menge der für den Untertitelstrom benötigten Daten vermindert werden, was zur besseren Nutzung der Übertragungs-Bandbreite im Fall einer Sendung führt, oder zu einer verminderten Abtaster-Sprungfrequenz im Fall von Speichermedien, bei denen ein einziger Abtaster mehrere Datenströme liest, wie zum Beispiel bei der Blu-Ray Disc(BD)-Technologie. Ferner wird, je besser das Untertitel-Bitmap komprimiert wird, umso höher die Kapazität in Form von Bitrate für Audio- und Videoströme belassen, wodurch die Bild- und Audioqualität erhöht wird.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprüchen, der folgenden Beschreibung und den Zeichnungen offenbart.
  • Kurze Beschreibung der Zeichnungen
  • Ausführungsbeispiele der Erfindung werden unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. In den Zeichnungen stellen dar:
  • 1 Zuschneiden eines Untertitelbereiches in einem Video-Vollbild;
  • 2 eine Pixelsequenz in einem Untertitelbereich;
  • 3 eine Kodiertabelle für Untertitelung einschließlich Text und Graphiken; und
  • 4 eine Tabelle als Beispiel für eine Syntax eines erweiterten Objekt-Datensegments für die Blu-Ray-Prerecorded Norm.
  • Ausführliche Beschreibung der Erfindung
  • Während Untertitelung in vorproduziertem audiovisuellen (AV)-Material für Rundfunk oder Film-Discs primär zur Darstellung von einfacher statischer Textinformation, z.B. Untertitel, Teletext oder DVB-Untertitel optimiert wird, erfordert der Fortschritt in der Multimedia-Entwicklung für die Darstellung und Animation von Text- und graphischen Informationen, die angemessen für neue HDTV-Formate sind, eine fortschrittliche Anpassung an Bitmap-Kodierung. 1 zeigt ein Video-Vollbildsignal TV und einen Untertitelbereich SUB, der Text und graphische Elemente G enthält, wobei der Untertitelbereich SUB bitmap-kodiert ist. Die Größe des Untertitelbereichs SUB kann die Video-Vollbild-Abmessungen überschreiten, z.B. sind für das Blu-Ray-Prerecorded Disc (BDP)-Format Untertitel-Bitmaps für eine Dimension erlaubt, die größer als das Video-Vollbild ist. Dann werden vor dem Abspielen Zeilen zugeschnitten, d.h. ein an die entsprechende Vollbilddimension angepasster Teil wird aus der virtuellen Zeile herausgeschnitten und dem Vollbild überlagert angezeigt. In 1 wird der Untertitelbereich SUB mit der Breite BSUB so zurechtgeschnitten, dass nur ein Teil mit der Breite BTV sichtbar ist. Für Norm-HDTV, das zum Beispiel für BDP verwendet wird, beträgt BTV 1920 Pixel, während BSUB weitaus mehr Pixel enthält.
  • Aufgrund der rechteckigen Form des Untertitelbereichs SUB sind die meisten Pixel in diesem Bereich transparent. Dies ist in 2 in vereinfachter Weise in vergrößertem Maßstab dargestellt, da üblicherweise eine Zeile SL1, SL2 auf einem HDTV-Bildschirm TV mehrere Pixel breit sein muss, um deutlich sichtbar zu sein. Eine Zeile wird hierbei als eine horizontale Struktur verstanden. Jede Zeile von Untertiteldaten enthält üblicherweise eine oder mehr Pixelsequenzen mit gleicher Farbe. 2 zeigt einen Teil einer Untertitelzeile SL1, die transparente Sequenzen PS1, PS5, aber auch einzelne sichtbare Pixel PS4, kürzere sichtbare Zeilen PS2 und längere sichtbare Zeilen PS3 enthält. Die meisten Pixel innerhalb einer Zeile sind transparent. Dies ist der Fall zwischen Zeichen, aber auch am Beginn und am Ende von Untertitelzeilen. Da in jedem Fall die Zeilen mit transparenten Abschnitten beginnen und enden, enthält jede Zeile einen transparenten Abschnitt mehr als farbige Abschnitte. Aber transparente Abschnitte PS1, PS5 sind üblicherweise länger, weil für von transparent abweichende Pixelsequenzen, die z.B. für Zeichen verwendet werden, der häufigste Fall eine Sequenzlänge von 64 oder weniger ist. Dies kann durch eine grobe Abschätzung erkannt werden, wobei angenommen wird, dass wenigstens 25 Zeichen gleichzeitig angezeigt werden, und dass der Raum zwischen Zeichen etwa 1/4 der Breite eines Zeichens hat, so dass ein einzelnes Zeichen nicht mehr als 1920/25·(8/10)=62 Pixel innerhalb einer Zeile benutzen kann. Oft enthält eine Zeile SL2 nur sehr weni ge sichtbare Pixel und daher nur wenige transparente Sequenzen, die sehr lang sind.
  • Ein Kode, der ein bevorzugtes Ausführungsbeispiel der Erfindung bildet, ist in 3 aufgelistet. Es ist ein Lauflängen-Kode, der Kodeworte mit einer Länge umfasst, die zwischen 1 Byte bis hinauf zu 4 Bytes mit 8 Bits pro Byte liegen. Er kann 256 verschiedene Farben mit einer bevorzugten Farbe kodieren. Die bevorzugte Farbe ist bei diesem Beispiel ,transparent', aber sie kann jede andere angemessene Farbe sein. Eine Farb-Nachschlagtabelle (CLUT) kann die dekodierten Farbwerte in die aktuelle Anzeigefarbe transformieren. Ferner können Pixelsequenzen mit gleicher Farbe in zwei Bereichen kodiert werden, wobei der kürzere Bereich bis hinauf zu 63 Pixel und der längere Bereich bis hinauf zu 16.383 Pixel beträgt.
  • Die kürzesten Kodeworte mit einer Länge von 1 Byte werden zum Kodieren eines einzelnen Pixels benutzt, das eine individuelle, von der bevorzugten Farbe abweichende Farbe aufweist, die hier transparent ist. Der Farbwert CCCCCCCC kann zwischen 1 bis hinauf zu 255 betragen und kann eine Farbe direkt oder indirekt darstellen. Z.B. kann er einen Eintrag in einer Farb-Nachschlagtabelle (CLUT) darstellen, der den aktuellen Farb-Kode enthält. Einer der 8-Bit-Werte, der nur Nullen (00000000) enthält, dient als Escape-Sequenz, wodurch angezeigt wird, dass die folgenden Bits als Teil desselben Kodewortes zu betrachten sind. In diesem Fall hat der Kodewort-Baum vier mögliche Zweige, die durch die zwei folgenden Bits markiert sind.
  • Im ersten Zweig, der durch die folgenden Bits 00 angezeigt wird, haben gültige Kodeworte zwei Bytes, und eine kürzere Sequenz bis hinauf zu 63 Pixeln wird mit der bevorzugten Farbe kodiert, z.B. transparent. Das einzig ungültige Kodewort in diesem Zweig ist dasjenige, das nur Nullen umfasst, da 0 keine gültige Sequenzlänge darstellt. Dieses Kodewort ,00000000 00000000' kann für andere Zwecke verwendet werden. Gemäß der Erfindung wird es verwendet, um das Ende einer Zeile anzuzeigen, da es das kürzeste redundante Kodewort ist.
  • In dem zweiten Zweig, der durch die folgenden Bits 01b angezeigt wird, umfasst das Kodewort ein anderes Byte, und die vierzehn L-Bits dienen zur Kodierung der Länge einer Pixelsequenz mit der bevorzugten Farbe, z.B. transparent. Somit kann die Sequenzlänge bis hinauf zu 214 – 1 = 16.383 sein. Die Kodeworte, bei denen die L-Bits einen Wert unter 64 haben, sind redundant und können für andere Zwecke verwendet werden.
  • In dem dritten Zweig, der durch die folgenden Bits 10b angezeigt wird, umfassen die Kodeworte ein zusätzliches Byte, und die sechs L-Bits des zweiten Bytes stellen die Länge einer kürzeren Sequenz bis hinauf zu 63 Pixel dar, die eine von der bevorzugten Farbe abweichende Farbe haben. Die aktuelle Farbe wird direkt oder indirekt durch den CCCCCCCC-Wert des dritten Bytes dargestellt. Die Kodeworte mit einer Sequenzlänge LLLLLL unterhalb drei sind redundant, da eine Sequenz von ein oder zwei Pixeln mit dieser Farbe billiger kodiert werden kann unter Verwendung eines Bytes pro Pixel, wie oben beschrieben, und eine Sequenzlänge von 0 ist ungültig. Diese Kodeworte können für andere Zwecke verwendet werden.
  • In dem vierten Zweig, der durch die folgenden Bits 11b angezeigt wird, umfassen die Kodeworte zwei zusätzliche Bytes, wobei die verbleibenden sechs Bits des zweiten Bytes und das dritte Byte die Länge einer längeren Sequenz von 64 bis hinauf zu 16.383 Pixeln ergeben, und der Farbwert CCCCCCCC des vierten Bytes gibt die Farbe direkt oder indirekt an, die nicht die bevorzugte Farbe ist. Die Kodeworte mit einer Sequenzlänge unter 64 sind redundant, da diese Sequenzen billiger unter Verwendung des dritten Zweiges kodiert werden können. Diese Kodeworte können für andere Zwecke verwendet werden.
  • Die oben erwähnten redundanten Kodeworte können zur Erweiterung des Kodes dienen, z.B. zum Hinzufügen interner Prüfsummen oder anderer Informationen.
  • Die in 3 dargestellte und oben beschriebene erweiterte Lauflängen-Kodiertabelle bietet hauptsächlich zwei Vorteile. Erstens erlaubt sie die kompakteste Kodierung von üblichen Untertitelströmen mit transparenten Bereichen, kleinen graphischen Objekten und normalem Untertiteltext. Einzelne Pixel jeder Farbe, die für kleine farbige Graphiken verwendet werden, werden mit einem einzigen Byte kodiert. Die dominante Farbe, z.B. Transparenz für BDP-Untertitelung, wird immer zusammen mit einer Lauflänge kodiert. Lauflängen-Kodes sind in zwei verschiedenen Größen oder zwei Pixelquantitäten verfügbar. Bei einem ersten Schritt sind Lauflängen bis hinauf zu 63 Pixeln als 2-Byte-Kodeworte für die dominante Farbe verfügbar, und als 3-Byte-Kodeworte für die anderen Farben. Bei einem zweiten Schritt sind Lauflängen bis hinauf zu 16.383 Pixeln als 3-Byte-Kodeworte für die dominante Farbe verfügbar, und als 4-Byte-Kodeworte für die anderen Farben. Der Kode für das Ende der Pixelfolge oder der Kode für das Zeilenende ist ein eindeutiges 2-Byte-Kodewort, das für die Resynchronisation verwendet werden kann. Zweitens bedeutet die Verfügbarkeit von längeren Sequenzen für den Untertitelbereich bis hinauf zu 16.383 Pixel pro Kodewort eine Verminderung von Redundanz und daher der Datenmenge. Dies bedeutet, dass bei Anwendungen mit getrennten Datenströmen, die sich einen Kanal teilen, zum Beispiel mehrere Datenströme auf einem optischen Aufzeich nungsträger, die sich denselben Abtaster teilen, größere Teile des Untertitelstroms mit derselben Datenmenge geladen werden können, wodurch die Zugriffsfrequenz für den Untertitelstrom vermindert wird.
  • Ein anderer Aspekt der Erfindung ist eine weitere Optimierung des Datenstroms für den Transport unter Verwendung von Transportpaketen, z.B. in einem paketorientierten elementaren Strom (PES). Wegen der großen Dateigröße von Bitmaps ist die Paketisierung solcher Daten, z.B. in Objektdaten-Segmenten (ODS) ein Problem. Oft ist die maximale Größe eines ODS durch andere Faktoren begrenzt, z.B. durch die PES-Paketgröße. Damit große Bitmaps in solche Pakete passen, wäre es erforderlich, Bitmaps in kleine Bitmap-Stücke vor dem Kodieren zu zerschneiden, was die Kompressionseffizienz vermindert. Um diese Bitmap-Aufspaltung zu überwinden, wird ein neues erweitertes Objekt-Datensegment (ExODS) für BDP oder vergleichbare Anwendungen offenbart, was in 4 gezeigt ist. ExODS ist eine Datenstruktur, die alle Fragmente darstellt, in die ein ODS zerschnitten ist, um in eine Sequenz von Segmenten mit begrenzter Größe und PES-Paketen zu passen. Das vollständige ODS kann durch Verketten der Sequenz aus individuellen Stücken der aufeinanderfolgenden ExODSs rekonstruiert werden.
  • Der Beginn und das Ende einer Sequenz von ExODS wird durch getrennte Kennzeichen (flags) angezeigt, „first_in_sequence" und „last_in_sequence". Wenn das Kennzeichen „first_in_sequence" gleich 1 ist, beginnt eine neue Sequenz. Ein ExODS, das das Kennzeichen „first_in_sequence" auf 1 gesetzt hat, zeigt auch die Größe des dekomprimierten Bitmaps dadurch an, dass es seine Dimension, Objektbreite und Objekthöhe enthält. Der Vorteil einer Anzeige der Bitmap-Dimension ist die Unterstützung der Zielspeicher- Zuordnung, bevor die Dekompression beginnt. Ein anderer Vorteil besteht darin, dass die angezeigten Bitmap-Dimensionen auch während der Dekodierung zur Gegenprüfung der Bitmap-Dimensionen verwendet werden können. Wenn das Kennzeichen „last_in_sequence" auf 1 gesetzt wird, wird das letzte ExODS eines vollständigen ODS angezeigt. Es kann ExODS geben, die weder das Flag „first_in_sequence" noch „last_in_sequence" gesetzt haben. Dies sind ExODS-Stücke in der Mitte einer Sequenz. Auch der Fall, dass sowohl das Flag „first_in_sequence" als auch das Flag „last_in_sequence" gesetzt ist, ist möglich, wenn das ODS in einem einzigen ExODS geführt wird. Um diese Begrenzung in der Größe, die für ein einziges ODS verfügbar ist, durch die PES-Paketgröße innerhalb der Untertitelung zu überwinden, kann der beschriebene ExODS-Typ als Behälter (container) für Stücke eines ODS eingeführt werden, z.B. zum Paketisieren von großen ODS für HDTV-Anwendung. Außer den ODS-Stücken führt das ExODS auch Kennzeichen, die anzeigen, ob es das erste Stück, das letzte Stück, ein mittleres Stück oder das eine, aber vollständige Stück einer ExODS-Sequenz führt. Wenn weiterhin das erste Stück in der Sequenz des ExODS übertragen wird, sind die Dimensionen des resultierenden ODS, d.h. Höhe und Breite des kodierten Bitmap, in dem Segment enthalten. Die angezeigten Bitmap-Dimensionen können auch für eine Dekodier-Gegenprüfung verwendet werden.
  • Das erfindungsgemäße Verfahren kann zur Kompression von Bitmap-Datenströmen, die zum Beispiel Text, Bilder oder graphische Daten für Animation, Menüs, Navigation, Logos, Reklame, Nachrichten oder sonstiges enthalten, in Anwendungen, zum Beispiel vorbespielten Blu-Ray-(BDP)-Discs, oder allgemein in Aufzeichnungen oder Sendungen von hochauflösenden Videosignalen (HDTV) verwendet werden.

Claims (13)

  1. Verfahren zur Lauflängenkodierung eines Datenstroms, wobei der Datenstrom Bitmap-formatierte Untertiteloder Menüdaten für Video-Darstellung auf einer Anzeige umfasst, wobei die Untertitel- oder Menüdaten Graphiken (G) oder Text (TEXT) oder beides enthalten, und wobei Kodeworte eine Anzeige ihrer Kodewort-Länge enthalten, umfassend die Schritte: – Definieren einer bevorzugten Farbe (Farbe 0); – Kodieren von Pixeln mit der bevorzugten Farbe unter Verwendung erster Kodeworte mit zwei oder drei Bytes, wobei die ersten Kodeworte einen Lauflängenwert umfassen, und wobei der in den ersten Kodeworten, die drei Bytes haben, enthaltene Lauflängenwert, die Breite der Anzeige (BTV) überschreiten kann; – Kodieren von Pixeln mit einer anderen als der bevorzugten Farbe unter Verwendung zweiter Kodeworte mit einem, drei oder vier Bytes, wobei die zweiten Kodeworte einen Farbwert (C...C) umfassen, und wobei die zweiten Kodeworte, die drei oder vier Bytes haben, einen Lauflängenwert umfassen, und wobei der in den zweiten Kodeworten, die vier Bytes haben, enthaltene Lauflängenwert die Breite der Anzeige (BTV) überschreiten kann.
  2. Verfahren nach Anspruch 1, bei dem Kodeworte mit drei Bytes innerhalb der Anzeige ihrer Kodewort- Länge eine Anzeige enthalten, die anzeigt, ob sie zu den ersten oder den zweiten Kodeworten gehören.
  3. Verfahren nach Anspruch 1 oder 2, bei dem die Farbwerte und die bevorzugte Farbe mit einer Nachschlagetabelle auf die Anzeigefarben gemappt werden.
  4. Verfahren nach Anspruch 1, 2 oder 3, bei dem das kürzeste redundante Kodewort zur Zeilensynchronisation verwendet wird.
  5. Verfahren zur Lauflängendekodierung eines kodierten Datenstroms für eine Video-Darstellung auf einer Anzeige, umfassend die Schritte: – Bestimmen des ersten Bytes eines Kodewortes; – wenn das erste Byte nicht einen definierten ersten Wert (00000000) hat, Dekodieren des ersten Bytes zu einem einzelnen Pixel mit einer individuellen Farbe, die durch den Wert (C...C) des ersten Bytes definiert ist, wobei die Farbe anders als eine definierte erste Farbe (Farbe 0) ist; – wenn das erste Byte den definierten ersten Wert (00000000) hat, Bestimmen des ersten und zweiten Bits des folgenden Bytes, das das zweite Byte ist; – wenn das erste und zweite Bit des zweiten Bytes einen ersten Wert (00) haben, Dekodieren der restlichen Bits des zweiten Bytes zu einer Sequenz von Pixeln mit der definierten ersten Farbe, wobei die verbleibenden Bits des zweiten Bytes die Sequenzlänge bestimmen; – wenn das erste und zweite Bit des zweiten Bytes einen zweiten Wert (01) haben, Dekodieren der verbleibenden Bits des zweiten Bytes zusammen mit dem folgenden dritten Byte zu einer Sequenz von Pixeln mit der definierten ersten Farbe, wobei die verbleibenden Bits des zweiten Bytes und das dritte Byte die Sequenzlänge definieren, und wobei die Sequenzlänge die Anzeigebreite (BTV) überschreiten kann; – wenn das erste und zweite Bit des zweiten Bytes einen dritten Wert (10) haben, Dekodieren der verbleibenden Bits des zweiten Bytes zusammen mit dem dritten Byte zu einer Sequenz von Pixeln, wobei die verbleibenden Bits des zweiten Bytes die Sequenzlänge definieren und das dritte Byte die Pixelfarbe definiert; und – wenn das erste und zweite Bit des zweiten Bytes einen vierten Wert (11) haben, Dekodieren der verbleibenden Bits des zweiten Bytes zusammen mit dem dritten und einem folgenden vierten Byte, wobei die verbleibenden Bits des zweiten Bytes und des dritten Bytes die Sequenzlänge definieren und das vierte Byte die Pixelfarbe definiert, und wobei die Sequenzlänge die Anzeigebreite (BTV) überschreiten kann.
  6. Verfahren nach dem vorhergehenden Anspruch, bei dem das Definieren einer Pixelfarbe aus dem ersten, dritten oder vierten Byte und aus dem ersten Wert des ersten Bytes die Verwendung einer Nachschlagetabelle umfasst.
  7. Verfahren nach Anspruch 5 oder 6, bei dem der kodierte Datenstrom für eine Video-Darstellung eine getrennte Schicht ist, die andere Video-Daten auf der Anzeige überlagert, und das ferner den Schritt umfasst, einen Teil der getrennten Schicht für die Anzeige auszuwählen.
  8. Vorrichtung zur Lauflängenkodierung eines Datenstroms, der Bitmap-formatierte Untertitel- oder Menüdaten für eine sichtbare Darstellung auf einer Anzeige umfasst, wobei die Untertitel- oder Menüdaten Graphiken (G) oder Text (TEXT) oder beides enthalten, und wobei Kodeworte eine Anzeige ihrer Kodewort-Länge enthalten, umfassend: – Mittel zum Definieren einer ersten Farbe (Farbe 0); – Mittel zum Kodieren von Pixeln der ersten Farbe unter Verwendung erster Kodeworte mit zwei oder drei Bytes, wobei die ersten Kodeworte einen Lauflängenwert umfassen, und wobei der in den ersten Kodeworten, die drei Bytes haben, enthaltene Lauflängenwert die Breite der Anzeige (BTV) überschreiten kann; – Mittel zum Kodieren von Pixeln einer anderen als der ersten Farbe unter Verwendung zweiter Kodeworte mit einem, drei oder vier Bytes, wobei die zweiten Kodeworte einen Farbwert (C...C) umfassen, und wobei die zweiten Kodeworte, die drei oder vier Bytes haben, einen Lauflängenwert umfassen, und wobei der in den zweiten Kodeworten, die vier Bytes haben, enthaltene Lauflängenwert die Breite der Anzeige (BTV) überschreiten kann.
  9. Vorrichtung zur Lauflängendekodierung eines kodierten Datenstroms, der komprimierte Bitmap-formatierte Untertitel- oder Menüdaten für Video-Anwendung enthält, umfassend: – Mittel zum Bestimmen der Kodewort-Länge, wobei das erste Byte eines Kodewortes ausgewertet wird, und wobei, wenn das erste Byte einen anderen als einen definierten ersten Wert (00000000) hat, die Kodewort-Länge dann als die eines Bytes bestimmt wird und sonst das erste und zweite Bit des folgenden zweiten Bytes ausgewertet und in Abhängigkeit von diesem ersten und zweiten Bit die Kodewort-Länge als die von zwei, drei bzw. vier Bytes bestimmt wird; – Mittel zum Dekodieren von Kodeworten, die bestimmt sind, eine Länge von einem Byte zu haben, zu einzelnen Pixeln mit einer Farbe, die durch das eine Byte definiert ist, wobei die Farbe sich von einer definierten ersten Farbe (Farbe 0) unterscheidet; – Mittel zum Dekodieren von Kodeworten, die bestimmt sind, eine Länge von zwei Bytes zu haben, zu Sequenzen von Pixeln mit der definierten ersten Farbe, wobei die Sequenzlänge durch die verbleibenden Bits des zweiten Bytes des Kodewortes definiert ist; – Mittel zum Dekodieren von Kodeworten, die bestimmt sind, eine Länge von drei Bytes zu haben, entweder zu Sequenzen von Pixeln mit der definierten ersten Farbe, wobei die Sequenzlänge die Breite der Video-Anzeige (BTV) überschreiten kann und durch das dritte Byte und die verbleibenden Bits des zweiten Bytes definiert ist, oder zu Sequenzen von Pixeln mit gleicher Farbe abweichend von der definierten ersten Farbe, wobei die Sequenzlänge durch die verbleibenden Bits des zweiten Bytes definiert ist; und – Mittel zum Dekodieren von Kodeworten, die bestimmt sind, eine Länge von vier Bytes zu haben, zu Sequenzen von Pixeln mit gleicher Farbe abweichend von der definierten ersten Farbe, wobei die Sequenzlänge die Breite der Video-Anzeige überschreiten kann.
  10. Vorrichtung nach dem vorhergehenden Anspruch, die ferner Mittel zum Dekodieren von Kodeworten umfasst, die zwei Bytes haben und eine Sequenzlänge von null als Sync-Kodewort für Zeilenende einschließen.
  11. Vorrichtung nach einem der Ansprüche 8 bis 10, die ferner Nachschlagetabellen-Mittel zum Zuordnen zwischen den Farbwerten, einschließlich der definierten ersten Farbe, und Anzeige-Farben umfasst.
  12. Vorrichtung nach einem der Ansprüche 8 bis 11, bei der der kodierte Datenstrom auf mehrere Transportpakete verteilt ist.
  13. Optische Disc, die einen lauflängenkodierten Datenstrom enthält, der Bitmap-formatierte Untertitel- oder Menüdaten für eine Video-Darstellung auf einer Anzeige umfasst, wobei die Untertitel- oder Menüdaten Graphiken (G) oder Text (TEXT) oder beides enthalten, und wobei Kodeworte eine Anzeige ihrer Kodewort-Länge umfassen, wobei der lauflängenkodierte Datenstrom umfasst: – erste Daten, die eine bevorzugte Farbe definieren; – erste Kodeworte mit zwei oder drei Bytes, die Pixel mit der bevorzugten Farbe kodieren, wobei die ersten Kodeworte einen Lauflängenwert umfassen, und wobei der in denjenigen ersten Kodeworten, die drei Bytes haben, enthaltene Lauflängenwert die Breite der Anzeige (BTV) überschreiten kann; – zweite Kodeworte mit einem, drei oder vier Bytes, die Pixel mit einer anderen als der bevorzugten Farbe kodieren, wobei die zweiten Kodeworte einen Farbwert (C...C) umfassen, und wobei diejenigen zweiten Kodeworte, die drei oder vier Bytes haben, einen Lauflängenwert enthalten, und wobei der Lauflängenwert, der in den zweiten Kodeworten mit vier Bytes enthalten ist, die Breite der Anzeige (BTV) überschreiten kann.
DE602004007928T 2003-07-01 2004-05-06 Verfahren für lauflängenkodierung eines bitmapdatenstroms Active DE602004007928T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP03014970A EP1494456A1 (de) 2003-07-01 2003-07-01 Verfahren für Lauflängenkodierung eines Bitmapdatenstroms
EP03014970 2003-07-01
PCT/EP2004/004794 WO2005006736A1 (en) 2003-07-01 2004-05-06 Method for run-length encoding of a bitmap data stream

Publications (2)

Publication Number Publication Date
DE602004007928D1 DE602004007928D1 (de) 2007-09-13
DE602004007928T2 true DE602004007928T2 (de) 2007-11-22

Family

ID=33427093

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004007928T Active DE602004007928T2 (de) 2003-07-01 2004-05-06 Verfahren für lauflängenkodierung eines bitmapdatenstroms

Country Status (17)

Country Link
US (8) US7657109B2 (de)
EP (2) EP1494456A1 (de)
JP (15) JP4535339B2 (de)
KR (2) KR101004246B1 (de)
CN (2) CN100579168C (de)
AT (1) ATE369010T1 (de)
AU (1) AU2004300704B2 (de)
BR (1) BRPI0412013B1 (de)
CA (2) CA2529189C (de)
DE (1) DE602004007928T2 (de)
ES (1) ES2290706T3 (de)
MX (1) MXPA05013996A (de)
PL (1) PL1639805T3 (de)
RU (1) RU2350035C2 (de)
TW (1) TWI329456B (de)
WO (1) WO2005006736A1 (de)
ZA (1) ZA200600030B (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1494456A1 (de) * 2003-07-01 2005-01-05 Deutsche Thomson-Brandt GmbH Verfahren für Lauflängenkodierung eines Bitmapdatenstroms
TWI296481B (en) * 2005-07-25 2008-05-01 Alpha Imaging Technology Corp An image compressing/decompressing method and an image compressing/decompressing device using the same
US7327289B1 (en) 2006-09-20 2008-02-05 Intel Corporation Data-modifying run length encoder to avoid data expansion
CN101179669B (zh) * 2006-11-08 2011-03-16 中兴通讯股份有限公司 一种会议电视终端字幕生成叠加方法
CN101272442B (zh) * 2007-03-21 2010-05-26 杭州波导软件有限公司 数字图像无损压缩方法和装置、解析方法及图像译码器
JP5162939B2 (ja) * 2007-03-30 2013-03-13 ソニー株式会社 情報処理装置および方法、並びにプログラム
EP1988703A1 (de) * 2007-05-02 2008-11-05 TTPCOM Limited Bildtransformation
US7978364B2 (en) * 2007-06-18 2011-07-12 Canon Kabushiki Kaisha Image processing apparatus and control method thereof
KR101100829B1 (ko) 2010-03-09 2012-01-02 (주)네오위즈게임즈 이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법.
CN101833774A (zh) * 2010-04-27 2010-09-15 无锡朗能科技有限公司 一种简单色彩图像的压缩方法
JP5851170B2 (ja) * 2011-09-22 2016-02-03 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
KR20130126823A (ko) 2012-04-27 2013-11-21 한국전자통신연구원 Ami 네트워크의 데이터 관리 방법 및 그 장치
CN103346800B (zh) * 2013-07-08 2016-10-05 沈阳东软医疗系统有限公司 一种数据压缩方法及装置
US9633459B2 (en) 2013-08-23 2017-04-25 Disney Enterprises, Inc. Methods and systems for creating a hull that may have concavities
US9269174B2 (en) * 2013-08-23 2016-02-23 Disney Enterprises, Inc. Methods and systems for generating a polygon mesh
US9773331B2 (en) 2013-08-23 2017-09-26 Disney Enterprises, Inc. Methods and systems for efficient graphics rendering
US10104385B2 (en) * 2014-04-17 2018-10-16 Qualcomm Incorporated Signaling reference layers for 3D color prediction for color gamut scalability
EP3314463A1 (de) * 2015-06-29 2018-05-02 British Telecommunications public limited company Echtzeitindexerzeugung
US10230812B1 (en) * 2016-01-29 2019-03-12 Amazon Technologies, Inc. Dynamic allocation of subtitle packaging
US10341689B1 (en) * 2017-05-23 2019-07-02 Moddable Tech, Inc. Weighted runlength encoding
CN117356094A (zh) * 2021-04-02 2024-01-05 抖音视界有限公司 用于视频处理的方法、设备和介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62298280A (ja) * 1986-06-18 1987-12-25 Ricoh Co Ltd 画像符号化方法
ATE162661T1 (de) * 1990-09-19 1998-02-15 Koninkl Philips Electronics Nv System mit einem aufzeichnungsträger und einer wiedergabevorrichtung
WO1994030008A1 (en) * 1993-06-07 1994-12-22 Scientific-Atlanta, Inc. Display system for a subscriber terminal
US5684542A (en) * 1993-12-21 1997-11-04 Sony Corporation Video subtitle processing system
US5721720A (en) * 1994-12-28 1998-02-24 Kabushiki Kaisha Toshiba Optical recording medium recording pixel data as a compressed unit data block
JP2829266B2 (ja) * 1994-12-28 1998-11-25 株式会社東芝 画像情報のエンコード/デコードシステム
BR9605110A (pt) * 1995-02-03 1997-10-14 Philips Electronics Nv Processo de codificar valores de cor de pixel para um quadro de imagem de vídeo digital aparelho codificador e exbidor de imagem de vídeo sinal de imagem de video e suporte de armazenamento
JP2712099B2 (ja) * 1995-02-03 1998-02-10 株式会社東芝 画像情報のエンコード/デコードシステム
JPH08265661A (ja) 1995-03-23 1996-10-11 Sony Corp 字幕データ符号化/復号化方法および装置、および符号化字幕データ記録媒体
US5684714A (en) * 1995-05-08 1997-11-04 Kabushiki Kaisha Toshiba Method and system for a user to manually alter the quality of a previously encoded video sequence
JPH0946630A (ja) * 1995-07-28 1997-02-14 Matsushita Electric Ind Co Ltd 画像情報記録装置及び画像情報再生装置及び光ディスク
JP3326670B2 (ja) * 1995-08-02 2002-09-24 ソニー株式会社 データ符号化/復号化方法および装置、および符号化データ記録媒体
US5740278A (en) * 1996-02-16 1998-04-14 Cornell Research Foundation, Inc. Facsimile-based video compression method and system
JPH10215379A (ja) * 1997-01-30 1998-08-11 Fuji Xerox Co Ltd 画像符号化装置および画像復号化装置
US6038347A (en) 1997-11-03 2000-03-14 Victor Company Of Japan, Ltd. Method and apparatus for compressing picture-representing data
JP3676078B2 (ja) * 1998-05-07 2005-07-27 株式会社リコー ランレングス符号化方法及び圧縮装置
US6570626B1 (en) * 1998-06-26 2003-05-27 Lsi Logic Corporation On-screen display format reduces memory bandwidth for on-screen display systems
US7212250B1 (en) * 1999-07-15 2007-05-01 Thomson Licensing Method and apparatus for providing on-screen displays for a multi-colorimetry receiver
DE19950490A1 (de) 1999-10-20 2001-04-26 Thomson Brandt Gmbh Verfahren zur Kodierung einer Bildsequenz sowie Teilbilddateneinheit zur Verwendung in einem elektronischen Gerät und Datenträger
KR100716956B1 (ko) * 2000-10-11 2007-05-10 삼성전자주식회사 데이터 변조 방법 및 그 검출 방법
US7164431B1 (en) * 2001-05-08 2007-01-16 Pixelworks, Inc. System and method for mixing graphics and text in an on-screen display application
JP4000844B2 (ja) * 2001-12-11 2007-10-31 日本電気株式会社 コンテンツ配信システム、コンテンツ配信システムの配信サーバ及び表示端末、コンテンツ配信プログラム
EP1494456A1 (de) * 2003-07-01 2005-01-05 Deutsche Thomson-Brandt GmbH Verfahren für Lauflängenkodierung eines Bitmapdatenstroms

Also Published As

Publication number Publication date
US20110069764A1 (en) 2011-03-24
JP5614904B2 (ja) 2014-10-29
JP2011193502A (ja) 2011-09-29
US7912305B1 (en) 2011-03-22
ATE369010T1 (de) 2007-08-15
JP5246816B2 (ja) 2013-07-24
JP4587339B1 (ja) 2010-11-24
JP4601716B2 (ja) 2010-12-22
MXPA05013996A (es) 2007-03-21
US20100329353A1 (en) 2010-12-30
JP2016026432A (ja) 2016-02-12
KR20100116238A (ko) 2010-10-29
US20110064130A1 (en) 2011-03-17
JP2011139446A (ja) 2011-07-14
JP4688240B1 (ja) 2011-05-25
CN101478682A (zh) 2009-07-08
JP4807811B2 (ja) 2011-11-02
CA2725141C (en) 2011-08-09
ES2290706T3 (es) 2008-02-16
JP5822318B2 (ja) 2015-11-24
PL1639805T3 (pl) 2007-12-31
US20110002394A1 (en) 2011-01-06
RU2006102848A (ru) 2007-08-10
DE602004007928D1 (de) 2007-09-13
JP2010252343A (ja) 2010-11-04
US20110064144A1 (en) 2011-03-17
TWI329456B (en) 2010-08-21
US7929790B2 (en) 2011-04-19
JP4688241B1 (ja) 2011-05-25
JP2011139445A (ja) 2011-07-14
EP1639805A1 (de) 2006-03-29
ZA200600030B (en) 2007-03-28
BRPI0412013B1 (pt) 2018-04-03
JP4535339B2 (ja) 2010-09-01
CA2529189C (en) 2011-03-15
CN1813470A (zh) 2006-08-02
JP2011066898A (ja) 2011-03-31
EP1494456A1 (de) 2005-01-05
US7929791B2 (en) 2011-04-19
CN101478682B (zh) 2011-05-25
JP2011250436A (ja) 2011-12-08
KR20060069796A (ko) 2006-06-22
AU2004300704A1 (en) 2005-01-20
BRPI0412013A (pt) 2006-08-15
JP2011024219A (ja) 2011-02-03
CA2529189A1 (en) 2005-01-20
US20100040149A1 (en) 2010-02-18
JP4540016B1 (ja) 2010-09-08
JP4888980B2 (ja) 2012-02-29
JP2011139447A (ja) 2011-07-14
US7929792B2 (en) 2011-04-19
KR101023569B1 (ko) 2011-03-21
TW200509703A (en) 2005-03-01
JP6072867B2 (ja) 2017-02-01
US20110064145A1 (en) 2011-03-17
JP2010226738A (ja) 2010-10-07
JP2007507126A (ja) 2007-03-22
US20060140496A1 (en) 2006-06-29
JP2010252341A (ja) 2010-11-04
CN100579168C (zh) 2010-01-06
US7657109B2 (en) 2010-02-02
US7848585B1 (en) 2010-12-07
RU2350035C2 (ru) 2009-03-20
JP4807810B2 (ja) 2011-11-02
EP1639805B1 (de) 2007-08-01
KR101004246B1 (ko) 2010-12-24
JP2015008464A (ja) 2015-01-15
AU2004300704B2 (en) 2009-04-02
WO2005006736A1 (en) 2005-01-20
JP2013146079A (ja) 2013-07-25
JP4688242B1 (ja) 2011-05-25
JP4627807B1 (ja) 2011-02-09
JP2011193501A (ja) 2011-09-29
CA2725141A1 (en) 2005-01-20

Similar Documents

Publication Publication Date Title
DE602004007928T2 (de) Verfahren für lauflängenkodierung eines bitmapdatenstroms
DE60314544T2 (de) Verfahren und vorrichtung zur herstellung von untertiteln
DE69432660T2 (de) Vorrichtung und verfahren zur kodierung/dekodierung von daten für untertitel

Legal Events

Date Code Title Description
8364 No opposition during term of opposition