DE4444231A1 - Data stream decoder e.g. for picture, video and film information - Google Patents
Data stream decoder e.g. for picture, video and film informationInfo
- Publication number
- DE4444231A1 DE4444231A1 DE4444231A DE4444231A DE4444231A1 DE 4444231 A1 DE4444231 A1 DE 4444231A1 DE 4444231 A DE4444231 A DE 4444231A DE 4444231 A DE4444231 A DE 4444231A DE 4444231 A1 DE4444231 A1 DE 4444231A1
- Authority
- DE
- Germany
- Prior art keywords
- adder
- data
- transformation
- multiplier
- equations
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Discrete Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Color Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zur Umwandlung des YCrCb-Formates in das RGB-Format (Colour-Space-Conversion) von Bildinformationen. Die Formate sind zwei Standards, die bei der Signalverarbeitung und der Anzeige von Bildinformation Anwendung finden.The invention relates to a method and a circuit arrangement for Conversion of the YCrCb format into the RGB format (Color space conversion) of image information. The formats are two Standards used in signal processing and the display of image information Find application.
Moderne Codierungsprozeduren der Videosignalkompression beruhen auf einer blockorientierten diskreten Cosinus-Transformation (DCT) von Abtastwerten oder Prädiktionsfehlern des Videosignals und einer anschließenden blockorien tierten Quantisierung der DCT Koeffizienten. Die Blöcke haben eine quadratische Form und sind in aufeinanderfolgenden Reihen im Bild angeordnet.Modern coding procedures of video signal compression are based on a block-oriented discrete cosine transform (DCT) of samples or prediction errors of the video signal and a subsequent blockorie quantized DCT coefficients. The blocks are square Form and are arranged in successive rows in the picture.
Die Abtastwerte in den Blöcken repräsentieren entsprechend der Empfehlung CCIR Rec. 601-2, "Encoding Parameters of Digital Television for Studios", der Study Group 25G/11 von 1990 das digitale Luminanzsignal sowie die digitalen Farbdifferenzsignale. Wenn die Abtastfrequenzen dieser drei Signale gleich sind, enthalten alle drei Abtastwerte die Information für einen Bildpunkt. Bei anderen Verhältnisse stellen die Farbdifferenzsignale und die Farbinformation von mehreren benachbarten Bildpunkten dar. Die Abtastwerte der digitalen Signale sind jeweils mit 8 Bit Auflösung dargestellt.The samples in the blocks represent according to the recommendation CCIR Rec. 601-2, "Encoding Parameters of Digital Television for Studios", the Study Group 25G / 11 from 1990 the digital luminance signal as well as the digital Color difference signals. If the sampling frequencies of these three signals are the same, all three samples contain the information for one pixel. With others Relationships represent the color difference signals and the color information of several neighboring pixels. The samples of the digital signals are each shown with 8 bit resolution.
Im Gegensatz zu der blockorientierten Anordnung der Abtastwerte bei der Übertragung codierter Videosignale erfolgt die Darstellung des decodierten Bildes auf einem Monitor zeilenweise. Dabei sind für jeden Bildpunkt drei Farbkompo nentensignale für rot, grün und blau (R-, G-, und B-Signal) erforderlich. Darüber hinaus ist das RGB-Format auch für weitere Schritte der Signalverarbeitung von Interesse. Die hier vorgeschlagene Architektur eignet sich für die Umsetzung der Daten Y des Luminanzsignals und der Abtastwerte Cr und Cb der Farbdifferenz signale in die drei Daten R, G und B der Farbkomponentensignale. Diese können dann block- oder zeilenweise weiterverarbeitet werden. Die Umordnung der Daten von einem Block- in ein Zeilenformat wird als Block-to-Raster-Conversion (BRC) und die Umsetzung vom RGB-Format zum YCrCb-Format und wieder zurück als Colour-Space-Conversion (CSC) bezeichnet. In contrast to the block-oriented arrangement of the samples at Transfer of coded video signals takes place the representation of the decoded picture on a monitor line by line. There are three color compos for each pixel nent signals for red, green and blue (R, G, and B signal) required. About that In addition, the RGB format is also suitable for further signal processing steps from Interest. The architecture proposed here is suitable for the implementation of the Data Y of the luminance signal and the samples Cr and Cb of the color difference signals in the three data R, G and B of the color component signals. these can then processed further in blocks or lines. The reordering of the data from a block to a line format is called block-to-raster conversion (BRC) and the conversion from RGB format to YCrCb format and back again as Color space conversion (CSC).
Nach der oben genannten CCIR Rec. 601-2 sollen die Daten Y des Lumi nanzsignals und die Daten Cr und Cb der beiden Farbdifferenzsignale entsprechendAccording to the CCIR Rec. 601-2 mentioned above, the data Y of the Lumi nanzsignals and the data Cr and Cb of the two color difference signals corresponding
aus den Daten R′, G′ und B′ der Farbkomponentensignale umgesetzt werden. Die Einträge der Matrix in Gleichung (1) sind für die Realisierung einer ganzzahligen Arithmetik gewählt. Die Division durch 256 läßt sich durch eine Stellenver schiebung um 8 Bit realisieren.from the data R ', G' and B 'of the color component signals are implemented. The Entries of the matrix in equation (1) are for realizing an integer Arithmetic chosen. The division by 256 can be done by a job index realize shift by 8 bits.
Bei einer digitalen CSC lassen sich Rundungsfehler nicht ausschließen. Diese ergeben für die Resultate Über- oder Unterläufe aus dem Wertebereich. Daher müssen die Daten nach der CSC auf den gewünschten Wertebereich begrenzt werden.Rounding errors cannot be excluded with a digital CSC. These result in overflows or underflows from the value range for the results. Therefore, the data after the CSC must be on the desired value range be limited.
Die Daten R′, G′ und B′ sowie Y in Gleichung (1) haben jeweils 220 Quantisierungsstufen im Wertebereich [16 : 235]. Die Daten Cr und Cb dagegen haben 225 Quantisierungsstufen um das Null-Signal bei 128 im Wertebereich [16 : 240]. Für eine Darstellung auf einem RGB-Monitor oder Weiterverarbeitung im RGB-Format sollten die Daten R, G und B der Farbkompo nentensignale alle 256 Quantisierungsstufen im Wertebereich [0 : 255] einnehmen.The data R ', G' and B 'and Y in equation (1) each have 220 quantization levels in the range [16: 235]. The data Cr and Cb in contrast, 225 quantization levels around the zero signal at 128 im Range of values [16: 240]. For display on an RGB monitor or Further processing in RGB format should data R, G and B of the color compo Take signals every 256 quantization levels in the value range [0: 255].
Gleichung (1) ist die Grundlage für die CSC vom YCrCb-Format zum RGB- Format. Die Auflösung nach R′, G′ und B′ ergibt mit C= 16237:Equation (1) is the basis for the CSC from YCrCb format to RGB Format. The resolution according to R ′, G ′ and B ′ gives with C = 16237:
Der Werte der Daten R′, G′ und B′ müssen dann um 16 vermindert (Level-Shifting) und die Resultate mit D = 255/219 skaliert werden (Skaling):The values of the data R ′, G ′ and B ′ must then be reduced by 16 (level shifting) and the results are scaled with D = 255/219 (scaling):
Die gemeinsame Lösung von Gleichungen (2) und (3) ergibt dann für die CSC vom YCrCb-Format zum RGB-Format:The common solution of equations (2) and (3) then results for the CSC from YCrCb format to RGB format:
Die Gleichungen (2) und (4) kommen nicht ohne Multiplikationen aus. Da diese im Vergleich zu Additionen oder Subtraktionen einen höheren Schaltungs aufwand erfordern, muß die Anzahl der Multiplikationen hinsichtlich einer kostengünstigen Schaltung minimiert werden.Equations (2) and (4) cannot do without multiplications. There this a higher circuit compared to additions or subtractions require effort, the number of multiplications with respect to one cost-effective circuit can be minimized.
Der erste Schritt ist eine Vereinfachung der Gleichungen (2) und (4). Hier lassen sich die kleinen Matrixeinträge -40 und -99 zu Null setzen. Dadurch vermindert sich die Anzahl der Multiplikationen und damit die Anforderungen an eine Schaltungsrealisierung. Der damit eingefügte Fehler ist wegen der 8 Bit- Darstellung der Daten vernachlässigbar klein. Es ergibt sich für die Glei chungen (2) und (4) die allgemeine Form:The first step is to simplify equations (2) and (4). Here the small matrix entries -40 and -99 can be set to zero. Thereby the number of multiplications decreases and thus the requirements a circuit realization. The error inserted with this is due to the 8 bit Representation of the data negligibly small. It results for the gli (2) and (4) the general form:
Hierbei stehen r, g und b als Platzhalter für R′, G′ und B′ bzw. R, G und B.Here r, g and b stand as placeholders for R ′, G ′ and B ′ or R, G and B.
Lösungen auf der Grundlage von Gleichung (5) sind bereits in Applikationsschriften beschrieben. Im L64702 JPEG Coprocessor Technical Manual von LSI-Logic, July 1993 ist ein Colour-Space-Converter (CSC) mit einer nachgeschalteten Level-Shifting- und Range-Limiting-Stufe beschrieben. Die Funktionen des Colour-Space-Converters sind durch die GleichungenSolutions based on equation (5) are already in Application writings described. In L64702 JPEG Coprocessor Technical Manual by LSI-Logic, July 1993 is a color space converter (CSC) with one downstream level shifting and range limiting stage described. The Functions of the color space converter are by the equations
bestimmt. certainly.
Die Level-Shifting-Stufe führt die Additionen konstanter Werte (z. B. 128) entsprechend Gleichung (2) und (3) aus. Im Gegensatz dazu entspricht die Matrixgleichung des SAA7192A Digital Colour Space Converters aus dem Desktop Video Data Handbook von Philips Semiconductors, 1992 der Gleichung (2)The level shifting level carries out the addition of constant values (e.g. 128) according to equations (2) and (3). In contrast, the Matrix equation of the SAA7192A digital color space converter from the Desktop Video Data Handbook from Philips Semiconductors, 1992 the Equation (2)
Die Level-Shifting- uns Skaling-Prozedur auf den Wertebereich [0 : 255] erfolgt hier über eine Look-Up-Tabelle. Diese Formatumwandlung ist insbesondere für Studioaufnahmen vorgesehen.The level shifting and scaling procedure to the value range [0: 255] takes place here through a look-up table. This format conversion is especially for Studio recordings provided.
Für die CSC ist es unerheblich, in welchem Zusammenhang die Daten zum Abtastraster des Bildes stehen. Bei einer blockorientierten Codierung der Videosignale sind die Daten Y, Cr und Cb in aufeinanderfolgenden Reihen von Blöcken angeordnet. Die Kantenlänge aller Blöcke in einer Reihe entspricht der Zeilenlänge des codierten Bildes. Im RGB-Format kann eine zeilenweise Datenfolge wünschenswert sein. Eine für die Umordnung der Daten erforderliche Block-to-Raster-Conversion (BRC) besteht im Wesentlichen aus einem Speicher für eine Reihe von Blöcken, der nach blockorientiertem Schreiben zeilenorientiert gelesen wird. Die Folge aus BRC und CSC ist vertauschbar. Wird die CSC zuerst durchgeführt, enthält der BRC-Speicher für jeden Bildpunkt die Daten R, G und B. Andernfalls enthält der BRC-Speicher die Daten Y, Cr und Cb. Die Folge BRC-CSC ist hinsichtlich eines geringeren Speicherbedarfs vorteilhafter, wenn die Daten Cr und Cb die Farbdifferenzsignale für mehrere Bildpunkte gemeinsam repräsentieren.For the CSC it is irrelevant in what context the data on the Sample grid of the image are standing. With a block-oriented coding of the Video signals are the data Y, Cr and Cb in successive rows of Blocks arranged. The edge length of all blocks in a row corresponds to that Line length of the encoded picture. In RGB format one can line by line Data sequence may be desirable. One necessary for reordering the data Block-to-raster conversion (BRC) essentially consists of memory for a series of blocks that is line-oriented after block-oriented writing is read. The sequence of BRC and CSC is interchangeable. Will the CSC be first carried out, the BRC memory contains the data R, G and B for each pixel. Otherwise, the BRC memory contains the data Y, Cr and Cb. The consequence BRC-CSC is more advantageous in terms of lower memory requirements if the data Cr and Cb share the color difference signals for several pixels represent.
Aufgabe der Erfindung war es, ein Verfahren und eine Schaltungsanordnung zur Durchführung einer CSC anzugeben. Die Transformation vom YCrCb- in das RGB-Format sollte entsprechend Gleichung (5) erfolgen. Durch eine entsprechende Auswahl der Matrizeneinträge und der Summanden sollte eine CSC auch nach Gleichungen (2) oder (4) mit derselben Schaltungsstruktur durchgeführt werden können, so daß eine weitere Skalierung, wie beispielsweise in Gleichung (3), dann entfällt. Die Schaltungsanordnung sollte somit auch die Möglichkeit bieten, eine Rücktransformation mittels der, durch Umstellung des Gleichungssystems gewonnenen Koeffizienten, zu ermöglichen.The object of the invention was a method and a circuit arrangement to perform a CSC. The transformation from YCrCb to that RGB format should be in accordance with equation (5). By a appropriate selection of the matrix entries and the summands should be one CSC also according to equations (2) or (4) with the same circuit structure can be performed so that a further scaling, such as in equation (3), then omitted. The circuit arrangement should therefore also Offer the possibility of a reverse transformation by converting the Coefficients obtained from the equation system.
Die Aufgabe wird mit dem erfindungsgemäßen Verfahren nach Anspruch 1 und der Schaltungsanordnung nach Anspruch 9 gelöst. Kennzeichnend ist, daß die Multiplikationen seriell in nur einem Multiplizierer und Additionen parallel zu den Multiplikationen durchgeführt werden. Im Falle der zugrundeliegenden Gleichung 5 wurde das Berechnungsschema derart umgeordnet, daß die Additionen genau dann durchgeführt werden, wenn die Zwischenergebnisse aus den vorhergehenden Berechnungen verfügbar sind. Vorteilhaft an diesem Verfahren ist es, daß ein Zwischenspeicher entfällt.The object is achieved with the inventive method according to claim 1 and the circuit arrangement according to claim 9 solved. It is characteristic that the multiplications in series in only one multiplier and additions in parallel the multiplications. In the case of the underlying Equation 5, the calculation scheme was rearranged so that the Additions can be performed exactly when the intermediate results are out the previous calculations are available. Advantage of this The method is that an intermediate store is omitted.
Durch die pipelineartige Struktur des Verfahrens wird eine Schaltungsanordnung ermöglicht, die nur einen Multiplizierer beinhaltet. Die Schaltungsanordnung ist sehr vorteilhaft, da Multiplizierer einen wesentlich größeren Schaltungsaufwand als beispielsweise Addierer haben.Due to the pipelined structure of the process, Circuit arrangement allows that includes only one multiplier. The Circuitry is very advantageous since multipliers are essential have greater circuit complexity than, for example, adders.
Die Erfindung wird anhand zweier Ausführungsbeispiele mit den folgenden Zeichnungen erläutert. Es zeigen:The invention is based on two embodiments with the following Drawings explained. Show it:
Fig. 1 Blockschaltbild der CSC-Schaltungsanordnung (Version 1), Fig. 1 block diagram of the CSC circuitry (Version 1),
Fig. 2 Blockschaltbild der CSC-Schaltungsanordnung (Version 2), Fig. 2 Block diagram of the CSC circuitry (Version 2),
Fig. 3 Zeitlicher Ablauf der Operationen der CSC in der CSC-Architektur (Version 1) von Fig. 1, Fig. 3 Timing of the operations of the CSC in the CSC architecture (version 1) of Fig. 1,
Fig. 4 Zuordnung der Daten Y2i, Y2i+1 des Luminanzsignals und der Daten Cri und Cbi der Farbdifferenzsignale zum Bildpunktraster für acht benachbarte Bildpunkte in einer Zeile, Fig. 4 allocation of the data Y 2i, Y 2i + 1 of the luminance signal and the data Cr and Cb i i the color difference signals to the image point grid for eight adjacent pixels in one line,
Fig. 5 Zeitlicher Ablauf der Operationen der CSC für zwei Tripel R2i, R2i+1, G2i, G2i+1, B2i, B2i+1 aus je zwei Daten Y2i, Y2i+1 und zwei Daten Cri, Cbi aus einer Zeile in Fig. 4. Fig. 5 timing of the operations of the CSC for two triples R 2i , R 2i + 1 , G 2i , G 2i + 1 , B 2i , B 2i + 1 from two data Y 2i , Y 2i + 1 and two data Cr i , Cb i from one line in FIG. 4.
Die Struktur des Verfahrens ist abhängig von den Operationen und Datenabhängigkeiten der Gleichung (5). Diese läßt sich in Basisoperationen mit jeweils zwei Operanden zerlegen. Es gibt fünf Multiplikationen:The structure of the procedure depends on the operations and Data dependencies of equation (5). This can be done in basic operations decompose two operands each. There are five multiplications:
Ma = a · Y (6)Ma = aY (6)
M₁₂ = a₁₂ · Cr (7)M₁₂ = a₁₂Cr (7)
M₂₂ = a₂₂ · Cr (8)M₂₂ = a₂₂Cr (8)
M₂₃ = a₂₃ · Cb (9)M₂₃ = a₂₃ · Cb (9)
M₃₃ = a₃₃ · Cb (10)M₃₃ = a₃₃ · Cb (10)
und sieben Additionen:and seven additions:
r = Ma + M₁₂ + c₁ (11)r = Ma + M₁₂ + c₁ (11)
g = Ma + M₂₂ + M₂₃ + c₂ (12)g = Ma + M₂₂ + M₂₃ + c₂ (12)
b = Ma + M₃₃ + c₃ (13).b = Ma + M₃₃ + c₃ (13).
Die Abfolgen der zwei bzw. drei Additionen in den Gleichungen (11) bis (13) sind vertauschbar. Dementsprechend gibt es für Gleichung (5) unterschiedliche Ausführungsvarianten. Im Fall einer CSC nach Gleichung (2) entfällt eine Multiplikation, da in Gleichung (6) a = 1 ist. Es sind dann vier Multiplikationen pro RGB-Tripel erforderlich.The sequences of the two or three additions in equations (11) to (13) are interchangeable. Accordingly, there are different ones for equation (5) Design variants. In the case of a CSC according to equation (2), one is omitted Multiplication, since in equation (6) a = 1. There are then four multiplications per RGB triple required.
Die CSC-Architektur ist mit dem BRC-Speicher verbunden. Die Daten Y, Cr und Cb werden aus dem BRC-Speicher zeilenweise gelesen. Sollte dieser BRC- Speicher auch noch für andere Aufgabenstellungen des Systems vorgesehen sein, kann dieser Speicher sogar die Daten eines oder mehrerer Bilder enthalten. In diesem Fall eignet sich ein Standardbaustein. Wegen der im Vergleich zu den Lastkapazitäten innerhalb einer hochintegrierten Schaltung großen Leitungs kapazitäten ist hier nur ein vergleichsweise langsamer Zugriff möglich. Die Daten Y, Cr und Cb sind unter Umständen in unterschiedlichen Speicherbereichen abgelegt. Die Adreßberechnung erfordert hierdurch mehr Zeit. Für die CSC- Architektur ist daher ein Zwischenspeicher von Vorteil. Er kann mit den unter schiedlichen Datensätzen geschrieben werden und steht dann nur der CSC- Architektur zur Verfügung.The CSC architecture is connected to the BRC memory. The data Y, Cr and Cb are read line by line from the BRC memory. Should this BRC- Memory also provided for other system tasks this memory can even contain the data of one or more images. In this case, a standard module is suitable. Because of the compared to the Load capacities within a highly integrated circuit of large lines capacity is only a comparatively slow access possible. The data Y, Cr and Cb may be in different memory areas filed. The address calculation therefore takes more time. For the CSC Architecture is therefore an advantage when it comes to temporary storage. He can with the below different records are written and then only the CSC Architecture available.
Die Matrizeneinträge in Gleichung (5) sind wie in Gleichung (1) mit einem Faktor 2m multipliziert und auf ganze Zahlen gerundet. m sei eine positive ganze Zahl. Die Produkte aus der Matrix und dem Datenvektor (Y, Cr, Cb) werden entweder einzeln durch 2m oder die Gesamtsumme bzw. eine Teilsumme der Produkte des Datenvektors mit einer Matrixzeile werden durch 2m dividiert. Diese Division ist durch einen Shift leicht realisierbar.As in equation (1), the matrix entries in equation (5) are multiplied by a factor of 2 m and rounded to whole numbers. m be a positive integer. The products from the matrix and the data vector (Y, Cr, Cb) are either divided individually by 2 m or the total or a partial sum of the products of the data vector with a matrix line are divided by 2 m . This division is easy to implement with a shift.
In dem ersten Ausführungsbeispiel von Fig. 1 werden die Daten r, g und b aus den Daten Y, Cr und Cb entsprechend Gleichung (5) konvertiert. Die CSC- Architektur in Fig. 2 stellt eine Variante des Architekturbeispiels von Fig. 1 dar, bei dem die Additionsfolge aus den Gleichungen (11) bis (13) getauscht wurde.In the first embodiment of FIG. 1, the data r, g and b are converted from the data Y, Cr and Cb in accordance with equation (5). The CSC architecture in FIG. 2 represents a variant of the architecture example of FIG. 1, in which the addition sequence from the equations (11) to (13) has been exchanged.
Die CSC-Architekturen von Fig. 1 und Fig. 2 bestehen je aus einem Multipli zierer 101 und zwei Addierern 102, 103 die in einer Pipeline verschaltet sind. In Addierer 102 werden die Teilprodukte aus der Multiplikation der Matrixeinträ ge 107 mit dem Datenvektor (Y, Cr, Cb) 105 addiert. Addierer 102 hat eine Rückführung für die sequentielle Addition der Teilprodukte. Für den Fall a = 1 in Gleichung (6) können die Daten Y dem Addierer 102 direkt aus dem Zwischen speicher 104 zugeführt werden. Im zweiten Addierer 103 werden die Summan den c₁, c₂ und c₃ 109 zum Matrix-Vektor-Produkt addiert. Der Zwischenspei cher 104 enthält die Daten Y, Cr und Cb 105. Zwei weitere Speicher 106, 108, die als Schreib-Lese-Speicher (Register, RAM) oder Lesespeicher (ROM) ausgelegt sind, enthalten die Matrixeinträge a, a₁₂, a₂₂, a₂₃ und a₃₃ 107 sowie die Summanden c₁, c₂ und c₃ 109. Es ist auch denkbar, alle drei Spei cher 104,106, 108 zu einem zu kombinieren. Die Summe aus Addierer 103 wird im Begrenzer 110 auf den gewünschten Wertebereich der drei RGB-Daten r, g und b 111 begrenzt. Dieser Begrenzer detektiert Bereichsüberläufe und Bereichsunterläufe. Gegebenenfalls wird die jeweils obere oder untere Bereichs grenze als Ersatz für das Resultat aus Addierer 103 gewählt.The CSC architectures of Fig. 1 and Fig. 2 each consist of a Multipli Painters 101 and two adders 102, 103 which are connected in a pipeline. The partial products from the multiplication of the matrix entries 107 by the data vector (Y, Cr, Cb) 105 are added in adder 102 . Adder 102 has feedback for the sequential addition of the partial products. For the case a = 1 in equation (6), the data Y can be fed to the adder 102 directly from the buffer 104 . In the second adder 103 the Summan the c₁, c₂ and c₃ 109 are added to the matrix vector product. The buffer 104 contains the data Y, Cr and Cb 105 . Two further memories 106 , 108 , which are designed as read-write memory (register, RAM) or read memory (ROM), contain the matrix entries a, a₁₂, a₂₂, a₂₃ and a₃₃ 107 as well as the summands c₁, c₂ and c₃ 109 . It is also conceivable to combine all three memories 104 , 106 , 108 into one. The sum of adder 103 is limited in limiter 110 to the desired value range of the three RGB data r, g and b 111 . This limiter detects area overflows and area underflows. If necessary, the upper or lower range limit is selected as a replacement for the result from adder 103 .
Fig. 3 zeigt den zeitlichen Ablauf der Operationen der CSC in der Architektur von Fig. 1. Hierbei wird angenommen, daß die Multiplikation und die Additionen jeweils gleich lange Zeitschritte zur Verfügung haben. Bei einem Einsatz von zwei Addierern bestimmt die Anzahl der Multiplikationen die Anzahl der Zeitschritte. Eine CSC erfordert dann fünf Zeitschritte pro RGB-Tripel und für den Fall a = 1 in Gleichung (6) nur vier Zeitschritte. FIG. 3 shows the timing of the operations of the CSC in the architecture of FIG. 1. Here it is assumed that the multiplication and the additions each have time steps of the same length. If two adders are used, the number of multiplications determines the number of time steps. A CSC then requires five time steps per RGB triple and for the case a = 1 in equation (6) only four time steps.
Alternativ zu den Lösungen in Fig. 1 und Fig. 2 ist es auch denkbar, die Additionen 102, 103 und die Detektion des Überschreiten des Wertebereiches für den Begrenzer 111 in einer gemeinsamen Schaltung oder in zwei Schaltungstei len zu vereinen. Dieses hätte den Vorteil einer kompakteren Lösung. Sie würde aber auch mehr Zeitschritte als eine Lösung mit getrennten Schaltungsteilen erfordern.As an alternative to the solutions in Fig. 1 and Fig. 2, it is also conceivable for the additions 102, 103 and the detection of the crossing to unite len the range of values for the limiter 111 in a common circuit or in two Schaltungstei. This would have the advantage of a more compact solution. However, it would also require more time steps than a solution with separate circuit parts.
Die CSC-Architektur in Fig. 2 hat gegenüber der von Fig. 1 den Vorteil, daß die Summen der Teilprodukte der Multiplikation der Matrixeinträge 107 mit dem Datenvektor (Y, Cr, Cb) 105 mit den Summanden c₁, c₂ und c₃ 109 für mehrere Bildpunkte verwendet werden können. Dieser Fall tritt beispielsweise auf, wenn die Farbdifferenzsignale die Farbinformation für mehrere Bildpunkte enthalten. Nach den Definitionen des technischen Komitees der ISO und IEC für den sogenannten MPEG Standard, "Information Technology - Coding of Moving Pictures and associated Audio for Digital Storage media up to about 1.5 Mbit/s", Part 2: Video, Draft International Standard ISO/IEC DIS 11172-1, 1993, sind zwei Abtastwerte Cr und Cb der Farbdifferenzsignale für je vier Bildpunkte vorgesehen. Das Bild ist in Makroblöcke für 16×16 Bildpunkte gegliedert. Ein Makroblock besteht aus vier 8×8-Blöcken für die Daten Y des Luminanzsignals und jeweils einen 8×8-Block für jedes Datum Cr und Cb der beiden Farbdifferenzsignale. Fig. 4 zeigt als Beispiel die Zuordnung der Abtastwerte des Luminanzsignals und der Farbdifferenzsignale Cr und Cb zum Bildpunktraster für acht benachbarte Bildpunkte in einer Zeile. Die Reihen aus den Daten Cr und Cb der Farbdifferenzsignale werden für zwei aufeinanderfolgende Reihen aus den Daten Y des Luminanzsignals verwendet.The CSC architecture in Fig. 2 has the advantage over that of Fig. 1 that the sums of the partial products of the multiplication of the matrix entries 107 with the data vector (Y, Cr, Cb) 105 with the summands c₁, c₂ and c₃ 109 for several Pixels can be used. This case occurs, for example, when the color difference signals contain the color information for several pixels. According to the definitions of the technical committee of ISO and IEC for the so-called MPEG standard, "Information Technology - Coding of Moving Pictures and associated Audio for Digital Storage media up to about 1.5 Mbit / s", Part 2: Video, Draft International Standard ISO / IEC DIS 11172-1, 1993, two samples Cr and Cb of the color difference signals are provided for four pixels each. The picture is divided into macro blocks for 16 × 16 pixels. A macro block consists of four 8 × 8 blocks for the data Y of the luminance signal and one 8 × 8 block for each data Cr and Cb of the two color difference signals. FIG. 4 shows an example of the assignment of the samples of the luminance signal and the color difference signals Cr and Cb to the pixel grid for eight adjacent pixels in one line. The rows from the data Cr and Cb of the color difference signals are used for two successive rows from the data Y of the luminance signal.
Fig. 5 zeigt den zeitlichen Ablauf der Operationen der CSC für ein MPEG- Videosignal in der Architektur von Fig. 2. Die CSC für zwei RGB-Tripel erfordert sechs Zeitschritte. Hierbei ist angenommen, daß die CSC für eine Reihe benachbarter Bildpunkte durchgeführt wird. FIG. 5 shows the timing of the operations of the CSC for an MPEG video signal in the architecture of FIG. 2. The CSC for two RGB triples requires six time steps. It is assumed here that the CSC is carried out for a number of neighboring pixels.
Die Operationen der CSC können entweder für jede Datenreihe (Fig. 4) des Luminanzsignals wie in Fig. 3 und Fig. 5 angenommen vollständig durchgeführt werden oder die Teilprodukte aus der Multiplikation der Matrixeinträge 107 mit den Daten Cr und Cb werden in einem weiteren Speicher abgelegt. Die zweite Lösung hat den Nachteil eines erhöhten Schaltungsaufwandes aber den Vorteil, daß in jeder zweiten Reihe die CSC für zwei RGB-Tripel den Multiplizierer 101 nur zwei Zeitschritte und den Addierer 103 überhaupt nicht benötigt. Dieses ist von Vorteil, wenn die CSC Teil eines Systems ist, in dem der Multiplizierer 101 der Addierer 103 auch für andere Aufgabenstellungen eingesetzt werden. Die Kapazität des Speichers richtet sich nach der Anzahl der Daten Cr und Cb für eine Reihe.The operations of the CSC can either be completely performed for each data series (Fig. 4) of the luminance signal as shown in FIG. 3 and FIG. 5 accepted or the partial products from the multiplication of matrix entries 107 with the data Cr and Cb are stored in a further memory . The second solution has the disadvantage of increased circuit complexity, but the advantage that in every second row the CSC for two RGB triples, the multiplier 101 only requires two time steps and the adder 103 at all. This is advantageous if the CSC is part of a system in which the multiplier 101 and the adder 103 are also used for other tasks. The capacity of the memory depends on the number of data Cr and Cb for a row.
Eine Reihe von Daten kann sich aus einer kompletten Bildzeile zusammensetzen oder sie kann aus den Punkten einer Zeile oder Spalte eines Blockes bestehen. Im ersten Fall wird ein, der CSC vorgeschalteter BRC- Speicher, zeilenweise gelesen und die Daten in den Zwischenspeicher 104 geschrieben. Der Zwischenspeicher 104 enthält die Daten einer Zeile oder von Zeilenabschnitten. Beim zweiten Fall kann der Zwischenspeicher 104 die Daten für einen Block enthalten. Für die Blockstruktur nach dem MPEG-Standard enthält der Zwischenspeicher 104 dann beispielsweise die 16×16 Daten Y des Luminanzsignals und jeweils die zweimal 8×8 Daten Cr und Cb der beiden Farbdifferenzsignale.A series of data can be composed of a complete image line or it can consist of the points of a line or column of a block. In the first case, a BRC memory upstream of the CSC is read line by line and the data is written into the buffer 104 . The buffer 104 contains the data of a line or line sections. In the second case, buffer 104 may contain the data for one block. For the block structure according to the MPEG standard, the buffer 104 then contains, for example, the 16 × 16 data Y of the luminance signal and the twice 8 × 8 data Cr and Cb of the two color difference signals.
Als besonderes Anwendungsbeispiel der CSC ist es denkbar, diese in einem System zu integrieren, in dem die Decodierung von Videosignalen nach dem MPEG-Standard blockorientiert abläuft. Als Zwischenspeicher 104 sind zwei RAMs für jeweils 8×8 Daten verfügbar. Diese RAMs stehen für weitere Aufgaben stellungen der Decodierung zur Verfügung. Bei der CSC bietet der erste Speicher den Platz für die 8×8 Luminanzdaten eines Blockes und der zweite den Platz für die entsprechenden zweimal 4×4 Daten der Farbdifferenzsignale. Vor Beginn der CSC werden die Speicher beispielsweise mit Daten aus einem Bildspeicher geschrieben. Während der CSC ist dann kein weiterer Zugriff auf den Bildspeicher mehr erforderlich.As a special application example of the CSC, it is conceivable to integrate it into a system in which the decoding of video signals according to the MPEG standard is block-oriented. Two RAMs, each with 8 × 8 data, are available as buffer 104 . These RAMs are available for other decoding tasks. In the CSC, the first memory provides space for the 8 × 8 luminance data of a block and the second space for the corresponding twice 4 × 4 data of the color difference signals. Before the CSC begins, the memories are written, for example, with data from an image memory. No further access to the image memory is then required during the CSC.
Claims (11)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4444231A DE4444231A1 (en) | 1994-12-13 | 1994-12-13 | Data stream decoder e.g. for picture, video and film information |
EP95118023A EP0714212A3 (en) | 1994-11-21 | 1995-11-16 | Video decoder using concurrent processing and resource sharing |
US08/561,108 US5844609A (en) | 1994-11-21 | 1995-11-21 | Decoder and method for decoding of coded picture-, video- and film information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4444231A DE4444231A1 (en) | 1994-12-13 | 1994-12-13 | Data stream decoder e.g. for picture, video and film information |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4444231A1 true DE4444231A1 (en) | 1996-06-20 |
Family
ID=6535598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4444231A Withdrawn DE4444231A1 (en) | 1994-11-21 | 1994-12-13 | Data stream decoder e.g. for picture, video and film information |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4444231A1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3842797A1 (en) * | 1988-12-20 | 1990-06-21 | Standard Elektrik Lorenz Ag | Devices for digital colour picture transmission |
DE4014740A1 (en) * | 1989-05-08 | 1990-11-15 | Mitsubishi Electric Corp | METHOD AND DEVICE FOR RAISING / REDUCING A COLOR SIGNAL |
GB2253320A (en) * | 1990-12-12 | 1992-09-02 | Ricoh Kk | Converting between rgb colour space and yiq colour space using 32 bit microprocessor |
DE4234985A1 (en) * | 1991-10-17 | 1993-04-22 | Fuji Xerox Co Ltd | METHOD FOR TRANSFORMING COLOR SIGNALS AND DEVICE FOR IMPLEMENTING THE METHOD |
US5268754A (en) * | 1991-03-01 | 1993-12-07 | Barco Graphics N.V. | Method and a device for converting a color coordinate set |
US5329385A (en) * | 1991-10-02 | 1994-07-12 | Konica Corporation | Color correction device having a color conversion function |
US5331439A (en) * | 1992-03-10 | 1994-07-19 | Scitex Corporation Ltd. | Apparatus and method for color transformation |
DE4409226A1 (en) * | 1993-04-08 | 1994-10-13 | Hell Ag Linotype | Process and apparatus for the transformation of colour solids |
-
1994
- 1994-12-13 DE DE4444231A patent/DE4444231A1/en not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3842797A1 (en) * | 1988-12-20 | 1990-06-21 | Standard Elektrik Lorenz Ag | Devices for digital colour picture transmission |
DE4014740A1 (en) * | 1989-05-08 | 1990-11-15 | Mitsubishi Electric Corp | METHOD AND DEVICE FOR RAISING / REDUCING A COLOR SIGNAL |
GB2253320A (en) * | 1990-12-12 | 1992-09-02 | Ricoh Kk | Converting between rgb colour space and yiq colour space using 32 bit microprocessor |
US5268754A (en) * | 1991-03-01 | 1993-12-07 | Barco Graphics N.V. | Method and a device for converting a color coordinate set |
US5329385A (en) * | 1991-10-02 | 1994-07-12 | Konica Corporation | Color correction device having a color conversion function |
DE4234985A1 (en) * | 1991-10-17 | 1993-04-22 | Fuji Xerox Co Ltd | METHOD FOR TRANSFORMING COLOR SIGNALS AND DEVICE FOR IMPLEMENTING THE METHOD |
US5331439A (en) * | 1992-03-10 | 1994-07-19 | Scitex Corporation Ltd. | Apparatus and method for color transformation |
DE4409226A1 (en) * | 1993-04-08 | 1994-10-13 | Hell Ag Linotype | Process and apparatus for the transformation of colour solids |
Non-Patent Citations (1)
Title |
---|
N.N.: Massanzug - Komponent-Standard für Bildver- arbeitung und Computergrafik. In: Elektronik Pra- xis, Nr. 1, 10.Jan. 1991, S.40-46 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19983253B4 (en) | The compression of color images based on a two-dimensional discrete wavelet transform that produces a seemingly lossless image | |
DE69937785T2 (en) | Method of selecting color block points for block coding | |
DE4133460C2 (en) | Process for compressing images | |
DE69433031T2 (en) | IMAGE PROCESSOR | |
DE4428517C2 (en) | Method for treating a part of a compressed image and image processing device for carrying out this method | |
DE69230922T2 (en) | Video signal encoder with block exchange technology | |
DE19819198B4 (en) | Reversible DCT for lossless / lossy compression | |
DE69309529T2 (en) | Method and device for the spatial filtering of block transformation-decoded digital images | |
DE69425847T2 (en) | Calculator for inverse discrete cosine transformation | |
DE69621901T2 (en) | Device for preprocessing a stream of digital video data | |
DE69211328T2 (en) | Process for improved color recovery in a graphic computer system | |
DE69801209T2 (en) | Hierarchical recursive motion estimator for motion picture encoders | |
DE69405740T2 (en) | METHOD AND ARRANGEMENT FOR MOTION COMPENSATING INTERPOLATION | |
DE2640140A1 (en) | PROCEDURE AND ARRANGEMENT FOR REDUNDANCY REDUCING IMAGE ENCODING | |
DD293933A5 (en) | motion estimator | |
DE69609842T2 (en) | JPEG COMPRESSION CIRCUIT WITH FILTERING | |
DE60203850T2 (en) | System and method for processing images with demosaiced structure to reduce artifacts caused by color aliasing. | |
DE3788925T2 (en) | Interpolator for television trick system. | |
DE69416662T2 (en) | Moving picture encoder | |
DE69802269T2 (en) | DEVICE AND METHOD FOR COMPARING PIXEL BLOCKS | |
DE4408522C2 (en) | Device for processing image data and method for processing image data | |
DE4143074A1 (en) | TV picture redn. by reformatting of interlocked data - averaging successive pixel pairs and row averages before removing foregoing pixel or row | |
DE69609931T2 (en) | Method for data processing in matrix-shaped networks in a motion estimation system | |
DE69323445T2 (en) | Processing circuit for digital signals | |
DE4444231A1 (en) | Data stream decoder e.g. for picture, video and film information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: SICAN GMBH, 30419 HANNOVER, DE |
|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: SCI-WORX GMBH, 30419 HANNOVER, DE |
|
8130 | Withdrawal |