EP2705494A1 - Method for scaling video data, and an arrangement for carrying out the method - Google Patents

Method for scaling video data, and an arrangement for carrying out the method

Info

Publication number
EP2705494A1
EP2705494A1 EP12721212.4A EP12721212A EP2705494A1 EP 2705494 A1 EP2705494 A1 EP 2705494A1 EP 12721212 A EP12721212 A EP 12721212A EP 2705494 A1 EP2705494 A1 EP 2705494A1
Authority
EP
European Patent Office
Prior art keywords
video data
cpu
graphics
arrangement
scaled
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.)
Ceased
Application number
EP12721212.4A
Other languages
German (de)
French (fr)
Inventor
Alexander NEUBECK
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP2705494A1 publication Critical patent/EP2705494A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof

Definitions

  • the invention relates to a method for processing video data, to a method for displaying video data and to an arrangement for carrying out the method for processing video data.
  • graphics cards are used.
  • the processor or the CPU of the computer calculates the data and forwards it to the graphics card.
  • the graphics card converts the data so that the monitor can render the data as an image.
  • video data is either pre-scaled completely on the central processing unit (CPU) and then transferred to the graphics card, or the complete video image is transferred to the graphics card where it is scaled to the target resolution.
  • CPU central processing unit
  • Graphics card which corresponds to a transfer rate of 2 GB / second. To be able to display the 25 HD videos in full resolution on the monitor, this would have to have a total resolution of 6400 x 3600.
  • the document DE 10 2005 046 664 A1 describes a method for generating a flexible display area for a video surveillance system.
  • the display area comprises a main window into which a number of information windows can be overlaid. Switching an operator is done by a
  • scaling refers to resizing a digital image, distinguishing between raster graphics and vector graphics.
  • the scaling of raster graphics is a sample rate conversion, namely the conversion of a discrete signal of one sample rate into a discrete signal of another sample rate. Disclosure of the invention
  • the presented method deals with the decomposition of the general scaling problem which consists of two steps: a smoothing operation including sampling and a subsequent edge sharpening operation.
  • the former can be implemented particularly efficiently on the CPU by means of SSE commands (SSE: Streaming SIMD extension), when a power of 2 or at least an integer factor is scaled.
  • SSE Streaming SIMD extension
  • the image material is pre-scaled by the CPU by a factor of 2 in both directions, ie, smoothed and sampled accordingly. This reduces the amount of data to be transferred by a factor of 4.
  • the graphics card is used to perform edge sharpening and, typically, the result image is scaled to the final target resolution by the remaining 5/3 factor.
  • a smoothing operation is to be understood in the mathematical context of an operation with which a curve is converted into a curve of lesser curvature. This curve of lesser curvature should deviate as little as possible from the original curve.
  • the decoded image in main memory usually has to be kept as a reference image, the image should be stored in a special texture for transfer.
  • the image smoothing including scanning is set instead of the simple copying operation.
  • a modern compression standard when coding a data frame or frame references other frames. These frames must be efficiently accessible by the decoder and, when the decoder is executed on the CPU, reside in the main memory of the computer. In order for the video card driver to efficiently copy the frame from main memory to the video card memory using DMA, the frame must be in a special area of a non-pageable memory or in a pinned memory area.
  • An application should be very conservative with pinned memory because it can not be swapped out or swapped by the operating system to provide space for other applications including the operating system.
  • a copy operation from normal memory to a pinned area is required. Memory area necessary.
  • the data is then copied from the pinned memory area via DMA transfer to the memory of the graphics card and can then be accessed for further calculations and presentations.
  • This is referred to herein as a "simple" copy operation since there is no further transformation other than copying, but this copying operation is done by the CPU or processor, ie, the processor reads a small data area into its registers and writes its contents to another address.
  • the processor is not overly busy and can also calculate simple transformations, such as smoothing and subsampling the image.
  • the additional operations are negligible, so that the conversion creates no further load for the CPU.
  • the subsequent texture transfer relieves the graphics card or memory bus in the above example by a factor of 4, d. H. only 500 MB / s are transmitted.
  • CUDA Computer Unified Device Architecture
  • Compute Shaders Compute Shaders
  • FIG. 1 shows an embodiment of the described arrangement.
  • FIG. 2 shows an embodiment of the presented method.
  • FIG. 1 shows a schematic representation of an embodiment of the presented arrangement, which is designated overall by the reference numeral 10 and is integrated in a computer system or a computer 12. This arrangement 10 is connected to a monitor 14 on which video data is to be displayed.
  • the arrangement 10 comprises a CPU 20, a main memory 22, a graphics card 24 and a texture memory 26.
  • a graphics card 24 in turn a graphics processor 30 and a graphics memory 32 is provided.
  • the graphics memory 32 serves as a texture memory 26.
  • FIG. 2 shows the presented method based on the conversion of the video data intended for display.
  • the illustration shows a CPU 50, a graphics processor 52 and a monitor 54 for this purpose.
  • the video data 60 for presentation is present in the CPU 50.
  • a first step 62 the video data 60 is smoothed and sampled so that pre-scaled video data 64 is present.
  • This pre-scaled video data 64 is transferred to graphics processor 52 in a further step 66 by texture transfer.
  • the pre-scaled Video data 64 is subjected to an edge sharpening operation in a further step 68 so that edge-sharpened pre-scaled video data 70 is present.
  • the edge sharpened pre-scaled video data 70 is finalized in a further step 72, thereby obtaining final scaled video data 74.
  • This final scaled video data 74 is transmitted to the monitor 54 for presentation in a final step 76.
  • the scaling task is replaced by a simple interpolation task, and the resulting massive aliasing or blurring in favor of performance is accepted.
  • the described method shows how the correct scaling can be performed without compromising performance.
  • ⁇ ⁇ ⁇ corresponds to the smoothing operation with sampling and ( ⁇ ⁇ ⁇ * A) ⁇ -1 to edge sharpening.
  • A corresponds to a convolution matrix, which can be calculated by means of simple convolution.
  • ⁇ ⁇ ⁇ and ( ⁇ ⁇ ⁇ * A) ⁇ -1 are also convolution matrices. The latter can be calculated by z-transformation or matrix decomposition by simple recursive filters.

