DE102013203600A1 - Bildverarbeitungsvorrichtung und Bildbearbeitungsverfahren - Google Patents

Bildverarbeitungsvorrichtung und Bildbearbeitungsverfahren Download PDF

Info

Publication number
DE102013203600A1
DE102013203600A1 DE102013203600A DE102013203600A DE102013203600A1 DE 102013203600 A1 DE102013203600 A1 DE 102013203600A1 DE 102013203600 A DE102013203600 A DE 102013203600A DE 102013203600 A DE102013203600 A DE 102013203600A DE 102013203600 A1 DE102013203600 A1 DE 102013203600A1
Authority
DE
Germany
Prior art keywords
processing
alignment
frame
image
alignment processing
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
DE102013203600A
Other languages
English (en)
Inventor
Kenji Kimiyama
Toshio Sato
Yoshihiko Suzuki
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Publication of DE102013203600A1 publication Critical patent/DE102013203600A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2624Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

Eine Bildverarbeitungsvorrichtung einer Ausführungsform führt eine Superauflösungsverarbeitung durch, welche ein Hochauflösungsbild eines Rahmens aus Niederauflösungsbildern einer Mehrzahl von Rahmen erzeugt, durch Durchführen von Ausrichtung von Pixeln in einem Referenzrahmen an einem Standardrahmen, der dazu gebracht wird, ein Hochauflösungsbild zu haben, und Ausführen einer Rekonfiguration eines Bildes, basierend auf einem Ergebnis der Ausrichtung. Die Bildverarbeitungsvorrichtung beinhaltet eine Mehrzahl von Arithmetikverarbeitungseinheiten, die parallel arbeiten können. Wenn eine Ausrichtung zwischen dem Standardrahmen und dem Referenzrahmen ausgeführt wird, arbeiten die Mehrzahl von Arithmetikverarbeitungseinheiten parallel eine erste Ausrichtungsverarbeitung und eine zweiten Ausrichtungsverarbeitung, die in einer reversen Relation zueinander im Hinblick auf die Relation von Standard und Referenz stehen, ab, und die erste Ausrichtungsverarbeitung und die zweite Ausrichtungsverarbeitung teilen ihre Verarbeitungsergebnisse wechselseitig.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung basiert auf und beansprucht die Priorität aus der früheren japanischen Patentanmeldung Nr. 2012-154940 , eingereicht am [12]. März 2012, deren gesamter Inhalt hiermit inkorporiert wird.
  • GEBIET
  • Ausführungsformen der vorliegenden Erfindung beziehen sich auf eine Bildverarbeitungsvorrichtung und ein Bildverarbeitungsverfahren.
  • HINTERGRUND
  • In letzter Zeit sind Produkte wie etwa Fernseher, die eine Anzeige aufweisen, die eine Superauflösungstechnologie verwendet, vermarktet worden. Die Superauflösungstechnologie gibt detaillierte Bereiche (Komponenten nicht kleiner als eine Nyquist-Frequenz), die zum Zeitpunkt der Abtastung von Pixeln eines Bildes verloren gehen (zum Zeitpunkt einer photoelektrischen Umwandlung durch eine Bildaufnahmevorrichtung und Reduktionsverarbeitung eines Bildes) durch Bildverarbeitung wieder. Wenn beispielsweise eine Superauflösungstechnologie zum Anzeigen eines Videos einer Videokamera des NTSC-Systems und eines Videos einer DVD mit niedriger Auflösung auf einem Großbildschirm-LCD-Fernseher verwendet wird, werden die detaillierten Bereiche wiedergegeben und dadurch kann ein klares Bild mit hoher Auflösung erhalten werden.
  • Verschiedene Systeme sind für Superauflösungstechnologien vorgeschlagen worden. Diese sind Superauflösung in einem Rahmensystem, ein Wörterbuch-basiertes Superauflösungssystem und ein Mehrrahmen-Superauflösungssystem und so weiter. Von diesen hat insbesondere ein Multirahmen-Superauflösungssystem einen hohen Wiedergabefaktor detaillierter Bereiche eines Bildes und weist eine hohe Leistung auf. Das Mehrrahmen-Superauflösungssystem führt eine Ausrichtungsverarbeitung (alignment) und eine Rekonfigurationsverarbeitung durch. Die Ausrichtungsverarbeitung detektiert aus einer Mehrzahl von Rahmen, die rückwärts und vorwärts in der Zeit liegen (ein Standardrahmen und ein Referenzrahmen) dieselben Bereiche desselben Objektes als die korrespondierenden Punkte. Die Rekonfigurationsverarbeitung erzeugt ein Bild mit hoher Auflösung unter Verwendung der Informationen der entsprechenden Punkte des Referenzrahmens und des Standardrahmens, die durch die Ausrichtungsverarbeitung erhalten werden. Somit wird ein Hochauflösungsrahmen eines Rahmens aus einer größeren Informationsmenge als einer Informationsmenge eines einzelnen Rahmens erzeugt. Die Ausrichtungsverarbeitung und die Rekonfigurationsverarbeitung werden kontinuierlich ausgeführt, während die Rahmen einer nach dem anderen vorgebracht werden, und dadurch kann ein Video mit hoher Auflösung erzeugt werden. Zusätzlich beinhaltet die Rekonfigurationsverarbeitung ein System, das eine Wiedergabeverarbeitung verwendet, in welchem die Bildqualität hoch ist, die Verarbeitungslast aber auch hoch ist, und ein System ohne Verwendung einer Repetionsverarbeitung, in welchem die Bildqualität niedrig ist, aber auch die Verarbeitungslast niedrig ist.
  • Übrigens beinhaltet eine Mehrrahmen-Superauflösungsverarbeitung zwei Ausführungsformen einer Softwareverarbeitung, die eine CPU, und eine dedizierte Hardware-Verarbeitung verwenden. Konventioneller Weise war vorherrschend, dass eine Arithmetikverarbeitungseinheit in einem persönlichen Computer (PC) montiert ist. In einer Software-Verarbeitung durch eine CPU im persönlichen Computer oder dergleichen wird jede Verarbeitung einer Mehrrahmen-Superauflösungsverarbeitung in einer Abfolge ausgeführt. Das heißt, dass eine Ausrichtungsverarbeitung eines vorhergehenden Rahmens mit einem Standardrahmen ausgeführt wird und eine Ausrichtungsverarbeitung des Standardrahmens mit einem nachfolgenden Rahmen ausgeführt wird und schließlich eine Rekonfigurationsverarbeitung ausgeführt wird. Oder es kann einen Fall geben, in dem pseudoparallele Verarbeitungen mit einer Multithread genannten Software-Programmiertechnologie ausgeführt werden, in einer Zeitteilerweise und in der Reihenfolge der Priorität, die ein BS (Betriebssystem) steuert. Aber selbst in dieser Technologie kann es einen Fall geben, der mehr Zeit aufgrund des Overheads zum Umschalten der Verarbeitungen erfordert, als einen Fall, in dem die Verarbeitungen sequentiell ausgeführt werden.
  • Jüngstens sind Hochleistungsprodukte vorrangig geworden, die alle eine CPU mit einer Mehrzahl von internen Arithmetikeinheiten aufweisen. Eine Arithmetikverarbeitungseinheit (APU, arithmetic processing unit) wird ein Kern genannt und wenn sie eine Mehrzahl von Kernen hat, wird eine solche CPU eine Multi- bzw. Mehrkern-CPU oder Vielkern-CPU genannt. Die CPU kann eine Mehrzahl von Programmen parallel abarbeiten, unter Verwendung einer Mehrzahl von arithmetischen Verarbeitungseinheiten.
  • Zusätzlich hat es, nicht auf eine CPU beschränkt seiend, die in einem persönlichen Computer montiert ist, sich verbreitet, dass eine eingebettete CPU und ein DSP (Digitalprozessor) ausgebildet sind, mehrere Kerne oder viele Kerne aufzuweisen. Falls eine Mehrzahl von arithmetischen Verarbeitungseinheiten eingesetzt wird, können eine Ausrichtungsverarbeitung eines vorhergehenden Rahmens mit einem Standardrahmen, eine Ausrichtungsverarbeitung des Standardrahmens mit einem nachfolgenden Rahmen und eine Rekonfigurationsverarbeitung parallel ausgeführt werden.
  • Jedoch ist es in dem Fall, der mit einer einfachen Arithmetikverarbeitungseinheit versehen ist, notwendig, alle Pixel in den vorhergehenden und nachfolgenden Referenzrahmen zu Standardrahmen auszurichten, der in der Superauflösungsverarbeitung zu vergrößern ist, und da eine Wiederholungssuche (ein Blockabgleich) innerhalb eines Rahmens für ein zu einem Block mit einer begrenzten Größe ähnliches Muster durchgeführt wird, ergab sich das Problem, dass die Verarbeitungslast hoch war. Zusätzlich, selbst in dem Fall, in welchem ein, eine Repetitionsverarbeitung verwendendes System als die Rekonfigurationsverarbeitung eingesetzt wird, um eine hohe Bildqualität zu erhalten, gab es das Problem, dass die Verarbeitungslast hoch wird. Selbst falls eine Mehrkern-CPU verwendet wird, um diese Probleme zu adressieren, um ein Programm parallel unter Verwendung einer Mehrzahl von arithmetischen Verarbeitungseinheiten abzuarbeiten, ist Genialität in einem Algorithmus erforderlich und es ist derzeit nicht möglich, ein Programm automatisch parallel abzuarbeiten. Folglich war ein Algorithmus für eine Mehrrahmen-Superauflösung gewünscht, der effektiv eine Mehrzahl von Arithmetikverarbeitungseinheiten einer Mehrkern-CPU parallel betreiben kann.
  • Andererseits weist eine Speicherarchitektur in den letzten Jahren eine Zwei-Hierarchien-Konfiguration (manchmal Mehrhierarchien) auf, die aus einem Hauptspeicher und einem Cache-Speicher (Zwischenspeicher) aufgebaut sind. Ein Hauptspeicher hat eine große Kapazität, aber seine Geschwindigkeit fällt zur Zeit eines wahlfreien Zugriffs. Obwohl ein Cache-Speicher eine kleine Kapazität hat, arbeitet er bei einer hohen Geschwindigkeit zum Zeitpunkt eines wahlfreien Zugriffs. In einer Software-Verarbeitung durch eine CPU, und auch in einer dedizierten Hardware-Verarbeitung gibt es ein Problem mit der Speicherzugriffsbandbreite. Wenn nicht die für die Verarbeitung erforderlichen Daten vorzugsweise im Cache-Speicher gehalten werden, kann die Verarbeitungsgeschwindigkeit durch den Flaschenhals eines Speicherzugriffsbandes zwischen dem Hauptspeicher und dem Cache-Speicher abfallen. Da die Bilddaten insbesondere eine große Größe aufweisen, und diese Probleme prominent werden, sind Lösungen für den Abfall bei der Verarbeitungsgeschwindigkeit gewünscht worden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm einer Bildverarbeitungsvorrichtung einer, eine Mehrkern-CPU verwendenden Ausführungsform;
  • 2 ist ein Diagramm, das eine Beziehung zwischen Rahmen in einer Ausrichtungsverarbeitung einer Superauflösungsverarbeitung zeigt;
  • 3 ist ein Diagramm zum Beschreiben eines Verarbeitungssystems eines Vergleichsbeispiels 1, das eine Mehrkern-CPU verwendet;
  • 4 ist ein Diagramm zum Beschreiben eines Verarbeitungssystems eines Vergleichsbeispiels 2, das eine Mehrkern-CPU verwendet;
  • 5 ist ein Diagramm zum Beschreiben eines ersten Verarbeitungssystems, das eine Mehrkern-CPU verwendet;
  • 6 ist ein Diagramm zum Beschreiben eines zweiten Verarbeitungssystems, das eine Mehrkern-CPU verwendet;
  • 7 ist ein Flussdiagramm einer Ausrichtungsverarbeitung durch ein Verfahren, das direkt das Verarbeitungsergebnis in einem Ergebnispuffer eines Partners in einer ersten Ausführungsform schreibt;
  • 8 ist ein Diagramm, das ein Beispiel eines Ergebnispuffers zeigt;
  • 9 ist ein Diagramm, das einen Umriss einer Ausrichtungsverarbeitung zeigt;
  • 10 ist ein Flussdiagramm einer Ausrichtungsverarbeitung durch ein Verfahren, das direkt das Verarbeitungsergebnis in einen Ergebnispuffer eines Partners schreibt, in einer zweiten Ausführungsform;
  • 11 ist ein Diagramm, das eine Beziehung zwischen einer Ausrichtungsverarbeitung [21] und einer Ausrichtungsverarbeitung [12] zeigt;
  • 12 ist ein Diagramm, das das Übernehmen eines Teils der Ausrichtungsverarbeitung [12] durch eine die Ausrichtungsverarbeitung [21] durchführende Arithmetikverarbeitungseinheit zeigt;
  • 13 ist ein Flussdiagramm einer Ausrichtungsverarbeitung durch ein Verfahren zum direkten Schreiben des Verarbeitungsergebnisses in einem Ergebnispuffer eines Partners, in einer dritten Ausführungsform;
  • 14 ist ein Diagramm, das die Beziehung zwischen der Ausrichtungsverarbeitung [21] und der Ausrichtungsverarbeitung [12] zeigt; und
  • 15 ist ein Diagramm, das die Übernahme eines Teils der Ausrichtungsverarbeitung [12] durch die, die Ausrichtungsverarbeitung [21] durchführende Arithmetikverarbeitungseinheit zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Eine Bildverarbeitungsvorrichtung der Ausführungsform führt Ausrichtung von Pixeln an einem Referenzrahmen in einem Standardrahmen durch, der dazu gebracht werden soll, eine hohe Auflösung aufzuweisen, und führt eine Rekonfiguration eines Bildes durch, basierend auf einem Ergebnis der Ausrichtung, um dadurch ein Hochauflösungsbild eines Rahmens aus Niederauflösungsbildern einer Mehrzahl von Rahmen zu erzeugen. Die Bildverarbeitungsvorrichtung beinhaltet einen Hauptspeicher zum Speichern eines von außerhalb hineingenommenen Videos und zum Ausgeben eines Videos, das bildverarbeitet worden ist, und eine Mehrzahl von Arithmetikverarbeitungseinheiten, die parallel arbeiten können, und die Mehrzahl von Arithmetikverarbeitungseinheiten bearbeiten zum Zeitpunkt der Ausführung der Ausrichtung zwischen dem Standardrahmen und dem Referenzrahmen parallel eine erste Ausrichtungsverarbeitung und eine zweite Ausrichtungsverarbeitung, die in reverser Beziehung zueinander im Hinblick auf die Relation des Standards und der Referenz stehen, und die erste Ausrichtungsverarbeitung und die zweite Ausrichtungsverarbeitung teilen ihre Verarbeitungsergebnisse.
  • 1 ist ein Blockdiagramm einer Bildverarbeitungsvorrichtung einer Ausführungsform, die eine Mehrkern-CPU verwendet.
  • Eine Mehrkern-CPU 100 beinhaltet vier Arithmetikverarbeitungseinheiten (PE1–PE4) 101 bis 104 und einen Cache-Speicher 105 und ist mit einem externen Hauptspeicher 200 über einen Bus 201 verbunden. Ein Video wird von außerhalb als eine Videoeingabe 10 hereingenommen und im Hauptspeicher 200 durch eine DMA-(Direct Memory Access, Direktspeicherzugriff)Steuerung (nicht gezeigt) und so weiter gespeichert. Eine notwendige Bildverarbeitung wird dem Video durch die Mehrkern-CPU 100 erteilt und dann wird das Video als eine Videoausgabe 20 aus dem Hauptspeicher 200 ausgegeben.
  • Die Mehrkern-CPU 100 weist vier Arithmetikverarbeitungseinheiten auf und kann vier Programme parallel durch vier Arithmetikverarbeitungseinheiten ausführen. Entsprechend kann unter einem Programm, das erzeugt ist, um Parallelverarbeitung auszuführen, die Mehrkern-CPU 100 gleichzeitig vier Verarbeitungen im Programm ausführen. Zusätzlich wird das Programm in einer nicht-flüchtigen Speichervorrichtung (nicht gezeigt) gespeichert, die in der relevanten Bildverarbeitungsvorrichtung vorgesehen ist, wie etwa einem ROM und einer HDD (Festplatte) und zum Zeitpunkt des Starts oder der Ausführung wird das Programm in den Hauptspeicher 200 geladen und durch die Mehrkern-CPU 100 ausgeführt.
  • Der Cache-Speicher 105 kann bei einer höheren Geschwindigkeit arbeiten als der Hauptspeicher 200 hinsichtlich der wahlfreien Zugriffsgeschwindigkeit. Der Cache-Speicher 105 speichert zeitweilig denselben Inhalt wie den im Hauptspeicher 200 gespeicherten Inhalt und jede Arithmetikverarbeitungseinheit kann den Inhalt aus dem Cache-Speicher 105 auslesen. Zusätzlich wird der Inhalt, der nicht im Cache-Speicher 105 gespeichert ist, aus dem Hauptspeicher 200 ausgelesen und an die Arithmetikverarbeitungseinheit gesendet, und gleichzeitig auch in den Cache-Speicher 105 geschrieben. Da die Größe des Cache-Speichers 105 kleiner als diejenige des Hauptspeichers 200 ist, werden die nicht mehr verwendeten Daten durch Überschreiben gelöscht. Aus diesem Grund führt die Verwendung von kontinuierlichen Daten in einem so engen Adressbereich wie möglich zu einer Verbesserung bei der Verarbeitungsgeschwindigkeit. Die Videodaten werden als Ergebnis der Verarbeitung durch die DMA-Steuerung und so weiter als die Videoausgabe 20 nach außerhalb ausgegeben. Falls die Bildverarbeitungsvorrichtung ein PC ist, werden die Videodaten auf einem Bildschirm angezeigt.
  • 2 zeigt die Beziehung zwischen Rahmen in einer Ausrichtungsverarbeitung einer Superauflösungsverarbeitung. Jede der Nummern 1 bis 4 in der Zeichnung zeigt einen Rahmen des Videos an und die Nummern zeigen jeweils Rahmennummern an. Ein Rahmen einer Quelle eines Pfeils ist ein Referenzrahmen und ein Zielrahmen eines Pfeils ist ein Standardrahmen. Beispielsweise bedeutet in der Zeichnung eine Ausrichtungsverarbeitung [21], eine Koordinate an einem Standardrahmen 2 eines Pixels des Standardrahmens 2 entsprechend einem Pixel des Referenzrahmens 1 zu bestimmen. Eine Verarbeitung zum Bestimmen einer Koordinate eines Pixels eines Standardrahmens entsprechend einem Pixel eines Referenzrahmens wird eine Ausrichtungsverarbeitung genannt. In der Ausrichtungsverarbeitung [12] werden der Referenzrahmen und der Standardrahmen getauscht im Vergleich zur Ausrichtungsverarbeitung [21].
  • Es gibt Verfahren, wie etwa das oben beschriebene Blockableichsverfahren für die Suche nach Ausrichtung (alignment). Ein Block fester Größe, der als Zentrum ein auszurichtendes Pixel hat, wird auf dem Referenzrahmen eingerichtet, und eine SSD (Summe der Quadratdifferenz) oder SAD (Summe der Absolutdifferenz) wird wiederholt zwischen dem Block und einem Block erhalten, der auf dem Standardrahmen eingerichtet ist, während ein neuer Block auf dem Standardrahmen eingerichtet wird, indem der Block auf dem Standardrahmen Pixel für Pixel bewegt wird. Die Koordinate eines Ortes, wo der SSD-Wert oder der SAD-Wert am kleinsten ist, wird als eine entsprechende Punktkoordinate mit Ganzzahl-Genauigkeit bestimmt. Zusätzlich wird die Koordinate so verbessert, dass sie eine Dezimalgenauigkeit hat, unter Verwendung eines Parabol-Abpassverfahrens und eines konformalen Linienverfahrens. Diese Prozedur wird für alle Pixel im Referenzrahmen wiederholt. Dieses Verfahren ist ein üblicherweise verwendetes und ein Suchsystem zum Ausrichten in der vorliegenden Ausführungsform ist nicht auf dieses System beschränkt. Als ein Verfahren außer dem Blockableichsverfahren sind ein Phasenkorrelationsbeschränkungsverfahren und ein optisches Flussverfahren bekannt.
  • Zusätzlich, um die Beschreibung zu vereinfachen, werden in 2 nur die Rahmen vorwärts und rückwärts des Standardrahmens als der Referenzrahmen verwendet, aber es können mehr Rahmen als Referenzrahmen verwendet werden. Jedoch, selbst falls die Anzahl von Referenzrahmen erhöht wird, ist die Verbesserung bei der Bildqualität beschränkt. Entsprechend wird die Anzahl von Referenzrahmen üblicherweise von einem Startpunkt der Balance zwischen einem Verarbeitungsbetrag und der Bildqualität bestimmt.
  • In 3 ist ein Verarbeitungssystem eines Vergleichsbeispiels 1, das eine Mehrkern-CPU verwendet, gezeigt. In einem Programm ohne Bezug auf eine Mehrkern-CPU wird eine Verarbeitung sequentiell durch die eine Arithmetikverarbeitungseinheit (PE1) ausgeführt. Die Anzahl von Rahmen zum Zeitpunkt der Ausrichtung ist die gleiche wie im Beispiel von 2. Um zu beginnen, wird der Rahmen 2 als der Standardrahmen verwendet, wird der Rahmen 1 als der Vorwärtsreferenzrahmen verwendet und wird der Rahmen 3 als der Rückwärtsreferenzrahmen 3 verwendet. Und die Ausrichtungsverarbeitung [21] zwischen dem Rahmen 1 und dem Rahmen 2 wird ausgeführt und dann wird die Ausrichtungsverarbeitung [23] zwischen dem Rahmen 3 und dem Rahmen 2 ausgeführt. Unter Verwendung dieser Ergebnisse wird eine Rekonfigurationsverarbeitung [2], die den Rahmen 2 auf hohe Auflösung bringt, ausgeführt. Als Nächstes wird der Rahmen 3 als der Standardrahmen verwendet, wird der Rahmen 2 als der Vorwärtsreferenzrahmen verwendet und wird der Rahmen 4 als der Rückwärtsreferenzrahmen verwendet. Und die Ausrichtungsverarbeitung [32] zwischen dem Rahmen 2 und dem Rahmen 3 wird ausgeführt und die Ausrichtungsverarbeitung [34] zwischen dem Rahmen 4 und dem Rahmen 3 wird ausgeführt. Unter Verwendung dieser Ergebnisse wird die Rekonfigurationsverarbeitung [3], die den Rahmen 3 auf hohe Auflösung bringt, ausgeführt. Die Verarbeitungen werden derart sequentiell durchgeführt. In diesem Fall, selbst falls es eine Mehrzahl von arithmetischen Verarbeitungseinheiten gibt, wird nur eine von ihnen verwendet.
  • In 4 ist ein Verarbeitungssystem eines Vergleichsbeispiels 2, das eine Mehrkern-CPU verwendet, gezeigt. In diesem Beispiel wird eine Programmierung unter Erwägung einer Mehrkern-CPU durchgeführt und drei Verarbeitungen werden parallel durch die drei Arithmetikverarbeitungseinheiten (PE1, PE2 und PE3) abgearbeitet. In einer ersten Hälfte von 4 werden die insgesamt drei Rahmen einschließlich der Rahmen 1 bis 3 verwendet. Da das Ergebnis der Ausrichtungsverarbeitung [21] und das Ergebnis der Ausrichtungsverarbeitung Ausrichtungsverarbeitung [23] gleichzeitig in die Rekonfigurationsverarbeitung [2] eingegeben werden, hat die Rekonfigurationsverarbeitung [2] ein Problem der Verarbeitungslast. Das heißt, wenn die Ergebnisse der zwei Ausrichtungsverarbeitungen gleichzeitig eingegeben werden, wird tatsächlich eines der zwei Ergebnisse dazu gezwungen, zu warten, oder es ist notwendig, dass ein Puffer vorgesehen wird und irgendeines zeitweilig im Puffer gespeichert wird. Die Rekonfigurationsverarbeitung [3] in einer zweiten Hälfte von 4 hat dasselbe Problem der Verarbeitungslast wie dasjenige der Rekonfigurationsverarbeitung [2].
  • 5 zeigt ein erstes Verarbeitungssystem der vorliegenden Ausführungsform, das eine Mehrkern-CPU verwendet. Im ersten Verarbeitungssystem der vorliegenden Ausführungsform wird die Programmierung unter Erwägung einer Mehrkern-CPU vorgenommen; und vier Verarbeitungen werden parallel durch die vier Arithmetikverarbeitungseinheiten (PE1, PE2, PE3 und PE4) abgearbeitet. Der charakteristische Teil, der sich vom Verarbeitungssystem des Vergleichsbeispiels 2 unterscheidet, ist ein Teil, in welchem die Ausrichtungsverarbeitungen in den verschiedenen Richtungen, wie etwa die Ausrichtungsverarbeitung [21] und die Ausrichtungsverarbeitung [12], parallel ausgeführt werden. Die Ausrichtungsverarbeitungen der verschiedenen Richtungen sind Ausrichtungsverarbeitungen, in denen die Beziehung zwischen der Referenz und dem Standard umgekehrt werden. In diesem Verarbeitungssystem verwendet eine Ausrichtungsverarbeitung ein Ergebnis der anderen Ausrichtungsverarbeitung. Beispielsweise wird es zuerst durch die Ausrichtungsverarbeitung [21] erhalten, dass ein Pixel der Koordinate (10, 20) am Referenzrahmen 1 einen Position der Koordinate (12, 22) des Standardrahmens 2 entspricht, das heißt, dass die Koordinate (12, 22) im Standardrahmen 2 ein korrespondierender Punkt der Koordinate (10, 20) im Referenzrahmen 1 ist. In diesem Fall verwendet die Ausrichtungsverarbeitung [12] ohne Ausführen der Berechnung zum Erhalten eines entsprechenden Punktes auf dem Standardrahmen 1, welcher der Koordinate (12, 22) im Referenzrahmen 2 entspricht, ein Ergebnis der Ausrichtungsverarbeitung [21] und verwendet die Koordinate (10, 20) im Rahmen 1, welche das Ergebnis der Ausrichtungsverarbeitung [21] als eine Koordinate eines entsprechenden Punktes ist. Da jedoch der Dezimalgenauigkeitsteil der Koordinate nicht gemeinsam verwendet werden kann, ist es notwendig, den Dezimalgenauigkeitsteil der Koordinate für jede Ausrichtungsverarbeitung zu berechnen. Zusätzlich werden ein Punkt in einem Referenzrahmen und ein Punkt in einem Standardrahmen, der dem Punkt im Referenzrahmen entspricht, gemeinsam ein Entsprechungspunktpaar genannt.
  • Zusätzlich ist im Beispiel von 4 das Lesen von Daten von drei Rahmen erforderlich gewesen, aber da in der vorliegenden Ausführungsform das Lesen von Daten von zwei Rahmen erforderlich ist, kann die Speicherzugriffsbandbreite über den Bus 201 von 1 niedrig gehalten werden. Zusätzlich, wenn die Daten der für die Ausrichtungsverarbeitungen verwendeten drei Rahmen nicht im Cache-Speicher 105 von 1 gespeichert werden können, tritt im Beispiel von 4 ein häufiger Austausch der Daten auf und dadurch fällt die Verarbeitungsfähigkeit ab. In der vorliegenden Ausführungsform, da nur die Daten von zwei Rahmen verwendet werden, wird die Wahrscheinlichkeit des Austauschs von Daten niedrig. Um den Austausch von Daten zu unterdrücken, ist es möglich, dass der Speicherbereich, in welchem der Austausch nicht auftritt, aus der Kapazität des Cache-Speichers 105 und des Steuerverfahrens desselben ermittelt wird, und eine Geschwindigkeitssteuerung so durchgeführt wird, dass die zwei Ausrichtungsverarbeitungen gemeinsam dem Speicherbereich verwenden können. Falls beispielsweise dieses Verfahren mit dem in der japanischen Patentanmeldungsveröffentlichung 2011-61603 kombiniert wird, kann der Austausch von Daten stärker unterdrückt werden.
  • In der vorliegenden Ausführungsform, wie in 5 gezeigt, wird die Rekonfigurationsverarbeitung in zeitlicher Hinsicht in zwei Stufen einer ersten Hälfte und einer zweiten Hälfte unterteilt. Das heißt, dass die Verarbeitungslast durch Ausführen des Pipeline-Betriebs verteilt wird. Durch dieses Mittel kommt die Rekonfigurationsverarbeitung in einer Eins-zu-Eins-Beziehung mit der Ausrichtungsverarbeitung und dadurch wird eine Überlagerung (layover) zwischen einer Mehrzahl von Ausrichtungsverarbeitungen und einem Puffer für die Überlagerung unnötig. Zusätzlich entspricht im Beispiel von 5 die erste Hälfte der Rekonfigurationsverarbeitung [2] der Ausrichtungsverarbeitung [21] und entspricht die zweite Hälfte der Rekonfigurationsverarbeitung [2] der Ausrichtungsverarbeitung [23]. Die erste Hälfte der Rekonfigurationskonfiguration [2] erzeugt beispielsweise ein Anfangsbild mit einem Interpolationsverfahren und rekonfiguriert ein Zwischenbild aus dem Anfangsbild und dem Verarbeitungsergebnis der Ausrichtungsverarbeitung [21]. Und die zweite Hälfte der Rekonfigurationsverarbeitung [2] konfiguriert ein Hochauflösungsbild, das aus einem Rahmen aufgebaut ist, durch Kombinieren des Verarbeitungsergebnisses in der ersten Hälfte der Rekonfigurationsverarbeitung [2] und des Verarbeitungsergebnisses der Ausrichtungsverarbeitung [23].
  • 6 zeigt ein zweites Verarbeitungssystem der vorliegenden Ausführungsform mit den vier aus den zwei Rückwärts- und den zwei Vorwärtsrahmen komponierten Referenzrahmen, das eine Mehrkern-CPU verwendet. Im zweiten Verarbeitungssystem der vorliegenden Ausführungsform werden sieben Verarbeitungen parallel durch die sieben Arithmetikverarbeitungseinheiten (PE1, PE2, PE3, PE4, PE5, PE6 und PE7) betrieben. Im Parallelsystem, in welchem das Beispiel von 4 ausgedehnt wird, beträgt die Speicherzugriffsbandbreite für die Ausrichtungsverarbeitung fünf Rahmen. Andererseits wird im zweiten Verarbeitungssystem der vorliegenden Ausführungsform die Speicherzugriffsbandbreite auf drei Rahmen reduziert. In der ersten Stufe wird die Verarbeitung mit der Ausrichtungsverarbeitung [24] und der Ausrichtungsverarbeitung [42] gepaart und die Ausrichtungsverarbeitung 34 und die Ausrichtungsverarbeitung 43 gepaart ausgeführt.
  • Zusätzlich entsprechen dem Beispiel von 6 die Rekonfigurationsverarbeitung [4] – [2/4] der Ausrichtungsverarbeitung 42 beziehungsweise der Ausrichtungsverarbeitung 43. Die Symbole ¼, 2/4, ¾ und 4/4 bedeuten ein erstes Viertel, ein zweites Viertel, ein drittes Viertel bzw. ein viertes Viertel. Die Rekonfigurationsverarbeitung [4] – [3/4] entspricht der Ausrichtungsverarbeitung [45]. Zusätzlich entspricht die Rekonfigurationsverarbeitung [4] – [4/4] der Ausrichtungsverarbeitung [46]. Die Rekonfigurationsverarbeitung [4] – [1/4] und die Rekonfigurationsverarbeitung [4] – [2/4] erzeugen ein Anfangsbild und rekonfigurieren zusätzlich ein Zwischenbild aus dem Anfangsbild, dem Verarbeitungsergebnis der Rekonfigurationsverarbeitung [42] und dem Verarbeitungsergebnis der Ausrichtungsverarbeitung [43]. Die Rekonfigurationsverarbeitung [4] – [3/4] rekonfiguriert weiter ein Zwischenbild aus den Verarbeitungsergebnissen der Rekonfigurationsverarbeitung [4] – [1/4] und der Rekonfigurationsverarbeitung [4] – [2/4], und dem Verarbeitungsergebnis der Ausrichtungsverarbeitung [45]. Die Rekonfigurationsverarbeitung [4] – [4/4] rekonfiguriert ein Hochauflösungsbild für einen Rahmen durch Kombinieren des Verarbeitungsergebnisses der Rekonfigurationsverarbeitung [4] – [3/4] und des Verarbeitungsergebnisses der Ausrichtungsverarbeitung [46].
  • Im Beispiel von 6, obwohl die Speicherzugriffsbandbreite der Rekonfigurationsverarbeitung steigt, da die Anzahl von Malen des Wiederholens der Rekonfigurationsverarbeitung (Anzahl von Pixeln × Anzahl von Malen der Rekonfiguration (üblicherweise nicht mehr als zehnmal)) kleiner als die Anzahl von Malen des Wiederholens der Ausrichtungsverarbeitung (Anzahl von Suchrahmen × Anzahl von Pixeln × Suchbereich) ist, ist ein Effekt für die Verarbeitungsgeschwindigkeit klein. Zusätzlich ist das in der Zeichnung gezeigte Verarbeitungsmuster ein Beispiel und das Verarbeitungsmuster ist nicht auf dieses Beispiel beschränkt.
  • Zusätzlich zeigen 5 und 6 die Abfolge der Verarbeitung auf einer Konzeptbasis und das Timing, wenn die Verarbeitung tatsächlich in jeder der Arithmetikverarbeitungseinheiten ausgeführt wird, variiert abhängig von der Verarbeitungslast und so weiter.
  • (Erste Ausführungsform)
  • Als Nächstes wird als ein System, in welchem eine erste Ausrichtungsverarbeitung und eine zweite Ausrichtungsverarbeitung, die gepaart sind, die Verarbeitungsergebnisse miteinander teilen, ein System, das das Verarbeitungsergebnis nicht nur in einem Ergebnispuffer seiner selbst schreibt, sondern direkt in einen Ergebnispuffer eines Partners, beschrieben.
  • 7 zeigt ein Flussdiagramm einer Ausrichtungsverarbeitung durch ein Verfahren zum direkten Schreiben des Verarbeitungsergebnisses in einen Ergebnispuffer eines Partners. Hier wird die Ausrichtungsverarbeitung [21] durch die Arithmetikverarbeitungseinheit PE3 als Beispiel genommen. Aber die Ausrichtungsverarbeitung [12] durch die Arithmetikverarbeitungseinheit durch die PE1 wird parallel zur Ausrichtungsverarbeitung [21] in der Prozedur des Flussdiagramms ausgeführt. Ergebnispuffer sind im Cache-Speicher 105 vorgesehen. Die Ergebnispuffer sind für jede Ausrichtungsverarbeitung vorgesehen und jeder Ergebnispuffer hat einen Speicherbereich für die Anzahl von Pixeln des Eingangsbilds pro Rahmen.
  • Wie in 8 gezeigt, werden in jedem der Ergebnispuffer ein Ganzzahl-Berechnungsergebnis (Ganzzahl-Teilergebnis (= Ganzzahlteil der Koordinate)) durch Ganzzahlpräzisionsberechnung, und ein Dezimalberechnungsergebnis (Dezimalteilergebnis (= Dezimalteil der Koordinate)) durch Dezimalpräzisionsberechnung, die beide das Verarbeitungsergebnis der entsprechenden Ausrichtungsverarbeitung sind, und ein Status, der den Verarbeitungszustand (Ganzzahlberechnung beendet/Dezimalberechnung beendet/nicht berechnet) gespeichert. Zusätzlich wird der Status jedes der Ergebnispuffer auf einen nicht berechneten Zustand am Anfang der Ausrichtungsverarbeitung initialisiert. In der nachfolgenden Beschreibung wird der, der Ausrichtungsverarbeitung [21] entsprechende Ergebnispuffer als ein Ergebnispuffer [21] beschrieben und wird der, der Ausrichtungsverarbeitung [12] entsprechende Ergebnispuffer als ein Ergebnispuffer [12] beschrieben.
  • Für den Anfang wird in Schritt S1001 der Status des Ergebnispuffers [21], in welchem der Status der Ausrichtungsverarbeitung [21] gespeichert ist, in Bezug auf ein Verarbeitungszielpixel überprüft und dadurch wird überprüft, ob der Status durch die Ausrichtungsverarbeitung [12] bereits zu ”Ganzzahlberechnung beendet” gemacht worden ist. Zu dieser Zeit, wenn die Koordinate des Verarbeitungszielpixels bereits in der Ganzzahlpräzisionsberechnung (Ganzzahlberechnung) am entsprechenden Punkt durch die Ausrichtungsverarbeitung [12] berechnet worden ist, wird der Status des Ergebnispuffers [21] auf ”Ganzzahlberechnung beendet” in Bezug auf das relevante Pixel durch die Ausrichtungsverarbeitung [12] eingestellt. Entsprechend wird in diesem Fall das Prüfergebnis im Schritt S1001 als Ja festgestellt und die Verarbeitung bewegt sich zu einem Schritt S1003.
  • Wenn andererseits der Status des Ergebnispuffers [21] nicht ”Ganzzahlberechnung beendet” bei der oben beschriebenen Prüfung ist (Nein in Schritt S1001), wird ein Blockabgleich der Ausrichtungsverarbeitung [21] im nachfolgenden Schritt S1002 ausgeführt und dadurch wird das Ganzzahlteilergebnis der Koordinate des entsprechenden Punktes basierend auf dem berechneten SSD erhalten (siehe rechte Seite von 9).
  • Nachfolgend wird die Dezimalpräzisionsberechnung der Ausrichtungsverarbeitung [21] in Schritt S1003 ausgeführt und dadurch wird das Dezimalteilergebnis der Koordinate des entsprechenden Punktepaars ermittelt. Und das Berechnungsergebnis des Ganzzahlteils und das Berechnungsergebnis des Dezimalteils werden jeweils in den Ergebnispuffer [21] geschrieben.
  • Wenn die Dezimalgenauigkeitsberechnung des entsprechenden Punktes in Bezug auf das Pixel, welches das Ausrichtungsziel ist, beendet ist, wird der Status des Ergebnispuffers [21] in Schritt S1004 zu ”Dezimalberechnung beendet” geändert.
  • Wenn andererseits der Status ”Ganzzahlberechnung beendet” bei Überprüfung des Status des Ergebnispuffers 21 im oben beschriebenen Schritt S1001 ist, ist die Ganzzahlpräzisionsberechnung des entsprechenden Punktes durch die Ausrichtungsverarbeitung [12] beendet. Aus diesem Grund wird die Ganzzahlpräzisionsberechnung (der oben beschriebene Schritt S1002) in der Ausrichtungsverarbeitung [21] weggelassen und die Verarbeitung von der oder später als die Verarbeitung der Dezimalgenauigkeitsberechnung im oben beschriebenen Schritt S1003 wird ausgeführt.
  • Nach dem Schritt S1004 wird in Schritt S1005 der Status des Ergebnispuffers 12 der Ausrichtungsverarbeitung [12] weiter überprüft in Bezug auf das Verarbeitungszielpixel. Das heißt, es wird überprüft, ob das Pixel der Koordinate des entsprechenden Punktes, die durch die Ausrichtungsverarbeitung [21] ermittelt wird, bereits als das Pixel am Referenzrahmen in der Ausrichtungsverarbeitung [12] berechnet worden ist. Wenn der Status ”nicht berechnet” (Ja in Schritt S1005) ist, wird das im Schritt S1002 erhaltene Ganzzahlteilergebnis in einem Schritt S1006 am Ergebnispuffer [12] eingestellt und wird der Status des Ergebnispuffers [12] in Schritt S1007 zu ”Ganzzahlberechnung beendet” geändert. Und nur der Dezimalteil wird zum Zeitpunkt der Berechnung des relevanten Pixels in der Ausrichtungsverarbeitung [12] berechnet. Wenn andererseits der Start in der Prüfung des Schritts S1005 ”nicht berechnet” ist (Nein in Schritt S1005) ohne irgendetwas am Ergebnispuffer [12] auszuführen, bewegt sich die Verarbeitung zu einem Schritt S1008.
  • Nachdem eine Reihe von den oben beschriebenen Verarbeitungen ausgeführt ist, wird im Schritt S1008 festgestellt, ob die Ausrichtungsverarbeitung [21] die Dezimalberechnung für alle Pixel im Referenzrahmen beendet hat. Falls es ein unverarbeitetes Pixel gibt (Nein in Schritt S1008), kehrt die Verarbeitung zu Schritt S1001 (L1100) zurück und es wird eine Reihe von Verarbeitungen wiederholt (siehe linke Seite von 9). Falls Nein, endet die Ausrichtungsverarbeitung [21]. Dann wird die Ausrichtungsverarbeitung für den nachfolgenden Rahmen durch dieselbe Arithmetikverarbeitungseinheit ausgeführt.
  • Wenn eine Koordinate des entsprechenden Punktes zuerst durch eine Ausrichtungsverarbeitung so wie dieser ermittelt wird, wird eine Ganzzahlteilberechnung einer Koordinate eines entsprechenden Punktes in der anderen Ausrichtungsverarbeitung, die letztlich ausgeführt wurde, weggelassen. Entsprechend wird in der vorliegenden Ausführungsform die Menge an Verarbeitung reduziert und zusätzlich zum Beschleunigen der Parallelverarbeitung, und die Verarbeitung kann weiter insgesamt beschleunigt werden.
  • Zusätzlich schreibt im oben beschriebenen Beispiel die Ausrichtungsverarbeitung, welche die Berechnung zuerst beendet hat, direkt das Ganzzahlberechnungsergebnis in den Ergebnispuffer eines Partners der gepaarten Ausrichtungsverarbeitungen. Durch dieses Mittel wird realisiert, die Verarbeitungsergebnisse miteinander zu teilen. Aber in dem Fall, bei dem die Historie des Ergebnisses der Ausrichtungsverarbeitung im Hauptspeicher 200 für eine gegebene Zeitlänge gespeichert wird, kann sich jede Ausrichtungsverarbeitung auf die Ablaufinformation vor Ausrichtung beziehen und das Berechnungsergebnis derselben in Bezug auf das Pixel, dessen entsprechender Punkt berechnet worden ist, verwenden.
  • Wie oben beschrieben, ist es gemäß der vorliegenden Ausführungsform möglich, eine Bildverarbeitungsvorrichtung und ein Bildverarbeitungsverfahren bereitzustellen, welche für die Superauflösungsverarbeitung effizient eine Mehrzahl von Arithmetikverarbeitungseinheiten parallel betreiben können, und weiter effektiv Speicherzugriff durchführen können.
  • (Zweite Ausführungsform)
  • In der oben beschriebenen ersten Ausführungsform, wenn eine Verarbeitung einer ersten Ausrichtungsverarbeitung und einer zweiten Ausrichtungsverarbeitung, die ein Paar bilden, die Berechnung der entsprechenden Punkte im Standardrahmen für Pixel in einen gewissen Referenzrahmen früher als die andere Verarbeitung abgeschlossen haben, verwendet die andere Verarbeitung das Ganzzahlberechnungsergebnis und dadurch kann die andere Verarbeitung die Ganzzahlpräzisionsberechnung auslassen. In der Verarbeitung der später beschriebenen vorliegenden Ausführungsform übernimmt zusätzlich zur oben beschriebenen Verarbeitung in dem Fall, dass, wenn eine Reihe von Verarbeitungen für alle Pixel des Referenzrahmens abgeschlossen worden ist, auf welche die eine Ausrichtungsverarbeitung abzielt, die andere Ausrichtungsverarbeitung, die ein Paar mit der einen Anfrageverarbeitungseinheit bildet, nicht abgeschlossen worden ist, die eine Ausrichtungsverarbeitung die andere Ausrichtungsverarbeitung für einen Teil der verbleibenden Pixel des Verarbeitungsziels. Zu dieser Zeit gelangt jede der zwei Arithmetikverarbeitungseinheiten dahin, die Ausrichtungsverarbeitung für die verbleibenden Pixel desselben Referenzrahmens in reverser Abfolge zueinander auszuführen.
  • Auch in der vorliegenden Ausführungsform wird das erste Verarbeitungssystem in 5 beispielhaft beschrieben. 10 zeigt ein Flussdiagramm der vorliegenden Ausführungsform. Ein Schritt S1201 bis Schritt S2008 sind die gleichen wie die Schritte S1001 bis S1008 in der ersten Ausführungsform. In der ersten Ausführungsform ist die Abfolge der Auswahl von Pixeln für die Ausrichtungsverarbeitung [21] und die Ausrichtungsverarbeitung [12] gleich. In der vorliegenden Ausführungsform ist die Abfolge der Auswahl von Pixeln im Referenzrahmen in der Ausrichtungsverarbeitung [12] durch die Arithmetikverarbeitungseinheit (PE1) das umgekehrte der Abfolge der Auswahl von Pixeln im Referenzrahmen in der Ausrichtungsverarbeitung [21] durch die Arithmetikverarbeitungseinheit PE3 (siehe 11). Die Ausrichtungsverarbeitung [21] wird wie in 9 gezeigt ausgeführt.
  • Da die Schritte S2001 bis Schritt S2008 die gleichen wie die Schritte S1001 bis S1008 in der oben beschriebenen ersten Ausführungsform sind, wird deren Beschreibung weggelassen. Wenn die Berechnung der Ausrichtungsverarbeitung [21] für alle Pixel des Referenzrahmens abgeschlossen ist (Ja in Schritt S2008), wird in einem Schritt S2009 festgestellt, ob die Ausrichtungsverarbeitung [12] die Dezimalberechnung für alle Pixel im Referenzrahmen abgeschlossen hat. Die Bestimmung kann unter Bezugnahme auf den Status des Ergebnispuffers [12] der Ausrichtungsverarbeitung [12] durchgeführt werden.
  • Hier, wenn die Ausrichtungsverarbeitung [12] auch die Dezimalberechnung für alle Pixel auf Seite des Referenzrahmens beendet hat (Ja in Schritt S2009), endet die Ausrichtungsverarbeitung [21]. Falls die Ausrichtungsverarbeitung [12] durch die Arithmetikverarbeitungseinheit PE1 nicht die Dezimalberechnung für alle Pixel im Referenzrahmen beendet hat (Nein in Schritt S2009), vertauscht die Arithmetikverarbeitungseinheit PE3 den Referenzrahmen und den Standardrahmen der Ausrichtungsverarbeitung [21] in einem Schritt S2010. Das heißt, dass die Arithmetikverarbeitungseinheit PE3, welche die Ausrichtungsverarbeitung [21] ausführt, partiell die Ausrichtungsverarbeitung für die Pixel übernimmt, welche die Ausrichtungsverarbeitung [12] durch die Arithmetikverarbeitungseinheit (PE1) nicht verarbeitet hat.
  • Schritte S2001 bis S2014, die dem Schritt S2010 nachfolgen, sind die Verarbeitungen, die den Schritten S2001 bis S2004 entsprechen, und werden ursprünglich durch die Ausrichtungsverarbeitung [12] ausgeführt. Hier übernimmt die Ausrichtungsverarbeitung [21], welche die Verarbeitung zuerst abgeschlossen hat, einen Teil der Ausrichtungsverarbeitung [12] (siehe 11). Das heißt, dass die Arithmetikverarbeitungseinheit PE3 zum Ausführen der Ausrichtungsverarbeitung [21] einen Teil der Ausrichtungsverarbeitung [12] durch die Arithmetikverarbeitungseinheit PE1 übernimmt.
  • Als Nächstes wird in einem Schritt S2015 festgestellt, ob die Ausrichtungsverarbeitung [12] die Dezimalberechnung für alle Pixel der Referenzrahmenseite abgeschlossen hat. Zu diesem Zeitpunkt, wenn die Dezimalberechnung nicht abgeschlossen worden ist (Nein in Schritt S2015), kehrt die Verarbeitung zum Schritt S2011 (L2101) zurück und dadurch wird eine Reihe von Verarbeitungen wiederholt. Wenn andererseits die Dezimalberechnung abgeschlossen worden ist (Ja in Schritt S2015), beendet die Arithmetikverarbeitungseinheit PE3 die Ausrichtungsverarbeitung [21].
  • Übrigens, wie auf der rechten Seite von Fig. [12] gezeigt, wenn die Übernahmeverarbeitung durch die Arithmetikverarbeitungseinheit PE3 und die Ursprungs-Ausrichtungsverarbeitung [12] miteinander am Referenzrahmen der ursprünglichen Ausrichtungsverarbeitung [12] kollidieren, wird der Status des Ergebnispuffers [12] zu ”Dezimalberechnung beendet” für alle Pixel im Referenzrahmen der Ausrichtungsverarbeitung [12]. Zu dieser Zeit werden im Schritt S2015 alle Pixel des Referenzrahmens als ”Dezimalberechnung abgeschlossen” bestimmt und eine Reihe von in 10 gezeigten Verarbeitungen endet.
  • Wie oben beschrieben, wenn eine Verarbeitung der gepaarten Ausrichtungsverarbeitungen die Verarbeitung zuerst beendet hat, übernimmt die Arithmetikverarbeitungseinheit zum Ausführen der Ausrichtungsverarbeitung, welche die Verarbeitung zuerst beendet hat, einen Teil der anderen Verarbeitung der gepaarten Ausrichtungsverarbeitungen. Dadurch wird die Last der Arithmetikverarbeitungseinheit zum Ausführen der Verarbeitung, von der ein Teil übernommen wird, aufgeteilt, und insgesamt kann die Verarbeitungsgeschwindigkeit der gepaarten Ausrichtungsverarbeitungen verbessert werden.
  • Wie oben beschrieben, ist es gemäß der vorliegenden Erfindung möglich, eine Bildverarbeitungsvorrichtung und ein Bildverarbeitungsverfahren bereitzustellen, das für die Superauflösungsverarbeitung effizient eine Mehrzahl von Arithmetikverarbeitungseinheiten parallel betreiben kann und weiter einen Speicherzugriff effektiv durchführen kann.
  • (Dritte Ausführungsform)
  • In der oben beschriebenen zweiten Ausführungsform, wenn eine Reihe von Verarbeitungen für alle Pixel im Referenzrahmen abgeschlossen worden ist, auf die die eine Verarbeitung der gepaarten Ausrichtungsverarbeitungen abzielt, und in dem Fall, in welchem die andere Verarbeitung der gepaarten Ausrichtungsverarbeitungen, welche die Verarbeitung in der reversen Abfolge ausführt, nicht abgeschlossen worden ist, übernimmt die Arithmetikverarbeitungseinheit, welche die Verarbeitung abgeschlossen hat, die Verarbeitung für einen Teil der verbleibenden Pixel des Verarbeitungsziels. In der vorliegenden Ausführungsform werden die gepaarten Ausrichtungsverarbeitungen auf einer Zeilenbasis in den zueinander reversen Abfolgen ausgeführt (siehe 14). Die Ausrichtungsverarbeitung, welche die Verarbeitung zuerst abgeschlossen hat, übernimmt die Verarbeitung für einen Teil der verbleibenden Pixel, die das Verarbeitungsziel der anderen Ausrichtungsverarbeitung sind. Zu dieser Zeit fangen die zwei Arithmetikverarbeitungseinheiten an, die Ausrichtungsverarbeitungen in den reversen Abfolgen für die verbleibenden Pixel der relevanten einen Zeile jeweils im selben Referenzrahmen auszuführen (siehe 15).
  • Auch in der vorliegenden Ausführungsform wird beispielsweise das erste Verarbeitungssystem in 5 beschrieben. 13 ist ein Flussdiagramm der vorliegenden Ausführungsform. Schritte S3001 bis S3007 sind gleich den Schritten S1001 bis S1007 in der ersten Ausführungsform und den Schritten S2001 bis S2007 in der zweiten Ausführungsform. Hier wird ihre Beschreibung weggelassen.
  • In der vorliegenden Ausführungsform werden in den Referenzrahmen, welche die Verarbeitungsziele der Ausrichtungsverarbeitung [21] bzw. der Ausrichtungsverarbeitung [12] sind (zu dieser Zeit ist der Referenzrahmen der einen der Ausrichtungsverarbeitungen der Standardrahmen der anderen Ausrichtungsverarbeitung), die Ausrichtungsverarbeitung [21] und die Ausrichtungsverarbeitung [12] in zueinander reverser Abfolge für die entsprechende eine Zeile ausgeführt. Wenn die Verarbeitung der Ausrichtungsverarbeitungen für die eine Zeile zuerst abgeschlossen ist, übernimmt die Arithmetikverarbeitungseinheit, welche ihre Verarbeitung zuerst abgeschlossen hat, einen Teil der anderen Verarbeitung. Aus diesem Grund wird in einem Schritt S3008 festgestellt, ob die Ausrichtungsverarbeitung [21] die Dezimalberechnung für die Pixel pro Zeile für die relevante eine Zeile abgeschlossen hat.
  • Zu dieser Zeit, wenn die Ausrichtungsverarbeitung [21] die Berechnung bis zur dezimalen Präzision für die Pixel der relevanten einen Zeile im Referenzrahmen abgeschlossen hat (Nein in Schritt S3008), kehrt die Verarbeitung zu Schritt S3001 (L3100) zurück, und die Verarbeitung des Schritts S3001 oder später für das nächste Pixel wird ausgeführt. Wenn andererseits die Ausrichtungsverarbeitung [21] die Berechnung bis zur Dezimalgenauigkeit für die Pixel der relevanten einen Linie im Referenzrahmen abgeschlossen hat (Ja in Schritt S3008), wird weiter in einem Schritt S3009 festgestellt, ob die Ausrichtungsverarbeitung [21] die dezimale Berechnung für die Pixel der entsprechenden einen Zeile des Referenzrahmens abgeschlossen hat. Diese Bestimmungen können unter Bezugnahme auf den Status des Ergebnispuffers [21] der Ausrichtungsverarbeitung [21] und den Status des Ergebnispuffers [12] der Ausrichtungsverarbeitung [12] durchgeführt werden.
  • Hier, wenn die Ausrichtungsverarbeitung [12] auch die Dezimalberechnung für die Pixel der relevanten einen Zeile des Referenzrahmens beendet hat (Ja in Schritt S3009), wird in einem Schritt S3016 festgestellt, ob die Ausrichtungsverarbeitung [21] die Dezimalberechnung für alle Pixel des Referenzrahmens abgeschlossen hat. Diese Bestimmung kann durch Bezugnahme auf den Status des Ergebnispuffers der Ausrichtungsverarbeitung 12 durchgeführt werden.
  • Bei der Bestimmung, wenn die Dezimalberechnung für alle die oben beschriebenen Pixel abgeschlossen worden ist (Ja in Schritt S3016), endet die Ausrichtungsverarbeitung [21]. Falls nicht (Nein in Schritt S3016), kehrt die Verarbeitung zum Schritt S3001 (L3102) zurück und die Verarbeitung des Schritts S3001 oder danach wird für die nächste eine Zeile ausgeführt.
  • Im oben erwähnten Schritt S3009, wenn festgestellt wird, dass die Ausrichtungsverarbeitung [12] die Dezimalberechnung für die Pixel der relevanten einen Zeile des Referenzrahmens nicht beendet hat (Nein in Schritt S3009), tauscht in Schritt S3010 die Arithmetikverarbeitungseinheit (PE3) Austäusche des Referenzrahmens und des Standardrahmens der Ausrichtungsverarbeitung [21]. Dadurch kann die Arithmetikverarbeitungseinheit (PE3) eine Ausrichtungsverarbeitung [12] ausführen.
  • Dem Schritt S3010 nachfolgenden Schritte S3011 bis 3014 entsprechen den Schritten S3001 bis S3004 und werden ursprünglich durch die Ausrichtungsverarbeitung [12] ausgeführt. Hier übernimmt die Ausrichtungsverarbeitung [21], welche die Verarbeitung zuerst abgeschlossen hat, einen Teil der Ausrichtungsverarbeitung [12] (siehe 15). Das heißt, dass die Arithmetikverarbeitungseinheit (PE3), die die Ausrichtungsverarbeitung [21] ausführt, einen Teil der Verarbeitung der Arithmetikverarbeitungseinheit (PE1) übernimmt. Und es wird in einem Schritt S3015 festgestellt, ob die Ausrichtungsverarbeitung [12] die dezimale Berechnung für alle Pixel der Referenzrahmenseite abgeschlossen hat. Zu dieser Zeit, wenn die Dezimalberechnung nicht abgeschlossen worden ist (Nein in Schritt S3015), kehrt die Verarbeitung zum Schritt S3011 (L3101) zurück und dadurch wird eine Reihe der Verarbeitungen des Schritts S3011 oder danach wiederholt. Wenn andererseits die dezimale Berechnung abgeschlossen worden ist (Ja in Schritt S3015), wird die Verarbeitung zu einem Schritt S3016 bewegt.
  • Übrigens, wie auf der rechten Seite von 15 gezeigt, wenn ein Pixel im Referenzrahmen der Übernahme-Ausrichtungsverarbeitung durch Arithmetikverarbeitungseinheit PE3 und ein Pixel im Referenzrahmen der Original-Ausrichtungsverarbeitung [12] sich in der zueinander reversen Abfolge auf einer gewissen Zeile bewegen und sie miteinander koinzidieren, wird der Status des Ergebnispuffers [12] für alle Pixel der relevanten Zeile im Referenzrahmen der Ausrichtungsverarbeitung [12] zu ”Dezimalberechnung beendet”. Zu dieser Zeit sind in dem Schritt S3015 die gesamten Pixel der relevanten einen Zeile im Referenzrahmen als ”Dezimalberechnung beendet” bestimmt worden und eine Reihe der in 13 gezeigten Verarbeitungen endet.
  • Wie oben beschrieben, gemäß der vorliegenden Ausführungsform, wenn eine der gepaarten Ausrichtungsverarbeitungen die Verarbeitung zuerst in Bezug auf die eine Zeile, die das Bearbeitungsziel ist, beendet hat, übernimmt die Arithmetikverarbeitungseinheit, welche zuerst die Verarbeitung beendet hat, einen Teil der anderen der gepaarten Ausrichtungsverarbeitungen und dadurch kann die Verarbeitungsgeschwindigkeit der gepaarten Ausrichtungsverarbeitungen insgesamt verbessert werden. Zusätzlich werden die gepaarten Ausrichtungsverarbeitungen in der Reihenfolge für dieselben Zeilen in dem entsprechenden Referenzrahmen abgeschlossen, können die Verarbeitungsgeschwindigkeiten der Ausrichtungsverarbeitungen, die parallel arbeiten, auf einer Zeilenbasis eingestellt werden. Zusätzlich kann im Ergebnis der Adressbereich eines Speichers, auf den gleichzeitig Bezug genommen wird, beschränkt werden und kann dadurch der Cache-Speicher 105 effektiv eingesetzt werden. Zusätzlich kann eine Verbesserung bei der Verarbeitungsgeschwindigkeit durch die effektive Verwendung des Cache-Speichers 105 erwartet werden.
  • Wie oben beschrieben, ist es gemäß der vorliegenden Ausführungsform möglich, eine Bildverarbeitungsvorrichtung und ein Bildverarbeitungsverfahren bereitzustellen, welche für die Superauflösungsverarbeitung effizient eine Mehrzahl von Arithmetikverarbeitungseinheiten parallel betreiben können, und weiter effektiv Speicherzugriff durchführen können.
  • In der oben beschriebenen Ausführungsform 1, Ausführungsform 2 und Ausführungsform 3 sind die Ausrichtungsverarbeitung [12] und die Ausrichtungsverarbeitung [21] als gepaarte Ausrichtungsverarbeitungen erläutert worden. Jedoch können im Fall der anderen gepaarten Ausrichtungsverarbeitungen, wie etwa der Ausrichtungsverarbeitung 23 und der Ausrichtungsverarbeitung 32 und der Ausrichtungsverarbeitung 45 und der Ausrichtungsverarbeitung 54 die gepaarten Ausrichtungsverarbeitungen in derselben Weise wie bei der obigen Beschreibung verarbeitet werden.
  • Gemäß einer der Ausführungsformen ist es möglich, eine Bildverarbeitungsvorrichtung und ein Bildverarbeitungsverfahren bereitzustellen, welche für die Superauflösungsverarbeitung effizient eine Mehrzahl von Arithmetikverarbeitungseinheiten parallel betreiben können und weiterhin effektiv einen Speicherzugriff durchführen können.
  • Zusätzlich wird das in der Bildverarbeitungsvorrichtung der Ausführungsform ausgeführte Programm zuvor in einer nichtflüchtigen Speichervorrichtung, wie etwa einem ROM und einer HDD, die in der Bildverarbeitungsvorrichtung vorgesehen sind, installiert und wird bereitgestellt.
  • Das in der Bildverarbeitungsvorrichtung der Ausführungsform ausgeführte Programm kann konfiguriert sein, in einem Zustand bereitgestellt zu sein, in welchem es in einer Datei eines installierbaren Formates oder eines ausführbaren Formates in einem maschinenlesbaren Aufzeichnungsmedium wie etwa einer CD-ROM, einer flexiblen Disk (FD) einer CD-R, einer DVD (Digital Versatile Disk) aufgezeichnet ist.
  • Zusätzlich kann das oben beschriebene Programm konfiguriert sein, in einem mit einem Netzwerk wie etwa dem Internet verbundenen Computer gespeichert zu sein und über das relevante Netzwerk bereitgestellt oder vertrieben zu werden.
  • Während gewisse Ausführungsformen beschrieben worden sind, sind diese Ausführungsformen nur beispielhaft präsentiert worden und sollen nicht den Schutzumfang der Erfindungen beschränken. In der Tat können die hierin beschriebenen neuartigen Ausführungsformen in einer Vielzahl von anderen Formen ausgeführt werden; weiterhin können verschiedene Weglassungen, Substitutionen und Änderungen in der Form der Ausführungsformen, die hier beschrieben sind, gemacht werden, ohne vom Geist der Erfindungen abzuweichen. Die angefügten Ansprüche und ihre Äquivalente sollen solche Formen oder Modifikationen, die innerhalb des Schutzumfangs und Geistes der Erfindung fallen würden, abdecken. Obwohl beispielsweise in den oben beschriebenen Ausführungsformen die Bildverarbeitungsvorrichtung beschrieben worden ist, die sich auf die Software-Verarbeitung durch die Mehrkern-CPU 100 fokussiert, kann aber dasselbe Schema im Falle einer Systemkonfiguration durch eine dedizierte Hardware verwendet werden. In diesem Fall ist jede der in 1 gezeigten Arithmetikverarbeitungseinheiten 101 bis 104 durch eine dedizierte Ausrichtungsvorrichtung gebildet und wird in kleinen Taktzyklen lesbarer Hochgeschwindigkeitsspeicher als der Cache-Speicher 105 verwendet.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2012-154940 [0001]
    • JP 2011-61603 [0036]

