-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft ein Grafik-Rendering-Gerät zum Rendern eines Grafikformbildes und zum Übertragen des Bildes an ein Anzeigegerät.
-
Technischer Hintergrund
-
Bei einem unter Grafik-Rendering-Geräten üblichen Verfahren, die eine graphische Form rendern und anzeigen, ist eine Rahmenpufferbandbreite in einem externen Speicher gesichert, Pixel, die eine Grafikform bilden, werden in dem Rahmenpuffer gerendert, um ein Bild zu erzeugen, und das Bild in dem Rahmenpuffer wird an ein Anzeigegerät übertragen, um einen Bildschirm anzuzeigen. Bei einem anderen bekannten Verfahren wird dem Rahmenpuffer eine Doppelpufferkonfiguration gegeben, um auf einem Anzeigebildschirm ein Bild anzuzeigen, das in der Mitte des Renderns steht, und ein Rendering-Bildschirm wird auf den Anzeigebildschirm geschaltet, nachdem eine Rendern eines Bildschirms von Bildern (einem Rahmen von Bildern) abgeschlossen ist.
-
JP 2009-15248 A (Patentliteratur 1) schlägt ein Verfahren zum Reduzieren eines Speicherzugriffs vor, wenn ein Doppelpuffer verwendet wird, durch Wählen von den zwei Puffer getrennt für jede Bandbreite, und Ausführen eines Schreibens und Lesens in den ausgewählten Puffer.
-
Zitatliste
-
Patentliteratur
-
-
Zusammenfassung der Erfindung
-
Technische Probleme
-
Mit dem Verfahren von Patentliteratur 1 und anderen Verfahren in der verwandten Technik, wo eine Grafikform in einem Rahmenpuffer in einem externen Speicher gerendert wird und die gerenderte Grafikform aus dem Rahmenpuffer gelesen wird um angezeigt zu werden, ist ein Daten-Lesen/Schreiben in den externen Speicher häufig und ein Speicherbandbreitenverbrauch (ein notwendiger Datenübermittlungsumfang) entsprechend groß. Ein Verarbeiten des Lesens und Übertragens des Rahmenpuffers an ein Anzeigegerät wird zu jeder Zeit bei einer Bildwiederholrate von zum Beispiel sechzig Rahmen (Frames) pro Sekunde ausgeführt, und nimmt deshalb eine gewisse Speicherbandbreite ein. Zusätzlich erfordert eine Rendern in dem Rahmenpuffer in dem Fall einer transparenten Verarbeitung zum Beispiel eine Lesen-Ändern-Schreiben-Verarbeitung, womit eine große Speicherbandbreite verbraucht wird. Zudem steht die Speicherbandbreite, die für solche Verarbeitungsprozeduren erforderlich ist, in einem Verhältnis zur Auflösung und Farbanzahl (die Anzahl von Bits pro Pixel), und deshalb erfordert einen Sichern einer Speicherbandbreite, um eine Grafikform bei hoher Auflösung und in vielen Farben anzuzeigen, ein Verwenden eines externen Hochgeschwindigkeitsspeichers oder ein Konfigurierten eines externen Speichers aus einer Vielzahl von Chips, welches ein Problem von hohen Kosten zur Folge hat.
-
Die vorliegende Erfindung wurde gemacht, um die vorstehenden Probleme zu lösen, und eine Aufgabe der vorliegenden Erfindung besteht deshalb darin, ein Grafik-Rendering-Gerät bereitzustellen, das die Notwendigkeit für einen Rahmenpuffer in einem externen Speicher beseitigt und eine geringe Speicherbandbreite in dem Rendering- und Anzeigeprozess von Grafiken verbraucht.
-
Lösung der Probleme
-
Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein Grafik-Rendering-Gerät zur Verfügung gestellt, das konfiguriert ist, um Grafiken zu Rendern und die Grafiken auf einem Bildschirm anzuzeigen, umfassend Zwischendatenerzeugungsmittel zum Lesen von Grafikformdaten einer zu rendernden Grafikform und eine Rendering-Liste, die Besonderheiten des Rendering definiert, aus einem externen Speicher, in welchem die Grafikformdaten und die Rendering-Liste im Vorhinein gespeichert werden, erzeugen von Zwischendaten, und speichern der erzeugten Zwischendaten in dem externen Speicher; Zwischendatenabtastmittel zum Erkennen einer Grafikform aus den Zwischendaten, die in dem externen Speicher gespeichert sind; Grafikform-Rendering-Mittel zum Rendern eines Rendering-Bildes durch Erzeugen, aus den Grafikformdaten, die in dem externen Speicher gespeichert sind, Pixel der Grafikform, die von dem Zwischendatenabtastmittel erkannt wurde; einen Puffer, der eine Mehrfachpufferkonfiguration zum Halten des Rendering-Bildes aufweist, das von dem Grafikform-Rendering-Mittel gerendert wurde, um abwechselnd das Rendering eines Rendering-Bildes und das Lesen des Rendering-Bildes auszuführen, dass gerendert wurde; und Anzeigeausgabemittel zum Ausgeben eines Rendering-Bildes, das in dem Puffer gespeichert ist, um das Rendering-Bild auf einem Anzeigegerät anzuzeigen.
-
Vorteilhafte Effekte der Erfindung
-
Das Grafik-Rendering-Gerät gemäß einer Ausführungsform der vorliegenden Erfindung weist eine Konfiguration auf, bei welcher Grafikformdaten einer Rendering-Grafikform und eine Rendering-Liste zum Definieren der Besonderheiten des Renderns aus dem externen Speicher gelesen werden, um Zwischendaten unter der Verwendung des Zwischendatenerzeugungsmittels zu erzeugen, das Zwischendatenabtastmittel eine Grafikform aus den Zwischendaten erkennt, ein Rendering-Bild der erkannten Grafikform aus den Grafikformdaten von dem Grafikform-Rendering-Mittel erzeugt wird, um in dem Puffer gehalten zu werden, der die Mehrfachpufferkonfiguration aufweist, und das Rendering-Bild, das in dem Puffer gespeichert ist, an das Anzeigegerät von dem Anzeigeausgabemittel ausgegeben wird. Das Grafik-Rendering-Gerät gemäß einer Ausführungsform der vorliegenden Erfindung braucht deshalb keinen Rahmenpuffer in einem externen Speicher und weist einen Effekt des Reduzierens von Speicherverbrauch auf. Der Effekt des Reduzierens von Speicherbandbreitenverbrauch ist insbesondere bedeutend für Vektorgrafikformen, die im Datenumfang klein sind.
-
Kurze Beschreibung der Zeichnungen
-
1 ist ein Konfigurationsdiagramm eines Grafik-Rendering-Geräts gemäß einer ersten Ausführungsform der vorliegenden Erfindung.
-
2 ist ein Diagramm, das Grafikformen darstellt, die gemäß der ersten Ausführungsform der vorliegenden Erfindung gerendert sind.
-
3 ist ein Diagramm, das ein Strukturbeispiel von Vektor grafikformdaten zeigt.
-
4 ist ein Diagramm, das ein Strukturbeispiel von Bitmap-Bilddaten zeigt.
-
5 ist ein Diagramm, das ein Beispiel einer Rendering-Liste zeigt, welche aus Datenteilen aufgebaut ist, von denen jedes ein Rendering-Verfahren für eine Grafikform definiert.
-
6 ist ein Diagramm, das ein Beispiel einer Rendering-Liste zeigt, die eine hierarchische Struktur aufweist.
-
7 ist ein Diagramm, das ein Strukturbeispiel von Zwischendaten zeigt, welche von einem Zwischendatenerzeugungsteil erzeugt sind,
-
8 ist ein erläuterndes Diagramm eines Falls, wo ein Zwischendatenabtastteil mit der Abtastlinie als einem Ziel rendert, die zuoberst auf einem Bildschirm ist.
-
9 ist ein erläuterndes Diagramm eines Falls, wo das Zwischendatenabtastteil mit einer Abtastlinie als einem Ziel rendert, welche die zweite von oben auf dem Bildschirm ist.
-
10 ist ein erläuterndes Diagramm eines Falls, wo das Zwischendatenabtastmittel eine Rendering-Verarbeitung mit der letzten (untersten auf dem Bildschirm) Abtastlinie als einem Ziel durchführt.
-
11 ist ein erläuterndes Diagramm eines Timings von Zwischendatenerzeugungsverarbeitung, Abtastlinie-Rendering-Verarbeitung und Anzeigeausgabeverarbeitung.
-
12 ist eine erläuterndes Diagramm eines Verarbeitungsverfahrens, bei welchem die Erzeugung von Zwischendaten von Abtastlinie-zu-Abtastlinien-Rendering und Anzeigeverarbeitung um einen Rahmen versetzt ist, wenn eine Zwischendatenspeicherbandbreite in einem externen Speicher eine Doppelpufferkonfiguration aufweist.
-
13 ist ein erläuterndes Diagramm eines Verarbeitungsverfahrens für einen Fall, wo ein Erzeugen von Zwischendaten einmal für alle zwei Rahmen durchgeführt wird.
-
14 ist ein erläuterndes Diagramm einer Rendering- und Anzeigeverarbeitungsverfahrens für einen Fall, wo ein Linienpuffer eine Doppelpufferkonfiguration zum Halten von vier Linien von Bildern aufweist.
-
15 ist ein Konfigurationsdiagramm eines Grafik-Rendering-Geräts gemäß einer dritten Ausführungsform der vorliegenden Erfindung.
-
Beschreibung von Ausführungsformen
-
Erste Ausführungsform
-
1 ist ein Konfigurationsdiagramm, das eine Grafik-Rendering-Gerät gemäß einer ersten Ausführungsform der vorliegenden Erfindung darstellt.
-
In 1 bezeichnet Bezugsziffer 10 das Grafik-Rendering-Gerät; 11, ein Steuerteil zum Steuern des Rendering; 12, ein Zwischendatenerzeugungsteil zum Erzeugen von Zwischendaten von einer Rendering-Liste oder einem Rendering-Befehl und von Grafikformdaten; 13, ein Zwischendatenabtastteil zum Erkennen einer Grafikform, die in einer Abtastlinie eines Verarbeitungsziels enthalten ist; 14, ein Grafikform-Rendering-Teil zum Rendern eines Rendering-Bildes durch Erzeugen von Pixeln aus Grafikformdaten; 15, einen Linienpuffer mit einer Doppelpufferkonfiguration, der eine Linie von Rendering-Bildern hält; 16, ein Anzeigenausgabeteil zum Lesen eines Rendering-Bildes aus dem Linienpuffer 15 und Ausgeben des Bildes; 17, eine Zentralprozessoreinheit (CPU) zum Ausgeben einer Anweisung an das Grafik-Rendering-Gerät 10; 18, einen externen Speicher zum Speichern und Halten einer Rendering-Liste, Grafikformdaten und Zwischendaten; und 19, ein Anzeigegerät zum Anzeigen eines Bildschirms.
-
Als nächstes wird ein Betrieb beschrieben.
-
Der hier beschriebene Betrieb betrifft ein Rendern durch getrenntes Vergrößern, Reduzieren und Rotieren von Grafikformen 21, 22, 23, 24, 25 und 26, welche in 2 als einem Beispiel dargestellt sind.
-
Als erstes speichert die CPU 17 im Vorhinein Grafikformdaten einer Vektorgrafikform oder eines Bitmap-Bildes in einer Grafikformdatenspeicherbandbreite des externen Speichers 18.
-
3 zeigt ein Beispiel der Struktur von Vektorgrafikformdaten. Eine Vektorgrafikform ist eine Grafikformkontur gebildet aus geraden Linien und Bezier-Kurven, und Vektorformdaten definieren eine Kontur mit Befehlen (”Bewegen zu” und ”Linie bis”) und die XY-Koordinatenwerte von Eckpunkten oder Kontrollpunkten. Vektorformdaten enthalten auch Daten, die eine Farbe festlegen, in welcher die Grafikform gerendert wird. 4 zeigt ein Beispiel der Struktur von Bitmap-Bilddaten. Bitmap-Bilddaten enthalten eine Bildgröße und den Farbwert (RGBA-Wert) von jedem Pixel.
-
Die CPU 17 speichert auch im Vorhinein eine Rendering-Liste zum Rendern eines Rahmens in einer Rendering-Listenspeicherbandbreite des externen Speichers 18. 5 zeigt ein Beispiel der Struktur der Rendering-Liste.
-
Die Rendering-Liste beinhaltet Daten zum Definieren, welche Grafikform (eine Vektorgrafikform oder ein Bitmap-Bild) gerendert wird, und wie die Grafikform gerendert wird. Weiche Grafikform gerendert wird, ist durch einen Zeiger (Pointer) auf ein Teil von Grafikformdaten festgelegt, und wie die Form gerenderte wird, ist durch eine Transformationsmatrix festgelegt. Die Transformationsmatrix in diesem Beispiel ist eine 3×2 Matrix, und bestimmt eine Koordinatentransformation wie eine Vergrößerung, Reduktion, Rotation oder eine parallele Verschiebung durch Anwenden des folgenden Ausdrucks auf die XY-Koordinaten von Eck- oder Kontrollpunkten einer Vektorgrafikform, oder die XY-Koordinaten der vier Ecken eines Bitmap-Bildes. [Mathematischer Ausdruck 1]
-
Die Rendering-Liste enthält alle in einem Rahmen zur rendernden Objekte. Die in dem Beispiel von 2 gerenderten Objekte sind sechs Grafikformen, die Grafikformen 21, 22, 23, 24, 25 und 26, und die Rendering-Liste für dieses Rendern ist deshalb aus Zeigern und Transformationsmatrizen aufgebaut, die mit den Grafikformen 21, 22, 23, 24, 25 unter 26 wie in 5 gezeigt entsprechend verknüpft sind. Die Grafikformen werden in der Listenreihenfolge gerendert, wobei die Grafikform an dem Anfang der Rendering-Liste als erstes gerendert wird.
-
Die Rendering-Liste kann eine hierarchische Struktur wie in 6 gezeigt aufweisen. Die Rendering-Liste kann auch in einem Format vorliegen, das eine Folge von Rendering-Befehlen definiert, wie eine Anzeigeliste einer offenen Grafikbibliothek (Open Graphics Library) (OpenGL), welche eine dreidimensionale Grafikanwendungsprogrammschnittstelle (API) ist.
-
Nach einem Speichern der Grafikformdaten und der Rendering-Liste, welche zum Rendern in der Grafikformdatenspeicherbandbreite und Rendering-Listenspeicherbandbreite des externen Speichers 18 entsprechend erforderlich sind, weist die CPU 17 das Grafik-Rendering-Gerät 10 an, das Rendern zu beginnen. Das Grafik-Rendering-Gerät 10 beginnt demzufolge eine Verarbeitung eines Rahmens von Bildern. Das Steuerteil 11 weist das Zwischendatenerzeugungsteil 12 an, eine Verarbeitung rechtzeitig mit dem Start einer vertikalen Blank-Periode von dem Anzeigeausgabeteil 16 zu beginnen.
-
Das Zwischendatenerzeugungsteil 12 empfängt die Weisung von dem Steuerteil 11 und beginnt eine Verarbeitung durch Lesen der Rendering-Liste aus der Rendering-Listenspeicherbandbreite des externen Speichers 18.
-
Das Zwischendatenerzeugungsteil 12 liest zuerst die Grafikformdaten, die durch die Rendering-Liste festgelegt sind, und führt eine Koordinatentransformationsverarbeitung unter Verwenden von Transformationsmatrizen aus, die durch die Rendering-Liste auf den XY-Koordinaten von Eck- oder Kontrollpunkten festgelegt sind. Insbesondere führt das Zwischendatenerzeugungsteil 12 eine Koordinatentransformationsverarbeitung unter Verwenden von Transformationsmatrizen (Matrizen A1, B1, C1, D1, E1, und F1) auf die XY-Koordinaten von Eck- oder Kontrollpunkten der Vektorgrafikformdaten der Grafikform 21 aus. Beim Ausführen dieser Verarbeitung bestimmt das Zwischendatenerzeugungsteil 12 einen Minimalwert und einen Maximalwert der Y-Koordinaten nach der Koordinatentransformation und hält die Werte als Rendering-Bereichsinformation.
-
Nach Beenden der Koordinatentransformationsverarbeitung für alle der Eck- oder Kontrollpunkte der Grafikform 21 schreibt das Zwischendatenerzeugungsteil 12 den Zeiger auf die Grafikform 21, die Transformationsmatrizen, die durch die Rendering-Liste festgelegt sind, und die Rendering-Bereichsinformation (den Minimalwert und Maximalwert der Y-Koordinaten) als Zwischendaten in eine Zwischendatenspeicherbandbreite des externen Speichers 18.
-
Das Zwischendatenerzeugungsteil 12 liest dann das nächste Element auf der Rendering-Liste und führt die gleiche Verarbeitung auf die Grafikform 22 durch. Insbesondere liest das Zwischendatenerzeugungsteil 12 Grafikformdaten der Grafikform 22 und führt eine Koordinatentransformationsverarbeitung unter Verwenden von Transformationsmatrizen (Matrizen A2, B2, C2, D2, E2, und F2) auf die XY-Koordinaten von Eck- oder Kontrollpunkten durch. Nach Beenden der Koordinatentransformationsverarbeitung für alle der Eck- oder Kontrollpunkte der Grafikform 22 schreibt das Zwischendatenerzeugungsteil 12 den Zeiger auf die Grafikform 22, die Transformationsmatrizen, die durch die Rendering-Liste festgelegt sind, und die Rendering-Bereichsinformation (den Minimalwert und Maximalwert der Y-Koordinaten) als Zwischendaten in die Zwischendatenspeicherbandbreite des externen Speichers 18.
-
Das Zwischendatenerzeugungsteil 12 liest die Rendering-Liste in einer ähnlichen Art weiter bis zum letzten Element auf der Liste, wobei in der Zwischendatenspeicherbandbreite des externen Speichers 18 Zwischendaten erzeugt werden, in welchen Information über Teile von Grafikformdaten von allen Grafikformen registriert wird, die in einem Rahmen gerendert werden müssen. 7 zeigt ein Beispiel der Struktur von Zwischendaten. Die Erzeugungsverarbeitung von Zwischendaten wird in einer vertikalen Blank-Periode durchgeführt, die dem Übergang zu der Verarbeitung des nächsten Rahmens vorangeht.
-
In dem Fall, wo die Rendering-Liste eine hierarchische Struktur aufweist, werden Transformationsmatrizen, die festgelegt sind, wenn eine untergeordnete (lower-level) Rendering-Liste von einer übergeordneten (upper-level) Rendering-Liste aufgerufen wird, mit Transformationsmatrizen multipliziert, die für die entsprechenden Grafikformen auf der untergeordneten Rendering-Liste festgelegt sind, und es werden Transformationsmatrizen, die als ein Ergebnis der Multiplikation erhalten werden, verwendet, um eine Koordinatentransformationsverarbeitung auf die XY-Koordinaten von Eck- oder Kontrollpunkten der Grafikformdaten auszuführen.
-
Danach gibt das Steuerteil 11 eine Anweisung an das Zwischendatenabtastteil 13 aus, die Verarbeitung auf einer Abtastlinie-für-Abtastlinien-Basis zu beginnen, rechtzeitig mit einer horizontal synchronisierten Ausgabe von dem Anzeigenausgabeteil 16 an das Anzeigegerät 19.
-
Das Steuerteil 11 weist zuerst das Zwischendatenabtastteil 13 an, die oberste Abtastlinie auf dem Bildschirm als ein Ziel zu rendern. 8 ist ein Diagramm, das die Rendering-Verarbeitung darstellt, bei welcher die oberste Abtastlinie das Ziel ist.
-
Beim Empfangen der Anweisung von dem Steuerteil 11 liest das Zwischendatenabtastteil 13 Zwischendaten aus der Zwischendatenspeicherbandbreite des externen Speichers 18 und bezieht sich auf die Rendering-Bereichsinformation, um zu bestimmen, ob die Grafikformdaten in der Verarbeitungszielabtastlinie enthalten sind oder nicht. In dem Fall, wo die Grafikformdaten in der Verarbeitungszielabtastlinie enthalten sind, gibt das Zwischendatenabtastteil 13 einen Zeiger auf die Grafikformdaten und Transformationsmatrizen an das Grafikform-Rendering-Teil 14 aus, und weist das Grafikform-Rendering-Teil 14 an, zu rendern. In dem Beispiel von 8, wo die Grafikform 24 in der Verarbeitungszielabtastlinie enthalten ist, weist das Zwischendatenabtastteil 13 das Grafikform-Rendering-Teil 14 an, die Grafikform 24 zu rendern.
-
Das Grafikform-Rendering-Teil 14 empfängt die Anweisung von dem Zwischendatenabtastteil 13 und liest die Grafikformdaten aus der Grafikformdatenspeicherbandbreite des externen Speichers 18 aus. Nach der Transformation durch Koordinatentransformationsverarbeitung, die auf die XY-Koordinaten von Eck- oder Kontrollpunkten der gelesenen Grafikformdaten unter der Verwendung von festgelegten Transformationsmatrizen ausgeführt wird, erzeugt das Grafikform-Rendering-Teil 14 Pixeldaten für die Verarbeitungszielabtastlinie und rendert in dem Linienpuffer 15. Ein Erzeugen von individuellen Teilen von Pixeldaten aus Grafikformdaten wird durch ein bekanntes Verfahren durchgeführt, und eine Beschreibung davon wird weggelassen.
-
Zu der Zeit, wo die Zwischendaten jeder Grafikform abgetastet sind und ein Rendern für alle Teile von Grafikformdaten abgeschlossen ist, die in der Verarbeitungszielabtastlinie (nur der Grafikform 24 in dem Beispiel von 8) enthalten sind, ist ein Bild dieser Abtastlinie in dem Linienpuffer 15 vollständig.
-
Das Anzeigeausgabeteil 16 schaltet zwischen einem Rendering-seitigen Puffer und einem Anzeige-seitigen Puffer des Linienpuffers 15, welcher eine Doppelpufferkonfguration aufweist, im Timing der horizontalen Synchronisierung. Wenn ein Umschalten von dem Rendering-seitigen Puffer auf den Anzeige-seitigen Puffer durchgeführt wird, liest das Anzeigeausgabeteil 16 Bilder aus dem Anzeige-seitigen Puffer und beginnt, eine Linie von Bildern an das Anzeigegerät 19 zu übertragen. Zur gleichen Zeit weist das Steuerteil 11 das Zwischendatenabtastteil 13 an, als Ziel eine Abtastlinie zu rendern, welche die zweite von oben auf dem Bildschirm ist. 9 ist ein Diagramm, das eine Verarbeitung darstellt, bei welcher die zweitoberste Abtastlinie auf dem Bildschirm das Ziel ist.
-
Beim Empfangen der Anweisung von dem Steuerteil 11 liest das Zwischendatenabtastteil 13 Zwischendaten aus der Zwischendatenspeicherbandbreite des externen Speichers 18 und bezieht sich auf die Rendering-Bereichsinformation, um zu bestimmen, ob die Grafikformdaten in der Verarbeitungszielabtastlinie enthalten sind oder nicht. In dem Fall, wo die Grafikformdaten in der Verarbeitungszielabtastlinie enthalten sind, gibt das Zwischendatenabtastteil 13 einen Zeiger auf die Grafikformdaten und Transformationsmatrizen an das Grafikform-Rendering-Teil 14 aus, und weist das Grafikform-Rendering-Teil 14 an, zu rendern. In dem Beispiel von 9, wo die Grafikform 21 und die Grafikform 24 in der Verarbeitungszielabtastlinie enthalten sind, weist das Zwischendatenabtastteil 13 das Grafikform-Rendering-Teil 14 an, die Grafikform 21 und die Grafikform 24 zu rendern.
-
Das Grafikform-Rendering-Teil 14 empfängt die Anweisung von dem Zwischendatenabtastteil 13 und liest die Grafikformdaten aus der Grafikformdatenspeicherbandbreite des externen Speichers 18. Nach Transformation durch Koordinatentransformationsverarbeitung, die auf die XY-Koordinaten von Eck- oder Kontrollpunkte der gelesenen Grafikformdaten unter Verwendung von festgelegten Transformationsmatrizen ausgeführt wird, erzeugt das Grafikform-Rendering-Teil 14 Pixeldaten für die Verarbeitungszielabtastlinie und rendert in dem Linienpuffer 15. Dieses Rendern wird in dem Rendering-seitigen Puffer durchgeführt, welcher von dem Anzeigeausgabeteil 16 nicht gelesen wird, aus dem Linienpuffer 15 mit einer Doppelpufferkonfiguration heraus.
-
Zu der Zeit, wo die Zwischendaten jeder Grafikform abgetastet sind und ein Rendern für alle Teile von Grafikformdaten beendet ist, die in der Verarbeitungszielabtastlinie (der Grafikform 21 und der Grafikform 24 in dem Beispiel von 9) enthalten sind, ist ein Bild dieser Abtastlinie in dem Linienpuffer 15 vollständig.
-
Die dritte Abtastlinie von oben und nachfolgende Abtastlinien werden in der gleichen Art verarbeitet. 10 ist ein Diagramm, das eine Verarbeitung darstellt, bei welcher die letzte (unterste auf dem Bildschirm) Abtastlinie das Ziel ist.
-
Wie in der vorstehenden Beschreibung angegeben, liest das Zwischendatenabtastteil 13 Zwischendaten aus der Zwischendatenspeicherbandbreite des externen Speichers 18, und bezieht sich auf die Rendering-Bereichsinformation, um zu bestimmen, ob die Grafikformdaten in der Verarbeitungszielabtastlinie enthalten sind oder nicht. In dem Beispiel von 10, wo die Grafikform 25 in der Verarbeitungszielabtastlinie enthalten ist, weist das Zwischendatenabtastteil 13 das Grafikform-Rendering-Teil 14 an, die Grafikform 25 zu rendern.
-
Das Grafikform-Rendering-Teil 14 empfängt die Anweisung von dem Zwischendatenabtastteil 13 und liest die Grafikformdaten aus der Grafikformdatenspeicherbandbreite des externen Speichers 18. Nach Transformation durch Koordinatentransformationsverarbeitung, die auf die XY-Koordinaten von Eck- oder Kontrollpunkten der gelesenen Grafikformdaten unter Verwendung von festgelegten Transformationsmatrizen ausgeführt wird, erzeugt das Grafikform-Rendering-Teil 14 Pixeldaten für die Verarbeitungszielabtastlinie und rendert in dem Linienpuffer 15. Dieses Rendering wird in einem Puffer durchgeführt, der von dem Anzeigeausgabeteil 16 nicht gelesen wird, aus dem Linienpuffer 15 mit einer Doppelpufferkonfiguration heraus.
-
Zu der Zeit, wo die Zwischendaten jeder Grafikform abgetastet sind und ein Rendern für alle Teile von Grafikformdaten beendet ist, die in der Verarbeitungszielabtastlinie (nur der Grafikform 25 in dem Beispiel von 10) enthalten sind, ist ein Bild dieser Abtastlinie in dem Linienpuffer 15 vollständig.
-
Das Anzeigeausgabeteil 16 liest das Bild der letzten Abtastlinie aus dem Linienpuffer 15 und überträgt das gelesene Bild an das Anzeigegerät 19, wodurch eine Bildschirmanzeige von einem Rahmen von Bildern vollständig ist.
-
In dieser Art wird ein Bildschirm durch Abtasten von Zwischendaten von einer Abtastlinie nach der anderen angezeigt, um eine Grafikform zu erkennen, die in der Zielabtastlinie enthalten ist, Lesen von Grafikformdaten der erkannten Grafikform, um ein Bild in dem Linienpuffer 15 zu rendern, und Ausgeben des Bildes in dem Linienpuffer 15 an das Anzeigegerät 19. 11 ist ein Diagramm, das ein Verarbeitungs-Timing zeigt. 11 zeigt ein Beispiel für den Fall, wo die vertikale Auflösung des Anzeigegeräts 19 768 beträgt.
-
Wie vorstehend beschrieben ist diese Ausführungsform so konfiguriert, dass ein Bild von Grafikformdaten erzeugt wird, die an das Anzeigegerät getrennt für jede Abtastlinie ausgegeben werden, wobei die Notwendigkeit für einen Rahmenpuffer in einem externen Speicher beseitigt wird. Diese Ausführungsform weist somit einen Effekt des Reduzierens von Speicherbandbreitenverbrauch auf. Der Effekt des Reduzierens von Speicherbandbreitenverbrauch ist insbesondere bedeutend für Vektorgrafikformen, deren Datenumfang gering ist.
-
Die Zwischendatenspeicherbandbreite in dem externen Speicher kann eine Doppelpufferkonfiguration aufweisen, so dass, wie in 12 gezeigt, die von dem Zwischendatenerzeugungsmittel 12 durchgeführte Verarbeitung, um Zwischendaten aus der Rendering-Liste und Grafikformdaten zu erzeugen, um einen Rahmen von der Verarbeitung versetzt ist, die von dem Zwischendatenabtastteil 13 und dem Grafikform-Rendering-Teil 14 durchgeführt wird, um Abtastlinie-für-Abtastlinie zu rendern, und der Anzeigeverarbeitung, die von dem Anzeigeausgabeteil 16 durchgeführt wird.
-
Beim Aktualisieren, was auf einer Rahmen-für-Rahmenbasis angezeigt unnötig ist, kann die Verarbeitung des Erzeugens von Zwischendaten aus der Rendering-Liste und Grafikformdaten, welche von dem Zwischendatenerzeugungsmittel 12 durchgeführt wird, einmal für alle zwei oder mehr Rahmen, wie in 13 gezeigt, mit dem Zwischendatenabtastteil 13, dem Grafikform-Rendering-Teil 14 und dem Anzeigeausgabeteil 16 durchgeführt werden, unter wiederholtem Verwenden der gleichen Zwischendaten für die Dauer der Vielzahl von Rahmen.
-
Die erste Ausführungsform beschreibt ein Verfahren, bei welchem das Zwischendatenabtastteil und das Grafikform-Rendering-Teil Linien durch Abtastverarbeitung verarbeiten. Solche Verarbeitungsprozeduren sind jedoch nicht beschränkt auf das Verfahren, bei welchem Linien abgetastet werden, und andere bestehende Verfahren können verwendet werden, solange eine Grafikform erkannt wird und ein Rendern eines Rendering-Bilds der erkannten Grafikform für jedes einer Vielzahl von Teilen getrennt durchgeführt werden kann, in welchen ein Rahmen unterbrochen ist. Der Puffer ist auch nicht auf einen Linienpuffer eingeschränkt, und jeder Puffer kann verwendet werden, der für das Verarbeitungsverfahren geeignet ist, bei welchem eine Grafikform erkannt wird und ein Rendering-Bild der erkannten Grafikform gerendert wird.
-
Zweite Ausführungsform
-
Während die erste Ausführungsform ein Beispiel des Linienpuffers 15 mit einer Doppelpufferkonfiguration darstellt, der eine Linie von Bildern hält, kann der Linienpuffer 15 so konfiguriert sein, eine Vielzahl von Linien von Bildern zu halten. Der Betrieb in diesem Fall, wo der Linienpuffer 15 so konfiguriert ist, vier Linien von Bildern zu halten, ist nachstehend als ein Beispiel beschrieben. 14 ist ein Diagramm, das eine Verarbeitung zeigt, die zum Rendern und Anzeigen in diesem Fall ausgeführt wird.
-
Die CPU 17 speichert die Grafikformdaten und die Rendering-Liste entsprechend in der Grafikformdatenspeicherbandbreite und der Rendering-Listenspeicherbandbreite des externen Speichers 18, und weist das Grafik-Rendering-Gerät 10 an, ein Rendern zu beginnen. Das Zwischendatenerzeugungsteil 12 erzeugt in der Zwischendatenspeicherbandbreite des externen Speichers 18 Zwischendaten, in welchen Information über Teile von Grafikformdaten aller Grafikformen registriert ist, die in einem Rahmen zu rendern sind. Der Betrieb in der zweiten Ausführungsform bis zu diesem Punkt ist der gleiche wie der in der ersten Ausführungsform.
-
Danach gibt das Steuerteil 11 eine Verarbeitungsstartanweisung an das Zwischendatenabtastteil 13 in einem Verhältnis von einem für jede vier horizontal synchronisierten Ausgaben von dem Anzeigeausgabeteil 16 an das Anzeigegerät 19 aus.
-
Das Steuerteil 11 weist zuerst das Zwischendatenabtastteil 13 an, mit den obersten vier Abtastlinien als Zielen auf dem Bildschirm zu rendern. Beim Empfangen der Anweisung von dem Steuerteil 11 liest das Zwischendatenabtastteil 13 Zwischendaten aus der Zwischendatenspeicherbandbreite des externen Speichers 18, und bezieht sich auf die Rendering-Bereichsinformation, um zu bestimmen, ob die Grafikformdaten in den vier Verarbeitungszielabtastlinien enthalten sind oder nicht. Wenn die Grafikformdaten in den vier Verarbeitungszielabtastlinien enthalten sind, gibt das Zwischendatenabtastteil 13 einen Zeiger auf die Grafikformdaten und Transformationsmatrizen an das Grafikform-Rendering-Teil 14 aus, und weist das Grafikform-Rendering-Teil 14 an, zu rendern.
-
Das Grafikform-Rendering-Teil 14 empfängt die Anweisung von dem Zwischendatenabtastteil 13 und liest die Grafikformdaten aus der Grafikformdatenspeicherbandbreite des externen Speichers 18. Nach Transformation durch Koordinatentransformationsverarbeitung, die auf die XY-Koordinaten von Eck- oder Kontrollpunkten der gelesenen Grafikformdaten unter Verwendung von festgelegten Transformationsmatrizen durchgeführt wird, erzeugt das Grafikform-Rendering-Teil 14 Pixeldaten für die vier Verarbeitungszielabtastlinien und rendert in dem Linienpuffer 15.
-
Zu der Zeit, wo die Zwischendaten jeder Grafikform erkannt sind und ein Rendern für alle Teile von Grafikformdaten beendet ist, die in den vier Verarbeitungszielabtastlinien enthalten sind, sind Bilder der vier Abtastlinien in dem Linienpuffer 15 vollständig.
-
Das Anzeigeausgabeteil 16 schaltet zwischen einem Rendering-seitigen Puffer und einem Anzeige-seitigen Puffer des Linienpuffers 15, welcher eine Doppelpufferkonfiguration aufweist, in einem Verhältnis von einmal für jede vier horizontal synchronisierten Ausgaben. Wenn ein Schalten von dem Rendering-seitigen Puffer auf den Anzeige-seitigen Puffer durchgeführt wird, liest das Anzeigeausgabeteil Bilder aus dem Anzeige-seitigen Puffer und beginnt ein Übertragen von vier Linien von Bildern an das Anzeigegerät 19. Zur gleichen Zeit weist das Steuerteil 11 das Zwischendatenabtastteil 13 an, mit den nächsten vier Abtastlinien als Zielen auf dem Bildschirm zu rendern.
-
Auf dieser Art wird ein Bildschirm durch Scannen von Zwischendaten für jede zwei oder mehr Abtastlinien angezeigt, um eine Grafikform zu erkennen, die in der Vielzahl von Zielabtastlinien enthalten ist, Lesen von Grafikformdaten der erkannten Grafikform, um ein Bild in dem Linienpuffer 15 zu Rendern und Ausgeben des Bildes in dem Linienpuffer 15 an das Anzeigegerät 19. Ein Verarbeiten einer Vielzahl von Abtastlinien auf einmal reduziert die Anzahl von Malen, in denen das Zwischendatenabtastteil 13 die Bestimmungsverarbeitung durchführt, und die Anzahl von Malen, in denen Grafikformdaten von dem Grafikform-Rendering-Teil 14 gelesen werden, verglichen dazu, wenn jeweils eine Abtastlinie verarbeitet wird, und hat deshalb einen Effekt des weiteren Reduzierens von Speicherbandbreitenverbrauch.
-
Dritte Ausführungsform
-
Während die erste Ausführungsform und zweite Ausführungsform Beispiele des Linienpuffers 15 sind, der eine Doppelpufferkonfiguration aufweist, der einen Rendering-seitigen Puffer und einem Anzeige-seitigen Puffer hat, ist der Linienpuffer 15 nicht auf Doppelpufferkonfigurationen eingeschränkt, und kann zum Schalten zwischen drei oder mehr Puffer konfiguriert sein. Der Betrieb in diesem Fall ist nachstehend beschrieben.
-
Die CPU 17 speichert die Grafikformdaten und die Rendering-Liste entsprechend in der Grafikformdatenspeicherbandbreite und der Rendering-Listenspeicherbandbreite des externen Speichers 18, und weist das Grafik-Rendering-Gerät 10 an, ein Rendern zu beginnen. Das Zwischendatenerzeugungsteil 12 erzeugt in der Zwischendatenspeicherbandbreite des externen Speichers 18 Zwischendaten, in welchen Information über Teile von Grafikformdaten aller Grafikformen registriert sind, die in einem Rahmen gerendert werden müssen. Der Betrieb in der dritten Ausführungsform bis zu diesem Punkt ist der gleiche wie der der ersten Ausführungsform und der zweiten Ausführungsform.
-
Danach gibt das Steuerteil 11 eine Verarbeitungsstartanweisung an das Zwischendatenabtastteil 13 rechtzeitig mit einer horizontal synchronisierten Ausgabe von dem Anzeigeausgabeteil 16 an das Anzeigegerät 19 wie in der ersten Ausführungsform und der zweiten Ausführungsform beschrieben aus. Das Grafikform-Rendering-Teil 14 erzeugt ein Bild in dem Linienpuffer 15. Das Anzeigeausgabeteil 16 wählt in dem Timing der horizontalen Synchronisation einen Puffer aus, aus welchem ein Bild gelesen werden soll, liest ein Bild und beginnt ein Übertragen des gelesenen Bildes an das Anzeigegerät 19.
-
In diesem Betrieb weist, wenn das Grafikform-Rendering-Teil 14 ein Erzeugen eines Bildes in dem Linienpuffer 15 beendet, das Steuerteil 11 das Zwischendatenabtastteil 13 an, ein Bild der nächsten Abtastlinie in dem nächsten Puffer des Linienpuffers 15 zu rendern. Insbesondere gibt, in dem Fall einer Dreifachpufferkonfiguration, welche drei Puffer aufweist, das Steuerteil 11 eine Anweisung aus, um fortlaufend in zwei Puffer, ausgenommen einem Puffer, der von dem Anzeigeausgabeteil 16 gelesen wird, zu rendern. In ähnlicher Weise gibt, in dem Fall einer Pufferkonfiguration, die vier Puffer aufweist, das Steuerteil 11 eine Anweisung aus, um fortlaufend in drei Puffer, ausgenommen einem Puffer, der von dem Anzeigeausgabeteil 16 gelesen wird, zu rendern.
-
Auf diese Art wird der Linienpuffer 15 aus drei oder mehr Puffern gebildet, und ein Bild wird fortlaufend in der Vielzahl von Puffern abzüglich dem Puffer gerendert, der zum Ausgeben einer Anzeige gelesen wird. Der resultierende Effekt ist eine reduzierte Wahrscheinlichkeit für eine falsche Bildschirmanzeige wegen komplizierter Inhalte, die große Rendering-Verarbeitungslast auf den Linienpuffer 15 verursachen, und eine Verzögerung bei Rendering-Verarbeitung.
-
Vierte Ausführungsform
-
15 ist ein Konfigurationsdiagramm, das ein Grafik-Rendering-Gerät gemäß einer vierten Ausführungsform der vorliegenden Erfindung darstellt.
-
Bei dieser Ausführungsform wird das Zwischendatenerzeugungsteil 12 in der ersten Ausführungsform, der zweiten Ausführungsform und der dritten Ausführungsform weggelassen, und eine Verarbeitung des Erzeugens von Zwischendaten wird durch Software-Verarbeitung von der CPU 17 ausgeführt.
-
Es wird nachfolgend ein Betrieb beschrieben.
-
Beim Ausführen des Renderns führt die CPU 17 die gleiche Verarbeitung aus wie das Zwischendatenerzeugungsteil 12 in der ersten Ausführungsform, der zweiten Ausführungsform und der dritten Ausführungsform, durch Erzeugen von Zwischendaten aus der Rendering-Liste und den Grafikformdaten, und Speichern der erzeugten Zwischendaten in dem externen Speicher 18. Nach Beendigung des Erzeugens eines Rahmens von Zwischendaten weist die CPU 17 das Grafik-Rendering-Gerät 10 an, ein Rendern zu beginnen. Das Grafik-Rendering-Gerät 10 beginnt somit eine Verarbeitung von einem Rahmen von Bildern.
-
Danach erkennt das Zwischendatenabtastteil 13 für jede Abtastlinie getrennt eine Grafikform, die in der Abtastlinie enthalten ist, aus Zwischendaten des externen Speichers 18, rechtzeitig mit einer horizontal synchronisierten Ausgabe von dem Anzeigeausgabeteil 16 an das Anzeigegerät 19. Das Grafikform-Rendering-Teil erzeugt Pixel der erkannten Grafikform aus den Grafikformdaten des externen Speichers, um ein Bild zu rendern, und das gerenderte Bild wird in dem Linienpuffer 15 gehalten. Das in dem Linienpuffer 15 gehaltene Bild wird an das Anzeigegerät 19 ausgegeben.
-
Um das zu ändern, was angezeigt ist, erzeugt die CPU 17 neue Zwischendaten, speichert die neuen Zwischendaten in dem externen Speicher 18 und weist das Grafik-Rendering-Gerät 10 an, unter der Verwendung der neuen Zwischendaten zu rendern.
-
Gewerbliche Anwendbarkeit
-
Das Grafik-Rendering-Gerät gemäß der vorliegenden Erfindung ist in der Lage, ein Rendern durchzuführen, das die Vergrößerung, Reduktion, Rotation und parallele Verschiebung einer Grafikform über eine Koordinatentransformationsanweisung einschließt, und verbraucht weniger Speicherbandbreite als ein Grafik-Rendering-Gerät der verwandten Art. Das Graf k-Rendering-Gerät der vorliegenden Erfindung kann deshalb auf visuellen Ausdruck von Medien und Inhalten in Verlag, Werbung, Druck und Videospielen angewendet werden.