Abstract

The invention presents a method for editing video data (60), a method for presenting video data (60) and an arrangement for carrying out the method for editing video data (60). The method for editing video data (60) involves the video data (60) being smoothed and sampled in a CPU (50) for prescaling and then transmitted to a graphics card having a graphics processor (52), in which the prescaled video data (64) are subjected to an edge sharpening operation.

Description

Beschreibung  description
Titel title
VERFAHREN ZUM SKALIEREN VON VIDEODATEN UND EINE ANORDNUNG ZUR DURCHFUHRUNG DES METHOD FOR SCALING VIDEO DATA AND AN ARRANGEMENT FOR IMPLEMENTING THE
VERFAHRENS PROCEDURE
Die Erfindung betrifft ein Verfahren zur Bearbeitung von Videodaten, ein Verfahren zum Darstellen von Videodaten und eine Anordnung zur Durchführung des Verfahrens zur Bearbeitung von Videodaten. Stand der Technik The invention relates to a method for processing video data, to a method for displaying video data and to an arrangement for carrying out the method for processing video data. State of the art
Zur Steuerung der Bildschirmanzeige in Rechenanlagen bzw. Computern werden Grafikkarten verwendet. Üblicherweise berechnet bei Ausführung eines Programms der Prozessor bzw. die CPU der Rechenanlage die Daten und leitet die- se an die Grafikkarte weiter. Die Grafikkarte wandelt die Daten derart um, dass der Monitor die Daten als Bild wiedergeben kann. To control the screen display in computer systems or computers graphics cards are used. Usually, when a program is executed, the processor or the CPU of the computer calculates the data and forwards it to the graphics card. The graphics card converts the data so that the monitor can render the data as an image.
Üblicherweise werden Videodaten entweder vollständig auf der zentralen Recheneinheit (CPU) vorskaliert und dann auf die Grafikkarte übertragen oder das vollständige Videobild wird an die Grafikkarte übertragen und dort auf die Zielauflösung skaliert. Usually, video data is either pre-scaled completely on the central processing unit (CPU) and then transferred to the graphics card, or the complete video image is transferred to the graphics card where it is scaled to the target resolution.
In Video-Überwachungs-Systemen müssen sehr viele Videosequenzen parallel auf einem Monitor dargestellt werden. Sollen bspw. 25 HD Videos (Auflösung z. B. 1280 x 720) mit 60 Hz dargestellt werden, so müssen 1500 Texturen auf dieIn video surveillance systems, many video sequences must be displayed in parallel on a monitor. If, for example, 25 HD videos (resolution eg 1280 x 720) are to be displayed at 60 Hz, then 1500 textures must be displayed on the
Grafikkarte übertragen werden, was einer Transferrate von 2 GByte/Sekunde entspricht. Um die 25 HD Videos in voller Auflösung auf dem Monitor darstellen zu können, müsste dieser eine Gesamt-Auflösung von 6400 x 3600 besitzen. Graphics card, which corresponds to a transfer rate of 2 GB / second. To be able to display the 25 HD videos in full resolution on the monitor, this would have to have a total resolution of 6400 x 3600.
Hochauflösende Monitore besitzen jedoch in der Regel eine wesentlich geringere Maximal-Auflösung von bspw. 1920 x 1200 Pixeln. Würde mit einem klassischen However, high-resolution monitors usually have a much lower maximum resolution of, for example, 1920 x 1200 pixels. Would with a classic
Verfahren das Videomaterial auf der CPU skaliert werden, so wäre eine Übertra- gungsrate von 207 MByte/Sekunde ausreichend. Dieses Vorgehen hat jedoch den Nachteil, dass die CPU, die bereits mit dem Dekodieren und anderen Aufgaben beschäftigt ist, auch noch die Video-Skalierung durchführen muss. Eine hochwertige Bildskalierung um einen beliebigen Skalierungs-Faktor ist allerdings eine für die CPU aufwendige Operation. If the video material on the CPU is scaled, then a transfer would be transmission rate of 207 MB / s. However, this approach has the disadvantage that the CPU, which is already busy with decoding and other tasks, also has to perform the video scaling. However, high-quality image scaling by any scaling factor is a complex operation for the CPU.
Die Druckschrift DE 10 2005 046 664 A1 beschreibt ein Verfahren zur Erzeugung eines flexiblen Anzeigebereichs für ein Videoüberwachungssystem. Dabei um- fasst der Anzeigebereich ein Hauptfenster, in das eine Anzahl von Informations- fenstern einblendbar ist. Ein Umschalten eines Bedieners erfolgt durch eineThe document DE 10 2005 046 664 A1 describes a method for generating a flexible display area for a video surveillance system. The display area comprises a main window into which a number of information windows can be overlaid. Switching an operator is done by a
Auswahl und eine Größenänderung eines Informationsfensters. Mit dem beschriebenen Verfahren wird eine Mensch-Maschine-Schnittstelle realisiert, die eine übersichtliche Darstellung bei gleichzeitiger guter Anpassungsmöglichkeit an die jeweilige Anwendung bietet. Dabei werden Videoinformationen derart gra- fisch aufbereitet, angeordnet und dargestellt, dass eine optimale Übertragung derSelection and resizing of an information window. With the described method, a man-machine interface is realized, which offers a clear presentation while at the same time good adaptability to the respective application. Video information is prepared, arranged and displayed in such a way that optimal transmission of the
Informationen auf den menschlichen Bediener möglich ist. Information on the human server is possible.
Bei der Darstellung der Videodaten ist das sogenannte Skalierungsproblem zu berücksichtigen. In der digitalen Bildbearbeitung bezeichnet Skalierung die Grö- ßenänderung eines digitalen Bilds, wobei zwischen Rastergrafik und Vektorgrafik unterschieden wird. Die Skalierung von Rastergrafiken stellt eine Abtastratenkonvertierung dar, nämlich die Umwandlung eines diskreten Signals einer Abtastrate in ein diskretes Signal einer anderen Abtastrate. Offenbarung der Erfindung When displaying the video data, the so-called scaling problem has to be considered. In digital image editing, scaling refers to resizing a digital image, distinguishing between raster graphics and vector graphics. The scaling of raster graphics is a sample rate conversion, namely the conversion of a discrete signal of one sample rate into a discrete signal of another sample rate. Disclosure of the invention
Vor diesem Hintergrund werden ein Verfahren zum Bearbeiten von Videodaten mit den Merkmalen des Anspruchs 1 , ein Verfahren zum Darstellen von Videodaten nach Anspruch 5 und eine Anordnung gemäß Anspruch 6 vorgestellt. Aus- gestaltungen ergeben sich aus den abhängigen Ansprüchen und der Beschreibung. Against this background, a method for editing video data with the features of claim 1, a method for displaying video data according to claim 5 and an arrangement according to claim 6 are presented. Embodiments result from the dependent claims and the description.
Mit dem vorgestellten Verfahren ist es somit möglich, die Last zwischen CPU und Grafikkarte beliebig zu verteilen, so dass die zur Verfügung stehenden Ressourcen optimal genutzt werden können. Das vorgestellte Verfahren beschäftigt sich mit der Zerlegung des allgemeinen Skalierungsproblems, das aus zwei Schritten besteht: eine Glättungs-Operation einschließlich Abtastung und eine nachfolgende Kanten-Schärfungs-Operation. Erstere lässt sich besonders effizient auf der CPU mittels SSE-Befehlen (SSE: Streaming SIMD extension) realisieren, wenn um eine 2-er Potenz oder zumindest einen ganzzahligen Faktor skaliert wird. Bei dem vorstehend genannten Beispiel wird idealerweise das Bildmaterial von der CPU um einen Faktor 2 in beide Richtungen vorskaliert, d. h. entsprechend geglättet und abgetastet. Dadurch verringert sich die zu übertragende Datenmenge um einen Faktor 4. Da- nach wird auf der Grafikkarte die Kanten-Schärfung durchgeführt und typischerweise das Ergebnisbild im Rahmen einer finalen Skalierung um den verbleibenden 5/3 Faktor auf die finale Ziel-Auflösung gebracht. With the presented method, it is thus possible to distribute the load arbitrarily between CPU and graphics card so that the available resources can be used optimally. The presented method deals with the decomposition of the general scaling problem which consists of two steps: a smoothing operation including sampling and a subsequent edge sharpening operation. The former can be implemented particularly efficiently on the CPU by means of SSE commands (SSE: Streaming SIMD extension), when a power of 2 or at least an integer factor is scaled. In the above example, ideally, the image material is pre-scaled by the CPU by a factor of 2 in both directions, ie, smoothed and sampled accordingly. This reduces the amount of data to be transferred by a factor of 4. After that, the graphics card is used to perform edge sharpening and, typically, the result image is scaled to the final target resolution by the remaining 5/3 factor.
Unter einer Glättungs-Operation ist dabei im mathematischen Zusammenhang eine Operation zu verstehen, mit der eine Kurve in eine Kurve geringerer Krümmung überführt wird. Diese Kurve geringerer Krümmung soll möglichst wenig von der ursprünglichen Kurve abweichen. A smoothing operation is to be understood in the mathematical context of an operation with which a curve is converted into a curve of lesser curvature. This curve of lesser curvature should deviate as little as possible from the original curve.
Da das dekodierte Bild im Hauptspeicher üblicherweise als Referenzbild gehalten werden muss, sollte das Bild für die Übertragung in einen speziellen Textur-Since the decoded image in main memory usually has to be kept as a reference image, the image should be stored in a special texture for transfer.
Speicher kopiert werden. Idealerweise wird die Bild-Glättung einschließlich Abtastung anstelle der einfachen Kopieroperation gesetzt. Memory to be copied. Ideally, the image smoothing including scanning is set instead of the simple copying operation.
Es ist zu beachten, dass ein moderner Komprimierstandard bei der Kodierung eines Datenrahmens bzw. Frames andere Frames referenziert. Diese Frames müssen vom Dekoder effizient zugreifbar sein und liegen, wenn der Dekoder auf der CPU ausgeführt wird, im Hauptspeicher des Computers. Damit der Grafikkartentreiber den Frame vom Hauptspeicher effizient per DMA in den Grafikkartenspeicher kopieren kann, muss der Frame in einem speziellen Bereich eines nicht- auslagerbaren Speichers bzw. in einem Pinned-Memory-Bereich liegen. It should be noted that a modern compression standard when coding a data frame or frame references other frames. These frames must be efficiently accessible by the decoder and, when the decoder is executed on the CPU, reside in the main memory of the computer. In order for the video card driver to efficiently copy the frame from main memory to the video card memory using DMA, the frame must be in a special area of a non-pageable memory or in a pinned memory area.
Eine Applikation sollte sehr konservativ mit Pinned-Memory umgehen, da dieser nicht vom Betriebssystem ausgelagert bzw. geswappt werden kann, um Platz für andere Applikationen einschließlich des Betriebssystems zu beschaffen. Um also beiden Bereichen, dem Dekoder- und dem Texture-Upload-Bereich, gerecht zu werden, ist eine Kopieroperation von normalem Speicher in einen Pinned- Memory-Bereich notwendig. Von dem Pinned-Memory-Bereich werden dann die Daten per DMA-Transfer in den Speicher der Grafikkarte kopiert und können danach für weitere Berechnungen und Darstellungen zugegriffen werden. Dies wird hierin als„einfache" Kopieroperation bezeichnet, da außer dem Kopieren keine weitere Transformation stattfindet. Diese Kopieroperation geschieht allerdings durch die CPU bzw. den Prozessor, d.h. der Prozessor liest einen kleinen Datenbereich in seine Register und schreibt deren Inhalt an eine andere Adresse. Damit ist der Prozessor nicht übermäßig stark ausgelastet und kann ne- benbei einfache Transformationen mitrechnen, wie bspw. das Glätten und Unterabtasten des Bilds. An application should be very conservative with pinned memory because it can not be swapped out or swapped by the operating system to provide space for other applications including the operating system. Thus, to cope with both areas, the decoder and the texture upload area, a copy operation from normal memory to a pinned area is required. Memory area necessary. The data is then copied from the pinned memory area via DMA transfer to the memory of the graphics card and can then be accessed for further calculations and presentations. This is referred to herein as a "simple" copy operation since there is no further transformation other than copying, but this copying operation is done by the CPU or processor, ie, the processor reads a small data area into its registers and writes its contents to another address. Thus, the processor is not overly busy and can also calculate simple transformations, such as smoothing and subsampling the image.
Bei entsprechender Optimierung und Auswahl des Skalierungsverfahrens sind die zusätzlichen Operationen vernachlässigbar, so dass durch die Umstellung keine weitere Last für die CPU entsteht. Der anschließende Texturtransfer entlastet den Grafikkarten- bzw. Memory-Bus in dem vorstehenden Beispiel um Faktor 4, d. h. es werden lediglich 500 MByte/Sekunde übertragen. With appropriate optimization and selection of the scaling method, the additional operations are negligible, so that the conversion creates no further load for the CPU. The subsequent texture transfer relieves the graphics card or memory bus in the above example by a factor of 4, d. H. only 500 MB / s are transmitted.
Die verbleibende Kanten-Schärfung und nochmalige Skalierung lassen sich sehr gut zeilenweise bzw. spaltenweise parallelisieren, was sie für die Bearbeitung auf modernen Grafikkarten mittels CUDA (Compute Unified Device Architecture) bzw. Compute Shadern besonders geeignet macht. Mit CUDA wird eine Technik bezeichnet, mit der Programmteile entwickelt werden können, die durch den Grafikprozessor (GPU) auf der Grafikkarte abgearbeitet werden. The remaining edge sharpening and rescaling can be parallelized very well line by line or column by column, which makes them particularly suitable for processing on modern graphics cards using CUDA (Compute Unified Device Architecture) or Compute Shaders. CUDA is a technique by which program parts can be developed that are processed by the graphics processor (GPU) on the graphics card.
Hierbei ist ebenfalls die Gesamtlast gegenüber der vollständigen Skalierung auf der Grafikkarte trotz der zusätzlichen Kanten-Schärfung gesunken, da die Datenmenge von der CPU bereits um einen Faktor 4 reduziert wurde. Noch deutlicher wird der Vorteil bei stärkeren Skalierungen, bspw. bei Füll HD 1920 x 1020, da nun der erste Skalierungsschritt auf der CPU bereits eine Datenreduktion um Faktor 16 ermöglicht, ohne eine signifikante Last auf der CPU zu erzeugen. In this case, the total load compared to the full scaling on the graphics card has dropped despite the additional edge sharpening, since the amount of data has already been reduced by a factor of 4 by the CPU. The advantage becomes even clearer with larger scaling, for example with filling HD 1920 x 1020, since now the first scaling step on the CPU already enables a data reduction by a factor of 16, without generating a significant load on the CPU.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen. Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen. Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings. It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination indicated, but also in other combinations or in isolation, without departing from the scope of the present invention.
Kurze Beschreibung der Zeichnungen Brief description of the drawings
Figur 1 zeigt eine Ausführungsform der beschriebenen Anordnung. Figur 2 zeigt eine Ausführungsform des vorgestellten Verfahrens. Ausführungsformen der Erfindung FIG. 1 shows an embodiment of the described arrangement. FIG. 2 shows an embodiment of the presented method. Embodiments of the invention
Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird nachfolgend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. The invention is schematically illustrated by means of embodiments in the drawings and will be described in detail below with reference to the drawings.
Figur 1 zeigt in einer schematischen Darstellung eine Ausführung der vorgestellten Anordnung, die insgesamt mit der Bezugsziffer 10 bezeichnet ist und in einer Rechenanlage bzw. einem Computer 12 integriert ist. Diese Anordnung 10 ist mit einem Monitor 14 verbunden, auf dem Videodaten dargestellt werden sollen. 1 shows a schematic representation of an embodiment of the presented arrangement, which is designated overall by the reference numeral 10 and is integrated in a computer system or a computer 12. This arrangement 10 is connected to a monitor 14 on which video data is to be displayed.
Die Anordnung 10 umfasst eine CPU 20, einen Hauptspeicher 22, eine Grafikkarte 24 und einen Textur-Speicher 26. In der Grafikkarte 24 wiederum ist ein Grafikprozessor 30 und ein Grafikspeicher 32 vorgesehen. In einer Ausführung der Anordnung 10 dient der Grafikspeicher 32 als Textur-Speicher 26. The arrangement 10 comprises a CPU 20, a main memory 22, a graphics card 24 and a texture memory 26. In the graphics card 24 in turn a graphics processor 30 and a graphics memory 32 is provided. In one embodiment of the arrangement 10, the graphics memory 32 serves as a texture memory 26.
In Figur 2 ist das vorgestellte Verfahren anhand der Umwandlung der zur Darstellung vorgesehenen Videodaten wiedergegeben. Die Darstellung zeigt hierzu eine CPU 50, einen Grafikprozessor 52 und einen Monitor 54. FIG. 2 shows the presented method based on the conversion of the video data intended for display. The illustration shows a CPU 50, a graphics processor 52 and a monitor 54 for this purpose.
Zu Beginn liegen die zur Darstellung vorgesehenen Videodaten 60 in der CPU 50 vor. In einem ersten Schritt 62 werden die Videodaten 60 geglättet und abgetastet, so dass vorskalierte Videodaten 64 vorliegen. Diese vorskalierten Videodaten 64 werden in einem weiteren Schritt 66 mittels Textur-Transfer zu dem Grafikprozessor 52 übertragen. In dem Grafikprozessor 52 werden die vorskalierten Videodaten 64 in einem weiteren Schritt 68 einer Kanten-Schärfungsoperation unterzogen, so dass kantengeschärfte vorskalierte Videodaten 70 vorliegen. Die kantengeschärften vorskalierten Videodaten 70 werden in einem weiteren Schritt 72 einer finalen Skalierung unterzogen, wodurch final skalierte Videodaten 74 erhalten werden. Diese final skalierten Videodaten 74 werden zur Präsentation bzw. Darstellung in einem abschließenden Schritt 76 zu dem Monitor 54 übertragen. Initially, the video data 60 for presentation is present in the CPU 50. In a first step 62, the video data 60 is smoothed and sampled so that pre-scaled video data 64 is present. This pre-scaled video data 64 is transferred to graphics processor 52 in a further step 66 by texture transfer. In the graphics processor 52, the pre-scaled Video data 64 is subjected to an edge sharpening operation in a further step 68 so that edge-sharpened pre-scaled video data 70 is present. The edge sharpened pre-scaled video data 70 is finalized in a further step 72, thereby obtaining final scaled video data 74. This final scaled video data 74 is transmitted to the monitor 54 for presentation in a final step 76.
Es wurde erkannt, dass das allgemeine Skalierungsproblem einem Basiswechsel entspricht, d. h. man projiziert das Originalbild, d. h. die ursprünglichen Videodaten 60, möglichst verlustfrei in den Zielraum. Wenn mit diskreten Eingangssignalen gearbeitet wird, so kann "Verlustfreiheit" als Reproduktionsfehler gemessen werden, d. h. von dem skalierten Bild werden durch Interpolation die Originalpixel reproduziert und die Abweichung zu letzteren gemessen. Im kontinuierlichen Fall wird ein Maß definiert, das die beiden kontinuierlichen Signale direkt miteinander vergleicht, z. B.: It was recognized that the general scaling problem corresponds to a basal change, i. H. you project the original image, d. H. the original video data 60, as lossless as possible in the target area. When working with discrete input signals, "losslessness" can be measured as a reproduction error, i. H. from the scaled image, the original pixels are reproduced by interpolation and the deviation from the latter is measured. In the continuous case, a measure is defined which directly compares the two continuous signals, e.g. B .:
<f, g> = Integral f(x) * g(x) dx <f, g> = integral f (x) * g (x) dx
Der Einfachheit halber wird das Verfahren im Folgenden anhand der diskreten Variante beschrieben. Das vorgestellte Verfahren lässt sich aber genauso auf den kontinuierlichen Fall anwenden. For the sake of simplicity, the method will be described below with reference to the discrete variant. However, the presented method can be applied equally to the continuous case.
In vielen Fällen wird die Skalierungsaufgabe aufgrund der Komplexität durch eine einfache Interpolationsaufgabe ersetzt und die resultierenden massiven Alias- Effekte bzw. Unschärfen zugunsten des Leistungsvermögens in Kauf genommen. Das beschriebene Verfahren zeigt, wie die korrekte Skalierung durchgeführt werden kann, ohne das Leistungsvermögen zu beeinträchtigen. In many cases, due to the complexity, the scaling task is replaced by a simple interpolation task, and the resulting massive aliasing or blurring in favor of performance is accepted. The described method shows how the correct scaling can be performed without compromising performance.
Mathematisch lässt sich das diskrete Skalierungsproblem wie folgt formulieren: Mathematically, the discrete scaling problem can be formulated as follows:
( A * y— x )Λ2 -> min wobei x das Originalbild, y das skalierte Bild und A eine Interpolationsmatrix darstellt, um von dem skalierten Bild wieder zum Originalbild zu gelangen. Dieses Skalierungsproblem hat die Lösung: y = ( ΑΛΤ * A )Λ -1 * ΑΛΤ * x (A * y-x) Λ 2 -> min where x represents the original image, y the scaled image and A an interpolation matrix to return from the scaled image to the original image. This scaling problem has the solution: y = (Α Λ Τ * A) Λ -1 * Α Λ Τ * x
In vorstehendem Wortlauf entspricht ΑΛΤ der Glättungs-Operation mit Abtastung und ( ΑΛΤ * A )Λ-1 der Kantenschärfung. In the above wording, Α Λ Τ corresponds to the smoothing operation with sampling and (Α Λ Τ * A) Λ -1 to edge sharpening.
Bei Skalierungen um einen ganzzahligen Faktor und geeigneten Randbedingungen, z. B. bei einer Spiegelung, entspricht A einer Konvolutionsmatrix, die sich mittels einfacher Faltung berechnen lässt. Damit sind ΑΛΤ und ( ΑΛΤ * A )Λ-1 ebenfalls Konvolutionsmatrizen. Letztere lässt sich mittels z-Transformation bzw. Matrixzerlegung durch einfache rekursive Filter berechnen. For scaling by an integer factor and suitable boundary conditions, eg. As in a reflection, A corresponds to a convolution matrix, which can be calculated by means of simple convolution. Thus, Α Λ Τ and (Α Λ Τ * A) Λ -1 are also convolution matrices. The latter can be calculated by z-transformation or matrix decomposition by simple recursive filters.
Da Bildskalierung in x- und y-Richtung unabhängig voneinander sind, kann man auch die entsprechenden Operationen beliebig mischen. Es bietet sich daher an, als erstes die Operationen durchzuführen, die die Datenmenge am stärksten reduzieren, d. h. im Fall der Bildskalierung zuerst die entsprechenden Glättungen mit Abtastung in x- und y-Richtung durchzuführen, bevor mit der Kanten- bzw. Bild-Schärfung begonnen wird. In Kombination mit einer Grafikkarte bedeutet dies, dass die CPU die einfache Konvolution mit entsprechender Datenreduktion sowohl in x- als auch in y-Richtung übernimmt, während die Grafikkarte die entsprechende Nachbearbeitung durchführt, um zu dem finalen skalierten Bild zu gelangen. Mit diesem Schema wird automatisch der Datentransfer zwischen Hauptspeicher und Grafikkarte minimiert. Since image scaling in x- and y-direction are independent of each other, one can also mix the corresponding operations as desired. It is therefore advisable first to perform the operations that reduce the amount of data the most, ie. H. in the case of image scaling, first perform the appropriate smoothing with scanning in the x and y directions before starting the edge sharpening. In combination with a graphics card, this means that the CPU handles the simple convolution with corresponding data reduction in both the x and y directions while the graphics card performs the appropriate post processing to arrive at the final scaled image. This scheme automatically minimizes data transfer between main memory and graphics card.