Claims (8)

  1. Bildverarbeitungsvorrichtung, die eine Ausrichtung von Pixeln an einem Referenzrahmen in einem Standardrahmen durchführt, der dazu zu bringen ist, Hochauslösung aufzuweisen, und Rekonfiguration eines Bildes basierend auf einem Ergebnis der Ausrichtung ausführt, um dadurch ein Hochauflösungsbild eines Rahmens aus Niederauflösungsbildern einer Mehrzahl von Rahmen zu erzeugen, wobei die Bildverarbeitungsvorrichtung umfasst: einen Hauptspeicher zum Speichern eines von außerhalb aufgenommenen Videos und zum Ausgeben eines Videos, das bildverarbeitet worden ist; und eine Mehrzahl von Arithmetikverarbeitungseinheiten, die parallel arbeiten können; wobei die Mehrzahl von Arithmetikverarbeitungseinheiten zum Zeitpunkt der Ausführung der Ausrichtung zwischen dem Standardrahmen und dem Referenzrahmen parallel eine erste Ausrichtungsverarbeitung und eine zweite Ausrichtungsverarbeitung abarbeiten, die in einer reversen Beziehung zueinander im Hinblick auf die Relation des Standards und der Referenz stehen, und die erste Ausrichtungsverarbeitung und die zweite Ausrichtungsverarbeitung ihre Verarbeitungsergebnisse teilen.
  2. Bildverarbeitungsvorrichtung gemäß Anspruch 1, wobei in Bezug auf ein Pixel, von dem ein entsprechende Punktpaar im Referenzrahmen und dem Standardrahmen bereits durch eine Verarbeitung der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung berechnet worden ist, ein Berechnungsergebnis für das entsprechende Punktpaar durch die andere Verarbeitung der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung verwendet wird.
  3. Bildverarbeitungsvorrichtung gemäß Anspruch 2, weiter umfassend: eine Speichereinheit zum Bereitstellen von Speicherbereichen, wobei auf die Speicherbereiche durch jede der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung zugegriffen werden kann, welche ihre Verarbeitungsergebnisse speichern, und die für jedes Pixel eines Eingabebildes für jede der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung vorbereitet sind; wobei, wenn die eine Verarbeitung die Berechnung des entsprechenden Punktpaares abgeschlossen hat und die andere Verarbeitung die Berechnung des relevanten entsprechenden Punktpaars nicht abgeschlossen hat, die eine Verarbeitung das Berechnungsergebnis derselben im Speicherbereich entsprechend der anderen Verarbeitung reflektiert und dadurch die andere Verarbeitung das Berechnungsergebnis verwendet.
  4. Bildverarbeitungsvorrichtung gemäß Anspruch 1, wobei: jede der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung eine Ausrichtung von Pixeln jedes der Referenzrahmen in der reversen Abfolge wechselseitig durchführt und wenn eine Verarbeitung der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung die Ausrichtung für alle Pixel im Referenzrahmen derselben zuerst abgeschlossen hat, die eine Verarbeitung die Ausrichtung für einen Teil der nicht verarbeiteten Pixel im Referenzrahmen übernimmt, auf welche die andere Verarbeitung der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung abzielt.
  5. Bildverarbeitungsvorrichtung gemäß Anspruch 1, wobei jede der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung eine Ausrichtung an Pixeln auf einer Zeile am selben Ort in jedem der Referenzrahmen und in der reversen Abfolge wechselseitig durchführt, und wenn eine Verarbeitung der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung die Verarbeitung für die relevante eine Zeile zuerst abgeschlossen hat, die eine Verarbeitung die Ausrichtung für einen Teil der nicht verarbeiteten Pixel auf der einen Zeile übernimmt, auf welche die andere Verarbeitung der ersten Ausrichtungsverarbeitung und der zweiten Ausrichtungsverarbeitung abzielt.
  6. Bildverarbeitungsvorrichtung gemäß Anspruch 1, wobei: Eine Rekonfigurationsverarbeitung, welche das Bild aus jedem der Standardrahmen rekonfiguriert, einen Pipeline-Betrieb beim Empfangen des Ausrichtungsergebnisses durchführt, das parallel durch jede der Ausrichtungsverarbeitungen verarbeitet worden ist.
  7. Bildverarbeitungsverfahren, das in einer Bildverarbeitungsvorrichtung verwendet wird, die mit einer Mehrzahl von Arithmetikverarbeitungseinheiten versehen ist, die parallel arbeiten können, ein Hochauflösungsbild eines Rahmens aus Niederauflösungsbildern einer Mehrzahl von Rahmen durch Durchführen von Ausrichtung von Pixeln an einem Referenzrahmen in einem Standardrahmen, der zur hohen Auflösung zu bringen ist, und Durchführen von Rekonfiguration eines Bildes, basierend auf dem Ergebnis der Ausrichtung, erzeugen, wobei das Bildverarbeitungsverfahren die Schritte umfasst: paralleles Abarbeiten von zwei Ausrichtungsverarbeitungen, die in reverser Relation zueinander stehen hinsichtlich der Relation von Standard und Referenz zum Zeitpunkt der Durchführung der Ausrichtung zwischen dem Standardrahmen und dem Referenzrahmen; und Teilen von Verarbeitungsergebnissen der zwei Ausrichtungsverarbeitungen durch die zwei Ausrichtungsverarbeitungen.
  8. Bildverarbeitungsvorrichtung gemäß Anspruch 1, wobei die Mehrzahl von Arithmetikverarbeitungseinheiten beinhaltet: eine erste Arithmetikverarbeitungseinheit zum Ausführen einer ersten Ausrichtungsverarbeitung zum Durchführen von Ausrichtung zwischen dem Standardrahmen und dem Referenzrahmen, die aus dem in den Hauptspeicher übernommenen Video extrahiert werden; und eine zweite Arithmetikverarbeitungseinheit zum Ausführen einer zweiten Ausrichtungsverarbeitung zum Durchführen von Ausrichtung zwischen dem Standardrahmen und dem Referenzrahmen, die aus dem Video extrahiert werden, während in der Relation des aus dem Video extrahierten Standardrahmens und des Referenzrahmens der Standard und die Referenz umgekehrt wird, wobei die erste Arithmetikverarbeitungseinheit und die zweite Arithmetikverarbeitungseinheit jeweils die erste Ausrichtungsverarbeitung und die zweite Ausrichtungsverarbeitung abarbeiten; und wobei die Bildverarbeitungsvorrichtung weiter einen Cache-Speicher umfasst, der gemeinsam für die erste Arithmetikverarbeitungseinheit und die zweite Arithmetikverarbeitungseinheit vorgesehen ist, und die erste Arithmetikverarbeitungseinheit und die zweite Arithmetikverarbeitungseinheit ihre Verarbeitungsergebnisse unter Verwendung des Cache-Speichers teilen.
