DE60307935T2 - Bildverarbeitungsverfahren, -programm und -vorrichtung - Google Patents

Bildverarbeitungsverfahren, -programm und -vorrichtung Download PDF

Info

Publication number
DE60307935T2
DE60307935T2 DE2003607935 DE60307935T DE60307935T2 DE 60307935 T2 DE60307935 T2 DE 60307935T2 DE 2003607935 DE2003607935 DE 2003607935 DE 60307935 T DE60307935 T DE 60307935T DE 60307935 T2 DE60307935 T2 DE 60307935T2
Authority
DE
Germany
Prior art keywords
pixel
block
considered
value
string
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.)
Expired - Lifetime
Application number
DE2003607935
Other languages
English (en)
Other versions
DE60307935T8 (de
DE60307935D1 (de
Inventor
Seiko Epson Corporation Hirotsuna Suwa-shi Miura
Seiko Epson Corporation Masaki Suwa-shi Ishikawa
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Application granted granted Critical
Publication of DE60307935D1 publication Critical patent/DE60307935D1/de
Publication of DE60307935T2 publication Critical patent/DE60307935T2/de
Publication of DE60307935T8 publication Critical patent/DE60307935T8/de
Active legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die Erfindung betrifft eine Vorrichtung, ein Programm und ein Verfahren, um, zum Zeitpunkt eines blockweisen Expandierens eines Bildes, basierend auf komprimierten Bilddaten, die mittels JPEG (Joint Photographic Experts Group), MPEG (Moving Picture Experts Group) oder dergleichen komprimiert sind, einen Filterprozess für das expandierte Bild durchzuführen, und insbesondere eine Bildverarbeitungsvorrichtung, ein Bildverarbeitungsprogramm und ein Bildverarbeitungsverfahren, die ausgebildet sind, um den Filterprozess zum Zeitpunkt des Decodierens des Bildes zu vereinfachen und zu beschleunigen, und einen effektiven Filtereffekt zu realisieren.
  • Beschreibung der verwandten Technik
  • Das JPEG-Verfahren als Kompressionsverfahren für ein unbewegtes Bild und das MPEG-Verfahren als Kompressionsverfahren für ein Bewegtbild sind verbreitet bekannt. Diese Blldkompressionsverfahren handhaben einen Block von 8 Pixeln × 8 Pixeln als Verarbeitungseinheit zur Durchführung eines DCT-Prozesses (diskrete Kosinustransformation). Der DCT-Prozess ist ein Prozess, bei dem ein Originalbild in räumliche Frequenzkomponenten zerlegt wird, und er kann das Bild durch Reduzieren von räumlich redundanter Information komprimieren.
  • Im Übrigen werden, im Fall einer Verwendung des JPEG-Verfahrens oder des MPEG-Verfahrens, die folgenden zwei Typen von Störungen erzeugt, durch welche die Bildqualität beeinträchtigt wird. Insbesondere kann, da das JPEG-Verfahren und das MPEG-Verfahren den Block aus 8 Pixeln × 8 Pixeln als Verarbeitungseinheit handhaben, abhängig vom Bild eine Grenze des Blockes als Störung in Erscheinung treten. Dies tritt auf, da der DCT-Prozess ein Prozess ist, bei dem ein Äquivalent zu einer Gleich-Komponente [direct current component] der räumlichen Frequenzkomponenten des Bildes eliminiert wird, und dieser Prozess wird blockweise durchgeführt, so dass ein Durchschnitt der Helligkeit eines jeden Blockes unterschiedlich wird. Diese Störung am Grenzabschnitt wird als Blockstörung (Blockartefakt) bezeichnet.
  • Außerdem werden im Fall des DCT-Prozesses beim JPEG-Verfahren und dem MPEG-Verfahren eine höhere harmonische Komponente der räumlichen Frequenzkomponenten des Bildes als redundante Information eliminiert, so dass Störungen in einem Abschnitt von gegenüber der Umgebung beträchtlichem Helligkeitsunterschied in Erscheinung treten. Falls beispielsweise der DCT-Prozess in dem Fall durchgeführt wird, dass beträchtliche Helligkeitsschwankungen in dem Block auftreten, wie beispielsweise eine im Hintergrund eines natürlichen Bildes vorhandene Person, wird die höhere harmonische Komponente aus den Daten eliminiert, die den originalen Grenzab schnitt bilden, und eine Unschärfestörung tritt an der Grenze auf. Diese Störung wird als Moskito-Effekt bezeichnet.
  • Ein Verfahren zum Verringern von Blockartefakten und dem Moskito-Effekt ist im offengelegten japanischen Patent Nr. 3-46482 beschrieben. Betreffend das darin beschriebene Verfahren (nachfolgend als erstes Beispiel des Standes der Technik bezeichnet), wird ein Filterverfahren in dem Fall durchgeführt, bei dem eine Signalpegeldifferenz zwischen Grenzpixeln, zwischen denen sich die Grenze zueinander benachbarter Blöcke befindet, größer als ein erster Schwellenwert ist, bzw. bei dem Grenzpixel und dem in einer Kette angeordneten Pixel in jedem der Blöcke die Signalpegeldifferenzen gegenüber den Pixeln, die zu dem in demselben Block befindlichen Grenzpixel benachbart sind, kleiner sind als ein zweiter Schwellenwert.
  • Dabei werden in 14 die Signalpegel für Pixelorte X0 und X'0 basierend auf Differenzwerten d0, d1 und d2 der Signalpegel S1, S0, S'0 und S'1 für die Pixelorte X1 und X0 und die Pixelorte X'0 und X'1 korrigiert, die sich auf beiden Seiten der Blockgrenze befinden. Insbesondere sind die neuen Signalpegel S0-new und S'0-new wie folgt. S0-new = (S1 + 2·S0 + S'0)/4 S'0-new = (S0 + 2·S'0 + S'1)/4
  • Außerdem sind, als weiteres Verfahren zum Verringern von Blockartefakten und dem Moskitoeffekt, ein VM (Verifikationsmodell) für MPEG-4 und das Verfahren bekannt, das im offengelegten japanischen Patent Nr. 11-98505 beschrieben ist (nachfolgend als zweites Beispiel des Standes der Technik bezeichnet). Im zweiten Beispiel des Standes der Technik wird bestimmt, ob sich die in 15 dargestellten vertikalen und horizontalen Blockgrenzen in einem Default-Modus oder einem DC-Offset-Modus befinden, und werden entsprechend verarbeitet.
  • In diesem Fall sind Pixelsätze S0, S1 und S2 mit Blockgrenzen B1 und B2 als Basispunkte definiert, und ein Deblocking-Modus [Modus zur Beseitigung von Blockartefakten] wird wahlweise als Default-Modus oder DC-Offset-Modus aus einem Modusbestimmungswert bestimmt, der auf einem Ausmaß eines Blockverzerrungsphänomens basiert. Und wenn dieser als Default-Modus bestimmt ist, wird eine Frequenzinformation bezüglich der Blockgrenzenumgebung für jedes Pixel unter Verwendung eines 4-Punkt-DCT-Kernels erhalten. Wenn dieser in einem Modusbestimmungsstadium als DC-Offset-Modus bestimmt wird, wird bestimmt, ob eine Ausführung des DC-Offset-Modus erforderlich ist, oder nicht, und falls erforderlich wird das Blockverzerrungsphänomen eliminiert.
  • Betreffend das erste Beispiel des Standes der Technik korrigiert dies lediglich die Grenzpixel, so dass der Nachteil besteht, dass dies als Prozess zur Beseitigung der Blockverzerrung nicht ausreicht. Außerdem ist, betreffend das VM und das zweite Beispiel des Standes der Technik, die Verarbeitung kompliziert und die Berechnungslast übermäßig groß.
  • Außerdem ist, im Fall einer hardwaremäßigen Implementierung dieser Verfahren, die Verarbeitung vergleichsweise kompliziert, und so besteht das Problem, dass es schwierig ist, die Schaltungsgröße zu verringern. Vom Standpunkt einer Verkleinerung der Schaltungsgröße wird angestrebt, den Prozess soweit wie möglich zu vereinfachen, sogar wenn dies in einem gewissen Maße zu Lasten der Bildqualität geht. Außerdem wird angestrebt, da eine gewisse Grenze für die installierbare Speicherkapazität besteht, die für eine Operation beim Filterprozess zu belegende Speicherkapazität so klein wie möglich zu machen.
  • IN YUNG-LYUL LEE ET AL.: 'Loop filtering and post-filtering for low-bit-rates moving picture coding' SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, Bd. 16, Nr. 9, Juni 2001 (2001-06), Seiten 871–890, XP004245273 ISSN: 0923-5965 wird ein Filterverfahren beschrieben, bei dem bestimmt wird, welche Filteroperation tatsächlich im räumlichen Gebiet auf Basis der Flags auszuführen ist, die in Abhängigkeit von den DCT-Koeffizienten im Frequenzgebiet gesetzt sind.
  • US-A-6,320,905 beschreibt einen Videosignal-Post-Prozessor, der ein Deblocking eines Signals durch eine Bearbeitung der Blockränder, und zwar insbesondere vertikal und/oder horizontal benachbarter Pixel durchführt. In Abhängigkeit vom Zustand der Grenze wird das empfangene Signal unter Verwendung einer Glättungsfunktion gefiltert.
  • In US-A-5,796,875 werden ein Verfahren und eine Vorrichtung beschrieben, um wahlweise ein Post-Processing dekomprimierter Bilddaten durchzuführen, um ein Auftreten von Blockartefakten zu minimieren, wobei jedes Paar aus sich über eine Blockgrenze erstreckender Pixeln untersucht wird, um zu bestimmen, ob die Grenzpixel gefiltert werden sollten, oder nicht.
  • INHALT DER ERFINDUNG
  • Somit wurde die Erfindung dadurch erzielt, dass man die Aufmerksamkeit auf diese ungelösten Probleme der Verfahren des Standes der Technik gelenkt hat, und ein erstes Ziel von dieser besteht darin, eine Bildverarbeitungsvorrichtung, ein Bildverarbeitungsprogramm und ein Bildverarbeitungsverfahren bereitzustellen, das ausgebildet ist, um den Filterungsprozess beim Dekodieren des Bildes zu vereinfachen und zu beschleunigen und einen effektiven Filterungseffekt zu realisieren. Außerdem besteht ein zweites Ziel von dieser darin, die Bildverarbeitungsvorrichtung, das Bildverarbeitungsprogramm und das Bildverarbeitungsverfahren bereitzustellen, das ausgebildet ist, um die Speicherkapazität, die beim Dekodieren des Bildes für die Operation des Filterprozesses zu belegen ist, zu reduzieren.
  • Um die zuvor beschriebenen Ziele zu erreichen, stellt die Erfindung eine Bildverarbeitungsvorrichtung, ein Bildverarbeitungsprogramm und ein Bildverarbeitungsverfahren gemäß den unabhängigen Ansprüchen bereit. Die abhängigen Ansprüche beziehen sich auf bevorzugte Ausführungsformen.
  • Im Fall einer derartigen Konfiguration wird durch den Filterprozess beurteilt, ob der Differenzwert zwischen dem Wert des betrachteten Pixels und dem Wert des Referenzpixels den Schwellenwert überschreitet, oder nicht, und zwar bei oder nach dem blockweisen Expandieren des Bildes basie rend auf den komprimierten Bilddaten, so dass bestimmt wird, ob die Filteroperation betreffend das betrachtete Pixel basierend lediglich auf dem Beurteilungsergebnis durchzuführen ist, oder nicht. Und wenn bestimmt wird, den Filterprozess betreffend das betrachtete Pixel durchzuführen, wird die Filteroperation basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des Referenzpixels durchgeführt.
  • Dabei hat das Bestimmen, ob die Filteroperation basierend lediglich auf einem einzigen Beurteilungsergebnis durchzuführen ist, oder nicht, die Bedeutung, dies basierend lediglich auf dem Ergebnis der Beurteilung zu bestimmen, ob der Differenzwert zwischen dem Wert des betrachteten Pixels und dem Wert des Referenzpixels den Schwellenwert überschreitet, oder nicht, und zwar im Fall einer Verwendung lediglich eines einzigen Referenzpixels für ein einziges betrachtetes Pixel, wie beispielsweise dem Fall, bei dem der Filterprozess für das betrachtete Pixel lediglich in vertikaler Richtung durchgeführt wird. Außerdem wird, im Fall einer Verwendung einer Mehrzahl von Referenzpixeln für ein einziges betrachtetes Pixel, wie beispielsweise dem Fall eines Durchführens des Filterprozesses für das betrachtete Pixel in horizontaler und vertikaler Richtung, die Anforderung "lediglich" betreffend den Filterprozess in jeder Richtung interpretiert. Insbesondere erfüllt in diesem Fall ein vertikaler Filterprozess die Anforderung "lediglich" in einer Konfiguration, bei der bestimmt wird, ob eine vertikale Filteroperation betreffend das betrachtete Pixel basierend lediglich auf einem einzigen Beurteilungsergebnis durchzuführen ist, oder nicht, jedoch bestimmt wird, ob eine horizontale Filteroperation betreffend dieses betrachtete Pixel basierend auf einer Mehrzahl von Beurteilungsergebnissen durchzuführen ist, oder nicht. Selbstverständlich genügt bei der Erfindung im dazu entgegengesetzten Fall ein horizontaler Filterungsprozess der Anforderung "lediglich". Nachfolgend gilt das Gleiche betreffend die Bildverarbeitungsvorrichtung gemäß Anspruch 2, das Bildverarbeitungsprogramm gemäß den Ansprüchen 9 und 10 und das Bildverarbeitungsverfahren gemäß den Ansprüchen 11 und 12.
  • Außerdem bedeutet das Durchführen der Filteroperation basierend lediglich auf zwei Pixelwerten, das diese basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des Referenzpixels im Fall einer Verwendung lediglich eines einzigen Referenzpixels für ein einziges betrachtetes Pixel durchgeführt wird, wie beispielsweise im Fall einer lediglich in vertikaler Richtung erfolgenden Durchführung des Filterprozesses für das betrachtete Pixel. Außerdem wird, im Fall einer Verwendung einer Mehrzahl von Referenzpixeln für ein einziges betrachtetes Pixel, wie beispielsweise im Fall einer in horizontaler Richtung und in vertikaler Richtung erfolgenden Durchführung des Filterprozesses für das betrachtete Pixel, die Anforderung "lediglich" als in jeder Richtung erfolgender Filterprozess interpretiert. Insbesondere erfüllt in diesem Fall der vertikale Filterprozess die Anforderung "lediglich bei der Konfiguration, bei der dieser die vertikale Filteroperation betreffend das betrachtete Pixel basierend lediglich auf zwei Pixelwerten durchführt, jedoch die horizontale Filteroperation betreffend eben dieses betrachtete Pixel basierend auf drei oder mehr Pixelwerten durchführt. Selbstverständlich erfüllt der horizontale Filterprozess die Anforderung "lediglich" der Erfindung in dem dazu entgegengesetzten Fall. Danach gilt dies auch betreffend die Bildverarbeitungsvorrichtung gemäß Anspruch 2, das Bildverarbeitungsprogramm gemäß den Ansprüchen 9 und 10, und das Bildverarbeitungsverfahren gemäß den Ansprüchen 11 und 12.
  • Außerdem ist die Bildverarbeitungsvorrichtung gemäß Anspruch 2 der Erfindung die Vorrichtung, um, basierend auf den komprimierten Bilddaten, die durch den Bildkomprimierungsprozess zum Durchführen der diskreten Kosinustransformation und des Quantisierungsprozesses für jeden vorbestimmten Block komprimiert sind, den Filterprozess für das expandierte Bild bei oder nach dem Expandieren des Bildes anhand des zuvor beschriebenen Blockes durchzuführen, wobei, in dem Fall, bei dem ein zu dem betrachteten Block horizontal benachbarter Block ein horizontaler Referenzblock ist, ein vertikal zu dem zuvor beschriebenen betrachteten Block benachbarter Block ein vertikaler Referenzblock ist, und weiter ein einzelnes Pixel in dem zuvor beschriebenen betrachteten Block ein betrachtetes Pixel ist, und ein einzelnes Pixel in dem zuvor beschriebenen horizontalen Referenzblock, das sich an einer Grenze zu dem zuvor beschriebenen betrachteten Block und an der gleichen Vertikalposition wie das zuvor beschriebene betrachtete Pixel befindet, ein horizontales Referenzpixel ist, und ein einzelnes Pixel in dem zuvor beschriebenen vertikalen Referenzblock, das sich auf der Grenze zu dem zuvor beschriebenen betrachteten Block und an der gleichen Horizontalposition befindet wie das zuvor beschriebene betrachtete Pixel, ein vertikales Referenzpixel ist, der zuvor beschriebene Filterprozess beurteilt, ob ein Differenzwert zwischen einem Wert des zuvor beschriebenen betrachteten Pixels und ein Wert des zuvor beschriebenen vertikalen Referenzpixels einen Schwellenwert überschreitet, oder nicht, der zuvor beschriebene Filterprozess eine horizontale Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem Wert des zuvor beschriebenen betrachteten Pixels und dem Wert des zuvor beschriebenen horizontalen Referenzpixels durchführt, der zuvor beschriebene Filterprozess bestimmt, ob die vertikale Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem zuvor beschriebenen Beurteilungsergebnis durchzuführen ist, oder nicht, und die vertikale Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem Wert des zuvor beschriebenen betrachteten Pixels und dem Wert des zuvor beschriebenen vertikalen Referenzpixels durchführt.
  • Im Fall einer derartigen Konfiguration wird die horizontale Filteroperation betreffend das betrachtete Pixel durch den Filterprozess basierend lediglich auf dem Wert des betrachteten Pixels und den Wert des horizontalen Referenzpixels bei oder nach dem Expandieren des Bildes pro den vorbestimmten Block basierend auf den komprimierten Bilddaten durchgeführt. Außerdem wird beurteilt, ob der Differenzwert zwischen dem Wert des betrachteten Pixels und dem Wert des vertikalen Referenzpixels den Schwellenwert überschreitet, oder nicht, und es wird bestimmt, ob die vertikale Filteroperation betreffend des betrachtete Pixel basierend lediglich auf dem Beurteilungsergebnis durchzuführen ist, oder nicht. Und wenn bestimmt wird, die vertikale Filteroperation betreffend das betrachtete Pixel durchzuführen, wird die vertikale Filteroperation basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des vertikalen Referenzpixels durchgeführt.
  • Außerdem ist die Bildverarbeitungsvorrichtung gemäß Anspruch 3 der Erfindung dadurch gekennzeichnet, dass die Bildverarbeitungsvorrichtung gemäß Anspruch 2 für gewöhnlich zu einer Bildspeichereinrichtung zum Speichern des zuvor beschriebenen expandierten Bildes in Verbindung steht, und eine Speichereinrichtung zum Bearbeiten für das Speichern von Pixeldaten zum Durchführen des zuvor beschriebenen Filterprozesses aufweist, und bei der, in dem Fall, bei dem eine Mehrzahl von Pixeln in dem zuvor beschriebenen betrachteten Block und in horizontaler Richtung anschließend an die Grenze zum zuvor beschriebenen horizontalen Referenzblock die zuvor beschriebenen betrachteten Pixel sind, der zuvor beschriebene Filterprozess die Pixeldaten einer ersten Pixelkette, die aus der zuvor beschriebenen Mehrzahl von betrachteten Pixeln und dem zuvor beschriebenen horizontalen Referenzpixel besteht, und die Pixeldaten einer zweiten Pixelkette, die aus vertikalen Referenzpixeln besteht, die den zuvor beschriebenen jeweiligen betrachteten Pixeln entsprechen, in die zuvor beschriebene Speichereinrichtung zum Bearbeiten gemeinsam einliest, und die zuvor beschriebene Beurteilung betreffend jedes der zuvor beschriebenen betrachteten Pixel basierend auf den Pixeldaten der zuvor beschriebenen Speichereinrichtung zum Bearbeiten vornimmt, der zuvor beschriebene Filterprozess eine horizontale Filteroperation betreffend die zuvor beschriebenen jeweiligen betrachteten Pixel basierend lediglich auf den Werten der zuvor beschriebenen betrachteten Pixel und dem Wert des zuvor beschriebenen horizontalen Referenzpixels durch Bezugnahme auf die Pixeldaten der zuvor beschriebenen Speichereinrichtung zum Bearbeiten durchführt, und der zuvor beschriebene Filterprozess bestimmt, ob die vertikale Filteroperation betreffend die zuvor beschriebenen jeweiligen betrachteten Pixel basierend lediglich auf den zu den betrachteten Pixeln gehörenden zuvor beschriebenen Beurteilungsergebnissen durchzuführen ist, oder nicht, und die vertikale Filteroperation betreffend die zuvor beschriebenen jeweiligen betrachteten Pixel basierend lediglich auf den Werten der zuvor beschriebenen betrachteten Pixel und den Werten der zuvor beschriebenen vertikalen Referenzpixel durch Bezugnahme auf die Pixeldaten der zuvor beschriebenen Speichereinrichtung zum Bearbeiten durchführt.
  • Im Fall einer derartigen Konfiguration werden die Pixeldaten der ersten Pixelkette und die Pixeldaten der zweiten Pixelkette gemeinsam durch den Filterprozess in die Speichereinrichtung gelesen, und die horizontale Filteroperation betreffend die jeweiligen betrachteten Pixel wird unter Bezug auf die Pixeldaten der Speichereinrichtung zum Bearbeiten und basierend lediglich auf den Werten der betrachteten Pixel und dem Wert des horizontalen Referenzpixels durchgeführt. Außerdem wird beurteilt, ob der Differenzwert zwischen dem Wert des zuvor beschriebenen betrachteten Pixels und dem Wert des zuvor beschriebenen vertikalen Referenzpixels den Schwellenwert für jeden betrachteten Pixel basierend auf den Pixeldaten der Speichereinrichtung zum Bearbeiten überschreitet, oder nicht, und es wird beurteilt, ob die vertikale Filteroperation betreffend jedes betrachtete Pixel basierend lediglich auf dem dem betrachteten Pixel zugehörigen Beurteilungsergebnis durchzuführen ist, oder nicht. Und wenn bestimmt wird, die vertikale Filteroperation betreffend das betrachtete Pixel durchzuführen, wird die vertikale Filteroperation durch Bezugnehmen auf die Pixeldaten der Speichereinrichtung zum Bearbeiten und basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des vertikalen Referenzpixels durchgeführt.
  • Dabei speichert die Speichereinrichtung zum Bearbeiten die Pixeldaten mittels einer beliebigen Einrichtung und in einem beliebigen Zeitraum, und die Pixeldaten können vorab gespeichert werden oder sie können mittels einer von außen kommenden Eingabe gespeichert werden, wenn sich die Vorrichtung in Betrieb befindet, ohne dass diese vorab gespeichert werden. Das Gleiche gilt im Fall eines Speicherns des expandierten Bildes in der Bildspeichereinrichtung.
  • Außerdem ist die Bildverarbeitungsvorrichtung gemäß Anspruch 4 der Erfindung dadurch gekennzeichnet, dass, bei der Bildverarbeitungsvorrichtung gemäß Anspruch 3, jeder der zuvor beschriebe nen Blöcke als rechteckige Bildzone gebildet wird, die aus 2n (n ≥ 1) Pixelelementen in horizontaler Richtung und 2m (m ≥ 1) Pixelelementen in vertikaler Richtung besteht, und diese in vier Zonen, und zwar eine obere linke, eine obere rechte, eine untere linke und eine untere rechte Zone unterteilt wird, die aus n Pixelelementen in horizontaler Richtung und m Pixelelementen in vertikaler Richtung bestehen, und weiter die zuvor beschriebene erste Pixelkette mit dem zuvor beschriebenen horizontalen Referenzpixel und den Pixeln gebildet wird, die zu derselben Zone von den zuvor beschriebenen vier Zonen gehören, der zuvor beschriebene Filterprozess die zuvor beschriebene Filteroperation betreffend alle Pixel des zuvor beschriebenen expandierten Bildes versucht, wobei dabei ein Lesen der zuvor beschriebenen Pixeldaten, die zuvor beschriebene Beurteilung und die zuvor beschriebene Filteroperation als eine Abfolge von Prozessen wiederholt wird, und betreffend das betrachtete Pixel, das zur oberen linken Zone des zuvor beschriebenen betrachteten Blockes gehört, der zuvor beschriebenen Filterprozess die Werte der Referenzpixel des horizontalen Referenzblocks und des vertikalen Referenzblocks, der sich benachbart zu dem zuvor beschriebenen betrachteten Block zur Linken und oberhalb von diesem befindet, für die zuvor beschriebene Beurteilung und die zuvor beschriebene Filteroperation verwendet, betreffend das betrachtete Pixel, das zur oberen rechten Zone des zuvor beschriebenen betrachteten Blockes gehört, der zuvor beschriebene Filterprozess die Werte der Referenzpixel des horizontalen Referenzblocks und des vertikalen Referenzblocks, der sich benachbart zu dem zuvor beschriebenen betrachteten Block zur Rechten und oberhalb von diesem befindet, für die zuvor beschriebene Beurteilung und die zuvor beschriebene Filteroperation verwendet, betreffend das betrachtete Pixel, das zur unteren linken Zone des zuvor beschriebenen betrachteten Blockes gehört, der zuvor beschriebene Filterprozess die Werte der Referenzpixel des horizontalen Referenzblocks und des vertikalen Referenzblocks, der sich benachbart zu dem zuvor beschriebenen betrachteten Block zur Linken und unterhalb von diesem befindet, für die zuvor beschriebene Beurteilung und die zuvor beschriebene Filteroperation verwendet, und betreffend das betrachtete Pixel, das zur unteren rechten Zone des zuvor beschriebenen betrachteten Blockes gehört, der Filterprozess die Werte der Referenzpixel des horizontalen Referenzblocks und des vertikalen Referenzblocks, der sich benachbart zu dem zuvor beschriebenen betrachteten Block zur Rechten und unterhalb von diesem befindet, für die zuvor beschriebene Beurteilung und die zuvor beschriebene Filteroperation verwendet.
  • Im Fall einer derartigen Konfiguration wird der Filterprozess für alle Pixel des expandierten Bildes durchgeführt, während das Lesen der Pixeldaten, die Beurteilung und die Filteroperation als eine Abfolge von Prozessen durch den Filterprozess wiederholt werden.
  • Insbesondere werden betreffend die betrachteten Pixel, die zum oberen linken Bereich des betrachteten Blockes gehören, die Werte der Referenzpixel des horizontalen Referenzblockes, der benachbart zum Referenzblock und zur Linken von diesem liegt, und die Werte der Referenzpixel des vertikalen Referenzblocks, der benachbart zum betrachteten Block und oberhalb von diesem liegt, für die Beurteilung und die Filteroperation verwendet.
  • Außerdem werden betreffend die betrachteten Pixel, die zum oberen rechten Bereich des betrachteten Blockes gehören, die Werte der Referenzpixel des horizontalen Referenzblockes, der benachbart zum Referenzblock und zur Rechten von diesem liegt, und die Werte der Referenzpixel des vertikalen Referenzblocks, der benachbart zum betrachteten Block und oberhalb von diesem liegt, für die Beurteilung und die Filteroperation verwendet.
  • Außerdem werden betreffend die betrachteten Pixel, die zum unteren linken Bereich des betrachteten Blockes gehören, die Werte der Referenzpixel des horizontalen Referenzblockes, der benachbart zum Referenzblock und zur Linken von diesem liegt, und die Werte der Referenzpixel des vertikalen Referenzblocks, der benachbart zum betrachteten Block und unterhalb von diesem liegt, für die Beurteilung und die Filteroperation verwendet.
  • Außerdem werden betreffend die betrachteten Pixel, die zum unteren rechten Bereich des betrachteten Blockes gehören, die Werte der Referenzpixel des horizontalen Referenzblockes, der benachbart zum Referenzblock und zur Rechten von diesem liegt, und die Werte der Referenzpixel des vertikalen Referenzblocks, der benachbart zum betrachteten Block und unterhalb von diesem liegt, für die Beurteilung und die Filteroperation verwendet.
  • Dabei muss zwar n die Bedingung n ≥ 1 erfüllen, jedoch gilt, dass n ≥ 1 und ebenfalls, dass n eine Ganzzahl ist, da es, bedingt durch die Natur der Erfindung, keinen Dezimalwert annimmt. Außerdem gilt, während m einen von n unabhängigen Wert annehmen muss und die Bedingung m ≥ 1 erfüllen muss, dass m ≥ 1 und es auch eine Ganzzahl ist, da es, bedingt durch die Natur der Erfindung, keinen Dezimalwert annimmt.
  • Außerdem ist die Bildverarbeitungsvorrichtung gemäß Anspruch 5 der Erfindung die Bildverarbeitungsvorrichtung nach Anspruch 4, bei der die zuvor beschriebene Bildspeichereinrichtung die Pixeldaten der das zuvor beschriebene expandierte Bild bildenden Pixel in der Reihenfolge von links nach rechts und von oben nach unten speichert, der zuvor beschriebene Filterprozess sich auf einen Zeiger für das vertikale Referenzpixel bezieht, der auf eine Speicheradresse der Pixeldaten der zuvor beschriebenen zweiten Pixelkette in der zuvor beschriebenen Bildspeichereinrichtung zeigt, und die Pixeldaten der zuvor beschriebenen zweiten Pixelkette in die zuvor beschriebene Speichereinrichtung zum Bearbeiten einliest, und außerdem in dem Fall, bei dem die Anzahl von horizontalen Pixeln des zuvor beschriebenen expandierten Bildes X ist und eine vertikale Koordinate des zuvor beschriebenen betrachteten Pixels in dem betrachteten Block y ist, betreffend jede der zuvor beschriebenen Abfolge von Prozessen, der zuvor beschriebene Filterprozess einen Wert addiert, der zur Anzahl der betrachteten Pixel, die im Prozess gemeinsam zu verarbeiten sind, zum Wert des zuvor beschriebenen Zeigers für das vertikale Referenzpixel addiert, wenn der betrachtete Block, welcher als nächster zu bearbeiten ist, ein am weitesten links befindlicher Block in dem zuvor beschriebenen expandierten Bild ist und ein Rest bei einem Dividieren von y durch 2m den Wert "0" hat, der zuvor beschriebene Filterprozess vom Wert des zuvor beschriebenen Zeigers für das vertikale Referenzpixel 2X subtrahiert, wenn der betrachtete Block, welcher als nächster zu verarbeiten ist, der am weitesten links befindliche Block in dem zuvor beschriebenen expandierten Bild ist und der Rest bei einem Dividieren von y durch 2m den Wert m hat, der zuvor beschriebene Filterprozess zum Wert des zuvor beschriebenen Zeigers für das vertikale Referenzpixel 2mX addiert, und wenn der betrachtete Block, welcher als nächster zu verarbeiten ist, der am weitesten links befindliche Block in dem zuvor beschriebenen expandierten Bild ist und der Rest bei einem Dividieren von y durch 2m einen Wert außer "0" oder m hat, der zuvor beschriebene Filterprozess vom Wert des zuvor beschriebenen Zeigers für das vertikale Referenzpixel X subtrahiert.
  • Im Fall einer derartigen Konfiguration wird beim Filterprozess auf den Zeiger für das vertikale Referenzpixel Bezug genommen und die Pixeldaten für die zweite Pixelkette werden in die Speichereinrichtung zum Bearbeiten gelesen. Der Zeiger für das vertikale Referenzpixel wird auf den folgenden Zustand aktualisiert.
  • Als Erstes wird, betreffend jeden der Abfolge von Prozessen, der Wert, der zur Anzahl der betrachteten, im Prozess gemeinsam zu verarbeitenden Pixel äquivalent ist, zum Wert des Zeigers für das vertikale Referenzpixel addiert. Daher bewegt sich der Zeiger für das vertikale Referenzpixel bei jedem der Abfolge von Prozessen nach rechts, und zwar um die Anzahl der im Prozess gemeinsam zu verarbeitenden betrachteten Pixel. Da es sich bei dieser Bewegung lediglich um das Addieren einer vorbestimmten Zahl handelt, kann dies lediglich durch Hinzufügen eines Addierers realisiert werden, falls eine hardwaremäßige Implementierung erfolgen soll.
  • Als Zweites wird, falls der als nächstes zu verarbeitende betrachtete Block der am weitesten links befindliche Block im expandierten Bild ist und der Rest beim Dividieren von y durch 2m ein Wert außer "0" oder m ist, wird X vom Wert des Zeigers für das vertikale Referenzpixel subtrahiert. Daher erfolgt, wenn die Abfolge von Prozessen betreffend alle Pixel in derselben horizontalen Zeile im expandierten Bild abgeschlossen ist, eine Bewegung des Zeigers für das vertikale Referenzpixel zur niedrigsten Stufe des vertikalen Referenzblocks, der sich benachbart zu dem oberhalb von diesem befindlichen betrachteten Block befindet. Da diese Bewegung lediglich in einem Subtrahieren von X besteht, kann dies einfach durch den Addierer implementiert werden, falls diese hardwaremäßig implementiert wird.
  • Als Drittes wird, wenn der als nächstes zu verarbeitende betrachtete Block der am weitesten links befindliche Block im expandierten Bild ist und beim Dividieren von y durch 2m der Rest m beträgt, 2mX zum Wert des Zeigers für das vertikale Referenzpixel addiert. Daher erfolgt, wenn die Abfolge von Prozessen betreffend alle Pixel in derselben horizontalen Zeile im expandierten Bild abgeschlossen ist und ein Fortschreiten des Prozesses in die Zone in der unteren Hälfte des betrachteten Blockes erfolgt, ein Bewegend des Zeigers für das vertikale Referenzpixel auf die höchste Stufe des vertikalen Referenzblocks, der zu dem unterhalb von diesem befindlichen betrachteten Block benachbart ist. Da diese Bewegung einfach darin besteht, X mit 2m zu multiplizieren und dies zu addieren, kann dies einfach durch eine Schiebeeinrichtung und den Addierer implementiert werden, falls dies hardwaremäßig implementiert wird.
  • Als Viertes wird, wenn der als nächstes zu verarbeitende betrachtete Block der am weitesten links befindliche Block im expandierten Bild ist und beim Dividieren von y durch 2m der Rest "0" ist, 2X vom Wert des Zeigers für das vertikale Referenzpixel subtrahiert. Daher erfolgt, wenn die Abfolge von Prozessen betreffend alle Pixel in derselben horizontalen Zeile im expandierten Bild abgeschlossen ist und ein Fortschreiten des Prozesses auf den Block in der unteren Stufe erfolgt, ein Bewegen des Zeigers für das vertikale Referenzpixel auf die unterste Stufe des vertikalen Referenz blocks, der zu dem oberhalb von diesem befindlichen betrachteten Block benachbart ist. Da diese Bewegung einfach darin besteht, X mit 2 zu multiplizieren und dies zu subtrahieren, kann dies einfach durch die Schiebeeinrichtung und den Addierer implementiert werden, falls dies hardwaremäßig implementiert wird.
  • Weiter ist die Bildverarbeitungsvorrichtung nach Anspruch 6 der Erfindung die Bildverarbeitungsvorrichtung nach Anspruch 5, bei der, in dem Fall, bei dem die Pixelkette, die aus einer linken Hälfte der Pixel in derselben horizontalen Zeile in dem zuvor beschriebenen betrachteten Block besteht, eine erste betrachtete Pixelkette ist, die Pixelkette, die aus einer rechten Hälfte von diesen besteht, eine zweite betrachtete Pixelkette ist, und außerdem die Pixelkette, die sich im zuvor beschriebenen horizontalen Referenzblock und zur zuvor beschriebenen ersten betrachteten Pixelkette benachbart zur Linken von dieser befindet und aus der gleichen Anzahl von Pixeln wie die zuvor beschriebene zweite betrachtete Pixelkette besteht, eine erste horizontale Referenzpixelkette ist, und die Pixelkette, die sich im zuvor beschriebenen horizontalen Referenzblock und zur zuvor beschriebenen zweiten betrachteten Pixelkette benachbart zur Rechten von dieser befindet und aus der gleichen Anzahl von Pixeln wie die zuvor beschriebene erste betrachtete Pixelkette besteht, eine zweite horizontale Referenzpixelkette ist, und außerdem die Pixelkette, die aus den vertikalen Referenzpixeln besteht, die den betrachteten Pixeln der zuvor beschriebenen ersten betrachteten Pixelkette entsprechen, eine erste vertikale Referenzpixelkette ist, und die Pixelkette, die aus den vertikalen Referenzpixeln besteht, die den betrachteten Pixeln der zuvor beschriebenen zweiten betrachteten Pixelkette entsprechen, eine zweite vertikale Referenzpixelkette ist, der zuvor beschriebene Filterprozess die Pixeldaten der zuvor beschriebenen zweiten betrachteten Pixelkette, der zuvor beschriebenen zweiten horizontalen Referenzpixelkette, der zuvor beschriebenen ersten vertikalen Referenzpixelkette und der zuvor beschriebenen zweiten vertikalen Referenzpixelkette in die zuvor beschriebene Speichereinrichtung zum Bearbeiten betreffend jede zuvor beschriebene Abfolge von Prozessen einliest, und auch die Pixeldaten der zuvor beschriebenen zweiten betrachteten Pixelkette und der zuvor beschriebenen zweiten horizontalen Referenzpixelkette, die in einem unmittelbar vorhergehenden Prozess gelesen wurden, als die Pixeldaten der zuvor beschriebenen ersten horizontalen Referenzpixelkette und der zuvor beschriebenen ersten betrachteten Pixelkette wiederverwendet, und die zuvor beschriebene Beurteilung und die zuvor beschriebene Filteroperation betreffend alle betrachteten Pixel der zuvor beschriebenen ersten betrachteten Pixelkette und der zuvor beschriebenen zweiten betrachteten Pixelkette durchführt.
  • Im Fall einer derartigen Konfiguration werden beim Filterprozess die Pixeldaten der zweiten betrachteten Pixelkette, der zweiten horizontalen Referenzpixelkette, der ersten vertikalen Referenzpixelkette und der zweiten vertikalen Referenzpixelkette in die Speichereinrichtung zum Bearbeiten für jede Abfolge von Prozessen gelesen, und die Pixeldaten der zweiten betrachteten Pixelkette und der zweiten horizontalen Referenzpixelkette, die im unmittelbar vorhergehenden Prozess gelesen wurden, werden auch als Pixeldaten der ersten horizontalen Referenzpixelkette und der ersten betrachteten Pixelkette wiederverwendet. Und die Beurteilung und die Filteroperation werden betreffend alle betrachteten Pixel der ersten betrachteten Pixelkette und der zweiten betrachteten Pixelkette durchgeführt.
  • Dabei kann entweder das Lesen oder das Wiederverwenden zuerst durchgeführt werden. Jedoch ist es, falls eine Speicherzone zum Speichern der Pixeldaten der zweiten betrachteten Pixelkette und der zweiten horizontalen Referenzpixelkette, die beim unmittelbar vorhergehenden Prozess gelesen wurden, und die Speicherzone zum Speichern der Pixeldaten für die zweite betrachtete Pixelkette und die zweite horizontale Referenzpixelkette, die zu diesem Zeitpunkt zu lesen ist, in der Speichereinrichtung zum Bearbeiten gemeinsam geteilt werden, erforderlich, das Lesen nach dem Wiederverwenden durchzuführen.
  • Außerdem ist es, damit die Wiederverwendungseinrichtung alle oder einen Teil der Pixeldaten der zweiten betrachteten Pixelkette und der zweiten horizontalen Referenzpixelkette, die beim unmittelbar vorhergehenden Prozess gelesen wurde, als alle oder einen Teil der Pixeldaten der ersten horizontalen Referenzpixelkette bzw. der ersten betrachteten Pixelkette wiederverwendet, und im Fall einer Verwendung eines Teiles von diesen, erforderlich, dass die Daten des Pixels enthalten sind, welcher der Referenzpixel in den als erste horizontale Referenzpixelkette verwendeten Pixeldaten sein kann.
  • Außerdem bedeutet das Wiederverwenden auch, dass die Pixeldaten der ersten horizontalen Referenzpixelkette und der ersten betrachtete Pixelkette basierend auf den Pixeldaten der zweiten betrachteten Pixelkette und der zweiten horizontalen Referenzpixelkette, die bei dem unmittelbar vorhergehenden Prozess gelesen wurden, in der Speichereinrichtung zum Bearbeiten erzeugt werden (was Kopieren einschließt), zusätzlich dazu, dass die Pixeldaten für die zweite betrachtete Pixelkette und die zweite horizontale Referenzpixelkette, die im unmittelbar vorhergehenden Prozess gelesen wurden, unverändert als Pixeldaten der ersten horizontalen Referenzpixelkette und der ersten betrachteten Pixelkette in der Speichereinrichtung zum Bearbeiten wiederverwendet werden.
  • Weiter ist die Bildverarbeitungsvorrichtung gemäß Anspruch 7 der Erfindung die Bildverarbeitungsvorrichtung nach Anspruch 6, bei der die zuvor beschriebene Abfolge von Prozessen, die als Erstes für das zuvor beschriebene expandierte Bild durchgeführt wird, die Pixeldaten der zuvor beschriebenen ersten betrachteten Pixelkette, der zuvor beschriebenen zweiten betrachteten Pixelkette, der zuvor beschriebenen zweiten horizontalen Referenzpixelkette, der zuvor beschriebenen ersten vertikalen Referenzpixelkette und der zuvor beschriebenen zweiten vertikalen Referenzpixelkette in die zuvor beschriebene Speichereinrichtung um Bearbeiten einliest, und die zuvor beschriebene Abfolge von Prozessen, die als Zweites und danach durchgeführt wird, die Pixeldaten der zuvor beschriebenen zweiten betrachteten Pixelkette, der zuvor beschriebenen zweiten horizontalen Referenzpixelkette, der zuvor beschriebenen ersten vertikalen Referenzpixelkette und der zuvor beschriebenen zweiten vertikalen Referenzpixelkette in die zuvor beschriebene Speichereinrichtung zum Bearbeiten einliest, und auch die Pixeldaten der zuvor beschriebenen zweiten betrachteten Pixelkette und der zuvor beschriebenen zweiten horizontalen Referenzpixelkette, die in einem unmittelbar vorhergehenden Prozess gelesen wurden, als Pixeldaten der zuvor beschriebenen ersten horizontalen Referenzpixelkette und der zuvor beschriebenen ersten betrachteten Pixelkette wiederverwendet.
  • Im Fall einer derartigen Konfiguration werden, betreffend das expandierte Bild, als Erstes in der Abfolge von Prozessen die Pixeldaten der ersten betrachteten Pixelkette, der zweiten betrachteten Pixelkette, der zweiten horizontalen Referenzpixelkette, der ersten vertikalen Referenzpixelkette und der zweiten vertikalen Referenzpixelkette in die Speichereinrichtung zum Bearbeiten gelesen.
  • Betreffend das expandierte Bild werden bei der Abfolge von Prozessen, die als Zweites und danach durchgeführt werden, die Pixeldaten der zweiten betrachteten Pixelkette, der zweiten horizontalen Referenzpixelkette, der ersten vertikalen Referenzpixelkette und der zweiten vertikalen Referenzpixelkette in die Speichereinrichtung zum Bearbeiten gelesen, und die Pixeldaten der zweiten betrachteten Pixelkette und der zweiten horizontalen Referenzpixelkette, die beim unmittelbar vorhergehenden Prozess gelesen wurden, werden ebenfalls als Pixeldaten der ersten horizontalen Referenzpixelkette bzw. der ersten betrachteten Pixelkette wiederverwendet.
  • Daher werden, während die Pixeldaten der fünf Pixelketten lediglich am Anfang gelesen werden, die Pixeldaten der vier Pixelketten als Zweites und danach gelesen.
  • Weiter ist die Bildverarbeitungsvorrichtung gemäß Anspruch 8 der Erfindung die Bildverarbeitungsvorrichtung nach Anspruch 6 oder 7, bei der im Fall, bei dem der Prozess, bei dem die Pixeldaten der zuvor beschriebenen zweiten betrachteten Pixelkette und der zuvor beschriebenen zweiten horizontalen Referenzpixelkette, die bei einem unmittelbar vorhergehenden Prozess gelesen wurden, als die Pixeldaten der zuvor beschriebenen ersten horizontalen Referenzpixelkette bzw. der zuvor beschriebenen ersten betrachteten Pixelkette kopiert werden, die erste Phase ist, der Prozess, bei dem die Pixeldaten der zuvor beschriebenen ersten vertikalen Referenzpixelkette in die zuvor beschriebene Speichereinrichtung zum Bearbeiten gelesen werden, die zweite Phase ist, der Prozess, bei dem die Pixeldaten der zuvor beschriebenen zweiten vertikalen Referenzpixelkette in die zuvor beschriebene Speichereinrichtung zum Bearbeiten gelesen werden, die dritte Phase ist, der Prozess, bei dem die Pixeldaten der zuvor beschriebenen zweiten betrachteten Pixelkette in die zuvor beschriebene Speichereinrichtung zum Bearbeiten gelesen werden, die vierte Phase ist, der Prozess, bei dem die Pixeldaten der zuvor beschriebenen zweiten horizontalen Referenzpixelkette in die zuvor beschriebene Speichereinrichtung zum Bearbeiten gelesen werden, die fünfte Phase ist, der Prozess, bei dem die zuvor beschriebenen horizontale Filteroperation betreffend jedes betrachtete Pixel der zuvor beschriebenen ersten betrachteten Pixelkette basierend auf den Pixeldaten der zuvor beschriebenen ersten horizontalen Referenzpixelkette durchgeführt wird, die sechste Phase ist, der Prozess, bei dem die zuvor beschriebene Beurteilung und die zuvor beschriebene vertikale Filteroperation betreffend jedes betrachtete Pixel der zuvor beschriebenen ersten betrachteten Pixelkette basierend auf Verarbeitungsergebnissen der zuvor beschriebenen sechsten Phase und den Pixeldaten der zuvor beschriebenen ersten vertikalen Referenzpixelkette durchgeführt wird, die siebte Phase ist, der Prozess, bei dem die zuvor beschriebene horizontale Filteroperation betreffend jedes betrachtete Pixel der zuvor beschriebenen zweiten betrachteten Pixelkette basierend auf den Pixeldaten der zuvor beschriebenen zweiten horizontalen Referenzpixelkette durchgeführt wird, die achte Phase ist, und der Prozess, bei dem die zuvor beschriebene Beurteilung und die zuvor beschriebene vertikale Filteroperation betreffend jedes betrachtete Pixel der zuvor beschriebenen zweiten betrachteten Pixelkette basierend auf den Verarbeitungsergebnissen der zuvor beschriebe nen achten Phase und den Pixeldaten der zuvor beschriebenen zweiten vertikalen Referenzpixelkette durchgeführt wird, die neunte Phase ist, die zuvor beschriebene Abfolge von Prozessen die zuvor beschriebene erste Phase, die zuvor beschriebene zweite Phase, die zuvor beschriebene dritte Phase, die zuvor beschriebene vierte Phase und die zuvor beschriebene fünfte Phase in dieser Reihenfolge durchführt, die zuvor beschriebene sechste Phase und die zuvor beschriebene siebte Phase in dieser Reihenfolge durchführt, die zuvor beschriebene fünfte Phase durchführt, und die zuvor beschriebene achte Phase und die zuvor beschriebene neunte Phase in dieser Reihenfolge durchführt, und auch beginnt, die zuvor beschriebene zweite Phase und die zuvor beschriebene sechste Phase gleichzeitig durchzuführen, und die zuvor beschriebene dritte Phase und die zuvor beschriebene siebte Phase gleichzeitig durchzuführen.
  • Im Fall einer derartige Konfiguration werden, da die erste Phase durch die Abfolge von Prozessen durchgeführt wird, die Pixeldaten der zweiten betrachteten Pixelkette und der zweiten horizontalen Referenzpixelkette, die bei dem unmittelbar vorhergehenden Prozess gelesen wurden, als Pixeldaten der ersten horizontalen Referenzpixelkette und der ersten betrachteten Pixelkette kopiert.
  • Obschon die Pixeldaten der ersten horizontalen Referenzpixelkette und der ersten betrachteten Pixelkette erforderlich sind, um die horizontale Filteroperation betreffend jedes betrachtete Pixel der ersten betrachteten Pixelkette durchzuführen, sind diese durch Durchführen der ersten Phase verfügbar, so dass die sechste Phase durchgeführt werden kann, wenn mit der Durchführung der zweiten Phase begonnen wird. Daher wird mit dem Durchführen der zweiten Phase und der sechsten Phase gleichzeitig begonnen. Daher werden die Pixeldaten der ersten vertikalen Referenzpixelkette in die Speichereinrichtung zum Bearbeiten gelesen, und die horizontale Filteroperation betreffend jedes betrachteten Pixel der ersten betrachteten Pixelkette basierend auf den Pixeldaten der ersten horizontalen Referenzpixelkette wird durchgeführt.
  • Weiter sind, obschon die Ergebnisse der horizontalen Filteroperation und die Pixeldaten der ersten vertikalen Referenzpixelkette benötigt werden, um die Beurteilung und die vertikale Filteroperation betreffend jedes betrachtete Pixel der ersten betrachteten Pixelkette durchzuführen, diese durch Durchführen der zweiten und sechsten Phase verfügbar, so dass die siebte Phase durchgeführt werden kann, wenn mit der Durchführung der dritten Phase begonnen wird. Daher wird mit der Durchführung der dritten und siebten Phase gleichzeitig begonnen. Daher werden die Pixeldaten der zweiten vertikalen Referenzpixelkette in die Speichereinrichtung zum Bearbeiten gelesen, und die Beurteilung und vertikale Filteroperation betreffend jedes betrachtete Pixel der ersten betrachteten Pixelkette werden basierend auf den Verarbeitungsergebnissen der sechsten Phase und den Pixeldaten der ersten vertikalen Referenzpixelkette durchgeführt.
  • Und die vierte und fünfte Phase werden in dieser Reihenfolge durchgeführt, so dass die Pixeldaten der zweiten betrachteten Pixelkette und der zweiten horizontalen Referenzpixelkette in die Speichereinrichtung zum Bearbeiten gelesen werden.
  • Obschon die Pixeldaten der zweiten horizontalen Referenzpixelkette und der zweiten betrachteten Pixelkette benötigt werden, um die horizontale Filteroperation betreffend jedes betrachtete Pixel der zweiten betrachteten Pixelkette durchzuführen, sind diese durch Durchführen der vierten und fünften Phase verfügbar, so dass die achte Phase auf das Ende der fünften Phase folgend durchgeführt werden kann. Somit wird die horizontale Filteroperation betreffend jedes betrachtete Pixel der zweiten betrachteten Pixelkette basierend auf den Pixeldaten der zweiten horizontalen Referenzpixelkette durchgeführt.
  • Weiter sind, obschon die Ergebnisse der horizontalen Filteroperation und die Pixeldaten der zweiten vertikalen Referenzpixelkette benötigt werden, um die Beurteilung und die vertikale Filteroperation betreffend jedes betrachtete Pixel der zweiten betrachteten Pixelkette durchzuführen, diese durch Durchführen der dritten und achten Phase verfügbar, so dass die neunte Phase auf das Ende der achten Phase folgend durchgeführt werden kann. Somit wird die Beurteilung und die vertikale Filteroperation betreffend jedes betrachtete Pixel der zweiten betrachteten Pixelkette basierend auf den Verarbeitungsergebnissen der achten Phase und der Pixeldaten der zweiten vertikalen Referenzpixelkette durchgeführt.
  • Andererseits ist, um die zuvor beschriebenen Ziele zu erreichen, das Bildverarbeitungsprogramm gemäß Anspruch 9 der Erfindung ein Programm, bei dem, basierend auf den komprimierten Bilddaten, die durch den Bildkomprimierungsprozess komprimiert sind, welcher die diskrete Kosinustransformation und den Quantisierungsprozess pro den vorbestimmten Block durchführt, der Computer veranlasst wird, den Filterprozess für das expandierte Bild bei oder nach dem Expandieren des Bildes mittels des zuvor beschriebenen Blockes durchzuführen, wobei, in dem Fall, bei dem ein Block, der zu dem betrachteten Block benachbart ist, der Referenzblock ist, und weiter ein einzelnes Pixel in dem zuvor beschriebenen betrachteten Block das betrachtete Pixel ist, und ein einzelnes Pixel in dem zuvor beschriebenen Referenzblock das Referenzpixel ist, der zuvor beschriebene Filterprozess beurteilt, ob der Differenzwert zwischen dem Wert des zuvor beschriebenen betrachteten Pixels und dem Wert des zuvor beschriebenen Referenzpixels den Schwellenwert überschreitet, oder nicht, bestimmt, ob die Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem zuvor beschriebenen Beurteilungsergebnis durchzuführen ist, oder nicht, und die Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem Wert des zuvor beschriebenen betrachteten Pixels und dem Wert des zuvor beschriebenen Referenzpixels durchführt.
  • Im Fall einer derartigen Konfiguration kann die Aktion, die zu derjenigen der Bildverarbeitungsvorrichtung gemäß Anspruch 1 äquivalent ist, dadurch erzielt werden, dass das Programm durch den Computer gelesen wird und der Prozess durch den Computer gemäß dem gelesenen Programm ausgeführt wird.
  • Weiter ist das Bildverarbeitungsprogramm gemäß Anspruch 10 der Erfindung ein Programm, bei dem, basierend auf den komprimierten Bilddaten, die durch den Bildkomprimierungsprozess komprimiert sind, welcher die diskrete Kosinustransformation und den Quantisierungsprozess pro den vorbestimmten Block durchführt, ein Computer veranlasst wird, den Filterprozess für das expandierte Bild bei oder nach dem Expandieren des Bildes mittels des zuvor beschriebenen Blockes durchzuführen, wobei, in dem Fall, bei dem der horizontal zu dem betrachteten Block benachbarte Block der horizontale Referenzblock ist, der Block, der vertikal benachbart zu dem zuvor beschriebenen betrachteten Block ist, der vertikale Referenzblock ist, und weiter ein einzelnes Pixel in dem zuvor beschriebenen betrachteten Block das betrachtete Pixel ist, und ein einzelnes Pixel in dem zuvor beschriebenen horizontalen Referenzblock, das sich auf einer Grenze zu dem zuvor beschriebenen betrachteten Block und an derselben Vertikalposition wie das zuvor beschriebene betrachtete Pixel befindet, das horizontale Referenzpixel ist, und ein einzelnes Pixel in dem zuvor beschriebenen vertikalen Referenzblock, das sich an der Grenze zu dem zuvor beschriebenen betrachteten Block und an derselben Horizontalposition wie das zuvor beschriebene betrachtete Pixel befindet, ein vertikales Referenzpixel ist, der zuvor beschriebene Filterprozess beurteilt, ob die Differenz zwischen dem Wert des betrachteten Pixels und dem Wert des zuvor beschriebenen vertikalen Referenzpixels den Schwellenwert überschreitet, oder nicht, der zuvor beschriebene Filterprozess die horizontale Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des zuvor beschriebenen horizontalen Referenzpixels durchführt, und der zuvor beschriebene Filterprozess bestimmt, ob die vertikale Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem zuvor beschriebenen Beurteilungsergebnis durchzuführen ist, oder nicht, und die vertikale Filteroperation betreffend das betrachtete Pixel basierend lediglich auf dem Wert des zuvor beschriebenen betrachteten Pixels und dem Wert des zuvor beschriebenen vertikalen Referenzpixels durchführt.
  • Im Fall einer derartigen Konfiguration kann die Aktion, die zu derjenigen der Bildverarbeitungsvorrichtung gemäß Anspruch 2 äquivalent ist, dadurch erzielt werden, dass das Programm durch den Computer gelesen wird und der Prozess durch den Computer gemäß dem gelesenen Programm ausgeführt wird.
  • Andererseits ist, um die zuvor beschriebenen Ziele zu erreichen, das Bildverarbeitungsverfahren gemäß Anspruch 11 der Erfindung das Verfahren, bei dem, basierend auf den komprimierten Bilddaten, die durch den Bildkomprimierungsprozess komprimiert sind, welcher die diskrete Kosinustransformation und den Quantisierungsprozess pro den vorbestimmten Block durchführt, der Filterprozess für das expandierte Bild bei oder nach dem Expandieren des Bildes mittels des zuvor beschriebenen Blockes durchgeführt wird, wobei, in dem Fall, bei dem ein Block, der zu dem betrachteten Block benachbart ist, der Referenzblock ist, und weiter ein einzelnes Pixel in dem zuvor beschriebenen betrachteten Block das betrachtete Pixel ist, und ein einzelnes Pixel in dem zuvor beschriebenen Referenzblock das Referenzpixel ist, der zuvor beschriebene Filterprozess beurteilt, ob der Differenzwert zwischen dem Wert des zuvor beschriebenen betrachteten Pixels und dem Wert des zuvor beschriebenen Referenzpixels den Schwellenwert überschreitet, oder nicht, bestimmt, ob die Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem zuvor beschriebenen Beurteilungsergebnis durchzuführen ist, oder nicht, und die Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem Wert des zuvor beschriebenen betrachteten Pixels und dem Wert des zuvor beschriebenen Referenzpixels durchführt.
  • Weiter ist das Bildverarbeitungsverfahren gemäß Anspruch 12 der Erfindung das Verfahren, bei dem, basierend auf den komprimierten Bilddaten, die durch den Bildkomprimierungsprozess komprimiert sind, welcher die diskrete Kosinustransformation und den Quantisierungsprozess pro den vorbestimmten Block durchführt, der Filterprozess für das expandierte Bild bei oder nach dem Expandieren des Bildes mittels des zuvor beschriebenen Blockes durchgeführt wird, wobei, in dem Fall, bei dem der horizontal zu dem betrachteten Block benachbarte Block der horizontale Referenzblock ist, der Block, der vertikal benachbart zu dem zuvor beschriebenen betrachteten Block ist, der vertikale Referenzblock ist, und weiter ein einzelnes Pixel in dem zuvor beschriebenen betrachteten Block das betrachtete Pixel ist, und ein einzelnes Pixel in dem zuvor beschriebenen horizontalen Referenzblock, das sich auf einer Grenze zu dem zuvor beschriebenen betrachteten Block und an derselben Vertikalposition wie das zuvor beschriebene betrachtete Pixel befindet, ein horizontales Referenzpixel ist, und ein einzelnes Pixel in dem zuvor beschriebenen vertikalen Referenzblock, das sich an der Grenze zu dem zuvor beschriebenen betrachteten Block und an derselben Horizontalposition wie das zuvor beschriebene betrachtete Pixel befindet, das vertikale Referenzpixel ist, der zuvor beschriebene Filterprozess beurteilt, ob die Differenz zwischen dem Wert des betrachteten Pixels und dem Wert des zuvor beschriebenen vertikalen Referenzpixels den Schwellenwert überschreitet, oder. nicht, der zuvor beschriebene Filterprozess die horizontale Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des zuvor beschriebenen horizontalen Referenzpixels durchführt, und der zuvor beschriebene Filterprozess bestimmt, ob die vertikale Filteroperation betreffend das zuvor beschriebene betrachtete Pixel basierend lediglich auf dem zuvor beschriebenen Beurteilungsergebnis durchzuführen ist, oder nicht, und die vertikale Filteroperation betreffend das betrachtete Pixel basierend lediglich auf dem Wert des zuvor beschriebenen betrachteten Pixels und dem Wert des zuvor beschriebenen vertikalen Referenzpixels durchführt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das eine Konfiguration eines Computersystems zeigt, auf das die Erfindung angewandt wird;
  • 2 ist ein Diagramm, das einen betrachteten Block, der Gegenstand eines Deblocking-Filterprozesses bei einem wiedergegebenen Bild ist, und einen zu diesem benachbarten Block zeigt;
  • 3 ist ein Balkendiagramm, das Werte von betrachteten Pixeln v0 bis v7 in derselben horizontalen Zeile in zueinander benachbarten Blöcken A und B zeigt;
  • 4 ist ein Diagramm, das den betrachteten Block, welcher der Gegenstand des Deblocking-Filterprozesses bei dem wiedergegebenen Bild ist, und den zu diesem benachbarten Block zeigt;
  • 5 ist ein Ablaufdiagramm, das einen Hauptsteuerungsprozess zeigt;
  • 6 ist ein Ablaufdiagramm, das einen Pixeldatenleseprozess darstellt;
  • 7 ist ein Ablaufdiagramm, das einen ersten Horizontalfilterprozess zeigt;
  • 8 ist ein Ablaufdiagramm, das einen ersten vertikalen Filterprozess zeigt;
  • 9 ist ein Ablaufdiagramm, das einen zweiten Horizontalfilterprozess zeigt;
  • 10 ist ein Ablaufdiagramm, das einen zweiten vertikalen Filterprozess zeigt;
  • 11 ist ein Ablaufdiagramm, das einen Zeiger-Aktualisierungsprozess zeigt;
  • 12 ist eine Zeittafel, die einen Prozess zur Durchführung des Deblocking-Filterprozesses zeigt;
  • 13 ist ein Diagramm, das den Fall eines Kopierens und Wiederverwendens von Pixeldaten erläutert;
  • 14 ist ein Diagramm, das einen Filterungsprozess bei einem Bildverarbeitungssystem des Standes der Technik zeigt; und
  • 15 ist ein Diagramm, das Pixel zeigt, auf die vom Bildverarbeitungssystem des Standes der Technik Bezug genommen wird.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachfolgend werden die Ausführungsformen der Erfindung mit Bezug auf die Zeichnungen beschrieben. 1 bis 13 sind Diagramme, welche die Ausführungsformen einer Bildverarbeitungsvorrichtung, eines Bildverarbeitungsprogramms und eines Bildverarbeitungsverfahrens zeigen, die in Bezug zur Erfindung stehen.
  • Diese Ausführungsformen wenden die Bildverarbeitungsvorrichtung, das Bildverarbeitungsprogramm und das Bildverarbeitungsverfahren, die in Bezug zur Erfindung stehen, auf den Fall an, bei dem beim Decodieren von Bewegtbilddaten, die in einem MPEG-Format komprimiert sind, und bei der Wiedergabe eines Bewegtbildes durch ein Multitasking-Betriebssystem (OS) in einem Computer 100 wie dargestellt in 1, ein Filterprozess zum Verringern von Blockartefakten (nachfolgend als Deblocking-Filterprozess bezeichnet) in einem Wiedergabebild durchgeführt wird.
  • Als Erstes wird eine Konfiguration eines Computersystems, auf das die Erfindung angewandt wird, mit Bezug auf 1 beschrieben. 1 ist ein Blockdiagramm, das die Konfiguration des Computersystems zeigt, auf das die Erfindung angewandt wird.
  • Wie in 1 dargestellt, besteht der Computer 100 aus: einer CPU 30 zum Steuern einer Berechnung und des gesamten Systems basierend auf einem Steuerprogramm, einem ROM 32, um das Steuerprogramm der CPU 30, etc. in einem vorbestimmten Bereich vorab zu speichern, einem RAM 34, um aus dem ROM 32 gelesene Daten und Berechnungsergebnisse zu speichern, die bei einem Berechnungsprozess der CPU 30 benötigt werden, einer LCDC 36 (Flüssigkristallanzeige-Steuereinrichtung), welche die Daten eines speziellen Bereiches des RAM 34 in ein Bildsignal umwandelt und dieses an eine LCD 44 ausgibt, einem Decoder 38 zum Decodieren von Bewegtbilddaten, einem Post-Filterglied 40 zum Lesen der Daten des speziellen Bereiches des RAM 34 und zum Durchführen des Deblocking-Filterprozesses, einem RGB-Umwandlungsglied 42 zum Durchführen einer Farbumwandlung mit den Daten vom Post-Filterglied 40, und eine LCD 44 (Flüssigkristallanzeigeeinrichtung) zum Bewerkstelligen einer Anzeige basierend auf den Daten vom RGB-Umwandlungsglied 42. Und die CPU 30, das ROM 32, das RAM 34, die LCDC 36 und der Decoder 38 sind untereinander verbunden und sind in der Lage, die Daten über einen Bus 39, der eine Signalleitung zum Übertragen der Daten ist, zu senden und zum empfangen.
  • Das RAM 34 weist ein VRAM 35 als speziellen Bereich auf, um die auf der LCD 44 anzuzeigenden Daten zu speichern, und auf das VRAM 35 kann unabhängig durch die mit dem Bus 39 verbundenen Vorrichtungen, wie beispielsweise die CPU 30 sowie durch das Post-Filterglied 40 zugegriffen werden. Außerdem weist das VRAM 35 mindestens zwei Bereiche auf, die in der Lage sind, Bilddaten eines einzigen Bildschirms der LCD 44 zu speichern, so dass der eine der Bereiche zum Expandieren der Bewegtbilddaten mittels des Decoders 38 und der andere Bereich zum Auslesen durch das Post-Filterglied 40 dient, und diese Bereiche werden abwechselnd umgeschaltet und in einem vorbestimmten Zyklus verwendet.
  • Die LCDC 36 steuert das Post-Filterglied 40 und das RGB-Umwandlungsglied 42 und liest dadurch die Daten des VRAM 35 sequentiell aus einer ersten Adresse in einem vorbestimmten Zyklus aus, so dass die gelesenen Daten an die LCD 44 durch Umwandeln von diesen in das Bildsignal ausgegeben werden. Spezieller liest, gesteuert durch die LCDC 36, das Post-Filterglied 40 die Daten aus dem VRAM 35 aus, führt einen Deblocking-Filterprozess mit den gelesenen Daten durch und gibt diese an das RGB-Umwandlungsglied 42 aus, so dass, gesteuert durch die LCDC 36 das RGB-Umwandlungsglied 42 eine RGB-Umwandlung mit den Daten aus dem Post-Filterglied 40 durchführt und diese an die LCD 44 ausgibt.
  • Der Decoder 38 führt ein sequentielles Decodieren der in den Bewegtbilddaten enthaltenen Bilddaten bei jedem vorbestimmten Zeitpunkt T durch (beispielsweise 20 [ms]). Insbesondere werden, bei einem Befehl von der CPU 30, dass mit dem Decodieren zu beginnen ist, die im MPEG-Format komprimierten Bewegtbilddaten aus dem RAM 34 gelesen, und die Bilddaten werden im MPEG-Format im VRAM 35 basierend auf den gelesenen Bewegtbilddaten decodiert. Im VRAM 35 erfolgt ein Expandieren der Bilddaten in Einheiten von Pixeldaten (YUV-Daten), die einen Farbgrad eines einzigen Pixels der LCD 44 darstellen. Außerdem führt beim MPEG-Format der Decoder 38 ein IDCT-Verfahren (inverse diskrete Kosinustransformation) und einen Bewegungskompensationsprozess des Decodierprozesses durch. Außerdem sind ein Komprimierungsprozess und ein Decodierprozess beim MPEG-Format Beispiele des Standes der Technik.
  • Als Nächstes wird die Konfiguration des Post-Filtergliedes 40 detailliert beschrieben.
  • Beim Post-Filterglied 40 ist die Konfiguration und die interne Verarbeitung hardwaremäßig implementiert, und dieses weist einen Puffer auf, der zum Speichern von 21 Pixel umfassenden Pixeldaten in der Lage ist, das wiedergegebene Bild in eine Mehrzahl von Blöcken unterteilt, und während es die Pixeldaten aus dem VRAM in den Puffer einliest, führt es den Deblocking-Filterprozess in der Einheit eines Blockes basierend auf den gelesenen Pixeldaten durch. Jeder Block ist als rechteckiger Bildbereich aufgebaut, der aus 8 Pixelelementen in horizontaler Richtung und 8 Pixelelementen in vertikaler Richtung besteht, und ist weiter in vier Bereiche unterteilt, und zwar oben links, oben rechts, unten links und unten rechts, die aus 4 Pixelelementen in horizontaler Richtung und 4 Pixelelementen in vertikaler Richtung bestehen.
  • Ein Prinzip des Deblocking-Filterprozesses, das in Bezug zur Erfindung steht, wird nachfolgend mit Bezug auf die 2 bis 4 beschrieben. Die 2 bis 4 sind Diagramme, welche den betrachteten Block, der Gegenstand des Deblocking-Filterprozesses ist, und den benachbart zu diesem liegenden Block zeigen.
  • In 2 befindet sich, zur Linken und zur Rechten eines betrachteten Blockes 10, ein horizontaler Referenzblock 12 benachbart zu diesem, der eine Grenze BL0 sandwichartig einschließt, bzw. ein horizontaler Referenzblock 14 benachbart zu diesem, der eine Grenze BL1 sandwichartig einschließt. Außerdem ist auf der Oberseite und der Unterseite des betrachteten Blockes 10 ein vertikaler Referenzblock 16 benachbart zu diesem, der eine Grenze BL2 sandwichartig einschließt, bzw. ein vertikaler Referenzblock 18 benachbart zu diesem, der eine Grenze BL3 sandwichartig einschließt.
  • Beim Deblocking-Filterprozess, der in Bezug zur Erfindung steht, sind die Pixel in derselben horizontalen Zeile im betrachteten Block 10 die betrachteten Pixel, und die betrachteten 8 Pixel werden gemeinsam durch Filtern verarbeitet. Im Beispiel von 2 sind die Pixel in derselben horizontalen Zeile, die zu einer oberen Hälfte des betrachteten Blockes 10 gehören, die betrachteten Pixel v0 bis v7. Dabei beinhaltet, falls die Pixelkette, die aus den vier Pixeln der linken Hälfte der Pixel in derselben horizontalen Zeile besteht, eine erste betrachtete Pixelkette LSL ist, und die Pixelkette, die aus den vier Pixeln der rechten Hälfte besteht, eine zweite betrachtete Pixelkette LSR ist, die erste betrachtete Pixelkette LSL die betrachteten Pixel v0 bis v3 in der Reihenfolge von links her, und die zweite betrachtete Pixelkette LSR beinhaltet die betrachteten Pixel v4 bis v7 in der Reihenfolge von links her.
  • Außerdem beinhaltet, falls die Pixelkette im horizontalen Referenzblock 12, die benachbart zur ersten betrachteten Pixelkette LSL links von diesem liegt und aus vier Pixeln besteht, eine erste horizontale Referenzpixelkette LXL ist, und die Pixelkette im horizontalen Referenzblock 14, die benachbart zur zweiten betrachteten Pixelkette LSR rechts von dieser liegt und aus vier Pixeln besteht, eine zweite horizontale Referenzpixelkette LXR ist, die erste horizontale Referenzpixelkette LXL einen Referenzpixel rx0 an ihrem rechten Ende, und die zweite horizontale Referenzpixelkette LXL beinhaltet einen Referenzpixel rx 1 an ihrem linken Ende. Das Referenzpixel rx0 wird für eine horizontale Filteroperation betreffend die betrachteten Pixel v0 bis v3 verwendet, und das Referenzpixel rx 1 wird für die horizontale Filteroperation betreffend die betrachteten Pixel v4 bis v7 verwendet.
  • Außerdem beinhaltet, falls die Pixelkette der niedrigsten Stufe im vertikalen Referenzblock 16, die sich oberhalb der ersten betrachteten Pixelkette LSL befindet und aus vier Pixeln besteht, eine erste vertikale Referenzpixelkette LYL ist, und die Pixelkette der niedrigsten Stufe im vertikalen Referenzblock 16, die sich oberhalb der zweiten betrachteten Pixelkette LSR befindet und aus vier Pixeln besteht, eine zweite vertikale Referenzpixelkette LYR ist, beinhaltet die erste vertikale Referenzpixelkette LYL die Referenzpixel ry0 bis ry3 in der Reihenfolge von links her, und die zweite vertikale Referenzpixelkette LYR die betrachteten Pixel ry4 bis ry7 in der Reihenfolge von links her. Die Referenzpixel ry0 bis ry3 werden für die vertikale Filteroperation betreffend die betrachteten Pixel v0 bis v3 verwendet, und die Referenzpixel ry4 bis ry7 werden für die vertikale Filteroperation betreffend die betrachteten Pixel v4 bis v7 verwendet.
  • Im Beispiel von 2 werden, im Fall einer Durchführung der horizontalen Filteroperation betreffend die betrachteten Pixel v0 bis v7 durch den Deblocking-Filterprozess, der in Bezug zur Erfindung steht, die Werte der betrachteten Pixel vx0' bis vx7' nach dem Deblocking-Filterprozess mittels der folgenden Gleichungen (1) bis (8) für die Filteroperation berechnet. Außerdem bezeichnet v0 bis v7 die Werte der betrachteten Pixel an, und rx0 bis rx7 bezeichnen die Werte der Referenzpixel in den folgenden Gleichungen (1) bis (8). vx0' = (v0 + rx0)/2 + (v0 – rx0)/8 (1) vx1' = (v1 + rx0)/2 + (v1 – rx0)/4 (2) vx2' = v2 – (v2 – rx0)/8 (3) vx3' = V3 (4) vx4' = v4 (5) vx5' = (v5 + rx1)/2 + (v5 – rx1)/4 (6) vx6' = (v6 + rx1)/2 + (v6 – rx1)/8 (7) vx7' = (v7 + rx1)/2 (8)
  • Die vorhergehenden Gleichungen (1) bis (8) für die Filteroperation werden wie folgt hergeleitet. 3 ist ein Balkendiagramm, das die Werte der betrachteten Pixel v0 bis v7 in derselben horizontalen Zeile in den zueinander benachbarten Blöcken A und B darstellt.
  • Wie in 3A dargestellt, werden in den zueinander benachbarten Blöcken A und B ein Äquivalent einer Gleich[strom]-Komponente der räumlichen Frequenzkomponente des Bildes durch einen DCT-Prozess bei der Kompression eliminiert, so dass bedingt durch unterschiedliche Helligkeitsdurchschnitte Pegelunterschiede auftreten. Diese Pegelunterschiede werden zu Blockartefakten. Daher wird ein glättendes 'Verbinden' der Bilder der Blöcke A und B zur Reduzierung der Blockartefakte in Betracht gezogen. Ein Durchschnittswert VA der vier Pixel im Block A und ein Durchschnittswert VB der vier Pixel im Block B kann durch die folgenden Gleichungen (9) und (10) berechnet werden. VA = (v4 + v5 + v6 + v7)/4 (9) VB = (v0 + v1 + v2 + v3)/4 (10)
  • Wenn die Größe des Abweichens von den Durchschnittswerten VA und VB eines jeden betrachteten Pixelwertes vi den Wert δvi hat, kann jeder betrachtete Pixelwert vi durch die folgenden Gleichungen (11) und (12) repräsentiert werden. vi = VA + δvi(i = 4 bis7)( 11) vi = VB + δvi(i = 0 bis 3) (12)
  • Nachfolgend sollte, um die Bilder der Blöcke A und B glättend zu verbinden, die Differenz zwischen den Durchschnittswerten VA und VB den Wert "0" haben, und jeder betrachtete Pixelwert vi sollte schrittweise korrigiert werden, wie in 3B dargestellt. Da die Pegeldifferenz Δ der Schritte wie folgt ist, Δ = (VB – VA)/8 (13)kann der korrigierte Wert vx0' des betrachteten Pixelwertes v0 beispielsweise durch die folgende Gleichung (14) berechnet werden. vx0' = (VB + VA)/2 + Δ + δv0 = (5VB + 3VA)/8 + δv0 = {5(v0 – δv0) + 3(v7 – δv7)}/8 + δv0 = {5v0 + 3v7 + 3(δv0 – δv7)}/8 (14)
  • Dabei wird, während die obige Gleichung (14) befolgt werden muss, um einen korrekten Wert zu berechnen, angenommen, dass (δv0 – δv7) klein sei und in der obigen Gleichung (14) weggelassen wird, so dass ein angenäherter Ausdruck erhalten wird, bei dem es sich um die folgende Gleichung (15) handelt. vx0' = (5v0 + 3v7)/8 (15)
  • Außerdem können, betreffend die weiteren betrachteten Pixel im Block B, die korrigierten Werte vx1' bis vx3' in ähnlicher Weise durch die folgenden Gleichungen (16) bis (18) berechnet werden. vx1' = (VB + VA)/2 + 2Δ + δv1 = {6v1 + 2v7 + 2(δv1 – δv7)}/8 (16) vx2' = (VB + VA)/2 + 3Δ + δv2 = {7v2 + v7 + (δv2 – δv7)}/8 (17) vx3' = (VB + VA)/2 + 4Δ + δv3 = v3 (18)
  • Somit werden die näherungsweisen Ausdrücke der folgenden Gleichungen (19) und (20) erzielt. vx 1' = (3v1 + v7)/4 (19) vx2' = (7v2 + v7)/8 (20)
  • Außerdem sind, betreffend die betrachteten Pixel im Block A, diese dieselben, abgesehen von dem Unterschied, dass das Referenzpixel den Wert v0 hat, und die korrigierten Werte v4' bis v7' können durch die folgenden Gleichungen (21) bis (24) berechnet werden. vx4' = (VB + VA)/2 + 3Δ + δv4 = {7v4 + v0 + (δv4 – δv0)}/8 (21) vx5' = (VB + VA)/2 + 2Δ + δv5 = {6v2 + 2v0 + 2(δv5 – δv0)}/8 (22) vx6 = (VB + VA)/2 – Δ + δv6 = {5v6 + 3v0 + (δv6 – δv0)}/8 (23) vx7' = (VB + VA)/2 + δv7 = {v7 + v0 + 2δv7}/2 (24)
  • Somit werden die näherungsweisen Ausdrücke der folgenden Gleichungen (25) bis (28) erhalten. vx4' = v4 (25) vx5' = (3v5 + v0)/4 (26) vx6' = (5v6 + 3v0)/8 (27) vx7' = (v7 + v0)/2 (28)
  • Außerdem werden, da durch Verwendung einer Bitverschiebung anstelle einer Division die Verarbeitung bei einer tatsächlichen Berechnung beschleunigt werden kann, die obigen Gleichungen (15), (19), (20), (18), (25) bis (28) in die obigen Gleichungen (1) bis (8) transformiert und angewandt. Dieser Deblocking-Filterprozess wird für eine horizontale Pixelkette bzw. eine vertikale Pixelkette durchgeführt. Betreffend das Ausmaß der Berechnung erfordert dieser jeweils eine zweimalige Addition und Subtraktion und eine viermalige Bitverschiebung für ein einzelnes Pixel. Die Bitverschiebung bedeutet keine große Last, wenn diese hardwaremäßig implementiert wird. Da ein Post-Filter des Standes der Technik einen Gewichtungsdurchschnitt von maximal 7 × 7 Pixeln pro Pixel verwendet, kann das Ausmaß der Berechnung im Vergleich dazu signifikant vermindert werden.
  • In ähnlicher Weise können, betreffend das Beispiel von 2, im Fall eines Durchführens einer vertikalen Filteroperation betreffend die betrachteten Pixel vx0' bis vx7' durch den Deblocking-Filterprozess, der in Bezug zur Erfindung steht, die Werte vyi' (i = 0 bis 7) der betrachteten Pixel nach dem Deblocking-Filterprozess durch eine Filteroperationsgleichung der folgenden Gleichung (29) berechnet werden. Außerdem gibt ryi den Wert des Referenzpixels bei den folgenden Gleichungen (29) bis (36) an. vyi' = vxi' – (vxi' – ryi)/8 (29)
  • Da beim Beispiel in 2 die betrachteten Pixel v0 bis v7 in der dritten Stufe im betrachteten Block 10 positioniert sind, entspricht die Filteroperationsgleichung der obigen Gleichung 29 der obigen Gleichung (3). Daher entspricht, wenn die betrachteten Pixel v0 bis v7 in der ersten, zweiten und vierten Stufe positioniert sind, die Filteroperationsgleichungen den obigen Gleichungen (1), (2) und (4), wie in den folgenden Gleichungen (30) bis (32) dargestellt, und wenn die betrachteten Pixel v0 bis v7 in der fünften bis achten Stufe positioniert sind, entsprechen die Filteroperationsgleichungen den obigen Gleichungen (5) bis (8), wie in den folgenden Gleichungen (33) bis (36) dargestellt. Jedoch ist, wenn die betrachteten Pixel v0 bis v7 in der fünften bis achten Stufe positioniert sind, wie in 4 dargestellt, die erste vertikale Referenzpixelkette LYL die Pixelkette der höchsten Stufe im vertikalen Referenzblock 18, befindet sich unterhalb der ersten betrachteten Pixelkette LSL und besteht aus vier Pixeln, und die zweite vertikale Referenzpixelkette LYR ist die Pixelkette der höchsten Stufe im vertikalen Referenzblock 18, befindet sich unterhalb der zweiten betrachteten Pixelkette LSR und besteht aus vier Pixeln. vyi' = (vxi' + ryi)/2 + (vxi' – ryi)/8 (30) vyi' = (vxi' + ryi)/2 + (vxi' – ryi)/4 (31) vyi' = vxi (32) vyi' = vxi' (33) vyi' = (vxi' + ryi)/2 + (vxi' – ryi)/4 (34) vyi' = (vxi' + ryi)/2 + (vxi' – ryi)/8 (35) vyi' = (vxi' + ryi)/2 (36)
  • Insbesondere kann der Deblocking-Filterprozess, der in Bezug zur Erfindung steht, durch einen Hauptsteuerungsprozess, einen Pixeldatenleseprozess, eine erste horizontale Filterverarbeitung, eine erste vertikale Filterverarbeitung, eine zweite horizontale Filterverarbeitung und eine zweite vertikale Filterverarbeitung realisiert werden, wie in den Ablaufdiagrammen in den 5 bis 10 dargestellt.
  • Als Erstes wird der Hauptsteuerprozess detailliert mit Bezug auf 5 beschrieben. 5 ist ein Ablaufdiagramm, das den Hauptsteuerprozess darstellt.
  • Falls der Hauptsteuerprozess im Post-Filterglied 40 durchgeführt wird, geht er weiter auf Schritt S100, wie dargestellt in 5.
  • Bei Schritt S100 wird als Zeiger für das betrachtete Pixel *sx eine Adresse gesetzt, bei der die Pixeldaten für das am weitesten links befindliche Pixel der ersten betrachteten Pixelkette LSL, die als Erstes im VRAM 35 zu verarbeiten ist, gespeichert werden, bzw. es wird als Zeiger für das vertikale Referenzpixel *cy eine Adresse gesetzt, bei der die Pixeldaten des am weitesten links befindlichen Pixels der ersten vertikalen Referenzpixelkette LYL, die als Erstes im VRAM 35 zu verarbeiten ist, gespeichert werden. Dabei wird der Zeiger für das betrachtete Pixel *sx verwendet, um aus dem VRAM 35 die Pixeldaten der ersten betrachteten Pixelkette LSL, der zweiten betrachteten Pixelkette LSR und der zweiten horizontalen Referenzpixelkette LXR zu lesen. Außerdem wird der Zeiger für das vertikale Referenzpixel *cy verwendet, um aus dem VRAM 35 die erste vertikale Referenzpixelkette LYL und die zweite vertikale Referenzpixelkette LYR zu lesen.
  • Als Nächstes geht der Ablauf weiter auf Schritt S102, und es wird Bezug genommen auf den Zeiger für das betrachtete Pixel *sx und den Zeiger für das vertikale Referenzpixel *cy, und es wird eine Leseanfrage ausgegeben, um die erste betrachtete Pixelkette LSL, die zweite betrachtete Pixelkette LSR, die zweite horizontale Referenzpixelkette LXR, die erste vertikale Referenzpixelkette LYL und die zweite vertikale Referenzpixelkette LYR aus dem VRAM 35 zu lesen, und der Ablauf geht weiter auf Schritt S104.
  • Bei Schritt S104 wird durch einen ersten vertikalen Filterprozess und einen zweiten vertikalen Filterprozess, die später noch erläutert werden, beurteilt, ob alle Pixeldaten betreffend die betrachteten Pixel der ersten betrachteten Pixelkette LSL und die zweite betrachtete Pixelkette LSR nach dem Filterprozess an das RGB-Umwandlungsglied 42 ausgegeben wurden, oder nicht, und wenn beurteilt wird, dass nach dem Filterprozess alle Pixeldaten an dieses ausgegeben wurden (Ja), geht der Ablauf weiter auf Schritt S106, wenn jedoch eine andere Beurteilung erfolgt (Nein), wird bei Schritt S104 gewartet, bis nach dem Filterprozess alle Pixeldaten an das RGB-Umwandlungsglied 42 ausgegeben werden.
  • Bei Schritt S106 wird ein Zeiger-Aktualisierungsprozess durchgeführt, bei dem der Zeiger für das betrachtete Pixel *sx und der Zeiger für das vertikale Referenzpixel *cy aktualisiert wird, und der Ablauf geht weiter auf Schritt S108, um zu beurteilen, ob der Filterprozess betreffend alle Pixel des wiedergegebenen Bildes abgeschlossen ist, oder nicht, und wenn beurteilt wird, dass der Filterprozess betreffend alle Pixel des wiedergegebenen Bildes beendet ist (Ja), wird die Abfolge der Prozesse beendet, und der Ablauf kehrt zum ursprünglichen Prozess zurück.
  • Wenn andererseits beurteilt wird, dass der Filterprozess betreffend alle Pixel des wiedergegebenen Bildes noch nicht beendet ist (Nein), geht der Ablauf weiter auf Schritt S102.
  • Als Nächstes wird der Pixeldatenleseprozess detailliert in Bezug auf 6 beschrieben. 6 ist ein Ablaufdiagramm, das den Pixeldatenleseprozess darstellt.
  • Der Pixeldatenleseprozess ist der Prozess, bei dem, gemäß der Leseanfrage, die erste betrachtete Pixelkette LSL, die zweite betrachtete Pixelkette LSR, die zweite horizontale Referenzpixelkette LXR, die erste vertikale Referenzpixelkette LYL und die zweite vertikale Referenzpixelkette LYR aus dem VRAM 35 in den Puffer gelesen wird, und falls dies im Post-Filterglied 40 durchgeführt wird, geht der Ablauf auf Schritt S200, wie dargestellt in 6.
  • Bei Schritt S200 wird beurteilt, ob die Leseanfrage ausgegeben wurde, und falls beurteilt wird, dass die Leseanfrage ausgegeben wurde (Ja), geht der Ablauf weiter auf Schritt S202, falls jedoch eine andere Beurteilung erfolgt ist (Nein), wird bei Schritt S200 gewartet, bis die Leseanfrage ausgegeben wird.
  • Bei Schritt S202 wird Bezug genommen auf den Zeiger für das betrachtete Pixel *sx und die U- Daten werden gelesen, die eine U-Komponente der Pixeldaten der betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette LSL darstellen. Da diese Ausführungsform die U-Daten als ein einziges Datenelement für jeweils zwei Pixel bildet, werden die U-Daten der betrachteten Pixel v0 und v1 und die U-Daten der betrachteten Pixel v2 und v3 bei Schritt S202 gelesen. Außerdem wird betreffend die U-Daten einer Beschleunigung der Verarbeitung Priorität eingeräumt, und es wird kein Deblocking-Filterprozess durchgeführt, da kein signifikanter Effekt erzielt wird, sogar wenn der Filterprozess durchgeführt wird.
  • Als Nächstes geht der Ablauf weiter auf Schritt S204, und es wird Bezug genommen auf den Zeiger für das betrachtete Pixel *sx und die U-Daten der Pixeldaten der betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR werden gelesen, und der Ablauf geht auf Schritt S206.
  • Als Nächstes geht der Ablauf auf Schritt S206, und es wird Bezug genommen auf den Zeiger für das betrachtete Pixel *sx und es werden die V-Daten gelesen, die eine V-Komponente der Pixeldaten der betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette LSL darstellen. Da diese Ausführungsform die V-Daten als ein einziges Datenelement für jeweils zwei Pixel bildet, werden die V-Daten der betrachteten Pixel v0 und v1 und die V-Daten der betrachteten Pixel v2 und v3 bei Schritt S206 gelesen. Außerdem wird betreffend die V-Daten einer Beschleunigung der Verarbeitung Priorität eingeräumt, und es wird kein Deblocking-Filterprozess durchgeführt, da kein signifikanter Effekt erzielt wird, sogar wenn der Filterprozess durchgeführt wird.
  • Als Nächstes geht der Ablauf weiter auf Schritt S208, und es wird Bezug genommen auf den Zeiger für das betrachtete Pixel *sx und die V-Daten der Pixeldaten der betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR werden gelesen, und der Ablauf geht auf Schritt S210.
  • Bei Schritt S210 wird betreffend das wiedergegebene Bild beurteilt, ob es sich um ein erstes Lesen handelt, oder nicht, und wenn beurteilt wird, dass es sich um das erste Lesen handelt (Ja), geht der Ablauf weiter auf Schritt S202, und es wird Bezug genommen auf den Zeiger für das betrachtete Pixel *sx und es werden Y-Daten gelesen, die eine Y-Komponente der Pixeldaten der betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette LSL darstellen. Da bei dieser Ausführungsform die Y-Daten als ein einziges Datenelement pro Pixel gebildet sind, erfolgt das Lesen der V-Daten der betrachteten Pixel v0 und v3 in Schritt S212.
  • Als Nächstes geht der Ablauf weiter auf Schritt S214, und es wird Bezug genommen auf den Zeiger für das vertikale Referenzpixel *cy, um die Y-Daten der Pixeldaten der betrachteten Pixel ry0 bis ry3 der ersten vertikalen Referenzpixelkette LYL zu lesen, und dann geht der Ablauf weiter auf Schritt S216 und es wird Bezug genommen auf den Zeiger für das vertikale Referenzpixel *cy, um die Y-Daten der Pixeldaten der betrachteten Pixel ry4 bis ry7 der zweiten vertikalen Referenzpixelkette LYR zu lesen, und der Ablauf geht weiter auf Schritt S218.
  • Bei Schritt S218 wird Bezug genommen auf den Zeiger für das betrachtete Pixel *sx, und es werden die Y-Daten der Pixeldaten der betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR gelesen, und der Ablauf geht weiter auf Schritt S220, und es wird Bezug genommen auf den Zeiger für das betrachtete Pixel *sx und es werden die Y-Daten der Pixeldaten der betrachteten Pixel (einschließlich des Referenzpixels rx1) der zweiten horizontalen Referenzpixelkette LXR zu lesen, so dass die Abfolge von Prozessen beendet wird und wieder zum ursprünglichen Prozess zurückgekehrt wird.
  • Wenn andererseits bei Schritt S210 beurteilt wird, dass das wiedergegebene Bild schon das zweite Mal gelesen wird (Nein), geht der Ablauf weiter auf Schritt S222, und es werden die Pixeldaten der zweiten horizontalen Referenzpixelkette LXR in den Puffer kopiert, die in Schritt S220 zuletzt als Pixeldaten der betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette LSL gelesen wurden, und der Ablauf geht weiter auf Schritt S224, und es werden in den Puffer die Daten kopiert, die sich auf das am weitesten rechts befindliche Pixel der Pixeldaten der zweiten betrachteten Pixelkette LSR beziehen, die in Schritt S220 zuletzt als Pixeldaten eines Referenzpixels rx0 der ersten horizontalen Referenzpixelkette LXL gelesen wurden, und der Ablauf geht weiter auf Schritt S214.
  • Als Nächstes wird der erste horizontale Filterprozess detailliert mit Bezug auf 7 beschrieben. 7 ist ein Ablaufdiagramm, das den ersten horizontalen Filterprozess darstellt.
  • Der erste horizontale Filterprozess ist der Prozess, bei dem die horizontale Filteroperation betreffend die betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette LSL durchgeführt wird, und falls die Durchführung im Post-Filterglied 40 erfolgt, geht der Ablauf weiter auf Schritt S300, wie dargestellt in 7.
  • Bei Schritt S300 wird durch den Pixeldatenleseprozess beurteilt, ob die Y-Daten der betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette LSL und des Referenzpixels rx0 der ersten horizontalen Referenzpixelkette LXL im Puffer verfügbar geworden sind, oder nicht, und wenn beurteilt wird, dass die Pixeldaten durch Lesen oder Kopieren verfügbar geworden sind (Ja), geht der Ablauf weiter auf die Schritte S302 bis S312, wenn jedoch eine andere Beurteilung erfolgt (Nein), wird bei Schritt S300 gewartet, bis die Pixeldaten verfügbar werden.
  • Die Schritte S302 bis S312 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S302 wird ein Beurteilungswert L0 berechnet, und zwar ob ein Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels v0 und dem Wert des Referenzpixels rx0 einen konstanten Wert C1 überschreitet, oder nicht, und zwar durch die folgende Gleichung (37), und der Ablauf geht weiter auf die Schritte S314, S320, S326 und S332. Dabei ist der konstante Wert C1 auf "32" gesetzt, wobei der maximale Wert des Pixels den Wert "255" hat. Dies ist dadurch begründet, dass, wenn der konstante Wert C1 so festgesetzt ist, dass er übermäßig viel größer ist als "32", eine Durchführung der Filterverarbeitung ohne Notwendigkeit erfolgt und der Durchsatz zunimmt, so dass keine Beschleunigung der Filterverarbeitung mehr erfolgen kann, und umgekehrt erfolgt, wenn dieser übermäßig viel kleiner als "32" gesetzt ist, keine Durchführung der Filterverarbeitung, sogar wenn diese durchgeführt werden sollte, so dass kein effektiver Filtereffekt erwartet werden kann. L0 = (|v0 – rx0| ≤ C1) (37)
  • In der obigen Gleichung (37) hat L0 den Wert "1", wenn die in Klammern stehende Berechnungsgleichung erfüllt ist, und hat den Wert "0", wenn diese nicht erfüllt ist. Danach ist der Ablauf derselbe in den Schritten S304, S306, S404, S413, S420, S429, S502, S504, S506, S604, S613, S620 und S629.
  • Bei Schritt S304 wird ein Beurteilungswert L1 berechnet, und zwar ob ein Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels v1 und dem Wert des betrachteten Pixels v0 einen konstanten Wert C2 überschreitet, oder nicht, und zwar durch die folgende Gleichung (38), und der Ablauf geht weiter auf die Schritte S314, S320, S326 und S332. Dabei ist der konstante Wert C2 auf "16" gesetzt, wobei der maximale Wert des Pixels den Wert "255" hat. Dies ist dadurch begründet, dass, wenn der konstante Wert C2 so festgesetzt ist, dass er übermäßig viel größer ist als "16 eine Durchführung der Filterverarbeitung ohne Notwendigkeit erfolgt und der Durchsatz zunimmt, so dass keine Beschleunigung der Filterverarbeitung mehr erfolgen kann, und umgekehrt erfolgt, wenn dieser übermäßig viel kleiner als "16" gesetzt ist, keine Durchführung der Filterverarbeitung, sogar wenn diese durchgeführt werden sollte, so dass kein effektiver Filtereffekt erwartet werden kann. L1 = (|v1 – v0| ≤ C2) (38)
  • Bei Schritt S306 wird ein Beurteilungswert L2, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels v2 und der Wert des betrachteten Pixels v1 den konstanten Wert C2 überschreitet, oder nicht, durch die folgende Gleichung (39) berechnet, und der Ablauf geht weiter auf die Schritte S314, S320, S326 und S332. L2 = (|v2 – v1| ≤ C2) (39)
  • Bei Schritt S308 wird der Wert vx0'' nach der horizontalen Filteroperation betreffend das betrachtete Pixel v0 mittels der obigen Gleichung (1) berechnet, und der Ablauf geht weiter auf die Schritte S314, S320, S326 und S332. In Schritt S308 wird der Wert, der als vx0' der obigen Gleichung (1) zu setzen ist, auf vx0'' gesetzt.
  • Bei Schritt S310 wird der Wert vx1'' nach der horizontalen Filteroperation betreffend das betrachtete Pixel v1 durch die obige Gleichung (2) berechnet, und der Ablauf geht weiter auf die Schritte S314, S320, S326 und S332. In Schritt S310 wird der Wert, der als vx 1' der obigen Gleichung (1) zu setzen ist, auf vx1'' gesetzt.
  • Bei Schritt S312 wird der Wert vx2'' nach der horizontalen Filteroperation betreffend das betrachtete Pixel v2 mittels der obigen Gleichung (3) berechnet, und der Ablauf geht weiter auf die Schritte S314, S320, S326 und S332. In Schritt S312 wird der Wert, der als vx2' der obigen Gleichung (3) zu setzen ist, auf vx2'' gesetzt.
  • Die Schritte S314, S320, S326 und S332 sind Prozesse, die im Post-Filterglied 40 als Pipelinepro zess gleichzeitig durchgeführt werden.
  • Bei Schritt S314 wird beurteilt, ob der Beurteilungswert L0 den Wert "1" hat, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L0 den Wert "1" hat (Ja), geht der Ablauf weiter auf die Schritte S316, und es wird vx0'' als neuer Wert vx0' des betrachteten Pixels v0 gesetzt, so dass die Abfolge der Prozesse beendet wird und ein Rückkehr zum ursprünglichen Prozess erfolgt.
  • Bei Schritt S320 wird beurteilt, ob eine UND-Operation der Beurteilungswerte L0 und L, den Wert "1" hat, oder nicht und wenn beurteilt wird, dass die UND-Operation von diesen den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S322, und es wird vx1'' als neuer Wert vx1' des betrachteten Pixel v1 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Bei Schritt S326 wird beurteilt, ob eine UND-Operation der Beurteilungswerte L0 bis L2 den Wert "1" hat, oder nicht, und wenn beurteilt wird, dass die UND-Operation von diesen den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S328, und es wird vx2'' als neuer Wert vx2' des betrachteten Pixels v2 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Bei Schritt S332 wird v3 als neuer Wert vx3' des betrachteten Pixels v3 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Andererseits geht bei Schritt S314, falls beurteilt wird, dass der Beurteilungswert L0 den Wert "0" hat (Nein), der Ablauf weiter auf Schritt S318 und es wird v0 als neuer Wert vx0' des betrachteten Pixels v0 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Wenn andererseits in Schritt S320 beurteilt wird, dass die UND-Operation der Beurteilungswerte L0 und L1 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S324, und es wird v1 als neuer Wert vx 1' des betrachteten Pixels v1 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Wenn andererseits in Schritt S326 beurteilt wird, dass die UND-Operation der Beurteilungswerte L0 bis L2 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S330, und es wird v2 als neuer Wert vx2' des betrachteten Pixels v2 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Als Nächstes wird der erste vertikale Filterprozess detailliert mit Bezug auf 8 beschrieben. 8 ist ein Ablaufdiagramm, das den ersten vertikalen Filterprozess darstellt.
  • Der erste vertikale Filterprozess ist ein Prozess, bei dem die vertikale Filteroperation betreffend die betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette ryi durchgeführt wird, und falls dies im Post-Filterglied 40 durchgeführt wird, geht der Ablauf als Erstes auf Schritt S400, wie in 8 dargestellt.
  • Bei Schritt S400 wird durch den Pixeldatenleseprozess beurteilt, ob die Y-Daten der Referenzpixel ry0 bis ry3 der ersten vertikalen Referenzpixelkette LYL im Puffer verfügbar geworden sind, oder nicht, und wenn beurteilt wird, dass die Pixeldaten durch Lesen oder Kopieren verfügbar geworden sind (Ja), geht der Ablauf weiter auf die Schritt S402, wenn jedoch eine andere Beurteilung erfolgt (Nein), wird bei Schritt S400 gewartet, bis die Pixeldaten verfügbar werden.
  • In Schritt S402 wird durch den ersten vertikalen Filterprozess beurteilt, ob die horizontale Filterverarbeitung betreffend die betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette LSL abgeschlossen wurden, oder nicht, und falls beurteilt wird, dass die Filterverarbeitung abgeschlossen ist (Ja), geht der Ablauf weiter auf die Schritte S404 und S406, wenn jedoch eine andere Beurteilung erfolgt (Nein), geht der Ablauf weiter auf Schritt S400.
  • Die Schritte S404 und S406 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S404 wird der Beurteilungswert L0 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels vx0' und dem Wert des Referenzpixels ry0 einen konstanten Wert C2 überschreitet, oder nicht, und zwar durch die folgende Gleichung (40), und der Ablauf geht weiter auf Schritt S408. Zwar wird hier der konstante Wert C2 verwendet, jedoch wird anstelle von diesem der konstante Wert C1 verwendet, falls die erste betrachtete Pixelkette ryi in der höchsten Stufe oder der niedrigsten Stufe im betrachteten Block 10 positioniert ist. Danach ist der Ablauf in den Schritten S413, S420 und S429 der gleiche. L0 = (|vx0' – ry0| ≤ C2) (40)
  • In Schritt S406 wird der Wert vy0'' nach der vertikalen Filteroperation betreffend das betrachtete Pixel vx0' mittels der obigen Gleichungen (29) bis (36) gemäß der vertikalen Position der ersten betrachteten Pixelkette ryi im betrachteten Block 10 berechnet, und der Ablauf geht weiter auf Schritt S408. In Schritt S406 wird der Wert, der als vy0' der obigen Gleichungen (29) bis (36) zu setzen ist, als vy0'' gesetzt.
  • In Schritt S408 wird beurteilt, ob der Beurteilungswert L0 den Wert "1" hat, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L0 "1" ist (Ja), geht der Ablauf weiter auf Schritt S410, und es wird vy0'' als neuer Wert vy0' des betrachteten Pixels v0 gesetzt, und der Ablauf geht weiter auf Schritt S411 und es werden die U-Daten und die V-Daten der betrachteten Pixel v0 und v1 an das RGB-Umwandlungsglied 42 ausgegeben, und der Ablauf geht weiter auf Schritt S412, um die Y-Daten vy0'' des betrachteten Pixels v0 an das RGB-Umwandlungsglied 42 auszugeben, und dann geht der Ablauf weiter auf die Schritte S413 und S414.
  • Die Schritte S413 und S414 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S413 wird der Beurteilungswert L1 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels vx 1' und dem Wert des Referenzpixels ry1 den konstanten Wert C2 überschreitet, oder nicht, und zwar durch die folgende Gleichung (41), und dann geht der Ablauf weiter auf Schritt S416. L1 = (|vx 1' – ry1| ≤ C2) (41)
  • In Schritt S414 wird der Wert vy1'' nach der vertikalen Filteroperation betreffend das betrachtete Pixel vx 1' durch die obigen Gleichungen (29) bis (36) gemäß der Vertikalposition der ersten betrachteten Pixelkette ryi im betrachteten Block 10 berechnet, und der Ablauf geht auf Schritt S416. In Schritt S414 wird der Wert, der als vy1' der obigen Gleichungen (29) bis (36) zu setzen ist, auf vy 1'' gesetzt.
  • Bei Schritt S416 wird beurteilt, ob der Beurteilungswert L1 "1" ist, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L1 den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S418, und es wird vy1'' als neuer Wert vy1' des betrachteten Pixels v1 gesetzt, und der Ablauf geht weiter auf Schritt S419 und es werden die Y-Daten vy 1'' des betrachteten Pixels v1 an das RGB-Umwandlungsglied 42 ausgegeben, und der Ablauf geht weiter auf die Schritte S420 und S422.
  • Die Schritte S420 und S422 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S420 wird der Beurteilungswert L2 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels vx2' und dem Wert des Referenzpixels ry2 den konstanten Wert C2 überschreitet, oder nicht, und zwar durch die folgende Gleichung (42), und dann geht der Ablauf weiter auf Schritt S424. L2 = (|vx2' – ry2| ≤ C2) (42)
  • In Schritt S422 wird der Wert vy2'' nach der vertikalen Filteroperation betreffend das betrachtete Pixel vx2' durch die obigen Gleichungen (29) bis (36) gemäß der Vertikalposition der ersten betrachteten Pixelkette ryi im betrachteten Block 10 berechnet, und der Ablauf geht auf Schritt S424. In Schritt S422 wird der Wert, der als vy2' der obigen Gleichungen (29) bis (36) zu setzen ist, auf vy2'' gesetzt.
  • Bei Schritt S424 wird beurteilt, ob der Beurteilungswert L2 "1" ist, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L2 den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S426, und es wird vy2'' als neuer Wert vy2' des betrachteten Pixels v2 gesetzt, der Ablauf geht weiter auf Schritt S427 und gibt die U-Daten und die V-Daten der betrachteten Pixel v2 und v3 an das RGB-Umwandlungsglied 42 aus, und der Ablauf geht weiter auf Schritt S428 und es werden die Y-Daten vy2'' des betrachteten Pixels v2 an das RGB-Umwandlungsglied 42 ausgegeben, und der Ablauf geht weiter auf die Schritte S429 und S430.
  • Die Schritte S429 und S430 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzei tig durchgeführt werden.
  • Bei Schritt S429 wird der Beurteilungswert L3 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels vx3 und dem Wert des Referenzpixels ry3 den konstanten Wert C2 überschreitet, oder nicht, und zwar durch die folgende Gleichung (43), und dann geht der Ablauf weiter auf Schritt S432. L3 = (|Vx3' – ry3| ≤ C2) (43)
  • In Schritt S430 wird der Wert vy3'' nach der vertikalen Filteroperation betreffend das betrachtete Pixel vx3' durch die obigen Gleichungen (29) bis (36) gemäß der Vertikalposition der ersten betrachteten Pixelkette ryi im betrachteten Block 10 berechnet, und der Ablauf geht auf Schritt S432. In Schritt S430 wird der Wert, der als vy3' der obigen Gleichungen (29) bis (36) zu setzen ist, auf vy3'' gesetzt.
  • Bei Schritt S432 wird beurteilt, ob der Beurteilungswert L3 "1" ist, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L3 den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S434, und es wird vy3'' als neuer Wert vy3' des betrachteten Pixels v3 gesetzt, und der Ablauf geht weiter auf Schritt S446 und es werden die Y-Daten vy3'' des betrachteten Pixels v3 an das RGB-Umwandlungsglied 42 ausgegeben, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Falls andererseits in Schritt S432 beurteilt wird, dass der Beurteilungswert L3 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S448, und es wird vx3' als neuer Wert vy3' des betrachteten Pixels v3 gesetzt, und der Ablauf geht weiter auf Schritt S446.
  • Falls andererseits in Schritt S424 beurteilt wird, dass der Beurteilungswert L2 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S450, und es wird vx2' als neuer Wert vy2' des betrachteten Pixels v2 gesetzt, und der Ablauf geht weiter auf Schritt S427.
  • Falls andererseits in Schritt S416 beurteilt wird, dass der Beurteilungswert L1 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S452, und es wird vx1' als neuer Wert vy1' des betrachteten Pixels v1 gesetzt, und der Ablauf geht weiter auf Schritt S419.
  • Falls andererseits in Schritt S408 beurteilt wird, dass der Beurteilungswert L0 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S454, und es wird vx0' als neuer Wert vy0' des betrachteten Pixels v0 gesetzt, und der Ablauf geht weiter auf Schritt S411.
  • Als Nächstes wird der zweite horizontale Filterprozess detailliert mit Bezug auf 9 beschrieben. 9 ist ein Ablaufdiagramm, das den zweiten horizontalen Filterprozess darstellt.
  • Der zweite horizontale Filterprozess ist der Prozess, bei dem die horizontale Filteroperation betreffend die betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR durchgeführt wird, und falls er im Post-Filterglied 40 durchgeführt wird, geht der Ablauf zuerst auf einen Schritt S500, wie in 9 dargestellt.
  • Bei Schritt S500 wird durch den Pixeldatenleseprozess beurteilt, ob die Y-Daten der betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR und des Referenzpixels rx1 der zweiten horizontalen Referenzpixelkette LXR im Puffer verfügbar geworden sind, oder nicht, und wenn beurteilt wird, dass die Pixeldaten durch Lesen oder Kopieren verfügbar geworden sind (Ja), geht der Ablauf weiter auf die Schritte S502 bis S512, wenn jedoch eine andere Beurteilung erfolgt (Nein), wird bei Schritt S500 gewartet, bis die Pixeldaten verfügbar werden.
  • Die Schritte S502 bis S512 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S502 wird der Beurteilungswert L7 berechnet, und zwar ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels v7 und dem Wert des Referenzpixels rx1 den konstanten Wert C1 überschreitet, oder nicht, und zwar durch die folgende Gleichung (44), und der Ablauf geht weiter auf die Schritte S514, S520, S526 und S532. L7 = (|v7 – rx1| ≤ C1) (44)
  • Bei Schritt S504 wird der Beurteilungswert L6 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels v6 und dem Wert des betrachteten Pixels v7 den konstanten Wert C2 überschreitet, und zwar mittels der folgenden Gleichung (45), und der Ablauf geht weiter auf die Schritte S514, S520, S526 und S532. L6 = (|v6 – v7| ≤ C2) (45)
  • Bei Schritt S506 wird der Beurteilungswert L5 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels v5 und dem Wert des betrachteten Pixels v6 den konstanten Wert C2 überschreitet, und zwar mittels der folgenden Gleichung (46), und der Ablauf geht weiter auf die Schritte S514, S520, S526 und S532. L5 = (|v5 – v6| ≤ C2) (46)
  • Bei Schritt S508 wird der Wert vx7'' nach der horizontalen Filteroperation betreffend das betrachtete Pixel v7 durch die obige Gleichung (8) berechnet, und der Ablauf geht weiter auf die Schritte S514, S520, S526 und S532. In Schritt S508 wird der Wert, der als vx 7' der obigen Gleichung (8) zu setzen ist, auf vx7'' gesetzt.
  • Bei Schritt S510 wird der Wert vx6'' nach der horizontalen Filteroperation betreffend das betrachtete Pixel v6 durch die obige Gleichung (7) berechnet, und der Ablauf geht weiter auf die Schritte S514, S520, S526 und S532. In Schritt S510 wird der Wert, der als vx6' der obigen Gleichung (7) zu setzen ist, auf vx6'' gesetzt.
  • Bei Schritt S512 wird der Wert vx5'' nach der horizontalen Filteroperation betreffend das betrachtete Pixel v5 durch die obige Gleichung (6) berechnet, und der Ablauf geht weiter auf die Schritte S514, S520, S526 und S532. In Schritt S512 wird der Wert, der als vx5' der obigen Gleichung (6) zu setzen ist, auf vx5'' gesetzt.
  • Die Schritte S514, S520, S526 und S532 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S514 wird beurteilt, ob der Beurteilungswert L0 den Wert "1" hat, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L7 den Wert "1" hat (Ja), geht der Ablauf weiter auf die Schritte S516, und es wird vx 7'' als neuer Wert vx 7' des betrachteten Pixels v7 gesetzt, so dass die Abfolge der Prozesse beendet wird und ein Rückkehr zum ursprünglichen Prozess erfolgt.
  • Bei Schritt S520 wird beurteilt, ob die UND-Operation der Beurteilungswerte L7 und L6 den Wert "1" hat, oder nicht, und wenn beurteilt wird, dass die UND-Operation von diesen den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S522, und es wird vx6'' als neuer Wert vx6' des betrachteten Pixel v6 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Bei Schritt S526 wird beurteilt, ob die UND-Operation der Beurteilungswerte L7 bis L5 den Wert "1" hat, oder nicht, und wenn beurteilt wird, dass die UND-Operation von diesen den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S528, und es wird vx5'' als neuer Wert vx5' des betrachteten Pixels v5 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Bei Schritt S532 wird v4 als neuer Wert vx4' des betrachteten Pixels v4 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Andererseits geht bei Schritt S514, falls beurteilt wird, dass der Beurteilungswert L7 den Wert "0" hat (Nein), der Ablauf weiter auf Schritt S518 und es wird v7 als neuer Wert vx7' des betrachteten Pixels v7 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Wenn andererseits in Schritt S520 beurteilt wird, dass die UND-Operation der Beurteilungswerte L7 und L6 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S524, und es wird v6 als neuer Wert vx6' des betrachteten Pixels v6 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Wenn andererseits in Schritt S526 beurteilt wird, dass die UND-Operation der Beurteilungswerte L7 bis L5 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S530, und es wird v5 als neuer Wert vx5' des betrachteten Pixels v5 gesetzt, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Als Nächstes wird der zweite vertikale Filterprozess mit Bezug auf 10 detailliert beschrieben. 10 ist ein Ablaufdiagramm, das den zweiten vertikalen Filterprozess darstellt.
  • Der zweite vertikale Filterprozess ist der Prozess, bei dem die vertikale Filteroperation betreffend die betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR durchgeführt wird, und falls er im Post-Filterglied 40 durchgeführt wird, geht der Ablauf zuerst auf einen Schritt S600, wie in 10 dargestellt.
  • Bei Schritt S600 wird durch den Pixeldatenleseprozess beurteilt, ob die Y-Daten der Referenzpixel ry4 bis ry7 der zweiten vertikalen Referenzpixelkette LYR im Puffer verfügbar geworden sind, oder nicht, und wenn beurteilt wird, dass die Pixeldaten durch Lesen oder Kopieren verfügbar geworden sind (Ja), geht der Ablauf weiter auf die Schritt S602, wenn jedoch eine andere Beurteilung erfolgt (Nein), wird bei Schritt S600 gewartet, bis die Pixeldaten verfügbar werden.
  • In Schritt S602 wird durch den zweiten vertikalen Filterprozess beurteilt, ob die horizontale Filterverarbeitung betreffend die betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR abgeschlossen wurden, oder nicht, und falls beurteilt wird, dass die Filterverarbeitung abgeschlossen ist (Ja), geht der Ablauf weiter auf die Schritte S604 und S606, wenn jedoch eine andere Beurteilung erfolgt (Nein), geht der Ablauf weiter auf Schritt S600.
  • Die Schritte S604 und S606 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S604 wird der Beurteilungswert L7 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels vx7' und dem Wert des Referenzpixels ry7 einen konstanten Wert C2 überschreitet, oder nicht, und zwar durch die folgende Gleichung (47), und der Ablauf geht weiter auf Schritt S608. Zwar wird hier der konstante Wert C2 verwendet, jedoch wird anstelle von diesem der konstante Wert C1 verwendet, falls die zweite betrachtete Pixelkette LSR in der höchsten Stufe oder der niedrigsten Stufe im betrachteten Block 10 positioniert ist. Danach ist der Ablauf in den Schritten S613, S620 und S629 der gleiche. L7 = (|vx7' – ry7| ≤ C2) (47)
  • In Schritt S606 wird der Wert vy7'' nach der vertikalen Filteroperation betreffend das betrachtete Pixel vx7' mittels der obigen Gleichungen (29) bis (36) gemäß der vertikalen Position der zweiten betrachteten Pixelkette LSR im betrachteten Block 10 berechnet, und der Ablauf geht weiter auf Schritt S608. In Schritt S606 wird der Wert, der als vy7' der obigen Gleichungen (29) bis (36) zu setzen ist, als vy7'' gesetzt.
  • In Schritt S608 wird beurteilt, ob der Beurteilungswert L7 den Wert "1" hat, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L7 "1" ist (Ja), geht der Ablauf weiter auf Schritt S610, und es wird vy7'' als neuer Wert vy7' des betrachteten Pixels v7 gesetzt, und der Ablauf geht weiter auf Schritt S611 und es werden die U-Daten und die V-Daten der betrachteten Pixel v7 und v6 an das RGB-Umwandlungsglied 42 ausgegeben, und der Ablauf geht weiter auf Schritt S612, um die Y-Daten vy7'' des betrachteten Pixels v7 an das RGB-Umwandlungsglied 42 auszugeben, und dann geht der Ablauf weiter auf die Schritte S613 und S614.
  • Die Schritte S613 und S614 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S613 wird der Beurteilungswert L6 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels vx6' und dem Wert des Referenzpixels ry6 den konstanten Wert C2 überschreitet, oder nicht, und zwar durch die folgende Gleichung (48), und dann geht der Ablauf weiter auf Schritt S616. L6 = (|vx6' – ry6| ≤ C2) (48)
  • In Schritt S614 wird der Wert vy6'' nach der vertikalen Filteroperation betreffend das betrachtete Pixel vx6' durch die obigen Gleichungen (29) bis (36) gemäß der Vertikalposition der zweiten betrachteten Pixelkette LSR im betrachteten Block 10 berechnet, und der Ablauf geht auf Schritt S616. In Schritt S614 wird der Wert, der als vy6' der obigen Gleichungen (29) bis (36) zu setzen ist, auf vy6'' gesetzt.
  • Bei Schritt S616 wird beurteilt, ob der Beurteilungswert L6 "1" ist, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L6 den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S618, und es wird vy6'' als neuer Wert vy6' des betrachteten Pixels v6 gesetzt, und der Ablauf geht weiter auf Schritt S619 und es werden die Y-Daten vy6'' des betrachteten Pixels v6 an das RGB-Umwandlungsglied 42 ausgegeben, und der Ablauf geht weiter auf die Schritte S620 und S622.
  • Die Schritte S620 und S622 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S620 wird der Beurteilungswert L5 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels vx5' und dem Wert des Referenzpixels ry5 den konstanten Wert C2 überschreitet, oder nicht, und zwar durch die folgende Gleichung (49), und dann geht der Ablauf weiter auf Schritt S624. L5 = (|vx5' – ry5| ≤ C2)(49)
  • In Schritt S622 wird der Wert vy5'' nach der vertikalen Filteroperation betreffend das betrachtete Pixel vx5' durch die obigen Gleichungen (29) bis (36) gemäß der Vertikalposition der zweiten betrachteten Pixelkette LSR im betrachteten Block 10 berechnet, und der Ablauf geht auf Schritt S624. In Schritt S622 wird der Wert, der als vy5' der obigen Gleichungen (29) bis (36) zu setzen ist, auf vy5'' gesetzt.
  • Bei Schritt S624 wird beurteilt, ob der Beurteilungswert L5 "1" ist, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L5 den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S626, und es wird vy5'' als neuer Wert vy5' des betrachteten Pixels v5 gesetzt, der Ablauf geht weiter auf Schritt S627 und gibt die U-Daten und die V-Daten der betrachteten Pixel v5 und v4 an das RGB-Umwandlungsglied 42 aus, und der Ablauf geht weiter auf Schritt S628 und es werden die Y-Daten vy5'' des betrachteten Pixels v5 an das RGB-Umwandlungsglied 42 ausgegeben, und der Ablauf geht weiter auf die Schritte S629 und S630.
  • Die Schritte S629 und S630 sind Prozesse, die im Post-Filterglied 40 als Pipelineprozess gleichzeitig durchgeführt werden.
  • Bei Schritt S629 wird der Beurteilungswert L4 berechnet, ob der Absolutwert der Differenz zwischen dem Wert des betrachteten Pixels vx4' und dem Wert des Referenzpixels ry4 den konstanten Wert C2 überschreitet, oder nicht, und zwar durch die folgende Gleichung (50), und dann geht der Ablauf weiter auf Schritt S632. L4 = (|vx4' – ry4| ≤ C2) (50)
  • In Schritt S630 wird der Wert vy4'' nach der vertikalen Filteroperation betreffend das betrachtete Pixel vx4' durch die obigen Gleichungen (29) bis (36) gemäß der Vertikalposition der zweiten betrachteten Pixelkette LSR im betrachteten Block 10 berechnet, und der Ablauf geht auf Schritt S632. In Schritt S630 wird der Wert, der als vy4' der obigen Gleichungen (29) bis (36) zu setzen ist, auf vy4'' gesetzt.
  • Bei Schritt S632 wird beurteilt, ob der Beurteilungswert L4 "1" ist, oder nicht, und wenn beurteilt wird, dass der Beurteilungswert L4 den Wert "1" hat (Ja), geht der Ablauf weiter auf Schritt S634, und es wird vy4'' als neuer Wert vy4' des betrachteten Pixels v4 gesetzt, und der Ablauf geht weiter auf Schritt S646 und es werden die Y-Daten vy4'' des betrachteten Pixels v4 an das RGB-Umwandlungsglied 42 ausgegeben, und damit wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • Falls andererseits in Schritt S632 beurteilt wird, dass der Beurteilungswert L4 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S648, und es wird vx4' als neuer Wert vy4' des betrachteten Pixels v4 gesetzt, und der Ablauf geht weiter auf Schritt S646.
  • Falls andererseits in Schritt S624 beurteilt wird, dass der Beurteilungswert L5 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S650, und es wird vx5' als neuer Wert vy5' des betrachteten Pixels v5 gesetzt, und der Ablauf geht weiter auf Schritt S627.
  • Falls andererseits in Schritt S616 beurteilt wird, dass der Beurteilungswert L6 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S652, und es wird vx6' als neuer Wert vy6' des betrachteten Pixels v6 gesetzt, und der Ablauf geht weiter auf Schritt S619.
  • Falls andererseits in Schritt S608 beurteilt wird, dass der Beurteilungswert L7 den Wert "0" hat (Nein), geht der Ablauf weiter auf Schritt S654, und es wird vx7' als neuer Wert vy7' des betrachteten Pixels v7 gesetzt, und der Ablauf geht weiter auf Schritt S611.
  • Als Nächstes wird der Zeiger-Aktualisierungsprozess des obigen Schrittes S106 detailliert mit Bezug auf 11 beschrieben. 11 ist ein Ablaufdiagramm, das den Zeiger-Aktualisierungsprozess darstellt.
  • Wenn der Zeiger-Aktualisierungsprozess im obigen Schritt S106 durchgeführt wird, geht der Ablauf zuerst auf Schritt S700, wie in 11 dargestellt. Außerdem haben bei den folgenden Schritten die horizontalen Pixel des wiedergegebenen Bildes die Anzahl X, und die vertikale Koordinate der ersten betrachteten Pixelkette LSL und der zweiten betrachteten Pixelkette LSR im betrachteten Block 10 ist y.
  • In Schritt S700 wird ein Äquivalent von acht Pixeln zu den Werten des Zeigers für das betrachtete Pixel *sx und des Zeigers für das vertikale Referenzpixel *cy hinzugefügt. Diese Addition bewegt den betrachteten Block 10 und den Zeiger für das vertikale Referenzpixel *cy um einen einzigen Block nach rechts. Falls der betrachtete Block 10 vor der Addition der am weitesten rechts befindliche Block im wiedergegebenen Bild ist, bewegen sich diese zum am weitesten links befindlichen Block, der um eine einzige Stufe niedriger liegt. Da diese Bewegung lediglich eine vorbestimmte Zahl hinzuaddiert, kann dies einfach durch einen Addierer implementiert werden, falls diese hardwaremäßig implementiert wird.
  • In Schritt S702 wird beurteilt, ob der Filterprozess betreffend die betrachteten Pixel des am weitesten rechts befindlichen Blockes im wiedergegebenen Bild beendet ist, oder nicht, und wenn beurteilt wird, dass der Filterprozess beendet ist (Ja), geht der Ablauf weiter auf Schritt S704, wenn jedoch eine andere Beurteilung erfolgt (Nein), wird die Abfolge der Prozesse beendet und es erfolgt eine Rückkehr zum ursprünglichen Prozess.
  • In Schritt S704 wird der Rest der Division von y durch "8" berechnet, der Ablauf geht weiter auf Schritt S706, und es wird beurteilt, ob der berechnete Rest "0" ist, und wenn beurteilt wird, dass der Rest "0" ist (Ja), geht der Ablauf weiter auf Schritt 708 und es wird 2X vom Zeiger für das vertikale Referenzpixel *cy subtrahiert, so dass die Abfolge der Prozesse beendet wird und eine Rückkehr zum ursprünglichen Prozess erfolgt. Diese Subtraktion bewegt den Zeiger für das vertikale Referenzpixel *cy auf die niedrigste Stufe des vertikalen Referenzblocks 16, der oberhalb des betrachteten Blockes 10 und benachbart zu diesem liegt. Da bei dieser Bewegung lediglich X verdoppelt und dieses subtrahiert wird, kann dies lediglich durch die Verschiebeeinrichtung und den Addierer implementiert werden, falls eine hardwaremäßig Implementierung erfolgt.
  • Andererseits geht bei Schritt S706, falls beurteilt wird, dass der berechnete Rest nicht "0" ist (Nein), der Ablauf weiter auf Schritt S710 und es wird beurteilt, ob der berechnete Rest "4" ist, oder nicht, und falls beurteilt wird, dass der Rest "4" ist (Ja), geht der Ablauf weiter auf Schritt S712 und es wird 8X zum Wert des Zeigers für das vertikale Referenzpixel *cy addiert, so dass die Abfolge der Prozesse beendet wird und eine Rückkehr zum ursprünglichen Prozess erfolgt. Durch diese Addition wird der Zeiger für das vertikale Referenzpixel *cy auf die höchste Stufe des vertikalen Referenzblocks 18 bewegt, der unterhalb des betrachteten Blockes 10 benachbart zu diesem liegt. Da bei dieser Bewegung lediglich eine Multiplikation von X mit 8 und eine Addition von diesem erfolgt, kann eine Implementierung durch lediglich die Schiebeeinrichtung und den Addierer erfolgen, falls eine hardwaremäßige Implementierung erfolgt.
  • Andererseits geht bei Schritt S710, falls beurteilt wird, dass der berechnete Rest nicht "4" ist (Nein), der Ablauf weiter auf Schritt S714, und es wird X vom Zeiger für das vertikale Referenzpixel *cy subtrahiert, so dass die Abfolge der Prozesse beendet wird und eine Rückkehr zum ursprünglichen Prozess erfolgt. Diese Subtraktion bewegt den Zeiger für das vertikale Referenzpixel *cy auf die niedrigste Stufe des vertikalen Referenzblockes 16, der oberhalb des betrachteten Blockes 10 und benachbart zu diesem liegt. Da bei dieser Bewegung lediglich X subtrahiert wird, kann eine Implementierung durch lediglich den Addierer im Fall einer hardwaremäßigen Implementierung erfolgen.
  • Als Nächstes wird die Funktionsweise dieser Ausführungsform mit Bezug auf die Zeichnungen beschrieben. 12 ist ein Zeitdiagramm, das den Prozess der Durchführung des Deblocking-Filterprozesses darstellt. Dabei bezeichnet jeder der Zeitpunkte t0 bis t12 den Zeitpunkt, bei dem jeweils eine vorbestimmte Zeit T, die zu 1 Takt des Post-Filtergliedes 40 äquivalent ist, verstrichen ist. Insbesondere bezeichnet jeder der Zeitpunkte t0 bis t12 den Zeitpunkt, bei dem der vorbestimmte Zeitpunkt T seit dem diesem unmittelbar vorhergehenden Zeitpunkt verstrichen ist.
  • Als Erstes setzt das Post-Filterglied 40 zum Zeitpunkt t0 beim Schritt S100 als Zeiger für das betrachtete Pixel *sx die Adresse, bei der die Pixeldaten des am weitesten links befindlichen Pixels der ersten betrachteten Pixelkette ryi, die als Erstes im VRAM 35 zu verarbeiten ist, gespeichert sind, bzw. setzt als Zeiger für das vertikale Referenzpixel *cy die Adresse, bei der die Pixeldaten des am weitesten links befindlichen Pixels der ersten vertikalen Referenzpixelkette LYL, die als Erstes im VRAM 35 zu verarbeiten ist, gespeichert sind. Und bei Schritt S102 wird Bezug genommen auf den Zeiger für das betrachtete Pixel *sx und den Zeiger für das vertikale Referenzpixel *cy, und es wird die Leseanfrage zum Lesen der ersten betrachteten Pixelkette LSL, der zweiten betrachteten Pixelkette LSR, der zweiten horizontalen Referenzpixelkette LXR, der ersten vertikalen Referenzpixelkette LYL und der zweiten vertikalen Referenzpixelkette LYR ausgegeben.
  • Wenn die Leseanfrage zum Zeitpunkt t1 ausgegeben wird, werden bei den Schritten S202 und S204 die U-Daten der betrachteten Pixel v0 und v1, die U-Daten der betrachteten Pixel v2 und v3, die U-Daten der betrachteten Pixel v4 und v5, und die U-Daten der betrachteten Pixel v6 und v7 in das VRAM 35 gelesen.
  • Anschließend werden zum Zeitpunkt t2 bei den Schritten S206 und S208 die V-Daten der betrachteten Pixel v0 und v1, die V-Daten der betrachteten Pixel v2 und v3, die V-Daten der betrachteten Pixel v4 und v5 und die V-Daten der betrachteten Pixel v6 und v7 in das VRAM 35 gelesen.
  • Andererseits werden zum gleichen Zeitpunkt t2 bei den Schritten S222 und S224 die Pixeldaten der zweiten horizontalen Referenzpixelkette LXR kopiert, die zum letzten Zeitpunkt als Pixeldaten der betrachteten Pixel v0 bis v3 der ersten betrachtete Pixelkette ryi gelesen wurden, und es werden die Daten betreffend das am weitesten rechts befindliche Pixel der Pixeldaten der zweiten betrachteten Pixelkette LSR in den Puffer kopiert, die zum letzten Zeitpunkt als Pixeldaten des Referenzpixels rx0 der ersten horizontalen Referenzpixelkette LXL gelesen wurden, wie in 1 dargestellt. 13 ist ein Diagramm, das den Fall des Kopierens und Wiederverwendens der Pixeldaten erläutert.
  • Anschließend wird zum Zeitpunkt t3 durch den Schritt S214 auf den Zeiger für das vertikale Referenzpixel *cy Bezug genommen, und die Y-Daten der Pixeldaten der betrachteten Pixel ry0 bis ry3 der ersten vertikalen Referenzpixelkette LYL werden in das VRAM 35 gelesen.
  • Andererseits sind zum gleichen Zeitpunkt t3 die Y-Daten der betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette ryi und das Referenzpixel rx0 der ersten horizontalen Referenzpixelkette LXL im Puffer verfügbar geworden, und daher werden die Beurteilungswerte L0 bis L2 durch die obigen Gleichungen (37) bis (39) berechnet und vx0'' bis vx2'' werden durch die obigen Gleichungen (1) bis (3) mittels der Schritte S302 bis S312 berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L0 "1" ist, vx0'' als neuer Wert vx0' des betrachteten Pixels v0 durch den Schritt S316 gesetzt, und wenn der Beurteilungswert L0 "0" ist, wird v0 als neuer Wert vx0' des betrachteten Pixels v0 durch den Schritt S318 gesetzt. Außerdem wird, wenn die UND-Verknüpfung der Beurteilungswerte L0 und L1 "1" ist, vx1'' als neuer Wert vx1' des betrachteten Pixels v1 durch den Schritt S322 gesetzt, und wenn die UND-Verknüpfung "0" ist, wird v1 als neuer Wert vx1' des betrachteten Pixels v1 durch den Schritt S324 gesetzt. Außerdem wird, wenn die UND-Verknüpfung der Beurteilungswerte L0 bis L2 "1" ist, vx2'' als neuer Wert vx2' des betrachteten Pixels v2 durch den Schritt S328 gesetzt, und wenn die UND-Verknüpfung "0" ist, wird v2 als neuer Wert vx2' des betrachteten Pixels v2 durch den Schritt S330 gesetzt. Außerdem wird v3 als neuer Wert vx3' des betrachteten Pixels v3 durch den Schritt S332 gesetzt.
  • Anschließend wird zum Zeitpunkt t4 durch den Schritt S216 auf den Zeiger für das vertikale Referenzpixel *cy Bezug genommen, und die Y-Daten der Pixeldaten der Referenzpixel ry4 bis ry7 der zweiten vertikalen Referenzpixelkette LYR werden in das VRAM 35 gelesen.
  • Andererseits sind zum gleichen Zeitpunkt t4 die Y-Daten der Referenzpixel ry0 bis ry3 der ersten vertikalen Referenzpixelkette LYL im Puffer verfügbar geworden, und der horizontale Filterprozess betreffend die betrachteten Pixel v0 bis v3 der ersten betrachteten Pixelkette LSL ist abgeschlossen, und somit wird der Beurteilungswert L0 durch die obige Gleichung (40) bei den Schritten S404 und S406 berechnet, und vy0'' wird durch eine der obigen Gleichungen (29) bis (36) berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L0 "1" ist, vy0'' als neuer Wert vy0' des betrachteten Pixels v0 durch den Schritt S410 gesetzt, und wenn der Beurteilungswert L0 "0" ist, wird vx0 als neuer Wert vy0' des betrachteten Pixels v0 durch den Schritt S454 gesetzt. Und mittels der Schritte S411 und S412 werden die U-Daten und die V-Daten der betrachteten Pixel v0 und v1 an das RGB-Umwandlungsglied 42 ausgegeben, und es werden die Y-Daten vy0'' des betrachteten Pixels v0 an das RGB-Umwandlungsglied 42 ausgegeben. Der Deblocking-Filterprozess betreffend das betrachtete Pixel v0 ist damit abgeschlossen.
  • Anschließend wird zum Zeitpunkt t5 beim Schritt S218 auf den Zeiger für das betrachteten Pixel *sx Bezug genommen, und die Y-Daten der Pixeldaten der betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR in das VRAM 35 gelesen.
  • Andererseits wird zum gleichen Zeitpunkt t5 durch die Schritte S413 und S414 der Beurteilungswert L1 durch die obige Gleichung (41) berechnet und vy1'' wird durch eine der obigen Gleichungen (29) bis (36) berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L1 "1" ist, vy1'' als neuer Wert vy1' des betrachteten Pixels v1 durch Schritt S418 gesetzt, und wenn der Beurteilungswert L1 "0" ist, wird vx 1 als neuer Wert vy1' des betrachteten Pixels v1 durch den Schritt S452 gesetzt. Und bei Schritt S419 werden die Y-Daten vy1'' des betrachteten Pixels v1 an das RGB-Umwandlungsglied 42 ausgegeben. Der Deblocking-Filterprozess betreffend das betrachtete Pixel v1 ist damit abgeschlossen.
  • Anschließend wird zum Zeitpunkt t5 durch den Schritt S220 Bezug genommen auf den Zeiger für das betrachtete Pixel *sx, und die Y-Daten der Pixeldaten der betrachteten Pixel (einschließlich des Referenzpixels rx1) der zweiten horizontalen Referenzpixelkette LXR wird in das VRAM 35 gelesen.
  • Andererseits wird zum gleichen Zeitpunkt t6 der Beurteilungswert L2 durch die obige Gleichung (42) durch die Schritte S420 und S422 berechnet, und vy2'' wird durch eine der obigen Gleichungen (29) bis (36) berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L2 "1" ist, vy2'' als neuer Wert vy2' des betrachteten Pixels v2 durch den Schritt S426 gesetzt, und wenn der Beurteilungswert L2 "0" ist, wird vx2' als neuer Wert vy2' des betrachteten Pixels v2 durch Schritt S450 gesetzt. Und durch die Schritte S427 und S428 werden die U-Daten und V-Daten der betrachteten Pixel v2 und v3 an das RGB-Umwandlungsglied 42 ausgegeben, und die Y-Daten vy2'' des betrachteten Pixels v2 des RGB-Umwandlungsgliedes 42 werden ausgegeben. Der Deblocking-Filterprozess betreffend das betrachtete Pixel v2 ist dadurch abgeschlossen.
  • Anschließend wird zum Zeitpunkt t7 der Beurteilungswert L3 durch die obige Gleichung (43) durch die Schritte S429 und S430 berechnet, und vy3'' wird durch eine der obigen Gleichungen (29) bis (36) berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L3 "1" ist, vy3'' als neuer Wert vy3' des betrachteten Pixels v3 durch Schritt S434 gesetzt, und wenn der Beurteilungswert L3 "0" ist, wird vx3' als neuer Wert vy3' des betrachteten Pixels v3 durch den Schritt S448 gesetzt. Und bei Schritt S446 werden die Y-Daten vy3'' des betrachteten Pixels v3 an das RGB-Umwandlungsglied 42 ausgegeben. Der Deblocking-Filterprozess betreffend das betrachtete Pixel v3 ist damit abgeschlossen.
  • Andererseits sind zum gleichen Zeitpunkt t7 die Y-Daten der betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR und das Referenzpixel rx1 der zweiten horizontalen Referenzpixelkette LXR im Puffer verfügbar geworden, und daher werden die Beurteilungswerte L7 bis L5 durch die obigen Gleichungen (44) bis (46) berechnet und vx7'' bis vx5'' werden durch die obigen Gleichungen (8) bis (6) mittels der Schritte S502 bis S512 berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L7 "1" ist, vx 7'' als neuer Wert vx7' des betrachteten Pixels v7 durch den Schritt S516 gesetzt, und wenn der Beurteilungswert L7 "0" ist, wird v7 als neuer Wert vx7' des betrachteten Pixels v7 durch den Schritt S518 gesetzt. Außerdem wird, wenn die UND-Verknüpfung der Beurteilungswerte L7 und L6 "1" ist, vx6'' als neuer Wert vx6' des betrachteten Pixels v6 durch den Schritt S522 gesetzt, und wenn die UND-Verknüpfung "0" ist, wird v6 als neuer Wert vx6' des betrachteten Pixels v6 durch den Schritt S524 gesetzt. Außerdem wird, wenn die UND-Verknüpfung der Beurteilungswerte L7 bis L5 "1" ist, vx5'' als neuer Wert vx5' des betrachteten Pixels v5 durch den Schritt S528 gesetzt, und wenn die UND-Verknüpfung "0" ist, wird v5 als neuer Wert vx5' des betrachteten Pixels v5 durch den Schritt S530 gesetzt. Außerdem wird v4 als neuer Wert vx4' des betrachteten Pixels v4 durch den Schritt S532 gesetzt.
  • Anschließend sind zum gleichen Zeitpunkt t8 die Y-Daten der Referenzpixel ry4 bis ry7 der zweiten vertikalen Referenzpixelkette LYR im Puffer verfügbar geworden, und der horizontale Filterprozess betreffend die betrachteten Pixel v4 bis v7 der zweiten betrachteten Pixelkette LSR ist abgeschlossen, und daher wird der Beurteilungswert L7 durch die obige Gleichung (47) durch die Schritte S604 und S606 berechnet, und vy7'' wird durch eine der obigen Gleichungen (29) bis (36) berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L7 "1" ist, vy7'' als neuer Wert vy7' des betrachteten Pixels v7 durch den Schritt S610 gesetzt, und wenn der Beurteilungswert L7 "0" ist, wird vx7' als neuer Wert vy7' des betrachteten Pixels v7 durch den Schritt S654 gesetzt. Und durch die Schritte 611 und S612 werden die U-Daten und die V-Daten der betrachteten Pixel v7 und v6 an das RGB-Umwandlungsglied 42 ausgegeben, und die Y-Daten vy7'' des betrachteten Pixels v7 werden an das RGB-Umwandlungsglied 42 ausgegeben. Der Deblocking-Filterprozess betreffend das betrachtete Pixel v7 ist dadurch abgeschlossen.
  • Außerdem wird zum gleichen Zeitpunkt t8 durch die Schritte S700 bis S714 der Zeiger für das betrachtete Pixel *sx und der Zeiger für das vertikale Referenzpixel *cy zu dem Block bewegt, der sich benachbart zum betrachteten Block 10 rechts von diesem befindet, und derselbe Prozess wie der des Zeitpunktes t0 wird mit diesen Block durchgeführt.
  • Als Nächstes wird zum gleichen Zeitpunkt t8 durch die Schritte S613 und S614 der Beurteilungswert L6 durch die obige Gleichung (48) berechnet, und vy6'' wird durch eine der obigen Gleichungen (29) bis (36) berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L6 "1" ist, vy5'' als neuer Wert vy6' des betrachteten Pixels v6 durch Schritt S618 gesetzt, und wenn der Beurteilungswert L6 "0" ist, wird vx6' als neuer Wert vy6' des betrachteten Pixels v6 durch den Schritt S652 gesetzt. Und bei Schritt S619 werden die Y-Daten vy6'' des betrachteten Pixels v6 an das RGB-Umwandlungsglied 42 ausgegeben. Der Deblocking-Filterprozess betreffend das betrachtete Pixel v6 ist damit abgeschlossen.
  • Außerdem wird zum gleichen Zeitpunkt t9 der gleiche Prozess wie beim Zeitpunkt t1 mit dem Block durchgeführt, der sich benachbart zum betrachteten Block 10 auf dessen rechter Seite befindet.
  • Als Nächstes wird zum gleichen Zeitpunkt t10 durch die Schritte S620 und S622 der Beurteilungswert L5 durch die obige Gleichung (49) berechnet, und vy5'' wird durch eine der obigen Gleichungen (29) bis (36) berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L5 "1" ist, vy5'' als neuer Wert vy5' des betrachteten Pixels v5 durch den Schritt S626 gesetzt, und wenn der Beurteilungswert L5 "0" ist, wird vx5' als neuer Wert vy5' des betrachteten Pixels v5 durch Schritt S650 gesetzt. Und durch die Schritte S627 und S628 werden die U-Daten und V-Daten der betrachteten Pixel v5 und v4 an das RGB-Umwandlungsglied 42 ausgegeben, und die Y-Daten vy5'' des betrachteten Pixels v5 des RGB-Umwandlungsgliedes 42 werden ausgegeben. Der Deblocking-Filterprozess betreffend das betrachtete Pixel v5 ist dadurch abgeschlossen.
  • Außerdem wird zum gleichen Zeitpunkt t10 der gleiche Prozess wie beim Zeitpunkt t2 mit dem Block durchgeführt, der sich benachbart zum betrachteten Block 10 auf dessen rechter Seite befindet.
  • Als Nächstes wird zum Zeitpunkt t11 durch die Schritte S629 und S630 der Beurteilungswert L4 durch die obige Gleichung (50) berechnet, und vy4'' wird durch eine der obigen Gleichungen (29) bis (36) berechnet. Zu diesem Zeitpunkt wird, wenn der Beurteilungswert L4 "1" ist, vy4'' als neuer Wert vy4' des betrachteten Pixels v4 durch Schritt S634 gesetzt, und wenn der Beurteilungswert L4 "0" ist, wird vx4 als neuer Wert vy4' des betrachteten Pixels v4 durch den Schritt S648 gesetzt. Und bei Schritt S646 werden die Y-Daten vy4'' des betrachteten Pixels v4 an das RGB-Umwandlungsglied 42 ausgegeben. Der Deblocking-Filterprozess betreffend das betrachtete Pixel v4 ist damit abgeschlossen.
  • Außerdem wird zum gleichen Zeitpunkt t11 der gleiche Prozess wie beim Zeitpunkt t3 mit dem Block durchgeführt, der sich benachbart zum betrachteten Block 10 auf dessen rechter Seite befindet.
  • Somit beurteilt gemäß dieser Ausführungsform der Deblocking-Filterprozess, ob die Differenzwerte zwischen den Werten der betrachteten Pixel v0 bis v7 und die Werte der Referenzpixel ry0 bis ry7 einen Schwellenwert überschreiten, und führt die horizontale Filteroperation betreffend die betrachteten Pixel v0 bis v7 basierend lediglich auf den Werten der betrachteten Pixel v0 bis v7 und die Werte der Referenzpixel rx0 und rx1 durch, bestimmt, ob die vertikale Filteroperation betreffend die betrachteten Pixel v0 bis v7 basierend lediglich auf dem obigen Beurteilungsergebnis durchzuführen ist, oder nicht, und führt die vertikale Filteroperation betreffend die betrachteten Pixel v0 bis v7 basierend lediglich auf den Werten der betrachteten Pixel v0 und v7 und den Werten der Referenzpixel ry0 bis ry7 durch.
  • Somit braucht im Fall des Beurteilens, ob die Filteroperation durchzuführen ist, oder nicht, und beim Durchführen der Filteroperation lediglich Bezug auf die betrachteten Pixel v0 bis v7, die Referenzpixel rx0 und rx1 und die Referenzpixel ry0 bis ry7 Bezug genommen werden, so dass der Deblocking-Filterprozess im Vergleich zu den Fällen des Standes der Technik vereinfacht werden kann. Beispielsweise kann im Fall einer hardwaremäßigen Implementierung des Deblocking-Filterprozesses, wie bei dieser Ausführungsform, die Schaltungsgröße verkleinert werden, und im Fall einer softwaremäßigen Implementierung des Deblocking-Filterprozesses kann die Programmgröße verringert werden. Insbesondere kann, da die Pixel, die auf den Grenzen der horizontalen Referenzblöcke 12 und 14 und der vertikalen Referenzblöcke 16 und 18 positioniert sind, als Referenzpixel rx0 und rx1 und als Referenzpixel ry0 bis ry7 verwendet werden, der Filterprozess vereinfacht werden, ohne dass der Filtereffekt signifikant verringert wird. Außerdem kann die Anzahl der Zugriffsvorgänge auf das VRAM 35 verringert werden, so dass eine Beschleunigung der Verarbeitung erwartet werden kann.
  • Weiter versucht gemäß dieser Ausführungsform der Deblocking-Filterprozess die Filteroperation betreffend alle Pixel des wiedergegebenen Bildes, wobei dabei ein Lesen der Pixeldaten, die Beurteilung und die Filteroperation als Abfolge von Prozessen wiederholt wird, und betreffend das betrachtete Pixel, das zur oberen linken Zone des betrachteten Blockes 10 gehört, verwendet er die Werte der Referenzpixel des horizontalen Referenzblockes 12 und des vertikalen Referenzblockes 16, der benachbart zum betrachteten Block 10, zur Linken und oberhalb von diesem liegt, und zwar für die Beurteilung und die Filteroperation, und betreffend das betrachtete Pixel, das zur oberen rechten Zone des betrachteten Blockes 10 gehört, verwendet er die Werte der Referenzpixel des horizontalen Referenzblockes 14 und des vertikalen Referenzblockes 16, der benachbart zum betrachteten Block 10, zur Rechten und oberhalb von diesem liegt, und zwar für die Beurteilung und die Filteroperation, und betreffend das betrachtete Pixel, das zur unteren linken Zone des betrachteten Blockes 10 gehört, verwendet er die Werte der Referenzpixel des horizontalen Referenzblockes 12 und des vertikalen Referenzblockes 18, der benachbart zum betrachteten Block 10, zur Linken und unterhalb von diesem liegt, und zwar für die Beurteilung und die Filteroperation, und betreffend das betrachtete Pixel, das zur unteren rechen Zone des betrachteten Blockes 10 gehört, verwendet er die Werte der Referenzpixel des horizontalen Referenzblockes 14 und des vertikalen Referenzblockes 18, der benachbart zum betrachteten Block, zur Rechten und unterhalb von diesem liegt, und zwar für die Beurteilung und die Filteroperation.
  • Somit brauchen im Fall eines Durchführens des Deblocking-Filterprozesses für die vier betrachteten Pixel v0 bis v3, lediglich neun Pixel aus dem VRAM 35 gelesen werden, so dass die Anzahl der Lesevorgänge in das VRAM 35 reduziert werden können. Außerdem werden, im Fall eines Beurteilens, ob die Filteroperation auszuführen ist, oder nicht, und die Filteroperation ausgeführt wird, vergleichsweise adäquate Referenzpixel gemäß der Zone verwendet, zu der die betrachteten Pixel v0 bis v3 gehören, und somit kann der Filtereffekt verbessert werden.
  • Außerdem nimmt gemäß dieser Ausführungsform der Deblocking-Filterprozess Bezug auf den Zeiger für das vertikale Referenzpixel *cy, um die Pixeldaten in den Puffer zu lesen, und addiert weiter ein Äquivalent von 8 Pixeln zum Wert des Zeigers für das vertikale Referenzpixel *cy bei jeder Abfolge der Prozesse, subtrahiert 2X vom Wert des Zeigers für den vertikalen Referenzpixel *cy, wenn der betrachtete Block 10, der als nächster zu bearbeiten ist, der am weitesten links befindliche Block im wiedergegebenen Bild ist und der Rest beim Dividieren von y durch "8" den Wert "0" hat, addiert 8X zum Wert des Zeigers für das vertikale Referenzpixel *cy, wenn der betrachtete Block 10, der als nächster zu bearbeiten ist, der am weitesten links befindliche Block im wiedergegebenen Bild ist und der Rest beim Dividieren von y durch "8" den Wert "4" hat und subtrahiert X vom Wert des Zeigers für das vertikale Referenzpixel *cy, wenn der betrachtete Block 10, der als nächster zu bearbeiten ist, der am weitesten links befindliche Block im wiedergegebenen Bild ist und der Rest beim Dividieren von y durch "8" ein Wert außer "0" oder "4" ist.
  • Somit kann ein Aktualisieren des Zeigers für das vertikale Referenzpixel *cy durch lediglich die Schiebeeinrichtung und den Addierer implementiert werden, so dass die Last verringert werden kann und die Konfiguration vergleichsweise einfach gemacht werden kann.
  • Außerdem liest gemäß dieser Ausführungsform, betreffend jede Abfolge von Prozessen, der Deblocking-Filterprozess die zweite betrachtete Pixelkette LSR, die zweite horizontale Referenzpixelkette LXR, die erste vertikale Referenzpixelkette LYL und die zweite vertikale Referenzpixelkette LYR in den Puffer, und führt auch ein Wiederverwenden der Pixeldaten der zweiten betrachteten Pixelkette LSR und der zweiten horizontalen Referenzpixelkette LXR aus, die beim unmittelbar vorhergehenden Prozess als Pixeldaten der ersten horizontalen Referenzpixelkette LXL bzw. als erste betrachtete Pixelkette LSL gelesen wurden, so dass die Beurteilung und die Filteroperation betreffend alle betrachteten Pixel v0 bis v7 der ersten betrachteten Pixelkette LSL und der zweiten betrachteten Pixelkette LSR ausgeführt werden.
  • Somit kann die Anzahl der Lesevorgänge in das VRAM 35 weiter vermindert werden, da es nicht erforderlich ist, die Pixeldaten der ersten horizontalen Referenzpixelkette LXL und der ersten betrachteten Pixelkette LSL aus dem VRAM 35 erneut zu lesen.
  • Außerdem erfolgt gemäß dieser Ausführungsform, in dem Fall, bei dem eine erste Phase der Prozess ist, bei dem die Pixeldaten der zweiten betrachteten Pixelkette LSR und der zweiten horizontalen Referenzpixelkette LXR kopiert werden, die beim unmittelbar vorhergehenden Prozess als Pixeldaten der ersten horizontalen Referenzpixelkette LXL bzw. der ersten betrachteten Pixelkette LSL gelesen wurden, eine zweite Phase der Prozess ist, bei dem die Pixeldaten der ersten vertikalen Referenzpixelkette LYL in den Puffer gelesen werden, eine dritte Phase der Prozess ist, bei dem die Pixeldaten der zweiten vertikalen Referenzpixelkette LYR in den Puffer gelesen werden, eine vierte Phase der Prozess ist, bei dem die Pixeldaten der zweiten betrachteten Pixelkette LSR in den Puffer gelesen werden, eine fünfte Phase der Prozess ist, bei dem die Pixeldaten der zweiten horizontalen Referenzpixelkette LXR in den Puffer gelesen werden, eine sechste Phase der Prozess ist, bei dem die horizontale Filteroperation betreffend jedes betrachtete Pixel der ersten betrachteten Pixelkette LSL basierend auf den Pixeldaten der ersten horizontalen Referenzpixelkette LXL durchgeführt wird, eine siebe Phase der Prozess ist, bei dem die Beurteilung und die vertikale Filteroperation betreffend jedes betrachtete Pixel der ersten betrachteten Pixelkette LSL basierend auf den Verarbeitungsergebnissen der sechsten Phase und die Pixeldaten der ersten vertikalen Referenzpixelkette LYL durchgeführt wird, eine achte Phase der Prozess ist, bei dem die horizontale Filteroperation betreffend jedes betrachtete Pixel der zweiten betrachteten Pixelkette LSR basierend auf den Pixeldaten der zweiten horizontalen Referenzpixelkette LXR durchgeführt wird, und eine neunte Phase der Prozess ist, bei dem die Beurteilung und die vertikale Filteroperation betreffend jedes betrachtete Pixel der zweiten betrachteten Pixelkette LSR basierend auf den Verarbeitungsergebnissen der achten Phase und den Pixeldaten der zweiten vertikalen Referenzpixelkette LYR durchgeführt wird, ein Durchführen der Abfolge von Prozessen der ersten Phase, der zweiten Phase, der dritten Phase, der vierten Phase und der fünften Phase in dieser Reihenfolge, ein Durchführen der sechsten Phase und der siebten Phase in dieser Reihenfolge, ein Durchführen der fünften Phase, und der achten Phase und der neunten Phase in dieser Reihenfolge, und es wird auch begonnen, die zweite Phase und die sechste Phase gleichzeitig durchzuführen und die dritte Phase und die siebte Phase gleichzeitig durchzuführen.
  • Somit kann ein effizienter Pipeline-Prozess realisiert werden, wenn beurteilt wird, ob die Filteropera tion durchzuführen ist, oder nicht, und die Filteroperation durchgeführt wird, und daher kann eine Beschleunigung der Verarbeitung erwartet werden. Außerdem werden die Pixeldaten in der Reihenfolge der ersten vertikalen Referenzpixelkette LYL, der zweiten vertikalen Referenzpixelkette LYR, der zweiten betrachteten Pixelkette LSR und der zweiten horizontalen Referenzpixelkette LXR gelesen, so dass das Lesen der Pixeldaten der ersten vertikalen Referenzpixelkette LYL und der zweiten vertikalen Referenzpixelkette LYR und das Lesen der Pixeldaten der zweiten betrachteten Pixelkette LSR und der zweiten horizontalen Referenzpixelkette LXR sukzessive durchgeführt werden kann, was ermöglicht, dass der Leseprozess der Pixeldaten vereinfacht wird.
  • Außerdem berechnet gemäß dieser Ausführungsform der Deblocking-Filterprozess die nach dem Deblocking-Filtern vorhandenen Werte der Pixel v0' bis v2' und v5' bis v7' durch die Filteroperationsgleichungen der obigen Gleichungen (1) bis (3) und (6) bis (8) betreffend die Pixelketten, die sich senkrecht zu den Grenzen zwischen zueinander benachbart angeordneten Blöcken befinden.
  • Dadurch ist es möglich, beim Durchführen der Filteroperation betreffend ein einzelnes Pixel, den Deblocking-Filterprozess weiter zu vereinfachen, da lediglich zwei Pixelwerte anstelle einer Verwendung eines Durchschnitte einer großen Anzahl von Pixeln verwendet werden. Außerdem ist es möglich, einen effektiven Filtereffekt zusätzlich zu einer weiteren Vereinfachung des Deblocking-Filterprozesses zu realisieren, da die Berechnung durch die Addition und Subtraktion und eine Bitverschiebung (eine Division, bei der ein Divisor ein ganzzahliges Vielfaches von 2 ist) durchgeführt wird, und zwar unter Verwendung eines einzigen Pixelwertes und des Wertes des Pixels derselben Pixelkette, welcher der Referenzpixel im benachbarten Block ist.
  • Außerdem führt gemäß dieser Ausführungsform der Deblocking-Filterprozess die Filteroperation betreffend ein einzelnes Pixel der Pixel der Pixelkette senkrecht zur Grenze zwischen zueinander benachbarten Blöcken durch, wenn kein Differenzwert der Pixel zwischen diesem einen Pixel und dem Pixel derselben Pixelkette, welches das an der Grenze im benachbarten Block positionierte Referenzpixel ist, Schwellenwerte C1 und C2 überschreitet, wobei konstante Werte als Schwellenwerte C1 und C2 verwendet werden.
  • Somit ist es, da die Schwellenwerte C1 und C2 konstante Werte sind, nicht erforderlich, C1 und C2 im Verlauf des Deblocking-Filterprozesses zu berechnen, und keine Filteroperation wird durchgeführt, wenn irgendeiner der Differenzwerte der Pixel die Schwellenwerte C1 und C2 überschreitet. Daher ist es möglich, die Geschwindigkeit des Deblocking-Filterprozesses im Vergleich zum Stand der Technik zu vergrößern, und zwar zusätzlich zu einer weiteren Vereinfachung von diesem.
  • Außerdem ist gemäß dieser Ausführungsform der Schwellenwert C1 zum Vergleichen der Differenzwerte zwischen den Referenzpixeln und den benachbart zu diesen befindlichen benachbarten Pixeln so festgelegt, dass er größer ist als der Schwellenwert C2 zum Vergleichen der Differenzwerte zwischen den Referenzpixeln und den Pixeln außer den benachbarten Pixeln.
  • Somit kann ein noch effektiverer Filtereffekt realisiert werden, da der Deblocking-Filterprozess unter Berücksichtigung der Eigenschaft, dass der Durchschnitt der Helligkeit zwischen den Blöcken unterschiedlich ist, durchgeführt werden kann.
  • Weiter ist gemäß dieser Ausführungsform der Schwellenwert C1 zum Vergleichen der Differenzwerte zwischen den Referenzpixeln und den zu diesen benachbarten Pixeln auf "32" gesetzt, unter Annahme eines maximalen Wertes der Pixel von "255", und der Schwellenwert C2 zum Vergleichen der Differenzwerte zwischen den Referenzpixeln und den Pixeln außer den benachbarten Pixeln ist auf "16" gesetzt.
  • Somit kann ein noch effektiverer Filtereffekt realisiert werden, da der Deblocking-Filterprozess unter Berücksichtigung der Eigenschaft, dass der Durchschnitt der Helligkeit zwischen den Blöcken unterschiedlich ist, durchgeführt werden kann.
  • Außerdem beurteilt gemäß dieser Ausführungsform der Deblocking-Filterprozess, ob die Filteroperation betreffend die Pixel in einer Richtung, die sequentiell von der Grenze von dem zum Referenzpixel benachbarten Pixel weggeht, durchzuführen ist, oder nicht, und wenn er beurteilt, dass keine Filteroperation betreffend ein gewisses Pixel durchzuführen ist, wird keine Filteroperation betreffend dieses Pixel und die nach diesem befindlichen Pixel durchgeführt.
  • Es ist dadurch möglich, die Anzahl von Malen der Beurteilung, ob die Filteroperation betreffend die Pixel durchzuführen ist, oder nicht, zu reduzieren, so dass der Deblocking-Filterprozess weiter beschleunigt werden kann.
  • Außerdem weist gemäß dieser Ausführungsform das Post-Filterglied 40 den Puffer auf, der in der Lage ist, Pixeldaten eines Äquivalentes von 21 Pixeln zu speichern, und der Deblocking-Filterprozess führt ein gemeinsames Lesen aller Pixeldaten von dem einen einzigen Pixel bis zu den Referenzpixeln aus dem VRAM 35 in den Puffer aus, so dass die Filteroperation basierend auf den Pixeldaten des Puffers durchgeführt wird.
  • Somit kann der Deblocking-Filterprozess weiter beschleunigt werden, da, betreffend jedes Pixel der Pixelkette, die Pixeldaten, die zum Durchführen des Deblocking-Filterprozesses genutzt werden, gemeinsam in den Puffer zur Stapelverarbeitung gelesen werden.
  • Außerdem führt gemäß dieser Ausführungsform der Deblocking-Filterprozess die Filteroperation entweder für die horizontale Pixelkette oder die vertikale Pixelkette im Block durch, und führt dann die Filteroperation für die jeweils andere Kette durch.
  • Somit kann ein noch effektiverer Filtereffekt realisiert werden, da der Deblocking-Filterprozess sowohl für die horizontale Pixelkette als auch die vertikale Pixelkette im Block durchgeführt wird.
  • Bei der zuvor beschriebenen Ausführungsform entsprechen die im MPEG-Format vorliegenden Bewegtbilddaten komprimierten Bilddaten gemäß den Ansprüchen 1, 2, 9 bis 12 und das VRAM 35 entspricht einer Bildspeichereinrichtung gemäß Anspruch 3 oder 5, und der Puffer des Post-Filtergliedes 40 entspricht der Speichereinrichtung zum Bearbeiten gemäß den Ansprüchen 3, und 5 bis 8. Außerdem entsprechen die Referenzpixel rx0 und rx1 den horizontalen Referenzpixeln gemäß den Ansprüchen 2 bis 4, und 10 oder 12, und die Referenzpixel ry0 bis ry7 entsprechen den vertikalen Referenzpixeln gemäß den Ansprüchen 2, 3, 6, 10 oder 12, und die Referenzpixel rx0 und rx1 und die betrachteten Pixel v0 bis v7 entsprechen der ersten Pixelkette gemäß Anspruch 3 oder 4.
  • Außerdem entsprechen gemäß der zuvor beschriebenen Ausführungsform die Referenzpixel ry0 bis ry7 der zweiten Pixelkette gemäß Anspruch 3 oder 5.
  • Weiter ist die zuvor beschriebene Ausführungsform, obschon diese so ausgebildet ist, dass die horizontale Filteroperation betreffend die betrachteten Pixel v0 bis v7 durchgeführt wird, wenn kein Differenzwert der Pixel zwischen dem einen Pixel und den Pixeln derselben Pixelkette, welche die an der Grenze im benachbarten Block positionierten Referenzpixel rx0 und rx1 sind, die Schwellenwerte C1 und C2 überschreitet, nicht darauf eingeschränkt und kann auch so ausgebildet sein, dass sie, wie bei der vertikalen Filteroperation, bestimmt, ob die horizontale Filteroperation betreffend die betrachteten Pixel v0 bis v7 basierend lediglich auf dem Wert dieses einen Pixels und den Werten der Referenzpixel rx0 und rx1 auszuführen ist, oder nicht.
  • Außerdem wurden bei der zuvor beschriebenen Ausführungsform alle Fälle der Durchführung der Prozesse, die in den Ablaufdiagrammen der 5 bis 11 dargestellt sind, als Fälle beschrieben, bei denen die Durchführung durch die Hardware des Post-Filtergliedes 40 erfolgt. Jedoch sind diese Prozesse nicht darauf eingeschränkt, sondern sie können auch durch die CPU 30 durchgeführt werden, in welchem Fall diese ausgebildet sein kann, um das vorab im ROM 32 gespeicherte Steuerprogramm auszuführen, oder das Programm kann in das RAM 34 aus einem Speichermedium gelesen werden, welches das Steuerprozeduren von diesem darstellende Programm speichert.
  • Dabei handelt es sich bei den Speichermedien um Halbleiterspeichermedien, wie beispielsweise das RAM und das ROM, Speichermedien vom Magnetspeichertyp, wie beispielsweise eine FD (Floppy Disk) und eine HD (Festplatte), optische Speichermedien wie beispielsweise eine CD, eine CDV, eine LD und eine DVD, oder dergleichen, und Speichermedien vom magnetisch/optischen Typ, wie beispielsweise ein MO, wobei ein beliebiges computerlesbares Speichermedium, ungeachtet der Tatsache, ob es sich um ein elektronisches, magnetisches oder optisches Leseverfahren handelt, eingeschlossen ist.
  • Außerdem sind gemäß der zuvor beschriebenen Ausführungsform die Bildverarbeitungsvorrichtung, das Bildverarbeitungsprogramm und das Bildverarbeitungsverfahren, die in Bezug zur Erfindung stehen, obschon sie auf Fälle angewandt sind, bei denen der Deblocking-Filterprozess für das reproduzierte Bild beim Dekodieren der im MPEG-Format komprimierten Bewegtbilddaten und beim Wiedergeben des Bewegtbildes durch das Multitasking-Betriebssystem des Computers 100 wie in 1 dargestellt, durchgeführt wird, dieses nicht darauf eingeschränkt, sondern sind auf andere Fälle anwendbar, sofern keine Abweichung vom Hauptmerkmal der Erfindung vorliegt. Beispielsweise sind diese auf Fälle anwendbar, bei denen Bilder angezeigt werden, die auf im JPEG-Format komprimierten Bilddaten basieren, sowie Fälle, bei denen ein Expandieren des Bildes erfolgt, das auf komprimierten Bilddaten basiert, die mittels des Bildkomprimierungsprozesses zum Durchführen der diskreten Kosinustransformation und des Quantisierungsprozesses pro einem vorbestimmten Block komprimiert sind.
  • Wie zuvor beschrieben hat die Bildverarbeitungsvorrichtung gemäß Anspruch 1 der Erfindung den Effekt, im Vergleich zum Stand der Technik, einer Vereinfachung des Filterprozesses zum Reduzieren der Blockartefaktbildung beim Dekodieren des Bildes, da sie lediglich auf die betrachteten Pixel und die Referenzpixel Bezug nehmen braucht, wenn beurteilt wird, ob die Filteroperation durchzuführen ist, oder nicht, und die Filteroperation durchgeführt wird. Außerdem kann sie, in dem Fall, bei dem das expandierte Bild in der Speichereinrichtung wie beispielsweise einem Speicher gespeichert ist, die Anzahl der Zugriffsvorgänge auf die Speichereinrichtung verringern, so dass als Effekt davon eine Beschleunigung betreffend die Bildverarbeitungsvorrichtung, bei welcher der Zugriff auf die Speichereinrichtung ein kritischer Pfad ist, erwartet werden kann.
  • Weiter weist die Bildverarbeitungsvorrichtung gemäß den Ansprüchen 2 bis 8 der Erfindung den Effekt auf, dass der Filterprozess zum Verringern der Blockartefakte beim Dekodieren des Bildes im Vergleich zum Stand der Technik vereinfacht wird, da sie lediglich auf die betrachteten Pixel, die horizontalen Referenzpixel und die vertikalen Referenzpixel Bezug nehmen braucht, wenn sie beurteilt, ob die Filteroperation durchzuführen ist, oder nicht, und die Filteroperation durchführt. Insbesondere verwendet sie die Pixel, die an den Grenzen im horizontalen Referenzblock und im vertikalen Referenzblock positioniert sind, als horizontale Referenzpixel und vertikale Referenzpixel, und so hat sie den Effekt einer Vereinfachung des Filterprozesses, ohne dass der Filtereffekt signifikant vermindert wird. Weiter kann sie, in dem Fall, bei dem das expandierte Bild in der Speichereinrichtung wie beispielsweise einem Speicher gespeichert ist, die Anzahl der Zugriffsvorgänge auf die Speichereinrichtung verringern, so dass als Effekt davon eine Beschleunigung betreffend die Bildverarbeitungsvorrichtung, bei welcher der Zugriff auf die Speichereinrichtung ein kritischer Pfad ist, erwartet werden kann.
  • Weiter weist die Bildverarbeitungsvorrichtung gemäß den Ansprüchen 3 bis 8 der Erfindung auch den Effekt auf, dass die Anzahl der Male des Lesens in die Bildspeichereinrichtung reduziert wird, da sie, wenn die Filterverarbeitung für die betrachteten Pixel der ersten Pixelkette durchgeführt wird, lediglich die Pixel der ersten und zweiten Pixelketten aus der Bildspeichereinrichtung zu lesen braucht.
  • Weiter weist die Bildverarbeitungsvorrichtung gemäß den Ansprüchen 4 bis 8 der Erfindung auch den Effekt auf, dass die Anzahl der Male des Lesens in die Bildspeichereinrichtung reduziert wird, da sie, wenn die Filterverarbeitung für n betrachtete Pixel durchgeführt wird, sie lediglich 2n + 1 Pixel aus der Bildspeichereinrichtung lesen braucht. Außerdem weist sie den Effekt einer Verbesserung des Filtereffektes auf, da, wenn sie beurteilt, ob die Filteroperation durchzuführen ist, oder nicht, und die Filteroperation ausführt, vergleichsweise adäquate Referenzpixel gemäß dem Zone, zu der die betrachteten Pixel gehören, verwendet werden.
  • Weiter weist die Bildverarbeitungsvorrichtung gemäß den Ansprüchen 5 bis 8 der Erfindung auch den Effekt einer Verringerung der Last und einer Realisierung einer vergleichsweise einfachen Konfiguration im Fall einer hardwaremäßigen Implementierung auf, da die Aktualisierung des Zeigers für das vertikale Referenzpixel durch lediglich die Schiebeeinrichtung und den Addierer implementiert werden kann.
  • Außerdem weist die Bildverarbeitungsvorrichtung gemäß den Ansprüchen 6 bis 8 der Erfindung auch den Effekt auf, dass die Anzahl der Lesevorgänge in die Bildspeichereinrichtung weiter verringert wird, da es nicht erforderlich ist, die Pixeldaten der ersten horizontalen Referenzpixelkette und der ersten betrachteten Pixelkette aus der Bildspeichereinrichtung erneut zu lesen.
  • Weiter kann die Bildverarbeitungsvorrichtung gemäß Anspruch 8 der Erfindung eine effiziente Pipeline-Verarbeitung zum Zeitpunkt einer Beurteilung, ob die Filteroperation durchzuführen ist, oder nicht, und ein Durchführen der Filteroperation so realisieren, dass als Effekt eine Beschleunigung der Verarbeitung erwartet werden kann. Außerdem liest sie die Pixeldaten in der Reihenfolge von der ersten vertikalen Referenzpixelkette, der zweiten vertikalen Referenzpixelkette, der zweiten betrachteten Pixelkette und der zweiten horizontalen Referenzpixelkette aus, so dass das Lesen der Pixeldaten der ersten vertikalen Referenzpixelkette und der zweiten vertikalen Referenzpixelkette und das Lesen der Pixeldaten der zweiten betrachteten Pixelkette und der zweiten horizontalen Referenzpixelkette sukzessive ausgeführt werden kann, und sie weist somit auch den Effekt auf, den Lesevorgang der Pixeldaten zu vereinfachen. Außerdem weist sie auch den Effekt auf, dass die Schaltungsgröße vergleichsweise verkleinert wird, wenn eine hardwaremäßige Implementierung erfolgt, da sie lediglich einen Arbeitsspeicher benötigt, der zu 5n + 1 Pixel äquivalent ist, und demgegenüber beim Stand der Technik ein Arbeitsspeicher verwendet wurde, der zu mindestens einem Frame äquivalent ist.
  • Andererseits weist das Bildverarbeitungsprogramm gemäß Anspruch 9 der Erfindung einen Effekt auf, der zu dem der Bildverarbeitungsvorrichtung gemäß Anspruch 1 äquivalent ist.
  • Weiter weist das Bildverarbeitungsprogramm gemäß Anspruch 10 der Erfindung einen Effekt auf, der zu dem der Bildverarbeitungsvorrichtung gemäß Anspruch 2 äquivalent ist.
  • Andererseits weist das Bildverarbeitungsverfahren gemäß Anspruch 11 der Erfindung einen Effekt auf, der zu dem der Bildverarbeitungsvorrichtung gemäß Anspruch 1 äquivalent ist.
  • Weiter weist das Bildverarbeitungsverfahren gemäß Anspruch 12 der Erfindung einen Effekt auf, der zu dem der Bildverarbeitungsvorrichtung gemäß Anspruch 2 äquivalent ist.