Claims

Ansprüche claims
Verfahren zum Bearbeiten von Videodaten (60), die auf einem Monitor (14, 54) darzustellen sind, bei dem die Videodaten (60) in einer CPU (20, 50) zur Vorskalierung geglättet und abgetastet werden und anschließend zu einer Grafikkarte (24) mit einem Grafikprozessor (30, 52) übertragen werden, in dem die vorskalierten Videodaten (64) einer Kanten-Schärfungsoperation unterzogen werden. Method for processing video data (60) to be displayed on a monitor (14, 54), in which the video data (60) are smoothed and scanned in a CPU (20, 50) for prescale, and subsequently to a graphics card (24) with a graphics processor (30, 52) in which the pre-scaled video data (64) is subjected to edge sharpening operation.
Verfahren nach Anspruch 1 , bei dem die Übertragung der vorskalierten Videodaten (64) mittels Textur-Transfer erfolgt. The method of claim 1, wherein the transmission of the pre-scaled video data (64) is by texture transfer.
Verfahren nach Anspruch 1 oder 2, bei dem in dem Grafikprozessor (30, 52) zusätzlich zu der Kanten-Schärfungsoperation eine finale Skalierung durchgeführt wird. The method of claim 1 or 2, wherein in the graphics processor (30, 52), in addition to the edge sharpening operation, a final scaling is performed.
Verfahren nach Anspruch 3, bei dem die Kanten-Schärfungsoperation und die finale Skalierung zeilenweise bzw. spaltenweise parallelisiert werden. Method according to Claim 3, in which the edge sharpening operation and the final scaling are parallelized line by line or column by column.
Verfahren zum Darstellen von Videodaten (60) auf einem Monitor (14, 54), bei dem die Videodaten (60) vor dem Darstellen mit einem Verfahren nach einem der Ansprüche 1 bis 4 bearbeitet werden. A method of displaying video data (60) on a monitor (14, 54), wherein the video data (60) is processed prior to presentation by a method according to any one of claims 1 to 4.
Anordnung zum Bearbeiten von Videodaten (60), die eine CPU (20, 50) und eine Grafikkarte (24) mit Grafikprozessor (30, 52) aufweist, bei der die CPU (20, 50) zur Vorskalierung der Videodaten (60) für eine Glättung und Abtastung der Videodaten (60) ausgebildet ist und der Grafikprozessor (30, 52) für eine Kanten-Schärfungsoperation der vorskalierten Videodaten (64) ausgebildet ist. 7. Anordnung nach Anspruch 6, bei der ein Texturspeicher (26) für die Übertragung der vorskalierten Videodaten (64) vorgesehen ist. Arrangement for processing video data (60), which has a CPU (20, 50) and a graphics card (24) with graphics processor (30, 52), wherein the CPU (20, 50) prescalculates the video data (60) for a Smoothing and sampling of the video data (60) is formed and the graphics processor (30, 52) for edge sharpening operation of the vorskalierten video data (64) is formed. 7. Arrangement according to claim 6, wherein a texture memory (26) for the transmission of the pre-scaled video data (64) is provided.
8. Anordnung nach Anspruch 7, bei der als Textur-Speicher (26) ein Grafikspeicher (32) der Grafikkarte (24) dient. 8. Arrangement according to claim 7, wherein the texture memory (26) is a graphics memory (32) of the graphics card (24).
9. Anordnung nach einem der Ansprüche 6 bis 8, bei der in der CPU (20, 50) ein SSE-Befehlsdatensatz abgelegt ist. 9. Arrangement according to one of claims 6 to 8, wherein in the CPU (20, 50) an SSE command data set is stored.
10. Anordnung nach einem der Ansprüche 6 bis 9, bei dem die CPU (20, 50) und die Grafikkarte (24) in einer Rechenanlage (12) integriert sind. 10. Arrangement according to one of claims 6 to 9, wherein the CPU (20, 50) and the graphics card (24) in a computer system (12) are integrated.
EP12721212.4A 2011-05-04 2012-04-30 Method for scaling video data, and an arrangement for carrying out the method Ceased EP2705494A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE201110075261 DE102011075261A1 (en) 2011-05-04 2011-05-04 Method for editing video data and an arrangement for carrying out the method
PCT/EP2012/057878 WO2012150203A1 (en) 2011-05-04 2012-04-30 Method for scaling video data, and an arrangement for carrying out the method