DE102013203600A 2012-03-12 2013-03-04 Bildverarbeitungsvorrichtung und Bildbearbeitungsverfahren Ceased DE102013203600A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-054940 2012-03-12
JP2012054940A JP5462305B2 (ja) 2012-03-12 2012-03-12 画像処理装置、画像処理方法およびそのプログラム

Publications (1)

Publication Number Publication Date
DE102013203600A1 true DE102013203600A1 (de) 2013-10-24

Family

ID=48142450

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013203600A Ceased DE102013203600A1 (de) 2012-03-12 2013-03-04 Bildverarbeitungsvorrichtung und Bildbearbeitungsverfahren

Country Status (4)

Country Link
US (2) US20130235272A1 (de)
JP (1) JP5462305B2 (de)
DE (1) DE102013203600A1 (de)
GB (1) GB2501171B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101767927B1 (ko) * 2012-11-01 2017-08-17 한화테크윈 주식회사 실시간 움직임 검출 방법 및 시스템
CN104794681B (zh) * 2015-04-28 2018-03-13 西安电子科技大学 基于多冗余字典和稀疏重构的遥感图像融合方法
CN106204449B (zh) * 2016-07-06 2019-09-10 安徽工业大学 一种基于对称深度网络的单幅图像超分辨率重建方法
US20200160560A1 (en) * 2018-11-19 2020-05-21 Canon Kabushiki Kaisha Method, system and apparatus for stabilising frames of a captured video sequence
CN113938575B (zh) * 2021-07-23 2023-06-13 东莞理工学院 一种视频超分辨率重构方法、装置、终端设备及存储介质
US20230206495A1 (en) * 2021-12-29 2023-06-29 L3Harris Technologies, Inc. Adaptive alignment system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011061603A (ja) 2009-09-11 2011-03-24 Toshiba Corp 画像処理装置および画像処理方法
JP2012154940A (ja) 2007-09-06 2012-08-16 Konica Minolta Medical & Graphic Inc フラットパネルディテクタ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3031152B2 (ja) * 1993-12-24 2000-04-10 日本電気株式会社 動き予測プロセッサ及び動き予測装置
JPH07225852A (ja) * 1994-02-15 1995-08-22 Fujitsu Ltd 動画生成方法および装置
JP2671820B2 (ja) * 1994-09-28 1997-11-05 日本電気株式会社 両方向予測方法及び両方向予測装置
US6401194B1 (en) * 1997-01-28 2002-06-04 Samsung Electronics Co., Ltd. Execution unit for processing a data stream independently and in parallel
JPH10234044A (ja) * 1997-02-21 1998-09-02 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および装置
WO2002032143A2 (en) * 2000-10-09 2002-04-18 Snell & Wilcox Limited Compression of motion vectors
US7382937B2 (en) * 2003-03-07 2008-06-03 Hewlett-Packard Development Company, L.P. Method and apparatus for re-constructing high-resolution images
JP2006279573A (ja) * 2005-03-29 2006-10-12 Sanyo Electric Co Ltd 符号化装置と方法、ならびに復号装置と方法
JP4886583B2 (ja) * 2007-04-26 2012-02-29 株式会社東芝 画像拡大装置および方法
US8861591B2 (en) * 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration
JP2009100407A (ja) * 2007-10-19 2009-05-07 Toshiba Corp 画像処理装置及びその方法
US8385422B2 (en) * 2008-08-04 2013-02-26 Kabushiki Kaisha Toshiba Image processing apparatus and image processing method
KR102104986B1 (ko) * 2009-02-06 2020-04-27 가부시키가이샤 한도오따이 에네루기 켄큐쇼 표시 장치 구동 방법
JP2010218271A (ja) * 2009-03-17 2010-09-30 Tokyo Institute Of Technology パラメータ制御処理装置及び画像処理装置
JP5148655B2 (ja) * 2010-04-19 2013-02-20 株式会社東芝 情報処理装置および情報処理装置の制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012154940A (ja) 2007-09-06 2012-08-16 Konica Minolta Medical & Graphic Inc フラットパネルディテクタ
JP2011061603A (ja) 2009-09-11 2011-03-24 Toshiba Corp 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
US20130235272A1 (en) 2013-09-12
GB201303930D0 (en) 2013-04-17
JP2013190865A (ja) 2013-09-26
US9460489B2 (en) 2016-10-04
US20150242996A1 (en) 2015-08-27
GB2501171B (en) 2014-07-30
JP5462305B2 (ja) 2014-04-02
GB2501171A (en) 2013-10-16

