DE69623054T2 - Vorrichtung und verfahren zur erzeugung von osd-nachrichten mit ein-bit-pixeln - Google Patents
Vorrichtung und verfahren zur erzeugung von osd-nachrichten mit ein-bit-pixelnInfo
- Publication number
- DE69623054T2 DE69623054T2 DE69623054T DE69623054T DE69623054T2 DE 69623054 T2 DE69623054 T2 DE 69623054T2 DE 69623054 T DE69623054 T DE 69623054T DE 69623054 T DE69623054 T DE 69623054T DE 69623054 T2 DE69623054 T2 DE 69623054T2
- Authority
- DE
- Germany
- Prior art keywords
- osd
- bit
- header
- data
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 30
- 230000006870 function Effects 0.000 description 11
- 239000003086 colorant Substances 0.000 description 9
- 239000000872 buffer Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/44504—Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
- G09G5/26—Generation of individual character patterns for modifying the character dimensions, e.g. double width, double height
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Erzeugung von Bildschirmwiedergabe (OSD = On-Screen Display)-Nachrichten. Insbesondere betrifft die vorliegende Erfindung ein Verfahren und eine Vorrichtung, die die Speicher-Bandbreitenanforderungen eines Dekodier/Wiedergabe-System durch Anwendung von Ein-Bit-Pixeln für den Zugriff zu einer Palette verringern, die für einen sogenannten OSD-Bereich vorbestimmt ist.
- Bildschirmwiedergabe-Nachrichten spielen eine wichtige Rolle bei elektronischen Konsumerprodukten, indem sie den Benutzern interaktive Informationen liefern, wie Menüs, um sie durch die Anwendung und die Konfiguration des Produktes zu führen (WO-A-94129840). Andere wichtige Merkmale einer OSD sind die Fähigkeit für eine Untertitelwiedergabe und die Wiedergabe von sogenannten Kanallogos.
- Jedoch stellt der erhöhe Standrad der digitalen Videotechnologie ein ständig steigendes Problem bei der Erzeugung und der Wiedergabe von OSD-Nachrichten dar. Zum Beispiel gibt es spezielle Anforderungen an ein hochauflösendes Fernsehen (HDTV = High Definition Television), das ein HDTV bis zu 216 Zeichen in vier (4) "Fenstern" gegenüber den derzeitigen Anforderungen des National Television Systems Committee (NTSC) eines Maximums von 128 Schriftzeichen in einem "Fenster" wiedergeben muß. Diese neuen Anforderungen stellen ernsthafte Anstrengungen bei den Dekodier/Wiedergabe-Systemen für Fernsehsignale dar, die die ankommenden, kodierten Datenströme dekodieren und die dekodierten Daten einem Wiedergabesystem mit minimalen Verzögerungen zuführen müssen. Da OSD- Nachrichten mit den Videodaten dargestellt (überlagert) werden müssen, muß der Mikroprozessor des Dekodier/Wiedergabe-Systems einen Teil der Speicherbandbreite für die Durchführung der OSD-Funktionen einsetzen und erhöht dadurch die Anforderungen an die Speicherbandbreite eines DekodierlWiedergabe-Systems und den gesamten Berechungs-Mehraufwand.
- Es besteht daher ein Bedarf für ein Verfahren und eine Vorrichtung zur Erzeugung von Bildschirmwiedergabe (OSD)-Nachrichten, ohne daß die Hardwareanforderungen, zum Beispiel die Speicherbandbreite eines Dekodier/Wiedergabe-Systems, erhöht werden.
- Die Erfindung betrifft eine Vorrichtung und ein zugehöriges Verfahren zur Erzeugung von OSD-Nachrichten durch Aufbau eines gültigen OSD-Bitstroms mit mehreren "Ein-Bit"-Pixeln.
- Im einzelnen gewinnt eine OSD-Einheit gemäß der Erfindung einen OSD-Bitstrom von einer Speichereinheit zurück. Der OSD-Bitstrom enthält einen OSD-Header und OSD-Daten. Der OSD-Header enthält Steuerinformationen, die dazu dienen, eine Farbpalette der OSD-Einheit zu programmieren und Informationen für die Behandlung der OSD-Daten zu liefern. Die Steuerinformationen werden durch einen Prozessor des DekodierlWiedergabe-Systems programmiert. Wenn der "komprimierte Pixel-Modus" (Compressed Pixel Mode) in dem OSD-Header freigegeben oder wirksam ist, dann behandelt die OSD-Einheit jedes Bit der OSD-Daten in dem OSD- Bitstrom als ein "Ein-Bit"-Pixel. Somit stellt jedes OSD-Datenbit einen von zwei möglichen Indices dar, wobei jeder Index eine von mehreren möglichen Eingaben in die OSD-Palette identifiziert. Wenn es zum Beispiel 16 mögliche Eingaben gibt, für die ein Zugriff durch 4-Bit-Adressen erfolgen kann, dann kann das "Ein-Bit"-Pixel unter Verwendung nur eines einzigen Bit Zugriff nehmen zu zwei von möglichen Eingaben. Dieser und andere Aspekte der Erfindung werden anhand der beigefügten Zeichnung beschrieben.
- In der Zeichnung zeigen:
- Fig. 1 ein Blockschaltbild eines Dekodier/Wiedergabe-Systems mit einer OSD- Einheit gemäß einem Aspekt der Erfindung,
- Fig. 2 ein Blockschaltbild, das die Struktur eines komprimierten Abtast-Pixel- Bitstroms zeigt und
- Fig. 3 ein Flußdiagramm für das Verfahren zum Bilden eines gültigen OSD- Bitstroms mit mehreren Ein-Bit-Pixeln.
- Fig. 1 zeigt ein Blockschaltbild eines Dekodier/Wiedergabe-Systems für Fernsehsignale 100 (im folgenden mit Dekodiersystem bezeichnet). Das Dekodiersystem enthält einen Prozessor 130, ein RAM 140, ein ROM 142, eine OSD-Einheit 150, einen Videodekoder 160 und einen Mischer 170. Der Ausgang des Mischers 170 ist über den Weg 180 mit einer Wiedergabeeinheit 190 verbunden.
- Die vorliegende Erfindung wird im folgenden anhand der MPEG-Normen, ISOIIEC international Standards 11172 (1991) (im allgemeinen bezeichnet mit MPEG-1 Format) und 13818 (1995) (im allgemeinen bezeichnet mit MPEG-2 Format) beschrieben. Der Fachmann auf diesem Gebiet wird jedoch erkennen, daß die vorliegende Erfindung bei anderen Dekodiersystemen angewendet ist oder an diese adaptiert werden kann, die andere Kodier/Dekodier-Formate anwenden.
- Bei der bevorzugten Ausführungsform bewirkt das Dekodiersystem 100 eine Audio- und Videodekomprimierung verschiedener Datenströme (Bitströme) 120 in Echtzeit. Die Bitströme 120 können elementare Audio- und Videoströme sein, die entsprechend den Normen MPEG-1 und MPEG-2 kodiert sind. Die kodierten Bitströme 120 werden durch einen (nicht dargestellten) Koder erzeugt und über einen Kommunikationskanal zu dem Dekodiersystem übertragen. Die kodierten Bitströme enthalten eine kodierte Darstellung von mehreren Bildern und können die zu diesen Bildern gehörenden Audioinformationen enthalten, z. B. einen Multimedia-Datenstrom. Die Muitimedia-Quelle kann eine HDTV-Station, eine Videoplatte, eine Fernsehkabelstation und dergleichen sein. Danach dekodiert das Dekodiersystem 100 die kodierten Bitströme und erzeugt mehrere dekodierte Bilder für die Darstellung auf der Wiedergabeeinheit 190 synchron mit den zugehörigen Audioinformationen. Jedoch wird für den Zweck dieser Erfindung die Audio-Dekodierfunktion des Dekodiersystems 100 nicht beschrieben.
- Im einzelnen empfängt der Prozessor 130 Bitströme 120 und Bitströme 110 als Eingänge. Die Bitströme 110 können verschiedene Steuersignale oder andere Datenströme enthalten, die in den Bitströmen 120 nicht enthalten sind. Zum Beispiel kann eine (nicht dargestellte) Kanaldekoder- oder Transporteinheit zwischen dem Übertragungskanal und dem Dekodiersystem 100 eingesetzt werden, um die Analyse und Weiterleitung der Datenpakete in Datenströme oder Steuerströme zu bewirken.
- In der bevorzugten Ausführungsform bewirkt der Prozessor 130 verschiedene Steuerfunktionen, einschließlich, aber nicht darauf beschränkt, die Lieferung von Steuerdaten zu dem Videodekoder 160 und der OSD-Einheit 150, eine Zugriffsverwaltung zu dem Speicher und die Steuerung der Wiedergabe der dekodierten Bilder. Wenngleich die vorliegende Erfindung einen einzigen Prozessor beschreibt, wird der Fachmann auf diesem Gebiet erkennen, daß der Prozessor 130 verschiedene speziell gewidmete Einheiten enthalten kann, um die speziellen Funktionen zu verwalten, z. B. eine Speicher-Steuereinheit, eine Mikroprozessor-Schnittstelleneinheit und dergleichen.
- Der Prozessor 130 empfängt Bitströme 120 und schreibt die Datenpakete über den Videodekoder 160 in den Speicher 140. Die Bitströme können optional über einen (nicht dargestellten) FIFO (First-In-First-Out)-Puffer laufen, bevor sie über einen Speicher = Datenbus zu dem Speicher übertragen werden. Außerdem gibt es im allgemeinen einen weiteren (nicht dargestellten) Speicher, der nur von dem Prozessor 130 benutzt wird.
- Der Speicher 140 dient zur Speicherung von mehreren Daten, einschließlich komprimierte Daten, dekodierte Bilder und die sogenannte OSD-Bitmap. Somit wird der Speicher im allgemeinen in verschiedenen Puffern dargestellt, z. B. ein Bit-Puffer zur Speicherung von komprimierten Daten, ein OSD-Puffer zur Speicherung der OSD- Bitmap, verschiedene Bildpuffer zur Speicherung von Vollbildern von Bildern und ein Wiedergabepuffer zur Speicherung der dekodierten Bilder.
- Entsprechend den MPEG-Normen dekodiert der Videodekoder 160 die komprimierten Daten in dem Speicher 140 und rekonstruiert die kodierten Bilder in dem Speicher. In einigen Fällen ist das dekodierte Bild ein Differenzsignal, das zu einem gespeicherten Referenzbild addiert wird, um das aktuelle Bild zu erzeugen, zum Beispiel zur Erleichterung der Dekodierung eines bewegungskompensierten Bildes.
- Wenn ein Bild rekonstruiert worden ist, wird es in dem Wiedergabepuffer für die Wiedergabe über den Mischer 170 gespeichert.
- Auf ähnliche Weise verwendet die OSD-Einheit 150 den Speicher 140 zur Speicherung der OSD-Bitmap oder der OSD-Spezifikation. Die OSD-Einheit ermöglicht es einem Benutzer (Hersteller), eine Bitmap für jedes Halbbild zu definieren, das dem dekodierten Bild überlagert werden kann. Die OSD-Bitmap kann Informationen enthalten, die die Konfiguration und die Optionen eines bestimmten elektronischen Konsumerprodukts betreffen. Alternativ kann die OSD-Bitmap Informationen enthalten, die Untertitel und Kanallogos betreffen, die von einem Kabelfernsehen, einer Videoplatte oder dergleichen übertragen werden. Eine OSD-Bitmap ist definiert als ein Satz von Bereichen (im allgemeinen mit rechteckigen Formen) mit programmierbarer Lage und Größe, von denen jeder eine einzige Palette von verfügbaren Farben aufweist.
- Die OSD-Bitmap wird in den OSD-Puffer des Speichers 140 geschrieben, der durch den Benutzer diesem Zweck zugeordnet wird. Der Fachmann auf diesem Gebiet wird jedoch erkennen, daß ein ROM 142 oder andere, äquivalente Speichereinheiten ebenfalls für diese Funktion dienen können.
- Wenn die OSD-Funktion für ein bestimmtes Bild oder Vollbild erfolgt, manipuliert der Prozessor 130 die Daten in dem Speicher 140 zur Bildung eines OSD-Bitstroms. Der OSD-Bitstrom enthält einen OSD-Header und OSD-Daten (Pixeldaten).
- Im einzelnen programmiert (formatiert und speichert) der Prozessor 130 den OSD- Header in den Speicher 140. Der OSD-Header enthält Informationen für die Lagen der oberen und unteren OSD-Bild-Bitmaps, Palettendaten, Zeiger zu dem nächsten Header-Block und verschiedene Wiedergabemodi, einschließlich OSD-Auflösung, Farbe und Komprimierung. Wenn der OSD-Header programmiert worden ist, kann der Prozessor 130 die OSD-Daten in dem Speicher 140 entsprechend einer besonderen Durchführung manipulieren. Zum Beispiel werden die OSD-Daten gemäß einem gewählten Modus formatiert, zum Beispiel dem sogenannten Modus mit komprimierten Pixeln (Compressed Pixel Mode), wie später erläutert wird. Alternativ kann der Prozessor einfach den OSD-Header mit Zeigern zu den OSD-Daten in dem Speicher programmieren, wo die gespeicherten OSD-Daten ohne Modifikation zur Bildung des OSD-Bitstroms zurückgewonnen werden.
- Der Prozessor 130 zeigt dann den Freigabezustand, z. B. OSD aktiv, der OSD- Einheit 150 an, der daraufhin den Prozessor 130 für den Zugriff zu dem in dem Speicher 140 gespeicherten OSD-Bitstrom auffordert. Der OSD-Bitstrom wird gebildet und zurückgewonnen, wenn die OSD-Einheit die OSD-Header Liest, jeder gefolgt von den ihm zugeordneten OSD-Daten. Nach dem Empfang des OSD-Bitstroms verarbeitet die OSD-Einheit die OSD-Pixeldaten entsprechend den Instruktionen oder gewählten Modi indem OSD-Header. Die OSD-Einheit wartet dann auf ein Paar von (nicht dargestellten) Wiedergabezählern, um Zählwerte zu gewinnen, die die richtige Lage auf der Wiedergabeeinheit für die Einfügung der OSD- Informationen identifizieren. Bei der richtigen Lage gibt die OSD-Einheit ihren Ausgang zu dem Mischer 170 weiter. Der Ausgang der OSD-Einheit 150 ist ein Strom oder eine Folge von digitalen Wörtern, die jeweils Luminanz- und Chrominanz- Komponenten darstellen. Es werden neue Zugriffsvorgänge zu dem Speicher angefordert, wie sie benötigt werden, um den notwendigen Datenfluß (OSD-Bitstrom) durch die OSD-Einheit aufrechtzuerhalten und eine umfassende OSD-Wiedergabe zu erzeugen. Wenn das letzte Byte der OSD-Pixeldaten für den laufenden OSD- Bereich aus dem Speicher gelesen worden ist, wird der nächste OSD-Header gelesen, und der Vorgang wird wiederholt und enthält den letzten OSD-Bereich für das laufende Vollbild.
- Der Fachmann auf diesem Gebiet wird erkennen, daß die Reihenfolge des Aufbaus und der Zurückgewinnung des OSD-Bitstroms, wie oben beschrieben, geändert werden kann. Zum Beispiel kann der OSD-Header aus dem Speicher gelesen werden, wenn der Prozessor die OSD-Daten formatiert, oder die OSD-Daten können durch die OSD-Einheit als OSD-Nachrichten verarbeitet und wiedergegeben werden, ohne daß der gesamte OSD-Bitstrom zurückgewonnen werden muß.
- Da die OSD-Pixeldaten dem dekodierten Bild überlagert sind, dient der Mischer 170 zum selektiven Einblenden oder Multiplexen des dekodierten Bildes mit den OSD- Pixeldaten. Der Mischer 170 hat nämlich die Fähigkeit, bei jeder Pixellage ein OSD- Pixel, ein Pixel des dekodierten Bildes oder eine Kombinaiton (eingeblendet) von beiden Pixeltypen wiederzugeben. Diese Fähigkeit ermöglicht die Wiedergabe von Untertiteln (nur OSD-Pixeldaten) oder die Wiedergabe von transparenten Kanallogos (eine Kombination von OSD-Pixeln und dekodierten Bildpixeln) auf einem dekodierten Bild.
- Der Videodekoder 160 und die OSD-Einheit 150 bilden beide Ströme oder Folgen von digitalen Wörtern, die Luminanz- bzw. Chrominanz-Komponenten darstellen. Diese Folgen von Videokomponenten darstellenden digitalen Wörtern werden über den Mischer 170 einem Digital/Analog-Konverter (DAC) 185 zugeführt. Die die Luminanz und die Chrominanz darstellenden digitalen Wörter werden durch die jeweiligen Bereiche des DAC in ein analoges Luminanzsignal und ein analoges Chrominanzsignal umgesetzt.
- Die OSD-Einheit 150 kann dazu dienen, die von einem Benutzer bestimmte Bitmap über einen beliebigen Teil des Wiedergabeschirms wiederzugeben, unabhängig von der Größe und der Lage des aktiven Bildbereichs. Diese Bitmap kann unabhängig für jedes Bild bestimmt und als eine Sammlung von OSD-Bereichen spezifiziert werden. Ein Bereich ist häufig ein rechteckförmiger Bereich, spezifiziert durch seine Grenzen und seinen eine Bitmap bestimmenden Inhalten. Jedem Bereich ist eine Palette zugeordnet, die mehrere Farben (z. B. 4 oder 16 Farben) bestimmt, die in diesem Bereich benutzt werden können. Im Bedarfsfall kann eine dieser Farben transparent sein und es ermöglichen, daß der Hintergrund durch sie hindurchscheint, wie oben beschrieben.
- Jedoch erhöht die Behandlung der OSD-Funktionen für ein Vollbild den Rechenzusatzaufwand des Prozessors 130 und bildet, was noch wichtiger ist, ernsthafte Einschränkungen für die Speicherbandbreite des Prozessors, weil der Prozessor 130 Speicheranforderungen sowohl von dem Videodekoder 160 als auch von der OSD- Einheit 150 bedienen muß. Insofern verringert die vorliegende Erfindung die Größe des OSD-Bitstroms durch Einsatz des genannten komprimierten Pixelmodus (Compressed Pixel Mode).
- Fig. 2 zeigt die Struktur eines OSD-Bitstrom 200 mit einer Abtastung "komprimiertes Pixel". Der OSD-Bitstrom enthält mehrere OSD-Header 210, von denen jeder durch OSD-Daten 220 gefolgt ist. In einer Ausführungsform enthält der Header fünf 64-Bit-Wörter, gefolgt von einer beliebigen Anzahl von 64-Bit-OSD-Daten (Bitmap)- Wörtern. Der OSD-Header 210 enthält Informationen für die Koordinaten 214 des OSD-Bereichs, die verschiedenen Eingaben der Palette 216 für einen bestimmten OSD-Bereich und verschiedene Funktionscodes (Bit) 212. Der Fachmann auf diesem Gebiet wird erkennen, daß der OSD-Header jede beliebige Länge haben kann. Ein längerer Header kann mehr Informationen und Optionen bieten, z. B. eine Palette mit mehr Eingaben, jedoch auf Kosten eines höheren Rechnerzusatzaufwands, d. h. mehr Lese- und Schreib-Zyklen. Tatsächlich ist der Inhalt des OSD-Header bezeichnend für eine bestimmte Ausführungsform und ist nicht auf die in Fig. 2 dargestellte spezielle Anordnung beschränkt.
- Die Koordinaten 214 des OSD-Bereichs enthalten die Lagen der linken und der rechten Kante eines OSD-Bereichs, d. h. Reihenbeginn und Stopplagen sowie Spaltenbeginn und Stopplagen. Für eine verschachtelte Wiedergabe enthalten die Bereichskoordinaten die Lagen (Zeiger) der oberen und unteren Bildpixel-Bitmap für den entsprechenden OSD-Bereich. Schließlich enthalten die OSD-Bereichskoordinaten 214 einen Zeiger zu dem nächsten Header-Block in dem Speicher.
- Die Palette 216 enthält mehrere Eingaben, wobei jede Eingabe eine Darstellung von Chrominanz- und Luminanzwerten für ein OSD-Pixel enthält. Die Paletten- Informationen 216 dienen zur Programmierung der OSD-Palette. Da jeder OSD- Header Paleften-Informationen 216 enthält, können die verfügbaren Farben für jeden OSD-Header und seine dazugehörigen OSD-Daten-Bytes wahlweise geändert werden. In der bevorzugten Ausführungsform enthält jede Paletten-Eingabe 16 Bit von Daten, d. h. sechs (6) Bit von Luminanz Y, vier (4) Bit von blauer Chrominanz Cb und vier (4) Bit von roter Chrominanz Cr. Die übrigen zwei Bit dienen zur Durchführung verschiedener Wiedergabeoptionen, die für die vorliegende Erfindung irrelevant sind.
- In einer Ausführungsform gibt es 16 Eingaben in die Palette, die 4 Bit zur Adressierung jeder Eingabe benötigen.
- Die Funktionscodes (Bit) 212 enthalten Informationen für die verschiedenen Modi, einschließlich, aber nicht darauf beschränkt, Wiedergabeoptionen und OSD- Bitstrom-Optionen. Bei der bevorzugten Ausführungsform enthalten die Funktionsbit ein einziges Bit zur Anzeige, ob der "Compressed Pixel Mode" freigegeben oder wirksam ist. Wenn der "Compressed Pixel Mode" wirksam ist, enthalten die Daten in den OSD-Daten mehrere "Durchläufe" (runs) von "Ein-Bit-"Pixeln, wie später erläutert wird.
- Die OSD-Daten 220 enthalten die Bitmap in der Reihenfolge von links nach rechts und von oben nach unten. Die OSD-Daten dienen zur Bestimmung des Farbindex jedes Pixels. Bei der bevorzugten Ausführungsform enthalten die OSD-Daten 220, wenn der "Compressed Pixel Mode" wirksam ist, ein Index-Byte 230, auf das mehrere Datenbyte 240 folgen. Die Länge des Indexbyte 230 und der Datenbyte 240 ist auf 8 Bit für jedes Byte festgesetzt. Der Index 230 enthält die Adressen für zwei (2) bestimmte Paletteneingaben mit einer 4-Bit-Adresse. Durch Setzen jedes Datenbit in den OSD-Daten 220 auf einen hohen oder niedrigen Wert können somit zu einer der zwei verfügbaren Indexadressen leicht ein Zugriff erfolgen, indem ein einziges Bit oder ein "Ein-Bit"-Pixel verwendet wird.
- Außerdem ermöglicht der "Compressed Pixel Mode" einem Benutzer, einen Durchlauf (run) der Ein-Bit-Pixel zu spezifizieren. Ein run length (Lauflängen)-Zähler informiert die OSD-Einheit darüber, wieviele Ein-Bit-Pixel in jedem Durchlauf vorliegen. Der run length-Zählwert wird in den OSD-Header geschrieben.
- Zur Erläuterung zeigt Fig. 2 ein Index-Byte 230 mit einem ersten Index 232 und einem zweiten Index 234, wobei die Indices die Paletteneingaben 5 bzw. 12 darstellen. Wenn das höchstwertige Bit (msb = most significant bit) jedes OSD-Pixelbyte den ersten Pixeln entspricht, dann werden, wenn ein Bit "1" ist, die vier höchstwertigen Bit 232 des Indexbyte zur Adressierung der Palette gesendet. Wenn ein Bit "0" ist, dann werden die vier geringstwertigen Bit 234 des Indexbyte zur Adressierung der Palette gesendet. Außerdem enthalten, wenn der komprimierte run length-Zählwert gleich zwanzig ist, die nächsten drei Datenbyte 240, die auf das Indexbyte folgen, diese zwanzig "Ein-Bit"-Pixel. Am Ende jedes Durchlaufs muß das folgende Byte das nächste Indexbyte sein, auf das der nächste Durchlauf folgt.
- Dieser Betriebsmodus macht es möglich, daß der Prozessor 130 ein Komprimierverhältnis von 4 : 1 gegenüber dem normalen Wiedergabemodus erreicht, der vier Bit zur Adressierung der Palette benötigt. Diese Einsparung ist noch wichtiger für Dekodiersysteme, die größere Paletten enthalten. In diesem "Compressed Pixel Mode" können für einen bestimmten Durchlauf nur zwei Farben zur Zeit gewählt werden. Jedoch verringert der Compressed Pixel Mode, da eine Anwendung wie Untertitel nur zwei Farben für ein bestimmtes Zeichen verwendet, die Anzahl an Speichervorgängen, ohne die Wiedergabefähigkeiten einer bestimmten OSD-Ausführung zu begrenzen. Zusätzlich kann der Prozessor leicht die beiden Farbabschnitte durch einfache Änderung des Farbindex 230 am Ende eines Durchlaufs ändern und dadurch Farbänderungen ermöglichen. Schließlich trägt die OSD-Einheit, obwohl der Compressed Pixel Mode für einen OSD-Header 210 gewählt worden ist, mehrere Header- Blöcke, die jeder einen anderen Auflösungsmodus haben können. Somit ist die OSD-Einheit in der Lage, unterschiedliche Typen an Auflösung oder Formaten auf demselben Bildschirm wiederzugeben.
- Die Wahl des Compressed Pixel Mode wird von dem Benutzer über den Prozessor 130 gesteuert. Diese Steuerung kann durch Anwendung einer Software erfolgen, die die Notwendigkeit der Minimierung des Speicherzugriffs durch die OSD-Einheit 150 detektiert. Zum Beispiel kann der Videodekoder 160 eine Reihe von komplizierten, kodierten Bildern empfangen, die einen zusätzlichen Speicherzugriff benötigen. Um Speicherzugriffs-Konflikte zwischen der OSD-Einheit und dem Videodekoder zu minimieren, kann der Prozessor die angestiegende Anforderung des Videodekoders dadurch verschieben, indem der Compressed Pixel Mode in dem OSD-Bitstrom freigegeben wird.
- Fig. 3 zeigt ein Verfahren 300 zur Bildung eines OSD-Bitstroms mit mehreren Ein- Bit-Pixeln. Der OSD-Bitstrom wird durch den Prozessor 130 erzeugt und durch die OSD-Einheit 150 verarbeitet. Das Verfahren 300 bildet einen OSD-Bitstrom von Fig. 2 durch Erzeugung eines OSD-Headers mit einem komprimierten Pixel-Modus- Bit, auf das mehrere Index- und Datenbyte folgen.
- In Fig. 3 beginnt das Verfahren 300 beim Schritt 305 und geht zum Schritt 310 weiter, wo ein Bit in dem OSD-Header als ein komprimiertes Pixel-Modus-Bit bestimmt wird. Wenn der komprimierte Pixelmodus in dem OSD-Header wirksam ist, dann sind die auf den Header folgenden OSD-Daten Ein-Bit-Pixel. Wenn der komprimierte Pixelmodus nicht wirksam ist, dann werden die OSD-Datenbit gemäß einem normalen Format verarbeitet, das eine 4-Bit-Adresse zu einer Palette (oder beliebige andere Bitstrom-Formate, z. B. die MPEG-Normen) sein kann.
- Im Schritt 320 ermittelt das Verfahren 300, ob der komprimierten Pixelmodus wirksam ist. Wenn die Abfrage negativ beantwortet wird, geht das Verfahren 300 zum Schritt 325 über, wo dis OSD-Datenbyte unter Anwendung eines nicht- komprimierten Formats erzeugt werden. Das Verfahren 300 geht dann weiter zum Schritt 370.
- Wenn die Abfrage beim Schritt 320 zustimmend beantwortet wird, geht das Verfahren 300 zum Schritt 330 weiter, wo ein "run length-Zählwert" in den OSD-Header geschrieben wird. Der "run length-Zählwert" stellt einen Durchlauf von Ein-Bit-Pixeln in den OSD-Datenbyte dar und dient zur Auslösung eines run length-Zählers.
- Beim Schritt 340 erzeugt das Verfahren 300 ein Indexbyte mit zwei Indices, die zwei mögliche Eingaben in eine Palette identifizieren, die indem OSD-Header liegt. Die beiden Indices werden für den gesamten Durchlauf gewählt.
- Im Schritt 350 erzeugt das Verfahren 300 einen Durchlauf von Ein-Bit-Pixeln, die in den OSD-Datenbyte liegen. Wenngleich jedes OSD-Datenbyte eine Länge von 8 Bit hat, ist die run length nicht auf irgendeine Länge beschränkt, d. h. ein Durchlauf von zwanzig Ein-Bit-Pixeln kann innerhalb von drei OSD-Datenbyte enthalten sein.
- Im Schritt 360 ermittelt das Verfahren 300, ob es irgendwelche zusätzlichen Durchläufe gibt. Ein neuer Durchlauf kann gefordert werden, wenn die beiden gewählten Farben geändert werden. Wenn die Abfrage negativ beantwortet wird, geht das Verfahren 300 zum Schritt 370 weiter. Wenn die Abfrage zustimmend beantwortet wird, geht das Verfahren 300 zum Schritt 330 weiter, wo die Schritte 330-350 für jeden zusätzlichen Durchlauf wiederholt werden. Die Indices in dem Indexbyte können wahlweise für jeden Durchlauf geändert werden.
- Im Schritt 370 ermittelt das Verfahren 300, ob es einen weiteren OSD-Header gibt. Ein neuer OSD-Header kann benötigt werden, wenn die gewählten Farben in der Palette und die verschiedenen, durch die Funktionsbits 212 dargestellten Modi geändert werden. Auf ähnliche Weise wird ein neuer Header für jeden neuen OSD- Bereich auf einem Vollbild benötigt. Wenn die Abfrage negativ beantwortet wird, geht das Verfahren 300 zum Schritt 380 weiter, wo das Verfahren 300 endet. Wenn die Abfrage zustimmend beantwortet wird, geht das Verfahren 300 zum Schritt 320 weiter, wo die Schritte von 320-360 für jeden zusätzlichen OSD-Header wiederholt werden. Auf diese Weise kann der OSD-Bitstrom sowohl komprimierte OSD-Datenbyte als auch nicht-komprimierte OSD-Datenbyte enthalten.
- Es wurden somit ein neues Verfahren und eine neue Vorrichtung zum Bilden eines OSD-Bitstroms mit mehreren Ein-Bit-Pixeln gezeigt und beschrieben, das eine verbesserte Speicherbandbreite für die Anwendung bei einem Dekodier/Wiedergabe- System liefert. Viele Änderungen, Modifikationen, Variationen und andere Benutzungen und Anwendungen des Gegenstands der Erfindung sind jedoch für den Fachmann auf diesem Gebiet offensichtlich, wenn er diese Anmeldung und die beigefügte Zeichnung beachtet hat, die die Ausführungsformeln der Erfindung beschreiben. Alle derartigen Änderungen, Modifikationen, Variationen und andere Benutzungen und Anwendungen, die von dem Schutzumfang der Erfindung nicht abweichen, sollen durch die Erfindung abgedeckt sein, die nur durch die folgenden Ansprüche begrenzt ist.
Claims (14)
1. Verfahren zur Bildung eines Bildschirmwiedergabe (OSD = On = Screen Display)-
Bitstroms mit folgenden Schritten:
Setzen eines Bit in einem OSD-Header zur Anzeige eines komprimierten
Pixel-Modus oder eines nicht-komprimierten Pixel-Modus,
wobei dann, wenn das Bit in dem OSD-Header den komprimierten Pixel-
Modus anzeigt, ein Adressen enthaltendes Indexbyte und ein mehrere Ein-Bit-
Pixel enthaltendes Datenbyte erzeugt wird, und jedes Pixel eine der Adressen
anzeigt, und
dann, wenn das Bit in dem OSD-Header den nicht-komprimierten Pixel-Modus
anzeigt, OSD-Daten erzeugt werden, die mehrere nicht-komprimierte Pixel
enthalten.
2. Verfahren nach Anspruch 1 mit folgenden Schritten:
Zuordnung einer run length für die mehreren Ein-Bit-Pixel.
3. Verfahren nach Anspruch 1, wobei der das Indexbyte erzeugende Schritt
folgende Schritte enthält:
Erzeugung eines ersten Index und
Erzeugung eines zweiten Index.
4. Verfahren nach Anspruch 3, wobei der erste und der zweite Index mit den beiden
Paletteneingaben korrelieren.
5. Verfahren nach Anspruch 4, wobei jedes der mehreren Ein-Bit-Pixel mit einem
der Indices korreliert.
6. Verfahren nach Anspruch 1, wobei dann, wenn das Bit in dem OSD-Header den
nicht-komprimierten Modus anzeigt, die OSD-Daten mehrere Adressen enthalten,
die mit den Paletteneingaben korrelieren.
7. OSD-Bitstrom, der in einem Speichermedium gespeichert ist, mit:
einem OSD-Header mit einem Bit zur Anzeige eines komprimierten
Pixelmodus und eines nicht-komprimierten Pixelmodus,
OSD-Daten, die dem OSD-Header zugeführt werden,
wobei dann, wenn das Bit in dem OSD-Header den komprimierten
Pixelmodus anzeigt, die OSD-Daten ein Indexbyte enthalten, das Adressen und ein
Datenbyte mit mehreren Ein-Bit-Pixeln enthält, und jedes Pixel eine der Adressen
anzeigt, und
dann, wenn das Bit in dem OSD-Header den nicht-komprimierten Pixelmodus
anzeigt, die OSD-Daten mehrere nicht-komprimierte Pixel enthalten.
8. OSD-Bitstrom nach Anspruch 7, wobei dann, wenn das Bit in dem OSD-Header
den komprimierten Pixelmodus anzeigt, das Indexbyte erste und zweite Indices
enthält, die mit einer ersten bwz. einer zweiten Paletteneingabe assoziiert sind,
und jedes der Ein-Bit-Pixel mit dem ersten oder dem zweiten Index korreliert.
9. OSD-Bitstrom nach Anspruch 7, wobei der OSD-Bitstrom entsprechend den
MPEG-Normen erzeugt wird.
10. OSD-Bitstrom nach Anspruch 7, wobei dann, wenn das Bit in dem OSD-Header
den nicht-komprimierten Pixelmodus anzeigt, die OSD-Daten Adressen
enthalten, die mit den Paletteneingaben korrelieren.
11. Vorrichtung zur Erzeugung eines OSD-Bitstroms nach Anspruch 7 mit folgenden
Merkmalen:
ein Speichermedium zum Speichern eines OSD-Headers und von mit dem
OSD-Header assoziierten OSD-Daten und
ein Prozessor, der mit dem Speichermedium verbunden ist und ermöglicht,
daß ein komprimiertes Pixel-Modus-Bit in dem OSD-Header ermöglicht, der für
das Lesen des OSD-Headers und der OSD-Daten mit einem Indexbyte, das
Adressen und mehrere Ein-Bit-Pixel enthält, und zur Wahl einer der Adressen für
jedes der mehreren Ein-Bit-Pixel vorgesehen ist.
12. Vorrichtung nach Anspruch 11, wobei das Speichermedium ein ROM ist.
13. Vorrichtung nach Anspruch 11, wobei das Speichermedium ein RAM ist.
14. Vorrichtung zum Erzeugen einer OSD-Nachricht mit:
einem Speichermedium zur Speicherung eines OSD-Bitstroms mit einem
Header, der ein Bit zur Anzeige eines komprimierten Pixelmodus und eines nicht-
komprimierten Pixelmodus und von dem Header zugeführten OSD-Daten enthält,
wobei dann, wenn das Bit in dem OSD-Header den komprimierten Pixelmodus
anzeigt, die OSD-Daten ein Indexbyte mit Adressen und mehreren Ein-Bit-Pixeln
enthält und jedes Pixel eine der Adressen anzeigt, und dann, wenn das Bit in
dem OSD-Header den nicht-komprimierten Modus anzeigt, die OSD-Daten
mehrere nicht-komprimierte Pixel enthalten,
einem Prozessor, der mit dem Speichermedium verbunden ist, zur
Programmierung eines komprimierten Pixelmodus-Bit in dem Header zur Anzeige des
komprimierten Pixelmodus und zur Formatierung der OSD-Daten unter
Anwendung der mehreren Ein-Bit-Pixel und
einer OSD-Einheit, die mit dem Prozessor verbunden ist, zur Verarbeitung des
OSD-Bitstroms zur Bildung der OSD-Nachricht durch Wahl einer der Adressen
aufgrund jedes der Ein-Bit-Pixel.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US1996/016459 WO1998017056A1 (en) | 1996-10-16 | 1996-10-16 | Apparatus and method for generating on-screen-display messages using one-bit pixels |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69623054D1 DE69623054D1 (de) | 2002-09-19 |
DE69623054T2 true DE69623054T2 (de) | 2003-09-11 |
Family
ID=22255953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69623054T Expired - Lifetime DE69623054T2 (de) | 1996-10-16 | 1996-10-16 | Vorrichtung und verfahren zur erzeugung von osd-nachrichten mit ein-bit-pixeln |
Country Status (10)
Country | Link |
---|---|
EP (1) | EP0932976B1 (de) |
JP (1) | JP3935958B2 (de) |
KR (1) | KR100417278B1 (de) |
AU (1) | AU7431096A (de) |
BR (1) | BR9612748A (de) |
CA (1) | CA2268124C (de) |
DE (1) | DE69623054T2 (de) |
HK (1) | HK1024583A1 (de) |
MY (1) | MY118776A (de) |
WO (1) | WO1998017056A1 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570626B1 (en) * | 1998-06-26 | 2003-05-27 | Lsi Logic Corporation | On-screen display format reduces memory bandwidth for on-screen display systems |
FR2780804A1 (fr) * | 1998-07-03 | 2000-01-07 | Thomson Multimedia Sa | Dispositif de controle de l'affichage de caracteres dans un systeme video |
FR2784534B1 (fr) * | 1998-10-09 | 2000-12-22 | St Microelectronics Sa | Procede et circuit d'affichage d'elements d'image incrustes sur une image video |
FR2784532B1 (fr) * | 1998-10-09 | 2000-12-22 | St Microelectronics Sa | Procede de correction de l'effet de tremblement et de scintillement des elements d'image incrustes sur une image video |
DE60024174T2 (de) * | 1999-07-13 | 2006-07-06 | Thomson Licensing | Videoverarbeitungsverfahren und -system mit mehrfach OSD-Formaten |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6166728A (en) * | 1992-12-02 | 2000-12-26 | Scientific-Atlanta, Inc. | Display system with programmable display parameters |
US5614952A (en) * | 1994-10-11 | 1997-03-25 | Hitachi America, Ltd. | Digital video decoder for decoding digital high definition and/or digital standard definition television signals |
US5534942A (en) * | 1994-06-17 | 1996-07-09 | Thomson Consumer Electronics, Inc. | On screen display arrangement for digital video signal processing system |
US5640502A (en) * | 1994-08-05 | 1997-06-17 | Thomson Consumer Electronics, Inc. | Bit-mapped on-screen-display device for a television receiver |
-
1996
- 1996-10-16 JP JP51829298A patent/JP3935958B2/ja not_active Expired - Fee Related
- 1996-10-16 CA CA002268124A patent/CA2268124C/en not_active Expired - Fee Related
- 1996-10-16 WO PCT/US1996/016459 patent/WO1998017056A1/en active IP Right Grant
- 1996-10-16 DE DE69623054T patent/DE69623054T2/de not_active Expired - Lifetime
- 1996-10-16 BR BR9612748-1A patent/BR9612748A/pt not_active IP Right Cessation
- 1996-10-16 EP EP96936486A patent/EP0932976B1/de not_active Expired - Lifetime
- 1996-10-16 KR KR10-1999-7003265A patent/KR100417278B1/ko not_active IP Right Cessation
- 1996-10-16 AU AU74310/96A patent/AU7431096A/en not_active Abandoned
-
1997
- 1997-10-15 MY MYPI97004842A patent/MY118776A/en unknown
-
2000
- 2000-06-19 HK HK00103682A patent/HK1024583A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0932976B1 (de) | 2002-08-14 |
HK1024583A1 (en) | 2000-10-13 |
KR20000049170A (ko) | 2000-07-25 |
DE69623054D1 (de) | 2002-09-19 |
AU7431096A (en) | 1998-05-11 |
JP3935958B2 (ja) | 2007-06-27 |
BR9612748A (pt) | 1999-08-31 |
CA2268124A1 (en) | 1998-04-23 |
CA2268124C (en) | 2002-01-08 |
MY118776A (en) | 2005-01-31 |
KR100417278B1 (ko) | 2004-02-05 |
EP0932976A1 (de) | 1999-08-04 |
WO1998017056A1 (en) | 1998-04-23 |
JP2001502490A (ja) | 2001-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69516139T2 (de) | Komprimierter digitaler bildüberlagerungskontroller und methode | |
DE69901018T2 (de) | Verfahren und Vorrichtung zur Erzeugung von OSD Daten in einem Videosignal mit kodiertem Format | |
DE69015536T2 (de) | Fensterdehnung für Farbfernsehen und Korrektur der Überabtastung für hochauflösende Rastergraphikanzeigen. | |
DE69514212T2 (de) | Übertragungssystem für untertitel | |
DE69324134T2 (de) | Hdtv empfänger mit einer schaltung zur umsetzung von daten hoher auflösung in daten niedrigerer auflösung | |
DE69532656T2 (de) | Verfahren und Vorrichtung zum Empfang von digitalen Videosignalen | |
DE69505668T2 (de) | Bildschirmanzeigevorrichtung fur ein system zum verarbeiten eines digitales videosignals | |
DE69723502T2 (de) | Abbildung von digital kodierten Bildern aus einem Videoauszug | |
DE69609141T2 (de) | Interaktive bildmanipulation | |
DE69318629T2 (de) | Übertragungsfehlerkorrektur in einem digitalen Kommunikationssystem | |
DE4325032B4 (de) | Anordnung zur Aufteilung digitaler Fernsehdaten | |
DE69512659T2 (de) | Bildschirmanzeigevorrichtung für system zum verarbeiten eines digitalen videosignals | |
DE60312241T2 (de) | Verfahren zur Verarbeitung einer zusätzlichen Information in einem Videosystem | |
DE69432660T2 (de) | Vorrichtung und verfahren zur kodierung/dekodierung von daten für untertitel | |
DE3789214T2 (de) | Bildanzeigegerät. | |
DE69425010T2 (de) | Prioritätsverarbeitung von kodierten Bildsignalen | |
DE69603726T2 (de) | Einrichtung zur animierten "on-screen"-anzeige für ein mpeg-videosignalverarbeitungssystem | |
DD260378A5 (de) | Bildwiedergabeanordnung | |
DE19531004C2 (de) | Verfahren und Vorrichtung zur wahrnehmungsoptimierten Übertragung von Video- und Audio-Daten | |
DE3814627A1 (de) | Kodieranordnung | |
DE69521255T2 (de) | Verfahren zum betrieb eines interaktiven bildanzeigesystems und bildanzeigesystem zur durchführung des verfahrens | |
DE69805545T2 (de) | Gerät zur erzeugung eines digitalen videobildes | |
DE69627920T2 (de) | Speichersteuerungsanordnung und Bilddekodierer damit | |
DE602004007928T2 (de) | Verfahren für lauflängenkodierung eines bitmapdatenstroms | |
DE69422943T2 (de) | Bildverarbeitungsvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8327 | Change in the person/name/address of the patent owner |
Owner name: THOMSON MULTIMEDIA INC., INDIANAPOLIS, IND., US |
|
8332 | No legal effect for de | ||
8370 | Indication related to discontinuation of the patent is to be deleted | ||
8364 | No opposition during term of opposition | ||
R082 | Change of representative |
Ref document number: 932976 Country of ref document: EP Representative=s name: MANFRED ROSSMANITH, 30974 WENNIGSEN, DE |