Publications (1)

Publication Number Publication Date
EP2705494A1 true EP2705494A1 (en) 2014-03-12

Family

ID=46085561

Family Applications (1)

Application Number Title Priority Date Filing Date
EP12721212.4A Ceased EP2705494A1 (en) 2011-05-04 2012-04-30 Method for scaling video data, and an arrangement for carrying out the method

Country Status (4)

Country Link
US (1) US20140055498A1 (en)
EP (1) EP2705494A1 (en)
DE (1) DE102011075261A1 (en)
WO (1) WO2012150203A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103273889B (en) * 2013-05-02 2015-06-10 程丽丽 Detachable vehicle-mounted computer support
CN110599510A (en) * 2019-08-02 2019-12-20 中山市奥珀金属制品有限公司 Picture feature extraction method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593351A (en) * 1981-06-12 1986-06-03 International Business Machines Corporation High speed machine for the physical design of very large scale integrated circuits
US6919903B2 (en) * 2001-03-02 2005-07-19 Mitsubishi Electric Research Laboratories, Inc. Texture synthesis and transfer for pixel images
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
DE102005046664B4 (en) 2005-09-29 2016-11-17 Robert Bosch Gmbh Method for creating a flexible display area for a video surveillance system
US8073282B2 (en) * 2007-07-23 2011-12-06 Qualcomm Incorporated Scaling filter for video sharpening
EP2192780A1 (en) * 2008-11-28 2010-06-02 Thomson Licensing Method for video decoding supported by Graphics Processing Unit

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2012150203A1 *