Similar Documents

Publication Publication Date Title
CN105869117B (zh) 一种针对深度学习超分辨率技术的gpu加速方法
DE102013203600A1 (de) Bildverarbeitungsvorrichtung und Bildbearbeitungsverfahren
DE102015115232A1 (de) Verbessertes Anti-Aliasing durch räumliches und/oder zeitliches Variieren von Sample-Mustern
DE102010053087A1 (de) Auf bidirektionaler, lokaler und globaler Bewegungseinschätzung basierende Bildfrequenzumwandlung
DE102013020810A1 (de) Effiziente Super-Abtastung mit Schattierungs-Strängen pro Pixel
DE102013018139A1 (de) Technik zur Speicherung gemeinsamer Vertices
US10121227B1 (en) Method and system of reconstructing videos by using super-resolution algorithm
DE102008034979A1 (de) Verfahren und Einrichtung zur Erzeugung von fehlerreduzierten hochauflösenden und kontrastverbesserten Bildern
DE102010016140A1 (de) Verfahren zur Hoch- und Rückskalierung von Bildern
DE202017103727U1 (de) Kernprozesse für Blockoperationen an einem Bildprozessor mit einer zweidimensionalen Ausführungsbahnmatrix und einem zweidimensionalen Schieberegister
DE102018109538A1 (de) Techniken zum umfassenden Synchronisieren einer Ausführung von Threads
CN114418853B (zh) 基于相似图像检索的图像超分辨率优化方法、介质及设备
DE102013018136A1 (de) Technik zur Speicherung gemeinsamer Vertices
CN102291531A (zh) 图像处理装置、图像处理方法和程序
DE102019127726A1 (de) Für fernarbeitsplatz-anwendungen geeignetes streaming individueller anwendungsfenster
DE102020133963A1 (de) Systeme und Verfahren zur Abbildrauschunterdrückung unter Verwendung von tiefen gefalteten Netzwerken
DE3854562T2 (de) Demultiplexer für Computervideo.
DE19946683B4 (de) Decodiersystem für komprimierte Datenströme zum gleichzeitigen Reproduzieren stabiler Bilder, Verfahren zum Decodieren komprimierter Datenströme und Informationsspeichermedium zum Speichern von das Verfahren darstellenden Programmbefehlen
US10951870B2 (en) Digital image conversion method and apparatus, storage medium, and device
DE102019119746A1 (de) Bildsignalprozessor, Verfahren zum Betreiben des Bildsignalprozessors und Anwendungsprozessor mit dem Bildsignalprozessor
CN106327428A (zh) 一种基于迁移学习的图像超分辨率方法及系统
DE102013114914A1 (de) Verfahren und System zur grafischen Darstellung unter Verwendung des Metropolis-Lichttransports mit Gradientenbereich
DE102022112459A1 (de) Techniken zum effizienten synchronisieren mehrerer programmthreads
CN112070676B (zh) 一种双通道多感知卷积神经网络的图片超分辨率重建方法
DE102021100205A1 (de) Systeme und verfahren zum verringern von speicheranforderungen in neuronalen netzen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R130 Divisional application to

Ref document number: 102013022558

Country of ref document: DE

Ref document number: 102013022575

Country of ref document: DE

R130 Divisional application to

Ref document number: 102013022558

Country of ref document: DE

Ref document number: 102013022575

Country of ref document: DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final