Claims (12)

  1. Bildverarbeitungsvorrichtung, bei der, basierend auf komprimierten Bilddaten, die durch einen Bildkomprimierungsprozess komprimiert sind, der eine diskrete Kosinustransformation und einen Quantisierungsprozess pro einem vorbestimmten Block durchführt, ein Filterprozess für ein expandiertes Bild nach dem Expandieren des Bildes pro den vorbestimmten Block durchgeführt wird, wobei, in dem Fall, bei dem ein Block, der zu einem betrachteten Block (10) benachbart ist, ein Referenzblock (12, 14, 16, 18) ist, und weiter ein einzelnes Pixel in dem betrachteten Block (10) ein betrachtetes Pixel (v0 – v7) ist, und ein einzelnes Pixel in dem Referenzblock (12) ein Referenzpixel (rx0, rx1, ry0 – ry7) ist, der Filterprozess beurteilt, ob ein Differenzwert zwischen einem Wert des betrachteten Pixels und einem Wert des Referenzpixels einen Schwellenwert (C1, C2) überschreitet, oder nicht, bestimmt, ob eine Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Beurteilungsergebnis durchzuführen ist, oder nicht, und die Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des Referenzpixels durchführt.
  2. Bildverarbeitungsvorrichtung, bei der, basierend auf komprimierten Bilddaten, die durch einen Bildkomprimierungsprozess komprimiert sind, der eine diskrete Kosinustransformation und einen Quantisierungsprozess pro einem vorbestimmten Block durchführt, ein Filterprozess für ein expandiertes Bild nach dem Expandieren des Bildes pro den vorbestimmten Block durchgeführt wird, wobei, in dem Fall, bei dem ein horizontal zu einem betrachteten Block (10) benachbarter Block ein horizontaler Referenzblock (12, 14) ist, ein vertikal zu dem betrachteten Block (10) benachbarter Block ein vertikaler Referenzblock (16, 18) ist, und weiter ein einzelnes Pixel in dem betrachteten Block (10) ein betrachtetes Pixel (v0 – v7) ist, und ein einzelnes Pixel in dem horizontalen Referenzblock (14), das sich auf einer Grenze zu dem betrachteten Block und an derselben Vertikalposition wie das betrachtete Pixel befindet, ein horizontales Referenzpixel (rx0, rx1) ist, und ein einzelnes Pixel in dem vertikalen Referenzblock, (16, 18), das sich an der Grenze zu dem betrachteten Block und an derselben Horizontalposition wie das betrachtete Pixel befindet, ein vertikales Referenzpixel (ry0 – ry7) ist, der Filterprozess beurteilt, ob eine Differenz zwischen einem Wert des betrachteten Pixels und einem Wert des vertikalen Referenzpixels einen Schwellenwert (C1, C2) überschreitet, oder nicht, der Filterprozess eine horizontale Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des horizontalen Referenzpixels durchführt, und der Filterprozess bestimmt, ob eine vertikale Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Beurteilungsergebnis durchzuführen ist, oder nicht, und die vertikale Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des vertikalen Referenzpixels durchführt.
  3. Bildverarbeitungsvorrichtung nach Anspruch 2, die eine nutzbare Verbindung zu einer Bildspeichereinrichtung zum Speichern des expandierten Bildes aufweist; und eine Speichereinrichtung zum Bearbeiten für das Speichern von Pixeldaten zum Durchführen des Filterprozesses aufweist, und bei der, in dem Fall, bei dem eine Mehrzahl von Pixeln in dem betrachteten Block (10) und in horizontaler Richtung anschließend an die Grenze zum horizontalen Referenzblock (14) die betrachteten Pixel sind, der Filterprozess die Pixeldaten einer ersten Pixelkette, die aus der Mehrzahl von betrachteten Pixeln und dem horizontalen Referenzpixel besteht, und die Pixeldaten einer zweiten Pixelkette, die aus vertikalen Referenzpixeln besteht, die den jeweiligen betrachteten Pixeln entsprechen, in die Speichereinrichtung zum Bearbeiten gemeinsam einliest, und die Beurteilung betreffend jedes der betrachteten Pixel basierend auf den Pixeldaten der Speichereinrichtung zum Bearbeiten vornimmt, der Filterprozess eine horizontale Filteroperation betreffend die jeweiligen betrachteten Pixel basierend lediglich auf den Werten der betrachteten Pixel und dem Wert des horizontalen Referenzpixels durch Bezugnahme auf die Pixeldaten der Speichereinrichtung zum Bearbeiten durchführt, und der Filterprozess bestimmt, ob die vertikale Filteroperation betreffend die jeweiligen betrachteten Pixel basierend lediglich auf den zu den betrachteten Pixeln gehörenden Beurteilungsergebnissen durchzuführen ist, oder nicht, und die vertikale Filteroperation betreffend die jeweiligen betrachteten Pixel basierend lediglich auf den Werten der betrachteten Pixel und den Werten der vertikalen Referenzpixel durch Bezugnahme auf die Pixeldaten der Speichereinrichtung zum Bearbeiten durchführt.
  4. Bildverarbeitungsvorrichtung nach Anspruch 3, bei der jeder der Blöcke als rechteckige Bildzone gebildet wird, die aus 2n (n ≥ 1) Pixelelementen in horizontaler Richtung und 2m (m ≥ 1) Pixelelementen in vertikaler Richtung besteht, und diese in vier Zonen, und zwar eine obere linke, eine obere rechte, eine untere linke und eine untere rechte Zone unterteilt wird, die aus n Pixelelementen in horizontaler Richtung und m Pixelelementen in vertikaler Richtung bestehen, und weiter die erste Pixelkette mit einem horizontalen Referenzpixel und den Pixeln gebildet wird, die zu derselben Zone von den vier Zonen gehören; der Filterprozess die Filteroperation betreffend alle Pixel des expandierten Bildes versucht, wobei dabei ein Lesen der Pixeldaten, die Beurteilung und die Filteroperation als eine Abfolge von Prozessen wiederholt wird; betreffend das betrachtete Pixel, das zur oberen linken Zone des betrachteten Blockes (10) gehört, der Filterprozess die Werte der Referenzpixel des horizontalen Referenzblocks (14) und des vertikalen Referenzblocks (16, 18), die sich benachbart zu dem betrachteten Block (10) zur Linken und oberhalb von diesem befinden, für die Beurteilung und die Filteroperation verwendet; betreffend das betrachtete Pixel, das zur oberen rechten Zone des betrachteten Blockes (10) gehört, der Filterprozess die Werte der Referenzpixel des horizontalen Referenzblocks (14) und des vertikalen Referenzblocks (16, 18), die sich benachbart zu dem betrachteten Block (10) zur Rechten und oberhalb von diesem befinden, für die Beurteilung und die Filteroperation verwendet; betreffend das betrachtete Pixel, das zur unteren linken Zone des betrachteten Blockes (10) gehört, der Filterprozess die Werte der Referenzpixel des horizontalen Referenzblocks (14) und des vertikalen Referenzblocks (16, 18), die sich benachbart zu dem betrachteten Block (10) zur Linken und unterhalb von diesem befinden, für die Beurteilung und die Filteroperation verwendet; und betreffend das betrachtete Pixel, das zur unteren rechten Zone des betrachteten Blockes (10) gehört, der Filterprozess die Werte der Referenzpixel des horizontalen Referenzblocks (14) und des vertikalen Referenzblocks (16, 18), die sich benachbart zu dem betrachteten Block (10) zur Rechten und unterhalb von diesem befinden, für die Beurteilung und die Filteroperation verwendet.
  5. Bildverarbeitungsvorrichtung nach Anspruch 4, bei der die Bildspeichereinrichtung die Pixeldaten der das expandierte Bild bildenden Pixel in der Reihenfolge von links nach rechts und von oben nach unten speichert; der Filterprozess sich auf einen Zeiger für das vertikale Referenzpixel bezieht, der auf eine Speicheradresse der Pixeldaten der zweiten Pixelkette in der Bildspeichereinrichtung zeigt, und die Pixeldaten der zweiten Pixelkette in die Speichereinrichtung zum Bearbeiten einliest, und weiter in dem Fall, bei dem die Anzahl von horizontalen Pixeln des expandierten Bildes den Wert X hat und eine vertikale Koordinate des betrachteten Pixels in dem betrachteten Block den Wert y hat, betreffend jede der zuvor beschriebenen Abfolge von Prozessen, der Filterprozess einen Wert, der zur Anzahl der betrachteten Pixel, die im Prozess gemeinsam zu verarbeiten sind, zum Wert des Zeigers für das vertikale Referenzpixel addiert, wenn der betrachtete Block (10), welcher als nächster zu bearbeiten ist, ein am weitesten links befindlicher Block in dem expandierten Bild ist und ein Rest bei einem Dividieren von y durch 2m den Wert "0" hat, der Filterprozess vom Wert des Zeigers für das vertikale Referenzpixel 2X subtrahiert, wenn der betrachtete Block (10), welcher als nächster zu verarbeiten ist, der am weitesten links befindliche Block in dem expandierten Bild ist und der Rest bei einem Dividieren von y durch 2m den Wert m hat, der Filterprozess zum Wert des Zeigers für das vertikale Referenzpixel 2mX addiert, und wenn der betrachtete Block (10), welcher als nächster zu verarbeiten ist, der am weitesten links befindliche Block in dem expandierten Bild ist und der Rest bei einem Dividieren von y durch 2m einen Wert außer "0" oder m hat, der Filterprozess vom Wert des Zeigers für das vertikale Referenzpixel X subtrahiert.
  6. Bildverarbeitungsvorrichtung nach Anspruch 5, bei der, in dem Fall, bei dem die Pixelkette, die aus einer linken Hälfte der Pixel in derselben horizontalen Zeile in dem betrachteten Block (10) besteht, eine erste betrachtete Pixelkette (LSL) ist, die Pixelkette, die aus einer rechten Hälfte von diesen besteht, eine zweite betrachtete Pixelkette (LSR) ist, und außerdem die Pixelkette, die sich im horizontalen Referenzblock (14) und zur ersten be trachteten Pixelkette (LSL) benachbart zur Linken von dieser befindet und aus der gleichen Anzahl von Pixeln wie die zweite betrachtete Pixelkette (LSR) besteht, eine erste horizontale Referenzpixelkette (LXL) ist, und die Pixelkette, die sich im horizontalen Referenzblock (14) und zur zweiten betrachteten Pixelkette (LSR) benachbart zur Rechten von dieser befindet und aus der gleichen Anzahl von Pixeln wie die erste betrachtete Pixelkette (LSL) besteht, eine zweite horizontale Referenzpixelkette (LXR) ist, und außerdem die Pixelkette, die aus den vertikalen Referenzpixeln besteht, die den betrachteten Pixeln der ersten betrachteten Pixelkette (LSL) entsprechen, eine erste vertikale Referenzpixelkette (LYL) ist, und die Pixelkette, die aus den vertikalen Referenzpixeln besteht, die den betrachteten Pixeln der zweiten betrachteten Pixelkette (LSR) entsprechen, eine zweite vertikale Referenzpixelkette (LYR) ist, der Filterprozess die Pixeldaten der zweiten betrachteten Pixelkette (LSR), der zweiten horizontalen Referenzpixelkette (LXR), der ersten vertikalen Referenzpixelkette (LYL) und der zweiten vertikalen Referenzpixelkette (LYR) in die Speichereinrichtung zum Bearbeiten betreffend jede der Abfolge von Prozessen einliest, und auch die Pixeldaten der zweiten betrachteten Pixelkette (LSR) und der zweiten horizontalen Referenzpixelkette (LXR), die in einem unmittelbar vorhergehenden Prozess gelesen wurden, als die Pixeldaten der ersten horizontalen Referenzpixelkette (LXL) und der ersten betrachteten Pixelkette (LSL) wiederverwendet, und die Beurteilung und die Filteroperation betreffend alle betrachteten Pixel der ersten betrachteten Pixelkette (LSL) und der zweiten betrachteten Pixelkette (LSR) durchführt.
  7. Bildverarbeitungsvorrichtung nach Anspruch 6, bei der die Abfolge von Prozessen, die als Erstes für das expandierte Bild durchgeführt wird, die Pixeldaten der ersten betrachteten Pixelkette (LSL), der zweiten betrachteten Pixelkette (LSR), der zweiten horizontalen Referenzpixelkette (LXR), der ersten vertikalen Referenzpixelkette (LYL) und der zweiten vertikalen Referenzpixelkette (LYR) in die Speichereinrichtung um Bearbeiten einliest, und die Abfolge von Prozessen, die als Zweites und danach durchgeführt wird, die Pixeldaten der zweiten betrachteten Pixelkette (LSR), der zweiten horizontalen Referenzpixelkette (LXR), der ersten vertikalen Referenzpixelkette (LYL) und der zweiten vertikalen Referenzpixelkette (LYR) in die Speichereinrichtung zum Bearbeiten einliest, und auch die Pixeldaten der zweiten betrachteten Pixelkette (LSR) und der zweiten horizontalen Referenzpixelkette (LXR), die in einem unmittelbar vorhergehenden Prozess gelesen wurden, als Pixeldaten der ersten horizontalen Referenzpixelkette (LXL) und der ersten betrachteten Pixelkette (LSL) wiederverwendet.
  8. Bildverarbeitungsvorrichtung nach Anspruch 6 oder 7, bei der im Fall, bei dem der Prozess, bei dem die Pixeldaten der zweiten betrachteten Pixelkette (LSR) und der zweiten horizontalen Referenzpixelkette (LXR), die bei einem unmittelbar vorhergehenden Prozess gelesen wurden, als die Pixeldaten der ersten horizontalen Referenzpixelkette (LXL) bzw. der ersten betrachteten Pixelkette (LSL) kopiert werden, die erste Phase ist, der Prozess, bei dem die Pixeldaten der ersten vertikalen Referenzpixelkette (LYL) in die Speichereinrichtung zum Bearbeiten gelesen werden, die zweite Phase ist, der Prozess, bei dem die Pixeldaten der zweiten vertikalen Referenzpixelkette (LYR) in die Speichereinrichtung zum Bearbeiten gelesen werden, die dritte Phase ist, der Prozess, bei dem die Pixeldaten der zweiten betrachteten Pixelkette (LSR) in die Spei chereinrichtung zum Bearbeiten gelesen werden, die vierte Phase ist, der Prozess, bei dem die Pixeldaten der zweiten horizontalen Referenzpixelkette (LXR) in die Speichereinrichtung zum Bearbeiten gelesen werden, die fünfte Phase ist, der Prozess, bei dem die horizontale Filteroperation betreffend jedes betrachtete Pixel der ersten betrachteten Pixelkette (LSL) basierend auf den Pixeldaten der ersten horizontalen Referenzpixelkette (LXL) durchgeführt wird, die sechste Phase ist, der Prozess, bei dem die Beurteilung und die vertikale Filteroperation betreffend jedes betrachtete Pixel der ersten betrachteten Pixelkette (LSL) basierend auf Verarbeitungsergebnissen der sechsten Phase und den Pixeldaten der ersten vertikalen Referenzpixelkette (LYL) durchgeführt wird, die siebte Phase ist, der Prozess, bei dem die horizontale Filteroperation betreffend jedes betrachtete Pixel der zweiten betrachteten Pixelkette (LSR) basierend auf den Pixeldaten der zweiten horizontalen Referenzpixelkette (LXR) durchgeführt wird, die achte Phase ist, und der Prozess, bei dem die Beurteilung und die vertikale Filteroperation betreffend jedes betrachtete Pixel der zweiten betrachteten Pixelkette (LSR) basierend auf den Verarbeitungsergebnissen der achten Phase und den Pixeldaten der zweiten vertikalen Referenzpixelkette (LYR) durchgeführt wird, die neunte Phase ist, die Abfolge von Prozessen die erste Phase, die zweite Phase, die dritte Phase, die vierte Phase und die fünfte Phase in dieser Reihenfolge durchführt, die sechste Phase und die siebte Phase in dieser Reihenfolge durchführt, die fünfte Phase durchführt, und die achte Phase und die neunte Phase in dieser Reihenfolge durchführt, und auch beginnt, die zweite Phase und die sechste Phase gleichzeitig durchzuführen, und die dritte Phase und die siebte Phase gleichzeitig durchzuführen.
  9. Bildverarbeitungsprogramm, bei dem, basierend auf komprimierten Bilddaten, die durch einen Bildkomprimierungsprozess komprimiert sind, welcher eine diskrete Kosinustransformation und einen Quantisierungsprozess pro einem vorbestimmten Block durchführt, ein Computer veranlasst wird, einen Filterprozess für ein expandiertes Bild nach dem Expandieren des Bildes pro den vorbestimmten Block durchzuführen, wobei, in dem Fall, bei dem ein Block, der zu einem betrachteten Block (10) benachbart ist, ein Referenzblock (12, 14, 16, 18) ist, und weiter ein einzelnes Pixel in dem betrachteten Block (10) ein betrachtetes Pixel (v0 – v7) ist, und ein einzelnes Pixel in dem Referenzblock (12) ein Referenzpixel (rx0, rx1, ry0 – ry7) ist, der Filterprozess beurteilt, ob ein Differenzwert zwischen einem Wert des betrachteten Pixels und einem Wert des Referenzpixels einen Schwellenwert (C1, C2) überschreitet, oder nicht, bestimmt, ob eine Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Beurteilungsergebnis durchzuführen ist, oder nicht, und die Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des Referenzpixels durchführt.
  10. Bildverarbeitungsprogramm, bei dem, basierend auf komprimierten Bilddaten, die durch einen Bildkomprimierungsprozess komprimiert sind, welcher eine diskrete Kosinustransformation und einen Quantisierungsprozess pro einem vorbestimmten Block durchführt, ein Computer veranlasst wird, einen Filterprozess für ein expandiertes Bild nach dem Expandieren des Bildes pro den vorbestimmten Block durchzuführen, wobei, in dem Fall, bei dem ein horizontal zu einem betrachteten Block (10) benachbarter Block ein horizontaler Referenzblock (12, 14) ist, ein vertikal zu dem betrachteten Block (10) benachbarter Block ein vertikaler Referenzblock (16, 18) ist, und weiter ein einzelnes Pixel in dem betrachteten Block (10) ein betrachtetes Pixel (v0 – v7) ist, und ein einzelnes Pixel in dem horizontalen Referenzblock (14), das sich auf einer Grenze zu dem betrachteten Block und an derselben Vertikalposition wie das betrachtete Pixel befindet, ein horizontales Referenzpixel (rx0, rx1) ist, und ein einzelnes Pixel in dem vertikalen Referenzblock, (16, 18), das sich an der Grenze zu dem betrachteten Block und an derselben Horizontalposition wie das betrachtete Pixel befindet, ein vertikales Referenzpixel (ry0 – ry7) ist, der Filterprozess beurteilt, ob eine Differenz zwischen einem Wert des betrachteten Pixels und einem Wert des vertikalen Referenzpixels einen Schwellenwert (C1, C2) überschreitet, oder nicht, der Filterprozess eine horizontale Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des horizontalen Referenzpixels durchführt, und der Filterprozess bestimmt, ob eine vertikale Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Beurteilungsergebnis durchzuführen ist, oder nicht, und die vertikale Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des vertikalen Referenzpixels durchführt.
  11. Bildverarbeitungsverfahren, bei dem, basierend auf komprimierten Bilddaten, die durch einen Bildkomprimierungsprozess komprimiert sind, weicher eine diskrete Kosinustransformation und einen Quantisierungsprozess pro einem vorbestimmten Block durchführt, ein Filterprozess für ein expandiertes Bild nach dem Expandieren des Bildes pro den vorbestimmten Block durchgeführt wird, wobei, in dem Fall, bei dem ein Block, der zu einem betrachteten Block (10) benachbart ist, ein Referenzblock (12, 14, 16, 18) ist, und weiter ein einzelnes Pixel in dem betrachteten Block (10) ein betrachtetes Pixel (v0 – v7) ist, und ein einzelnes Pixel in dem Referenzblock (12) ein Referenzpixel (rx0, rx1, ry0 – ry7) ist, der Filterprozess beurteilt, ob ein Differenzwert zwischen einem Wert des betrachteten Pixels und einem Wert des Referenzpixels einen Schwellenwert (C1, C2) überschreitet, oder nicht, bestimmt, ob eine Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Beurteilungsergebnis durchzuführen ist, oder nicht, und die Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des Referenzpixels durchführt.
  12. Bildverarbeitungsverfahren, bei dem, basierend auf komprimierten Bilddaten, die durch einen Bildkomprimierungsprozess komprimiert sind, welcher eine diskrete Kosinustransformation und einen Quantisierungsprozess pro einem vorbestimmten Block durchführt, ein Filterprozess für ein expandiertes Bild nach dem Expandieren des Bildes pro den vorbestimmten Block durchgeführt wird, wobei, in dem Fall, bei dem ein horizontal zu einem betrachteten Block (10) benachbarter Block ein horizontaler Referenzblock (12, 14) ist, ein vertikal zu dem betrachteten Block (10) benachbarter Block ein vertikaler Referenzblock (16, 18) ist, und weiter ein einzelnes Pixel in dem betrachteten Block (10) ein betrachtetes Pixel (v0 – v7) ist, und ein einzelnes Pixel in dem horizontalen Referenzblock (14), das sich auf einer Grenze zu dem betrachteten Block (10) und an derselben Vertikalposition wie das betrachtete Pixel befindet, ein horizontales Referenzpixel (rx0, rx1) ist, und ein einzelnes Pixel in dem vertikalen Referenzblock, (16, 18), das sich an der Grenze zu dem betrachteten Block (10) und an derselben Horizontalposition wie das betrachtete Pixel befindet, ein vertikales Referenzpixel (ry0 – ry7) ist, der Filterprozess beurteilt, ob eine Differenz zwischen einem Wert des betrachteten Pixels und einem Wert des vertikalen Referenzpixels einen Schwellenwert (C1, C2) überschreitet, oder nicht, der Filterprozess eine horizontale Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des horizontalen Referenzpixels durchführt, und der Filterprozess bestimmt, ob eine vertikale Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Beurteilungsergebnis durchzuführen ist, oder nicht, und die vertikale Filteroperation bezüglich des betrachteten Pixels basierend lediglich auf dem Wert des betrachteten Pixels und dem Wert des vertikalen Referenzpixels durchführt.