Also Published As

Publication number Publication date
DE102011075261A1 (en) 2012-11-08
WO2012150203A1 (en) 2012-11-08
US20140055498A1 (en) 2014-02-27

Similar Documents

Publication Publication Date Title
DE112018002793T5 (en) IMAGE PROCESSING SYSTEM AND IMAGE PROCESSING METHOD
DE10150364B4 (en) Method and system for encoding physiological data
DE112010005737B4 (en) Imaging device
DE102011056970A1 (en) Raster output of rotated, interpolated pixels, optimized for digital image stabilization
DE102008010684A1 (en) Method and device for medical images with variable resolution
DE102010053458B4 (en) Process for processing IR images and corresponding thermal imaging camera
DE112014002783T5 (en) Contour correction device, method and program
WO2008019867A2 (en) Image processing device for colour image data and method for processing colour image data
CN108109109A (en) A kind of super-resolution image reconstruction method, device, medium and computing device
DE102020133244A1 (en) Edge-conscious upscaling for improved screen content quality
DE102019119746A1 (en) Image signal processor, method for operating the image signal processor and application processor with the image signal processor
DE112020005730T5 (en) Joint rolling shutter correction and image sharpening
DE102019208338B4 (en) OVERVIEW MONITORING SYSTEM AND METHODS OF OPERATION THEREOF
DE112017001477T5 (en) IMPROVED IMAGE QUALITY THROUGH TWO-STAGE TEMPORAL NOISE REDUCTION
DE102008005476B4 (en) Method for image compression of medical sectional images with 3D graphic information
DE112009005430T5 (en) Image synthesis device and image synthesis program
EP2705494A1 (en) Method for scaling video data, and an arrangement for carrying out the method
DE10112008A1 (en) Image processing device and computer readable storage medium
DE102016125758B4 (en) Systems and methods for estimating the modulation transfer function in an optical system
DE10240313A1 (en) Image processing device with a coordinate calculation processing operation
WO2012143159A1 (en) Method and apparatus for determining values which are suitable for removing distortion from an image and for removing distortion from an image
DE102011079916B4 (en) Method and apparatus for progressively loading medical, multi-dimensional images into a medical application
EP1110407B1 (en) Method and array for coding and decoding a digitized image using an overall motion vector
DE112017007815T5 (en) Image processing device, image processing method and image processing program
WO2017050997A1 (en) Method, computer program and system for transmitting data in order to produce an interactive image

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20131204

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20140918

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20170219