-
Hintergrund
der Erfindung
-
GEBIET DER ERFINDUNG:
-
Die vorliegende Erfindung bezieht
sich auf einen Bilddecoder zum Dekodieren kodierter Bilddaten, die
erhalten werden durch Komprimieren von Bilddaten eines verschränkten Bildes
und zum Kodieren desselben mittels des hocheffizienten Kodiersystems
und insbesondere auf ein Speichersteuerungssystem, welches verwendet
wird in dem Bilddecoder und auf ein Verfahren zum Steuern eines
Speichers in einer Bilddekodier-Vorrichtung.
-
BESCHREIBUNG DES STANDES
DER TECHNIK:
-
Aufgrund der Tatsache, dass ein verschränktes Bild
eine große
Menge von Bilddaten enthält,
ist versucht worden, Redundanz auszuschließen, um hierdurch die Datenübertragungskosten
und/oder Aufzeichnungskosten zu reduzieren durch Komprimieren und
Kodieren der Bilddaten gemäß dem hocheffizienten
Kodiersystem und dann Übertragen und/oder
Aufzeichnen der kodierten Daten.
-
Ein Beispiel des hocheffizienten
Kodiersystems ist das MPEG-System, welches standardisiert ist durch
ISO/SC29/WG11 und H. Watanabe, "MPEG2/H.262", Journal of Television
Society of Japan, Vol. 48, Nr. 1, Seiten 44–49 (1994) offenbart ein Beispiel
der hocheffizienten Kodiertechnologie des MPEG-Systems.
-
2 illustriert
die Anzeigeordnung von Rahmen bzw. die Kodierordnung der Rahmen
in dem MPEG-System. Wie in 2 gezeigt
ist, sind Rahmen von Bilddaten gruppiert zu I (Intra) Bildern (I1 und
I2), welche zu kodieren sind ohne Prädiktion unter Verwendung eines
Referenzbildes, P-(prädiktive) Bilder
(P1, P2), welche vorhergesagt werden unter Verwendung von lediglich
Bildern, die in der Anzeigeordnung hierzu vorangehen, als Referenzbilder,
die zu referenzieren sind, und B-(bidirektionale) Bilder (B1, B2,
B3, B4, B5, B6), welche vorhergesagt werden durch Verwenden von
Bildern, die hierzu vorhergehen und nachfolgen, als Referenzbilder.
-
In 2 ist
die Anzeigeordnung der Bildrahmen I1, B1, B2, P1, B3, B4, P2, B5,
B6. Der I-Bildrahmen I1 wird zuerst angezeigt ohne Prädiktion,
und dann wird das B-Bild B1 angezeigt mit Prädiktion unter Verwendung des
Rahmens I1 und des P-Bildrahmens P1. D. h., dass, weil, wenn das
B-Bild zu dekodieren ist, es zwei Referenzbilder geben muss, eines vorauseilend
zu dem B-Bild in der Anzeigeordnung und das andere hierzu nachfolgend,
das Kodieren durchgeführt
wird, nachdem die Ordnung von Bildrahmen in einer vorbestimmten
Weise geändert
wird.
-
Des Weiteren, wie in 3 gezeigt ist, entspricht ein einzelnes
Bild einem Rahmen eines Fernsehsignals, welches ein Luminanzsignal
von 480 vertikalen Zeilen × 720
horizontalen Pixel umfasst und zwei Arten von Bildsignalen mit 240
vertikalen Zeilen × 360
horizontalen Pixel in dem Fall des NTSC-Signals. In dem Fall des
PAL-Signals umfasst es ein Luminanzsignal von vertikal 576 Zeilen × horizontalen 720
Pixel und zwei Arten von Farbsignalen von vertikal 288 Zeilen × 360 Pixel.
Des Weiteren wird das Bild verarbeitet in Makroblock-(MB)-Einheit,
umfassend ein Luminanzsignal von vertikal 16 Zeilen × horizontalen
16 Pixel und die zwei Arten von Farbsignalen von vertikal 8 Zeilen × horizontalen
8 Pixel und es ist kodiert sequentiell horizontal von links nach
rechts des Bildes in Makroblock-Einheit, wie in 3 gezeigt ist.
-
4, 5 und 6 zeigen ein Dekodieren der kodierten
Daten gemäß dem MPEG-System. Wie in 4 auf der Dekodierseite
gezeigt ist, werden die kodierten Daten, die in der Kodierordnung
zugeführt werden,
dekodiert bei einer Rate von 1 Bild per Rahmenperiode, wie in einem
oberen Teil von 4 gezeigt
ist. Die dekodierten Bilddaten werden temporär gespeichert in einem Speicher
und neu angeordnet derart, dass ihre Ordnung die gleiche wird wie
die Anzeigeordnung, wie in einem unteren Abschnitt von 4 gezeigt ist. Die dekodierten
Daten der I1- und P1-Bilder
sind zu verwenden als Referenzdaten während des Dekodierens des B1-Bildes
und daher müssen
Bilddaten der zwei Bilder, die I1- und P1-Bilder, in dem Speicher
gespeichert werden.
-
Des Weiteren wird 1 Rahmen kodiert
als ein Bild, wie oben erwähnt
wurde. Daher, wenn ein Rahmen gebildet wird mit verschränkten zwei
Feldern, wie in dem Fall des Fernsehsignals, kann selbst das B-Bild
nicht simultan mit seiner Dekodierung angezeigt werden. Weil ein
Rahmen in Felddaten transformiert werden muss, muss die Anzeige
von ihrem Dekodieren der Daten um eine mindestens 0,5 Rahmenperiode
verzögert
werden. Dies erfordert, dass die dekodierten Daten einmal in den
Speicher gespeichert werden, um die Rahmendaten in die Felddaten
zu transformieren, und daher muss der Speicher einen extra Speicherbereich
aufweisen, der für eine
derartige temporäre
Speicherung der dekodierten Daten einem Bild entspricht.
-
5 zeigt
ein Beispiel des Speichers, der notwendig ist für das Dekodieren. Der Speicher,
der in 5 gezeigt ist,
ist ein 16 Mbit-Speicher, der eine Datenbreite von 16 Bits aufweist
und einen Speicherbereich von 512 Spalten × 2048 Zeilen. In 5 ist der Speicherbereich
unterteilt für
ein Bild des PAL-Systems. D. h. insgesamt 608 Zeilen inklusive 405
Zeilen für
Luminanzsignal und 203 Zeilen (aufgerundet zu Einheitsteilen kleiner
als Dezimalpunkt) für das
Bildsignal ist erforder lich für
jeden von drei Rahmen des Bildes, und das verbleibende, 224 Zeilen, wird
verwendet als ein Puffer für
kodierte Daten zum temporären
Speichern der kodierten Daten beim Dekodieren derselben. Die kodierten
Daten werden ausgelesen von dem kodierten Datenpuffer bei einer Rate
von 1 Bild per Rahmenperiode und dekodiert. Die Kapazität des kodierten
Datenpuffers ist 1,835,008 Bits, was als eine obere Grenze in dem MPEG-System
bestimmt wird, um eine geeignete Kodier- und Dekodieroperation in
beliebiger Kombination eines Kodierers und eines Dekodierers zu
garantieren.
-
Des Weiteren illustriert 6 eine Transformation der
Rahmendaten in die Felddaten. Die dekodierten Daten des B-Bildes
werden in einen B-Rahmenbereich des Speichers geschrieben, der in 5 gezeigt ist, und werden
von dort ausgelesen nach einer Zeit, die 0,5 Rahmen (1 Feld) entspricht.
Weil das Dekodieren in der Makroblock-Einheit durchgeführt wird,
haben die dekodierten Daten eine Fluktuation von 16 Zeilen Breite
mit Bezug auf die Adresszahl. Die dekodierten Daten von sowohl einem
ersten Feld als auch einem zweiten Feld werden in einer Zeitperiode
von ungefähr
2 Feldern geschrieben, wie durch durchgezogene Linien in 6 gezeigt ist. Andererseits
wird die Leseoperation in einer Abtastzeilen-Einheit in der Feldordnung durchgeführt. Daher wird
die Leseoperation alle zwei Zeilen in Adresszahl durchgeführt, was
darin resultiert, dass eine Lesegeschwindigkeit in Adresszahl ungefähr zweimal
die Schreibgeschwindigkeit wird.
-
Des Weiteren, weil der gleiche Speicherbereich
verwendet wird für
sowohl die Lese- als auch Schreiboperationen, wie durch die Zeitperiode
T2 bis T4 in 6 gezeigt
ist, muss irgendeine Maßnahme getroffen
werden, um den Adresskonflikt zwischen Lesen und Schreiben zu vermeiden.
Um einen derartigen Konflikt z. B. in der Zeitperiode T3 in 6 zu vermeiden, muss die
Schreiboperation gestartet werden, nachdem die Leseoperation beendet
ist, und die Schreiboperation wird gestartet mit einer Verzögerung,
die 8 Zeilen von der Vollendung der Leseoperation entspricht, durch
Berücksichtigen
der Fluktuation von 16 Zeilenbreite wäh rend der Schreiboperation. Am
Ende der Zeitperiode T4 muss die Schreiboperation vollendet sein
vor einer Zeit, die 8 Zeilen vom Ende der Leseoperation entspricht.
Wie oben erwähnt,
um eine Kontinuität
der Anzeige zu garantieren, sollte die Leseoperation bevorzugt durchgeführt werden.
Daher kann die Schreiboperation an einer Stelle, wo ein Konflikt
zwischen Lesen und Schreiben auftritt, gestoppt werden, was darin
resultiert, dass eine Zeitperiode, die der Schreiboperation zugewiesen
ist, und somit das Dekodieren der dekodierten Daten entsprechend
hierzu verkürzt
wird.
-
Wie oben erwähnt, ist es im Stand der Technik
möglich,
einen Bilddecoder zu realisieren, der die Kapazität von 16
Mbits effektiv verwendet. Insbesondere, weil der Speicher, der eine
Kapazität
von 4 Mbits oder 16 Mbits aufweist, kommerziell geläufig ist,
ist der oben erwähnte
Stand der Technik effektiv im Reduzieren der Kosten des Bilddecoders.
-
Andererseits, ist die OSD-(On Screen
Display)-Technik zum Anzeigen eines dekodierten Bilds, überlagert
mit Zeichen und/oder Grafik, erforderlich als eine Benutzerschnittstelle
des Bilddecoders.
-
Um jedoch ein derartiges OSD zu realisieren, ist
ein extra Speicherbereich in dem Speicher erforderlich. Daher, wenn
das oben erwähnte
Bild von dem PAL-System ist, dessen Größe beträchtlich groß ist, kann die Kapazität des erforderlichen
Speichers die Kapazität
von 16 Mbits des gängigen
Speichers übersteigen.
-
Die Kapazität von 1,835,008 Bits des kodierten
Datenpuffers ist notwendig, wenn das Dekodieren ideal durchgeführt wird.
Weil es in der Praxis eine Dekodierverzögerung gibt, sollte die Kapazität des Kodier-Datenpuffers
größer als
die oben erwähnte Kapazität sein.
-
Es ist weiter wünschenswert, dass ein Einzelbilddecoder
kodierte Daten von Bildern dekodieren kann, welche verschiedene
Größen aufweisen, wie
z. B. ein Bild des NTSC-Systems und ein Bild des PAL-Systems und
weiter kontinuierlich die Dekodieroperation durchführen kann
für einen
Abschnitt der kodierten Daten, bei welchen die Bilder mit unterschiedlicher
Größe verbunden
sind.
-
EP-A-0 618 722 bezieht sich auf einen
Videodecoder mit einem 5-Seiten-Speicher zum Dekodieren von Intrarahmen,
prädizierten
Rahmen und bidirektionalen Rahmen. Kompressionsalgorithmen für digitale
Videosignale basieren auf der Verarbeitung von Datenblöcken von
Rahmen, welche von drei Typen sind, d. h. Intrarahmen, prädizierte
Rahmen und interpolierte oder bidirektionale Rahmen (B). Der Speicherraum
des Decoders ist angeordnet in der Form von fünf Seiten, von denen vier Seiten
verwendet werden für
jedes Speichern eines Felds des Intrarahmens des prädizierten
Typs. Die fünfte
Seite ist unterteilt in Abschnitte, von denen jeder eine Zeile von
Blöcken
eines Felds eines bidirektionalen Rahmens B speichern kann. Die
bidirektionalen Rahmen werden dekodiert in nachfolgenden Stufen
in einer Zeile von Blöcken
zu einer Zeit und die Zeilen von Blöcken, welche gerade dekodiert
werden, werden progressiv gespeichert, jedes Mal bei der Adresse
im Speicher einer Zeile von Blöcken,
deren Inhalte bereits angezeigt worden sind. Der benötigte Speicherraum
des Decoders ist hierdurch reduziert von sechs Seiten auf fünf Seiten.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Eine Aufgabe der vorliegenden Erfindung
ist es, die oben erwähnten
Probleme, die dem Stand der Technik innewohnen, zu lösen.
-
Eine weitere Aufgabe der vorliegenden
Erfindung ist es, einen Bilddecoder bereitzustellen, der einen Speicher
von 16 Mbits aufweist, in welchen ein Speicherbereich für die OSD-Daten
und ein kodierter Datenpufferbereich von 1,835,008 Bits oder mehr
bereitgestellt sind, so dass eine Dekodieroperation von kodierten
Daten inklusive einem Verbindungsabschnitt von kodierten Daten von
Bildern, die unterschiedliche Größen haben,
kontinuierlich durchgeführt
wird, ebenso wie ein Verfahren dafür.
-
Eine weitere Aufgabe der vorliegenden
Erfindung ist es, ein Speicher-Steuerungssystem
bereitzustellen zum Steuern von Lese- und Schreiboperationen von
kodierten Daten mit Bezug auf den Speicher des Bilddecoders, derart,
dass die Dekodieroperation für
die kodierten Daten, welche einen Verbindungsabschnitt von kodierten
Daten von Bildern mit unterschiedlichen Größen kontinuierlich durchgeführt wird.
-
Diese Aufgaben werden erreicht durch
das Speicher-Steuerungssystem gemäß Anspruch 1, den Bilddecoder
gemäß Anspruch
5 bzw. das Verfahren gemäß Anspruch
12.
-
Demgemäß wird ein Speicher-Steuerungssystem
bereitgestellt, welches einen Speicher mit einer Mehrzahl von Speicherschichten
umfasst, die in Zahl Bildern entsprechen, welche verschiedene Größen aufweisen,
und welches verschiedene Speicher-Bereichsmuster aufweist, wobei
jedes zwei Referenz-Bilddatenbereiche umfasst, wobei jeder eine Kapazität von mindestens
1 Rahmen hat, einen Anzeige-Datenbereich zum Konvertieren von Rahmen-Strukturdaten
in Feld-Strukturdaten,
einen kodierten Speicherbereich zum temporären Speichern der kodierten
Daten und einen OSD-Datenbereich für Bildschirmdaten zum Anzeigen
von Bilddaten, die mit anderen Daten überlagert sind, und Mittel
zum automatischen Schalten der Speicherschicht, derart, dass die
Kapazität
des Anzeige- Datenbereichs
zumindest 1 Rahmen ist, wenn die Bildgröße klein ist, und kleiner als
1 Rahmen, wenn die Bildgröße groß ist.
-
Die kodierten Datenpufferbereiche
in den verschiedenen Speicher-Abschnittsmustern
sind angeordnet in identischen Adressräumen.
-
In der Mehrzahl der Speicherschichten
umfasst der Adressraum des OSD-Datenbereichs
der Speicherschicht entsprechend einem Fall, wo die Bildgröße maximal
ist, den Adressraum des OSD-Datenbereichs der Speicherschicht entsprechend
einem Fall, wo die Bildgröße minimal
ist, vollständig,
und macht die Größe des OSD-Datenbereichs
substantiell proportional zu der Größe des kodierten Bildes.
-
Des Weiteren ist in den Speicherschichten entsprechend
Fällen,
wo die Bildgröße groß ist, der Anzeige-Datenbereich
unterteilt in zwei N + 1 Segmente, wobei N eine ganze Zahl ist.
Lese- und Schreiboperationen mit Bezug auf jedes Segment werden
durchgeführt
in einer Bilddateneinheit entsprechend 1/4N von 1 Rahmen und die
Kapazität
des Anzeige-Datenbereichs ist gleichgemacht zu 2 (N + 1)/4N von
1 Rahmen.
-
Die zwei Referenzbild-Datenbereiche
speichern Referenzdaten für
Bewegungskompensation in dem Inter-Rahmen-Kodieren und die Daten
werden ausgelesen, wenn die Bewegung zu kompensieren ist. Der Anzeige-Datenbereich
wird beschrieben mit Rahmenstruktur-Bilddaten in der kodierten Blockeinheit,
und die Bilddaten werden ausgelesen als Feldstruktur-Bilddaten synchron
mit der Verschränkungsabtastung.
Durch Vorsehen einer Mehrzahl von Speicherschichten, die verschiedene
Bereichsmuster entsprechend jeweiligen Größen des kodierten Bildes haben,
wobei Bilddatenbereiche kleiner gemacht werden mit dem Anstei gen
der Bildgröße, wird es
möglich,
den kodierten Datenpufferbereich oder den OSD-Bereich in einem Speicher
bereitzustellen, der eine beschränkte
Kapazität
aufweist, selbst wenn die Bildgröße groß ist.
-
Des Weiteren sind die kodierten Datenpufferbereiche
in den Speicherschichten, welche verschiedene Bereichsmuster für die großen und
kleinen Bildgrößen aufweisen,
die gleichen in Kapazität
und Stelle, so dass es, selbst in einer Verbindung zwischen Sequenzen
von Bildern mit verschiedenen Größen möglich ist,
Schreib- und Leseoperationen
einer neuen Sequenz kodierter Daten durchzuführen, unmittelbar nach den
kodierten Daten einer vorangehenden Sequenz, hauptsächlich durch
Zuführen
von kontinuierlichen Adressen.
-
Des Weiteren wird eine Größe des OSD-Bereichs
entsprechend zu der Größe des kodierten
Bildes eingestellt, so dass es möglich
wird, die OSD-Daten auf substantiell dem ganzen Anzeigeschirm anzuzeigen.
-
Des Weiteren, weil in der Speicherschicht, welche
das Bereichsmuster entsprechend großer Bildgröße hat, der Anzeige-Datenbereich
mit einer Kapazität
entsprechend 2(N + 2)/4N von 1 Rahmen unterteilt ist in 2 (N + 1)
Segmente, wobei N eine ganze Zahl ist, und Lese- und Schreiboperationen
in Bezug auf jedes Segment durchgeführt werden mit einer Bilddateneinheit
entsprechend 1/4N von 1 Rahmen, ist es möglich, einen Bereich zu minimieren,
in welchem ein Konflikt zwischen Schreib- und Leseoperationen auftreten
kann. Daher ist der Einfluss der Dekodier-Zeitgabe auf die Anzeige-Zeitgabe
minimiert.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
1 zeigt
eine Ausführungsform
eines Bilddecoders gemäß der vorliegenden
Erfindung;
-
2 zeigt
ein Bild-Kodiersystem;
-
3 zeigt
die Größe des zu
kodierenden Bildes;
-
4 ist
ein Zeitdiagramm zum Dekodieren und Anzeigen von Bilddaten;
-
5 zeigt
ein Beispiel eines Speicherbereich-Unterteilungssystems eines Bilddecoders;
-
6 zeigt
eine Beziehung zwischen Speicherschreiben und Speicherlesen während eines B-Bilddekodierens;
-
7 zeigt
ein Beispiel eines ersten Speicherbereich-Unterteilungssystems eines Bilddecoders
gemäß der vorliegenden
Erfindung;
-
8 zeigt
ein Beispiel eines zweiten Speicherbereich-Unterteilungssystems des Bilddekoders
gemäß der vorliegenden
Erfindung;
-
9 zeigt
ein Beispiel einer dekodierten Daten-Schreibschaltung und ein Beispiel
einer Anzeigedaten-Leseschaltung;
-
10 zeigt
ein Beispiel einer Daten-Segmentunterteilung für die B-Bilddaten;
-
11 zeigt
ein Beispiel der Speicheruriterteilung des B-Bildspeicherbereichs;
-
12 zeigt
eine Beziehung zwischen dem Speicherschreiben und dem Speicherlesen
während des
Dekodierens eines B-Bilds gemäß der vorliegenden
Erfindung; und
-
13 zeigt
eine weitere Beziehung zwischen dem Speicherschreiben und dem Speicherlesen
während
des Dekodierens eines B-Bilds.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Eine Ausführungsform der vorliegenden
Erfindung wird beschrieben werden unter Bezugnahme auf die beigefügten Zeichnungen.
-
1 zeigt
eine Ausführungsform
eines Bilddecoders gemäß der vorliegenden
Erfindung, welcher umfasst: eine Zeitgabe-Steuerschaltung 1, einen
Parser/variabler Längendecoder 2,
eine De-Quantisierer/IDCT (invers diskrete Cosinus-Transformation)-Schaltung 3,
eine Bewegungskompensationsschaltung 4, eine Anzeigeschaltung 5,
eine kodierte Daten-Schreibsteuerschaltung 6, eine kodierte
Daten-Lesesteuerschaltung 7, eine Bewegungskompensationsdaten-Lesesteuerschaltung 8,
eine dekodierte Daten-Schreibsteuerschaltung 9, eine An zeige
Daten-Lesesteuerschaltung 10, eine ODS-Daten-Lesesteuerschaltung 11 und
einen Speicher 12.
-
Kodierte Daten werden dem Parser/variablen
Längendecoder 2 zugeführt und
dann durch die kodierte Daten-Schreibsteuerschaltung 6,
zu einem kodierten Datenpufferbereich 125 (7 und 8)
des Speichers 12, in welchem die kodierten Daten gespeichert
werden. Die Zeitgabe-Steuerschaltung 1 funktioniert hauptsächlich,
um einen Datenbuskonflikt des Speichers 12 zu regulieren.
Die kodierte Daten-Lesesteuerschaltung 7 liest aus in first-in
und first-out die kodierten Daten, die gespeichert sind in dem kodierten
Datenpufferbereich 125 synchron mit der Zeitgabe des Anzeigesystems
bei einer Rate von 1 Bild (= Rahmen) per Rahmenperiode.
-
Die kodierten Daten, die von dem
Speicher 12 ausgelesen werden, werden dem Parser/variablen
Längendekodierer 2 wiederum
zugeführt.
Ein Parser-Abschnitt des Parser/variablen Längendekodierers 2 extrahiert
eine Kodiermodus-Information
in einem Vorspannabschnitt der kodierten Daten und führt sie
einem variablen Längen-Dekodierabschnitt davon
zu, der De-Quantisierer/IDCT-Schaltung 3, der
Bewegungskompensationsschaltung 4 und der Anzeigeschaltung 5,
um Operationsmodi dieser drei Schaltungen einzustellen. In dem variablen
Längen-Dekodierschaltungsabschnitt
des Parser/variablen Längendekodierers 2 werden
Koeffizientendaten, usw., von Cosinus-Transformation, welche Variabel-Längen kodiert sind, dekodiert
und zu der De-Quantisier/IDCT-Schaltung 3 gesendet.
-
In der De-Quantisier/IDCT-Schaltung
3 werden die Koeffizientendaten wieder hergestellt in einem geeigneten
Maßstab
durch den De-Quantisier-Abschnitt davon, und der wieder hergestellte
Koeffizient wird transformiert in Bilddaten durch den IDCT-Abschnitt
davon.
-
Die Bewegungskompensationsschaltung 4 verwendet
eine Bewegungsvektor-Information,
die enthalten ist in der kodierten Information, die erhalten wird
von dem Parser/variablen Längendecoder 2,
um Referenz-Bilddaten von dem Speicher 12 durch die Bewegungskompensationsdaten-Lesesteuerschaltung 8 zu
lesen. Des Weiteren werden die Referenz-Bilddaten hinzugefügt zu den
Bilddaten, die erzeugt werden durch den IDCT-Abschnitt von der De-Quantisier/IDCT-Schaltung 3,
um dekodierte Daten zu erhalten. Die dekodierten Daten werden geschrieben
in den Speicher 12 durch die dekodierte Daten-Schreibschaltung 9.
In diesem Fall, wenn die dekodierten Daten die I- oder P-Bilddaten
sind, werden die dekodierten Daten geschrieben in einen Referenz-Bildbereich 121, 122 (7 und 8) des Speichers 12, welche
alte Daten speichern, um den Letzteren zu aktualisieren und, wenn
es die B-Bilddaten sind, werden sie in den B-Bildbereich 123 (7 und 8) des Speichers 12 geschrieben.
-
Die dekodierten Daten, die in den
Speicher 12 geschrieben werden, werden ausgelesen unter Verwendung
der Anzeigedaten-Lesesteuerschaltung 10 und gesendet zu
der Anzeigeschaltung 5. Gleichzeitig damit liest die OSD-Daten-Leseschaltung 11 die
OSD-Daten von einem OSD-Datenbereich 124 (7 und 8)
des Speichers 12, welcher später beschrieben werden wird,
und die OSD-Daten,
solchermaßen
gelesen, werden gesendet an die Anzeigeschaltung 5. Nebenbei
bemerkt, sind die OSD-Daten erzeugt worden durch eine OSD-Daten-Erzeugerschaltung
(nicht gezeigt) und in den Speicher 12 geschrieben worden.
-
Die Anzeigeschaltung 5 verarbeitet
die dekodierten Daten, die von dem Speicher 12 ausgelesen sind,
unter Durchführen
z. B. einer Pixel-Ratentransformation für z. B. die dekodierten Daten,
die ausgelesen werden von dem Speicher 12, zeigt sie an durch Überlagern
der OSD-Daten und gibt sie aus als die Bilddaten.
-
7 und 8 zeigen Muster der Speicherbereiche
der Speicherschichten des Speichers 12. Der Speicher 12 ist
ein 16 Mbit-Speicher, der eine Datenbreite von 16 Bits hat, d. h.
16 Schichten, und hat eine 512 (Zeilen) × 2048 (Spalten) Matrixstruktur.
Das Muster, welches in 7 gezeigt
ist, wird angewandt auf ein Bild, dessen vertikale Größe 480 Zeilen
oder weniger ist, und das Muster, welches in 8 gezeigt ist, wird auf ein Bild angewandt,
welches eine vertikale Größe von 480
bis 576 Zeilen hat. Diese zwei Speicher-Bereichsmuster werden automatisch
geschaltet gemäß einer
Bildgrößen-Information
der kodierten Modus-Information, die in dem Vorspannabschnitt der
dekodierten Daten enthalten ist durch den Parser/variablen Längendekodierer 2,
der in 1 gezeigt ist.
-
Die Muster, die in 7 und 8 gezeigt
sind, umfassen erste Referenz-Bildregionen 121,
zweite Referenz-Bildregionen 122, B-Bildregionen 123, OSD-Datenregionen 124,
bzw. kodierte Datenregionen 125.
-
Die Speicher-Bereichsmuster, die
in 7 und 8 gezeigt sind, die kodierten Datenpufferbereiche 125 sind
identisch in Größe und angeordnet
in den gleichen Gebieten der Speicherschichten des Speichers 12.
Mit einem derartigen Aufbau wird es möglich, kodierte Daten in den
kodierten Datenpufferbereich 125 kontinuierlich zu schreiben,
selbst in einen Verbindungsabschnitt zwischen Datensequenzen verschiedener
Bildgrößen und
sie auszulesen. Des Weiteren ist es möglich, den kodierten Datenpufferbereich 125 zu
erhalten mit einer Größe von 2,621,440
Bits, womit es möglich
ist, den Einfluss der Kodierverzögerung
zu minimieren und den Einfluss einer Diskontinuität der kodierten
Daten auf die Anzeige-Bilddaten.
-
Die ersten und zweiten Referenz-Bildbereiche 121 und 122 jedes
Musters haben Kapazitäten, die
geeignet sind, Bilder zu speichern, die jeweils maximale Bildgröße haben.
In dem Beispiel, welches in 7 gezeigt
ist, welches eine obere Grenze der Bildgröße entsprechend dem NTSC-Bild
hat, ist die Kapazität
jedes der Referenz-Bildbereiche 121 und 122 2
(Bytes) × 360
(Spalten) × (480 × 1,5) (Zeilen)
= 4,147,200 Bits, bzw. und in dem Beispiel, welches in 8 gezeigt ist, welches eine
obere Grenze der Bildgröße entsprechend
dem PAL-Bild hat, hat jedes Referenzbild 2 (Bytes) × 360 (Spalten) × (576 × 1,5) (Zeilen)
= 4,976,640 Bits. Wenn eine Bildgröße kleiner ist als die obere
Grenze, werden die Bilddaten in diesem Bereich gespeichert, beginnend
von einem linken oberen Abschnitt davon.
-
Die OSD-Datenbereiche 124 der
Muster, die in 7 und 8 gezeigt sind, sind auch
zugewiesen zu substantiell den gleichen Stellen der Speicherschichten
des Speichers 12. Linke obere Eckpositionen der OSD-Bereiche 124 sind
die Gleichen, und die Zahl der seitlichen Spalten ist allgemein
76. Jedoch ist die vertikale Größe der OSD-Datenbereiche 240 Zeilen in 7 und 288 Zeilen
in 8 entsprechend jeweils
oberen Grenzen möglicher
Bildgrößen. Wenn eine
Zeile z. B. zwei Linien entspricht, dann entspricht die Größe des OSD-Datenbereichs
in 7 zwei Bereichen
jeder von 606 (Pixel) × 480/576
(Linien) und derjenige in 8 entspricht
zwei Bereichen, jeder von zwei (Bits) × 303 (Pixel) × 480/576.
-
In den Speicher-Bereichsmustern,
die in 7 und 8 gezeigt sind, sind die
B-Bildbereiche 123 sehr
unterschiedlich. In 7 ist
der B-Bildbereich 123 unterteilt in 3 Segmente, während er
in 8 nicht unterteilt
ist, wobei eine totale Speichergröße der 3 Segmente des B-Bildbereichs
in 7 die Gleiche ist
wie diejenige des einzelnen B-Bildbereichs in 8, welcher der Gleiche ist wie derjenige
des ersten Bildbereichs, ebenso wie der zweite Referenz-Bildbereich,
welcher 4,147,200 Bits entsprechend 3 vollen Rahmen ist. Das Lesen
und Schreiben der Bilddaten mit Bezug auf den B-Bildbereich 123 kann
durchgeführt
werden unter Verwenden des Verfahrens, beschrieben mit Bezug auf 6, und die Anzeigeschaltung 5 kann
einen Interrahmen-Abschnitt des B-Bilds in der gleichen Weise wie
für das I-
oder das P-Bild verarbeiten.
-
In dem Muster, gezeigt in 8, hat der einzelne B-Bildbereich
eine Kapazität
von 3,317,760 Bits entsprechend 2/3 von 1 Rahmen. In dieser Ausführungsform
ist eine spezielle Steuerschaltung, die später beschrieben werden wird,
vorgesehen in der dekodierten Daten-Schreibschaltung 10 und
in der Anzeigedaten-Leseschaltung 11,
entsprechend hierzu. Jedoch ist es in diesem Speicher-Bereichsmuster möglich, den
kodierten Datenpuffer mit einer großen Kapazität und den OSD-Datenbereich
vorzusehen, selbst wenn die Bildgröße groß ist.
-
9 zeigt
eine Ausführungsform
der dekodierten Daten-Schreibschaltung 9 und der Anzeigedaten-Leseschaltung 10.
Die Ausführungsform
in 9 wird beschrieben
werden durch Nehmen von Schreib- und Lesefunktionen zum Schreiben
und Lesen kodierter Daten des B-Bilds mit Bezug auf den B-Bildbereich 123,
der in 8 als ein Beispiel
gezeigt ist. Die dekodierte Daten-Schreibsteuerschaltung 9 umfasst
eine Pufferschaltung 91, eine Innerhalb-Segment-Adressgenerator-Schaltung 92,
eine physikalische Adressgenerator-Schaltung 93, eine Segmentgrenzen-Detektionsschaltung 94 und
eine Speichersegment-Ordnungssteuerschaltung 95. Die Anzeigedaten-Leseschaltung 10 umfasst
eine Pufferschaltung 101, eine Anzeigeadress-Generatorschaltung 102,
eine physikalische Adress-Generatorschaltung 103,
eine Segmentgrenzen-Detektionsschaltung 104 und eine Speichersegment-Ordnungssteuerschaltung 105.
-
Eine Operation der Schaltung, gezeigt
in 9, wird beschrieben
werden unter Bezugnahme auf 10 und 11, in welchen 10 eine Unterteilung der
Bilddaten in Segmente zeigt und 11 eine
Unterteilung des B-Bildspeicherbereichs in Segmente zeigt.
-
Wie in 10 gezeigt
ist, ist jedes eines ersten Feldes und eines zweiten Feldes der
B-Bilddaten unterteilt in eine gerade Anzahl 2N (N ist eine ganze Zahl)
von Datensegmenten. D. h. in dem Beispiel in 10 ist N = 3 und das erste Feld ist unterteilt
in Datensegmente 1 bis 6 und das zweite Feld ist unterteilt in Datensegmente
7 bis 12 und somit sind die B-Bilddaten unterteilt in 2 × 2N = 4N
= 12 Segmente.
-
Wie in 11 gezeigt
ist, ist der B-Bild-Speicherbereich 123 unterteilt in 2
(N + 1) Speichersegmente, d. h. 8 Segmente. Die Kapazität jedes
Speichersegments ist groß genug
gemacht, um ein entsprechendes Datensegment zu speichern. Vorzugsweise
sind die Kapazitäten
der Speichersegmente identisch.
-
Zurückkehrend zu 9, werden der dekodierten Daten-Schreibschaltung 9 dekodierte
Bilddaten eingegeben, eine Makroblock-Adresse, die eine Position
der dekodierten Bilddaten auf einem Anzeigeschirm in Makroblock-Einheit
angibt, und ein Bildtyp der dekodierten Bilddaten (Information eines
Bildes, z. B. I-, P- oder
B-Bild und Bildgröße). Weil, wenn
der Bildtyp I oder P ist oder wenn es ein B-Bild ist mit einer Bildgröße von 480
Zeilen oder weniger, die Kapazität
des Speicherbereichs zum Speichern der dekodierten Bilddaten so
groß wie
1 Rahmen ist, wie mit Bezug auf 7 und 8 erwähnt worden ist, ist es nicht
immer nötig,
Bilddaten durch Segmentieren derselben zu verarbeiten. Jedoch, um
das Verarbeiten gleich zu machen für den Fall, wo das Bild vom B-Typ
ist mit einer Größe, die
480 Zeilen überschreitet,
wird die Segmentierung durchgeführt,
selbst in dem Fall des B-Bilds, welches 480 Zeilen oder weniger
hat.
-
Die innere Segmentadress-Generatorschaltung 92 erhält die Positionsinformation
der dekodierten Bilddaten auf dem Anzeigeschirm und erzeugt ein Adress-Signal,
welches eine Adresse innerhalb eines Datensegments angibt. Das Adress-Signal
wird eingegeben in die physikalische Adress-Generatorschaltung 93,
welches sie transformiert in eine physikalische Adresse des Speichers 12 auf
der Basis einer Kombination des Adress-Signals, der Bildtyp-Information
und, in dem Fall, dass das Bild ein B-Bild ist, mit einer Größe, die
480 Zeilen überschreitet,
der Speichersegmentzahl von der Speichersegment-Ordnungssteuerschaltung 95,
die zu beschreiben ist.
-
Um eine Verzögerung zu kompensieren, die durch
physikalische Adress-Erzeugung
des Speichers 12 usw. verursacht wird, speichert die Pufferschaltung 91 die
dekodierten Bilddaten temporär und,
in einigen Fällen,
kann sie die Ordnung von Datensegmenten in einem Abschnitt der Bilddaten
neu anordnen.
-
Die Segmentgrenzen-Detektionsschaltung 94 und
die Speichersegment-Ordnungssteuerschaltung 95 werden
effektiv nur, wenn der Bildtyp B ist und die Größe davon 480 Zeilen überschreitet.
Wenn die dekodierten Bilddaten auf einer Grenze zwischen benachbarten
Datensegmenten sind, stellt die Segmentgrenzen-Detektionsschaltung 94 ein
Grenzsignal, welches für
die Tatsache bezeichnend ist, der Speichersegment-Ordnungssteuerschaltung 95 zur Verfügung. Die
Speichersegment-Ordnungssteuerschaltung 95 bestimmt die
Speichersegmentnummer, zu welcher das dekodierte Bilddatensegment
zu schreiben ist, auf der Basis des Grenzsignals und der Lesespeichersegment-Information
von der Anzeigedaten-Leseschaltung 10 und
sendet die Speichersegmentnummer an die physikalische Adress-Generatorschaltung 93.
-
Die Anzeigedaten-Leseschaltung 10 wird weiter
mit einer Synchronisationsinformation und der Bildtypen-Information
versorgt und gibt Anzeige-Bilddaten aus. Die Anzeigeadress-Generatorschaltung 102 erzeugt
ein Anzeigeadress-Signal auf der Basis der Synchronisationsinformation
und führt
es der physikalischen Adress-Generatorschaltung 103 zu. Die
physikalische Adress-Generatorschaltung 103 erzeugt die
physikalische Adresse des Speichers 12 auf der Basis des
Anzeigeadress-Signals und der Bildtypen-Information, ausgenommen
in dem Fall, dass die Bilddaten, die anzuzeigen sind, ein B-Bild sind
mit einer Größe, die
480 Zeilen überschreitet.
-
Die Pufferschaltung 101 speichert
die Anzeige-Bilddaten, die von dem Speicher 12 ausgelesen werden,
und ordnet die Ordnung der Datensegmente in einem Abschnitt der
Bilddaten neu an und transformiert eine Informationsrate, usw.
-
Die Segmentgrenzen-Detektionsschaltung 104 und
die Speichersegment-Ordnungssteuerschaltung 105 werden
wirksam nur, wenn die dekodierten Bilddaten ein B-Bild angeben mit
einer Größe, die 480
Zeilen überschreitet.
-
Die Segmentgrenzen-Detektionsschaltung 104 fuhrt
ein Grenzsignal, welches die Grenze des Datensegments angibt, der
Speichersegment-Ordnungssteuerschaltung 105 zu, wenn die
Bilddaten, die in Antwort auf das Anzeigeadress-Signal ausgelesen
werden, auf einer Grenze zwischen benachbarten Datensegmenten sind.
Die Speichersegment-Ordnungssteuerschaltung 105 bestimmt
die Speichersegmentnummer, von welcher die Anzeige-Bilddaten auszulesen
sind, auf der Basis des Grenzsignals und der Schreibspeichersegment-Information
von der dekodierten Schreibschaltung 9 und fuhrt es der
physikalischen Adress-Generatorschaltung 103 zu.
-
12 ist
ein Zeitgabe-Diagramm von Operationen der Speichersegment-Ordnungssteuerschaltungen 95 und 105 und
zeigt Schreib- und Lesezeitgaben von 4N Datensegmenten mit Bezug
auf 2 (N + 1) Speichersegmenten mit der Zeit, d. h. 1 Feldperiode
von den Bilddaten ist unterteilt in 6 substantiell gleiche Zeitperioden,
und eine Zeitperiode T1–T6 entspricht
einem ersten Feld, T7–T12
einem zweiten Feld, T13–T18
einem dritten Feld und T19–T24
einem vierten Feld.
-
13 ist
ein Zeitgabe-Diagramm für
den Fall, wo die Anzahl von Speichersegmenten (M + 1) ist und die
Anzahl von Datensegmenten 2M ist, wobei M eine ungerade ganze Zahl
ist, für
ein Vergleichsbeispiel mit dem Beispiel, welches in 12 gezeigt ist, wo es 2 (N + 1) Speichersegmente
und 4N Datensegmente gibt. In 13 ist
M = 3 und daher gibt es vier Speichersegmente und 6 Datensegmente.
Auch in diesem Fall ist die Kapazität des B-Bildspeicherbereichs
2/3 Rahmen wie in 12 und
das Speicher-Bereichsmuster, welches in 8 gezeigt ist, wird gemeinsam benutzt.
In 13 sind die Bildsegmentgröße und die
Datensegmentgröße zweimal diejenigen,
die jeweils in 12 gezeigt
sind, und die Anzahl von Speichersegmenten sind 1/2 von denjenigen
die jeweils in 12 gezeigt
sind. Daher ist 1 Feldperiode unterteilt in 3 substantiell gleiche
Perioden wie in 13 gezeigt
ist.
-
Bezugnehmend auf 12 werden in der Zeitperiode T1–T6 die
dekodierten Bilddaten (B-Bild) hauptsächlich ohne Leseoperation geschrieben.
D. h. in dieser Zeitperiode werden die Referenz-Bilddaten mit der
Zeitgabe ausgelesen, die in 4 gezeigt ist.
In 12 geben durchgezogene
Linien eine Schreiboperation an und gepunktete Linien geben eine
Leseoperation an. Bezugszeichen, die den durchgezogenen Linien und
den gepunkteten Linien hinzugefügt
sind, geben Datensegmentnummern an. Wie in 10 gezeigt ist, geben die Datensegmentnummern
1 bis 6 die Daten des ersten Felds an und 7 bis 12 geben die Daten
des zweiten Felds an.
-
In der Zeitperiode T1–T6 werden
erste Bilddaten (Datensegmente 1, 7, 2, 8, 3, 9) sequentiell geschrieben
in die Speichersegmente 1 bis 6. Die Bilddaten, die in dieser Periode
geschrieben werden, entsprechen 1/2 Rahmen, und die Daten der mit
ungeraden Zahlen nummerierten Segmente sind Daten des ersten Felds
und die Daten der mit geraden Zahlen nummerierten Segmente sind
Daten des zweiten Feldes. In der Periode T7 bis T8 werden erste
Daten (Datensegmente 4 und 10) in die jeweiligen Speichersegmente
7 und 8 geschrieben und simultan werden Daten von den Datensegmenten
1 und 2 von den Speichersegmenten 1 und 3 ausgelesen. Die Speichersegmente
1 und 3, die ausgelesen werden, bilden die Auslese-Speichersegment-Information,
die in 9 gezeigt ist.
Weil Daten in anderen Speichersegmenten als die Speichersegmente
1 und 3 noch nicht ausgelesen werden, bestimmte die Speichersegment-Ordnungssteuerschaltung 95 Speichersegmentnummern
in den nachfolgenden Perioden derart, dass dekodierte Daten in diese
Speichersegmente geschrieben werden. In der Periode T9 bis T10 werden
Datensegmente 3 und 4 ausgelesen von den Speichersegmenten 5 und
7, und in der nächsten
Periode T11 bis T12 werden Datensegmente 6 und 12 geschrieben in
die Speichersegmente 5 und 7. In der Periode T13 bis T14 werden
die Datensegmente 1 und 7 geschrieben in die Speichersegmente 1
und 5, usw. In dieser Weise bestimmt die Speichersegment-Ordnungssteuerschaltung 95 die
Speichersegmentnummern, die mit Datensegmenten sequentiell beschrieben
werden sollen.
-
Die Schreibspeichersegment-Information funktioniert,
um die Datensegmentnummer mit der Speichersegmentnummer, die mit
dem Datensegment zu beschreiben ist, in Beziehung zu bringen. Z. B.
wird angenommen, dass in der Periode T1 bis T2 und der Periode T13
und T14 die Datensegmente 1 und 7 des ersten Feldes geschrieben
werden jeweils in einige Speichersegmente. In einem derartigen Fall empfängt die
Speichersegment-Ordnungssteuerschaltung 105 die Schreibsegmentnummern
(1 und 2 in der Periode T1 bis T2 und 1 und 7 in der Periode T13
bis T14) als die Schreibspeichersegment-Information und schreibt
die Korrespondenz zwischen den Datensegmenten und den Speichersegmenten in
die Korrespondenztabelle eines Datensegment-Speichersegments, die
in der Schaltung vorgesehen ist. Z. B. in der Periode T15 bis T16
sind die Datensegmente 9 und 10 auszulesen. Weil jedoch die Tatsachen,
dass das Datensegment 9 in das Speichersegment 6 geschrieben wird,
und dass das Datensegment 10 in das Speichersegment 8 geschrieben
wird, registriert wurden in der Korrespondenztabelle des Datensegment-Speichersegments
in der Periode T5 bis T6 bzw. in der Periode T7 bis T8, bestimmt
die Speichersegment-Ordnungssteuerschaltung 105 Datensegment
und Position der Periode in dem Rahmen, von welchem die Daten auszulesen
sind, um die Speichersegmentnummer zu bestimmen, welche die Daten
speichert, die auszulesen sind von der Korrespondenztabelle des
Datensegment-Speichersegments.
-
In 13 werden
die Speichersegmente verwendet in den gleichen Regeln wie in 12. Der einzige Unterschied
in der Operation, gezeigt in 13,
von derjenigen in 12 liegt
in der Periode, in welcher es einen Konflikt zwischen Schreiben
und Lesen gibt. In 12 tritt
der Konflikt auf in den Perioden T12 und T24, welche die gleiche
ist, wie das Beispiel, welches in 4 gezeigt
ist, in welchen die Speicherkapazität von 1 Rahmen dem B-Bild zugewiesen
ist, in welchem Konflikte in den letzten Perioden der Rahmen auftreten.
-
Andererseits, in dem Beispiel, welches
in 13 gezeigt ist, treten
Konflikte nicht nur in den letzten Perioden (T6, 712) der Rahmen
auf, sondern auch in der ersten Periode T7 des zweiten Rahmens und
den Perioden T5 und T11, welche substantiell einem Zentrum des Schirms
entsprechen. Dies bedeutet, dass, wenn die Leseoperation vorherrschend
ist, die Schreibperioden reduziert werden müssen und dass die Schreibzeitgabe,
d. h. die Dekodier-Zeitgabe, des B-Bildes geändert werden muss von derjenigen
des I- oder P-Bilds. Andererseits, in dem Beispiel, welches in 12 gezeigt ist, ist die
Unterteilungszahl der Datensegmente ebenso wie die Unterteilungszahl
der Speichersegmente zweimal diejenige von dem Fall, der in 13 gezeigt ist, und daher kann
die Schreibzeitgabe, d. h. die Dekodier-Zeitgabe gleich gemacht
werden für
das B-Bild und das I- oder P-Bild.
-
Obwohl die Speicherkapazität 2/3 Rahmen in 12 ebenso wie in 13 ist, ist es offensichtlich
für die
Fachleute, dass die Speicherkapazität reduziert werden kann auf
9/16 Rahmen durch Unterteilen der Daten in 16 Segmente und des Speicherbereichs
in 9 Segmente. Des Weiteren, obwohl diese Ausführungsform als Reduktion der
Speicherkapazität
beschrieben worden ist für
sowohl das Luminanzsignal als auch das Chrominanzsignal, ist es
möglich, dieses
lediglich auf das Luminanzsignal anzuwenden und 1 Rahmenkapazität dem Chrominanzsignal
zuzuweisen.
-
Wie oben beschrieben worden ist,
gemäß der vorliegenden
Erfindung, ist es möglich,
einen großen
Pufferbereich für
kodierte Daten bereitzustellen, der ausreichend ist, ein großes Bild
des PAL-Systems zu speichern und einen Datenbereich für das OSD,
innerhalb der Kapazität
von 16 Bits.
-
Des Weiteren ist es möglich, einen
kodierten Datenpufferbereich einzustellen für kodierte Daten eines Bildes
mit unterschiedlicher Größe in demselben
Raum und eine weiche Dekodieroperation durchzuführen, selbst in einem Verbindungspunkt zwischen
Sequenzen von Daten von Bildern, die unterschiedliche Bildgrößen haben.
-
Zusätzlich ist die Zeitperiode,
für welche
die Dekodieroperation zu stoppen ist, klein und es ist möglich, dass
die Dekodieroperation gleich ist, unabhängig von dem Bildtyp I-, P-
oder B-Bild.