DE2003607935 2002-03-07 2003-02-27 Bildverarbeitungsverfahren, -programm und -vorrichtung Active DE60307935T8 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002061940 2002-03-07
JP2002061940 2002-03-07
JP2003026155 2003-02-03
JP2003026155A JP4114494B2 (ja) 2002-03-07 2003-02-03 画像処理装置及び画像処理プログラム、並びに画像処理方法

Publications (3)

Publication Number Publication Date
DE60307935D1 DE60307935D1 (de) 2006-10-12
DE60307935T2 true DE60307935T2 (de) 2007-03-15
DE60307935T8 DE60307935T8 (de) 2007-07-12

Family

ID=28043682

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003607935 Active DE60307935T8 (de) 2002-03-07 2003-02-27 Bildverarbeitungsverfahren, -programm und -vorrichtung

Country Status (7)

Country Link
US (1) US7162090B2 (de)
EP (1) EP1376468B1 (de)
JP (1) JP4114494B2 (de)
CN (1) CN1220390C (de)
AT (1) ATE338315T1 (de)
DE (1) DE60307935T8 (de)
HK (1) HK1057958A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100308016B1 (ko) * 1998-08-31 2001-10-19 구자홍 압축 부호화된 영상에 나타나는 블럭현상 및 링현상 제거방법및 영상 복호화기
JP2004318423A (ja) * 2003-04-15 2004-11-11 Konica Minolta Photo Imaging Inc 画像処理方法、画像処理装置及び画像処理プログラム
CN100428269C (zh) * 2003-12-16 2008-10-22 富可视公司 处理图像数据的方法
KR100614647B1 (ko) * 2004-07-02 2006-08-22 삼성전자주식회사 디블록킹 필터에서의 효과적인 에지 필터링 연산을 위한레지스터 어레이 구조
KR100644618B1 (ko) 2004-07-02 2006-11-10 삼성전자주식회사 블록 단위로 부호화된 영상의 블록경계에서의 불연속성제거필터 및 방법
NO322722B1 (no) * 2004-10-13 2006-12-04 Tandberg Telecom As Fremgangsmate for videokoding gjennom reduksjon av blokkartefakter
JP4270125B2 (ja) * 2004-12-16 2009-05-27 ソニー株式会社 データ処理装置、画像処理装置、それらの方法およびプログラム
KR100843196B1 (ko) 2004-12-17 2008-07-02 삼성전자주식회사 H.264/avc 비디오 디코더의 디블록킹 필터
JP2006254231A (ja) * 2005-03-11 2006-09-21 Toshiba Corp 情報処理装置および同装置で用いられるプログラム
JP2006285402A (ja) * 2005-03-31 2006-10-19 Pioneer Electronic Corp 画像処理装置
JP4830691B2 (ja) * 2006-07-26 2011-12-07 ソニー株式会社 映像信号処理方法及び装置、並びに映像信号復号方法
JP4712642B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置
US20080055327A1 (en) * 2006-09-06 2008-03-06 Barinder Singh Rai Highly Efficient Display FIFO
US8942472B2 (en) * 2010-05-21 2015-01-27 Sharp Kabushiki Kaisha Color judging apparatus, color judging method, image processing circuit and program
KR101962591B1 (ko) 2010-12-07 2019-03-26 소니 주식회사 화상 처리 장치, 화상 처리 방법 및 기록 매체
AU2011339460B2 (en) 2010-12-07 2015-10-29 Sony Corporation Image processing device and image processing method
US20150023420A1 (en) * 2012-01-19 2015-01-22 Mitsubishi Electric Corporation Image decoding device, image encoding device, image decoding method, and image encoding method
US9553843B1 (en) 2014-10-08 2017-01-24 Google Inc. Service directory profile for a fabric network
JP6545515B2 (ja) 2015-04-24 2019-07-17 株式会社東芝 画像復号装置
CN105933708B (zh) * 2016-04-15 2019-02-12 杨桦 一种数据压缩和解压缩的方法和装置
CN112136326B (zh) * 2018-05-23 2023-12-12 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
BR112021005561A2 (pt) 2018-09-24 2021-06-29 Huawei Technologies Co., Ltd. dispositivo de processamento de imagem e método para realizar desblocagem otimizada de qualidade

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0714211B2 (ja) 1989-07-14 1995-02-15 国際電信電話株式会社 動画像符号化のブロック歪除去方法および装置
JP2919986B2 (ja) 1991-03-19 1999-07-19 オリンパス光学工業株式会社 画像信号復号化装置
US5796875A (en) * 1996-08-13 1998-08-18 Sony Electronics, Inc. Selective de-blocking filter for DCT compressed images
JPH11187400A (ja) 1997-12-22 1999-07-09 Matsushita Electric Ind Co Ltd 歪除去方法および歪除去フィルタ
KR100244290B1 (ko) 1997-09-09 2000-02-01 구자홍 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법
US6430317B1 (en) * 1997-12-31 2002-08-06 Sarnoff Corporation Method and apparatus for estimating motion using block features obtained from an M-ary pyramid
US6320905B1 (en) * 1998-07-08 2001-11-20 Stream Machine Company Postprocessing system for removing blocking artifacts in block-based codecs

Also Published As

Publication number Publication date
EP1376468A9 (de) 2004-06-30
EP1376468A3 (de) 2004-04-14
DE60307935T8 (de) 2007-07-12
CN1220390C (zh) 2005-09-21
HK1057958A1 (en) 2004-04-23
EP1376468B1 (de) 2006-08-30
US20040005006A1 (en) 2004-01-08
DE60307935D1 (de) 2006-10-12
US7162090B2 (en) 2007-01-09
ATE338315T1 (de) 2006-09-15
JP2003333597A (ja) 2003-11-21
EP1376468A2 (de) 2004-01-02
CN1444408A (zh) 2003-09-24
JP4114494B2 (ja) 2008-07-09

Similar Documents

Publication Publication Date Title
DE60307935T2 (de) Bildverarbeitungsverfahren, -programm und -vorrichtung
DE60215427T2 (de) Bildverarbeitungsprozessor, Bildverarbeitungsprogramm und Bildverarbeitungsverfahren
DE69812882T2 (de) Verfahren zur bewegungskompensierten Mehrhalbbildverbesserung von Videostandbildern
DE69933496T2 (de) Bildverarbeitungsvorrichtung und -verfahren
DE69634052T2 (de) Schaltung zur Bewegtbilddecodierung
DE69929430T2 (de) Verfahren und vorrichtung zur codierung von video-information
DE69433272T2 (de) Vorrichtung zum Vermeiden von Rundungsfehlern bei der inversen Transformation von Transformationskoeffizienten eines Bewegtbildsignales
DE69836432T2 (de) Bildcoder und -decoder
DE602004009591T2 (de) Differenz-codierung durch verwendung eines 3d-graphikprozessors
DE69722040T2 (de) 2-d gittergeometrie und bewegungsvektorkompression
DE60306011T2 (de) Rundungskontrolle für mehrstufige Interpolation
DE69909364T2 (de) Vorrichtung und Methode zur Änderung der Grösse eines komprimiertes Bildes
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE69916662T2 (de) Verfahren und vorrichtung zur bewegungskompensation in einem texturabbildungssystem
JP2008512914A (ja) ニューラルネットワークを用いたブロック性欠陥の位置検出
US6574370B1 (en) Image encoding system
EP1098508A2 (de) Gerät und Verfahren zur Änderung der Resolution von orthogonal transformierten Bildern
EP1025704B1 (de) Verfahren zur bewegungskompensierenden prädiktion von bewegtbildfolgen
DE19946683A1 (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
DE19518891A1 (de) Verfahren und Vorrichtung zur Durchführung einer programmierbaren Videotransformation
EP0941613B1 (de) Verfahren zur bildcodierung eines digitalisierten bildes
DE602004003934T2 (de) Vorausgerichtete bewegungsvektorinterpolation zur reduzierung von videoartefakten
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
DE69909880T2 (de) Dekodierung eines komprimierten digitalen Bildsignals
DE60311946T2 (de) Verfahren und Vorrichtung zur Bilddateienglättung

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: ISHIKAWA, MASAKI, SUWA-SHI, NAGANO-KEN 392-850, JP

Inventor name: MIURA, HIROTSUNA, SUWA-SHI, NAGANO-KEN 392-850, JP

8364 No opposition during term of opposition