DE69825836T2 - Bildkodierungsvorrichtung und -verfahren sowie Bildaufzeichnungsmedium - Google Patents

Bildkodierungsvorrichtung und -verfahren sowie Bildaufzeichnungsmedium Download PDF

Info

Publication number
DE69825836T2
DE69825836T2 DE1998625836 DE69825836T DE69825836T2 DE 69825836 T2 DE69825836 T2 DE 69825836T2 DE 1998625836 DE1998625836 DE 1998625836 DE 69825836 T DE69825836 T DE 69825836T DE 69825836 T2 DE69825836 T2 DE 69825836T2
Authority
DE
Germany
Prior art keywords
coding
amount
quantization
quantization width
image
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 - Fee Related
Application number
DE1998625836
Other languages
English (en)
Other versions
DE69825836D1 (de
Inventor
Yoshikazu Kobayashi
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE69825836D1 publication Critical patent/DE69825836D1/de
Application granted granted Critical
Publication of DE69825836T2 publication Critical patent/DE69825836T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (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)

Description

  • HINTERGRUND DER ERFINDUNG
  • (1) Gebiet der Erfindung
  • Diese Erfindung betrifft eine Bildkodierungsvorrichtung und ein Bildkodierungsverfahren, die eine orthogonale Transformation, Quantisierung und Entropiekodierung durchführen, und betrifft ein Aufzeichnungsmedium, in dem ein Bildkodierungsprogramm aufgezeichnet wird.
  • (2) Beschreibung des Stands der Technik
  • In letzter Zeit wurden große Anstrengungen unternommen, um effiziente Techniken zum Kodieren/Komprimieren von Bildern zu entwickeln. Unter diesen Techniken ist JPEG ein internationaler Standard zum Kodieren und Dekodieren von Stehbildern; MPEG1 Video ist ein internationaler Standard zum Kodieren und Dekodieren von Bewegtbildern.
  • Nach diesen Bildkodierungs-/Bildkompressionsverfahren werden Bilder wie folgt kodiert und in komprimierte Daten umgewandelt. Bilddaten werden zunächst in Blöcke geteilt. Jeder Block wird einem Orthogonaltransformationsprozess zur Ausgabe von orthogonalen Transformationskoeffizienten unterzogen. Die erzielten orthogonalen Transformationskoeffizienten werden einem Quantisierungsprozess zur Ausgabe von quantisierten orthogonalen Transformationskoeffizienten unterzogen. Die erzielten quantisierten orthogonalen Transformationskoeffizienten werden entropiekodiert, was zu kodierten/komprimierten Daten variabler Länge führt.
  • Digitale Stehbildkameras, digitale Videocassettenrecorder und Ähnliches wurden unter Verwendung solcher Bildkompressionstechniken entwickelt. Diese Produkte besitzen ihre eigene Anzahl von aufzeichnungsfähigen Bildern oder Aufzeichnungszeiten. Bei Kodierverfahren variabler Länge könnte jedoch die zugewiesene Anzahl von aufzeich nungsfähigen Bildern oder die zugewiesene Aufzeichnungszeit nicht gewährleistet sein, da sich die Mengen von kodierten Daten für jedes Bild voneinander unterscheiden.
  • Das folgende Verfahren ist bekannt als ein Verfahren zum Sicherstellen der zugewiesenen Anzahl von aufzeichnungsfähigen Bildern oder der zugewiesenen Aufzeichnungszeit. Nach diesem Verfahren werden die für den Quantisierungsprozess verwendeten Quantisierungsbreiten vorübergehend bestimmt. Unter Verwendung der bestimmten Quantisierungsbreiten werden der Quantisierungsprozess und die nachfolgenden Prozesse wie zuvor beschrieben durchgeführt. Bei diesem Vorgehen wird eine Gesamtmenge kodierter Daten eines Bildes mit einer Zielkodiermenge des Bildes verglichen, um eine geeignete Quantisierungsbreite zum Erreichen einer Menge vorherzusagen, die nahe an der Zielmenge liegt. Wenn die vorhergesagte Quantisierungsbreite nahe an einer Quantisierungsbreite der vorangegangenen Bildkodierung liegt und die aktuelle Gesamtkodiermenge geringer als eine Zielkodiermenge ist, werden die Kodierdaten variabler Länge ausgegeben. Ansonsten wird eine andere Quantisierungsbreite verwendet, um dieselben Prozesse zu wiederholen.
  • Die offengelegte japanische Patentanmeldung Nr. 4-207266 „Bilddatenkodierungsvorrichtung und -verfahren" offenbart ein Kodierungs-/Kompressionsverfahren, bei dem unterschiedliche Quantisierungstabellen für jeweilige Farben zum Kodieren/Komprimieren von Farbbildern verwendet werden. Mit dieser Konstruktion ist es bei diesem Verfahren möglich, jedes Bild in einer gewissen Prozesszeit zu kodieren, indem eine unterschiedliche Kodiermenge für jede Farbe und jeden Block zugewiesen wird.
  • Bei dem früheren Verfahren besteht jedoch ein Problem, dass jede Kodierung eine unterschiedliche Kodierzeit benötigt und dass jede Kodierung eine lange Zeit benötigt, da der Kodierprozess wenigstens zwei Mal wiederholt wird, obwohl jede Kodiermenge einer Zielmenge entspricht oder geringer als diese ist.
  • Außerdem besteht bei letzterem Verfahren ein Problem, dass jede Kodierung eine lange Zeit benötigt, da der Kodierprozess wenigstens zwei Mal wiederholt wird, obwohl eine konstante Kodierzeit beibehalten wird.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung stellt sich so dar, wie sie in den angehängten Ansprüchen dargelegt wird. Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Bildkodierungsvorrichtung, ein Bildkodierungsverfahren und ein Aufzeichnungsmedium zum Speichern eines Bildkodierungsprogramms bereitzustellen, die ein Bild mit einer gewissen Prozesszeit kodieren, so dass ein gewisser Fehler oder weniger zwischen der erzeugten Kodiermenge und einer Zielkodiermenge produziert wird, das heißt, eine geringere Prozesszeit verwenden als konventionelle und ein qualitativ hochwertiges Bild erzielen.
  • Die vorgenannte Aufgabe wird erfüllt durch eine Bildkodierungsvorrichtung zum Erzeugen kodierter Bilder, die Kodiermengen aufweisen, die nahe an entsprechenden Zielkodiermengen liegen, wobei die Bildkodierungsvorrichtung das Folgende umfasst:
    • – eine Beziehungsspeichereinheit, um Beziehungen für jedes von einem oder mehreren Standardbildern zwischen einer Gruppe von einer Vielzahl von Quantisierungsbreiten und einer oder mehreren Gruppen von einer Vielzahl von Kodiermengen zu speichern, wobei jede der einen oder mehreren Gruppen der Vielzahl von Kodiermengen durch Kodieren von jedem des einen oder der mehreren Standardbilder unter jeweiliger Verwendung der Vielzahl von Quantisierungsbreiten erzielt wird;
    • – eine Quantisierungsbreitenbestimmungseinheit zum Erzielen einer Zielkodiermenge und Bezugnehmen auf die Beziehungsspeichereinheit, um eine oder mehrere Quantisierungsbreiten zu erzielen, die einer oder mehreren Kodiermengen entsprechen, die jeweils am nahesten an der erzielten Zielkodiermenge in einer entsprechenden der einen oder mehreren Gruppen der Vielzahl von Kodiermengen liegen; und
    • – eine Kodiereinheit zum Erzielen eines Bildes und Kodieren des erzielten Bildes unter Verwendung der einen oder mehreren Quantisierungsbreiten, die durch die Quantisierungsbreitenbestimmungseinheit erzielt wurden.
  • Mit der vorgenannten Konstruktion ist es möglich, einen Effekt zu haben, dass jedes Bild mit einer Kodiermenge kodiert wird, die nahe an der Zielkodiermenge liegt, da jedes Bild mit einer Quantisierungsbreite kodiert wird, die einer Kodiermenge entspricht, die am nahesten an der Zielkodiermenge in den von der Vorrichtung gehaltenen Beziehungen liegt.
  • Bei der vorgenannten Bildkodierungsvorrichtung kann die Kodiereinheit Folgendes umfassen:
    • – eine Vorhersagekodiermengen-Berechnungseinheit zum Erzielen eines Bildes, die unter Verwendung der von der Quantisierungsbreitenbestimmungseinheit erzielten einen oder mehreren Quantisierungsbreiten eine oder mehrere Quantisierungstabellen erzeugt und unter Verwendung der erzeugten einen oder mehreren Quantisierungstabellen eine oder mehrere vorhergesagte Kodiermengen für das erzielte Bild berechnet;
    • – eine Optimalquantisierungsbreitenbestimmungseinheit zum Lesen der Beziehungen von der Beziehungsspeichereinheit, Erzielen einer der Zielkodiermenge entsprechenden Quantisierungsbreite unter Verwendung der einen oder mehreren vorgesagten Kodiermengen und unter Verwendung der gelesenen Beziehungen und Bestimmen der erzielten Quantisierungsbreite als die optimale Quantisierungsbreite; und
    • – eine Bildkodiereinheit zum Erzeugen einer Quantisierungstabelle unter Verwendung der optimalen Quantisierungsbreite und Kodieren des erzielten Bildes unter Verwendung der erzeugten Quantisierungstabelle.
  • Mit der vorgenannten Konstruktion ist es möglich, einen Effekt zu haben, dass jedes Bild mit einer Kodiermenge kodiert wird, die näher als zuvor an der Zielkodiermenge liegt, da eine oder mehrere vorgesagte Kodiermengen unter Verwendung der einen oder mehreren Quantisierungstabellen berechnet werden, eine der Zielkodiermenge entsprechende Quantisierungsbreite unter Verwendung der einen oder mehreren vorgesagten Kodiermengen und unter Verwendung der gelesenen Beziehungen erzielt wird, die erzielte Quantisierungsbreite als die optimale Quantisierungsbreite bestimmt wird und das Bild mit der optimalen Quantisierungsbreite kodiert wird.
  • Bei der vorgenannten Bildkodierungsvorrichtung kann jedes von der Kodiereinheit zu erzielende Bild eine Vielzahl von Blockgruppen umfassen, die jeweils eine vorgegebene Anzahl von Blöcken umfassen, und die Bilderzieleinheit erzielt eine vorgegebene Anzahl von Blöcken von vorgegebenen Positionen in jeder der Vielzahl von Blockgruppen.
  • Mit der vorgenannten Konstruktion ist es möglich, einen Effekt zu haben, dass die Prozesszeit verringert wird, da eine kleinere Menge von Bilddaten gelesen wird, um zum Vorhersagen der Beziehung zwischen der Quantisierungsbreite und der Kodiermenge verwendet zu werden.
  • Bei der vorgenannten Bildkodierungsvorrichtung kann jedes von der Kodiereinheit zu erzielende Bild eine Vielzahl von Blockgruppen umfassen, die jeweils eine vorgegebene Anzahl von Blöcken umfassen, umfasst jeder Block eine vorgegebene Anzahl von Bildpunkten und erzielt die Bilderzieleinheit eine vorgegebene Anzahl von Bildpunkten von vorgegebenen Positionen in jeder der Vielzahl von Blockgruppen.
  • Mit der vorgenannten Konstruktion ist es möglich, einen Effekt zu haben, dass die Prozesszeit verringert wird, da eine kleinere Menge von Bilddaten gelesen wird, um zum Vorhersagen der Beziehung zwischen der Quantisierungsbreite und der Kodiermenge verwendet zu werden. Es ist außerdem möglich, einen Effekt zu haben, dass die Beziehung zwischen der Quantisierungsbreite und der Kodiermenge selbst dann genau vorhergesagt wird, wenn der aktuelle Block eine Randkomponente aufweist, da Bildpunkte in gewissen Intervallen ausgewählt werden (z. B. auf der Basis einer aus vier), wobei die Randkomponente ein Abschnitt ist, der eine radikale Änderung eines Bildes aufweist.
  • Bei der Bildkodierungsvorrichtung kann jedes des einen oder der mehreren quantisierten orthogonalen Transformationsbilder, die von der Quantisierungseinheit erzeugt wurden, eine Vielzahl von Blöcken umfassen, wobei jeder Block einen Gleichstromkomponentenkoeffizienten und (n – 1) Wechselstromkomponentenkoeffizienten umfasst und sich die von der Vorhersagekodiermengen-Berechnungseinheit verwendete vorgegebene Formel wie folgt darstellt:
    Figure 00050001
    wobei
    Ve eine vorhergesagte Kodiermenge von einem Block darstellt,
    n die Anzahl von in einem Block enthaltenen Bildpunkten darstellt,
    Sq0 eine Differenz zwischen quantisierten orthogonalen Transformationskoeffizienten (Gleichstromkomponenten) des aktuellen und des vorhergehenden Blocks darstellt.
    Sqi einen quantisierten orthogonalen Transformationskoeffizienten (Wechselstromkomponente, wobei i = „1" bis „63") darstellt,
    αdc einen Umwandlungskoeffizienten darstellt,
    αac einen Umwandlungskoeffizienten darstellt,
    αzn einen Umwandlungskoeffizienten darstellt,
    β eine Konstante darstellt,
    L(X) eine Funktion darstellt, die einen Ergebniswert „0", wenn X = 0, und einen Ergebniswert von log2|X|, wenn X ≠ 0, liefert, und
    d(X) eine Funktion darstellt, die einen Ergebniswert „0", wenn X = 0, und einen Ergebniswert „1", wenn X ≠ 0, liefert.
  • Mit der vorgenannten Konstruktion ist es möglich, einen Effekt zu haben, dass die Prozesszeit verringert wird, da die Kodiermenge ohne Durchführung der Kodierung variabler Länge vorhergesagt wird.
  • Bei der vorgenannten Bildkodierungsvorrichtung kann die Beziehungsspeichereinheit eine erste Gruppe einer Vielzahl von Kodiermengen und eine zweite Gruppe einer Vielzahl von Kodiermengen speichern, wobei die Vielzahl von Kodiermengen von jeder der ersten bzw. zweiten Gruppe der Vielzahl von Quantisierungsbreiten entspricht, die Quantisierungsbreitenbestimmungseinheit eine Quantisierungsbreite αe1 und eine Quan tisierungsbreite αe2 erzielt, die Vorhersagekodiermengenberechnungseinheit eine vorhergesagte Kodiermenge Vp1 bzw. eine vorhergesagte Kodiermenge Vp2 unter Verwendung der Quantisierungsbreite αe1 und der Quantisierungsbreite αe2 berechnet, wobei die Optimalquantisierungsbreitenbestimmungseinheit Folgendes umfasst:
    • – eine Kodiermengenerzieleinheit zum Erzielen einer ersten Kodiermenge Vb1 und einer zweiten Kodiermenge Va1 entsprechend der Quantisierungsbreite αe1 und Erzielen einer ersten Kodiermenge Vb2 und einer zweiten Kodiermenge Va2 entsprechend der Quantisierungsbreite αe2; und
    • – eine Quantisierungsbreitenberechnungseinheit zum Berechnen einer Zielkodiermenge unter Verwendung der folgenden Formel:
      Figure 00070001
      wobei Vq eine Kodiermenge eines Bildes darstellt, die mit einer willkürlichen Quantisierungsbreite αq erzeugt wurde, und Bestimmen einer der berechneten Zielkodiermenge entsprechenden Quantisierungsbreite als eine optimale Quantisierungsbreite, wobei eine der willkürlichen Quantisierungsbreite αq entsprechende zweite Kodiermenge von der Beziehungsspeichereinheit erzielt wird und die erzielte zweite Kodiermenge als Va erachtet wird und eine der willkürlichen Quantisierungsbreite αq entsprechende erste Kodiermenge von der Beziehungsspeichereinheit erzielt wird und die erzielte erste Kodiermenge als Vb erachtet wird.
  • Mit der vorgenannten Konstruktion ist es möglich, einen Effekt zu haben, dass die Beziehung zwischen der Quantisierungsbreite und der Kodiermenge genauer als zuvor vorhergesagt wird, da ein Bild mit einer großen Kodiermenge und ein Bild mit einer kleinen Kodiermenge mit einer gewissen Anzahl von Quantisierungsbreiten kodiert werden, um die erste und zweite Kodiermenge zu erzielen. Die erzielte erste und zweite Kodiermenge werden zusammen mit den Quantisierungsbreiten und dem gelesenen Bild verwendet, um die Beziehung zwischen der Quantisierungsbreite und der Kodiermenge vorherzusagen.
  • Bei der vorgenannten Bildkodierungsvorrichtung kann jedes von der Kodiereinheit zu erzielende Bild eine Vielzahl von Blöcken umfassen, die jeder eine vorgegebene Anzahl von Bildpunkten umfassen, erzielt die Optimalquantisierungsbreitenbestimmungseinheit eine der optimalen Quantisierungsbreite entsprechende vorhergesagte Kodiermenge, wobei die Bildkodierungseinheit Folgendes umfasst:
    • – eine Blockzuweisungskodiermengenberechnungseinheit zum Erzielen eines Blockes von dem erzielten Bild, Erzeugen einer Quantisierungstabelle unter Verwendung der optimalen Quantisierungsbreite basierend auf der vorhergesagten Kodiermenge und der Zielkodiermenge und Berechnen einer Blockzuweisungskodiermenge für den erzielten Block unter Verwendung der von der Vorhersagekodiermengenberechnungseinheit erzeugten einen oder mehreren Quantisierungstabellen;
    • – eine Blockkodierungseinheit zum Erzeugen einer Quantisierungstabelle unter Verwendung der optimalen Quantisierungsbreite und Kodieren jedes Blockes unter Verwendung der erzeugten Quantisierungstabelle, so dass eine Kodiermenge des erzielten Blockes die Blockzuweisungskodiermenge nicht überschreitet.
  • Mit der vorgenannten Konstruktion ist es möglich, einen Effekt zu haben, dass die Leistung der Kompression/Kodierung verbessert wird, da es möglich ist, das Bild mit einem gewissen Fehler oder weniger zwischen der erzeugten Kodiermenge und der Zielkodiermenge mit nur einer Kodierung durch Vorhersage der Kodiermenge zu kodieren, während bei konventionellen Techniken der Kodierungsprozess wenigstens ein Mal durchgeführt wird, um die erzeugte Kodiermenge des Bildes zu prüfen.
  • Bei der vorgenannten Bildkodierungsvorrichtung kann die Blockzuweisungskodiermengenberechnungseinheit Folgendes umfassen:
    • – eine Bilderzieleinheit zum Erzielen eines Blockes des erzielten Bildes;
    • – eine Orthogonaltransformationseinheit zum Durchführen einer orthogonalen Transformation an dem erzielten Block, um einen orthogonalen Transformationsblock zu erzeugen;
    • – eine Quantisierungseinheit zum Quantisieren des orthogonalen Transformationsblocks unter Verwendung der einen oder mehreren Quantisierungstabellen, um einen oder mehrere quantisierte orthogonale Transformationsblöcke zu erzeugen;
    • – eine Blockvorhersagekodiermengenberechnungseinheit zum Berechnen einer vorhergesagten Kodiermenge des erzielten Blockes unter Verwendung des einen oder der mehreren quantisierten orthogonalen Transformationsblöcke; und
    • – eine Sekundär-Blockzuweisungskodiermengenberechnungseinheit zum Berechnen einer Blockzuweisungskodiermenge durch Einsetzen der einen oder mehreren vorhergesagten Kodiermengen für das erzielte Bild, der Zielkodiermenge und der vorhergesagten Kodiermenge des erzielten Blocks in eine vorgegebene Formel.
  • Mit der vorgenannten Konstruktion ist es möglich, einen Effekt zu haben, dass die Kodiermenge des gesamten Bildes die Zielkodiermenge nicht überschreitet, da die Blockzuweisungskodiermenge für jeden Block zu diesem Zweck bestimmt wird und jeder Block kodiert wird, die Blockzuweisungskodiermenge nicht zu überschreiten.
  • Bei der vorgenannten Bildkodierungsvorrichtung kann die Blockzuweisungskodiermengenberechnungseinheit Folgendes umfassen:
    • – eine Bilderzieleinheit zum Erzielen eines Blockes des erzielten Bildes;
    • – eine Orthogonaltransformationseinheit zum Durchführen einer orthogonalen Transformation an dem erzielten Block, um einen orthogonalen Transformationsblock zu erzeugen;
    • – eine Quantisierungseinheit zum Erzeugen einer Quantisierungstabelle und Quantisieren des orthogonalen Transformationsblocks, um einen quantisierten orthogonalen Transformationsblock zu erzeugen;
    • – eine Entropiekodiereinheit, um den quantisierten orthogonalen Transformationsblock so zu kodieren, dass der quantisierte orthogonale Transformationsblock die Blockzuweisungskodiermenge nicht überschreitet.
  • Mit der vorgenannten Konstruktion ist es möglich, einen Effekt zu haben, dass die Kodiermenge des gesamten Bildes die Zielkodiermenge nicht überschreitet, da die Blockzuweisungskodiermenge für jeden Block zu diesem Zweck bestimmt wird und jeder Block kodiert wird, die Blockzuweisungskodiermenge nicht zu überschreiten
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und andere Aufgaben, Vorteile und Merkmale der Erfindung werden aus der folgenden Beschreibung davon in Verbindung mit den begleitenden Zeichnungen ersichtlich, die eine spezifische Ausführung der Erfindung darstellen, wobei bei den Zeichnungen:
  • 1 ein Blockdiagramm ist, das die Struktur der Bildkodierungsvorrichtung als eine Ausführung der vorliegenden Erfindung zeigt;
  • 2 ein Blockdiagramm ist, das die Struktur des Kodierkreises der in 1 gezeigten Bildkodierungsvorrichtung zeigt;
  • 3 Informationen zeigt, die zwischen den Bauteilen des Kodierkreises der in 1 gezeigten Bildkodierungsvorrichtung übertragen werden;
  • 4 Beziehungen zwischen Bildern, Blockgruppen, Blöcken und Bildpunkten zeigt;
  • 5 die Blockverkleinerung zeigt, bei der ein Block aus jeder Blockgruppe eines Bildes ausgewählt wird;
  • 6 die Bildpunktverkleinerung zeigt, bei der ein Bildpunkt auf einer Basis einer aus vier für jede Blockgruppe eines Bildes ausgewählt wird;
  • 7 Beziehung zwischen vorhergesagten Kodiermengen und Kodiermengen zeigt;
  • 8 Beziehung zwischen vorhergesagten Kodiermengen und Kodiermengen zeigt;
  • 9 Beziehung zwischen vorhergesagten Kodiermengen und Kodiermengen zeigt;
  • 10 Abtastdaten zeigt, die in 7 bis 9 verwendet werden;
  • 11 eine Standardquantisierungstabelle zeigt;
  • 12 Beziehung zwischen den Quantisierungsbreiten und erzeugten Kodiermengen zeigt;
  • 13 Beziehung zwischen den Quantisierungsbreiten und erzeugten Kodiermengen zeigt;
  • 14 eine Quantisierungsbreitenentsprechungstabelle zeigt;
  • 15 die von 14 fortgesetzte Quantisierungsbreitenentsprechungstabelle zeigt;
  • 16 die von 15 fortgesetzte Quantisierungsbreitenentsprechungstabelle zeigt;
  • 17 die von 16 fortgesetzte Quantisierungsbreitenentsprechungstabelle zeigt;
  • 18 Befehle und Benachrichtigungen zeigt, die zwischen der Kodiersteuereinheit und anderen Bauteilen übertragen werden;
  • 19 einen Abriss des Prozesses zeigt, der von der in 1 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 20 den von 19 fortgesetzten Abriss des Prozesses zeigt, der von der in 1 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 21 ein Flussdiagramm des umrissenen Prozesses ist, der von der in 1 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 22 ein Flussdiagramm der Erstellung der Minimal- und Maximalquantisierungstabellen ist, die von der in 1 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 23 ein Flussdiagramm der Berechnung von vorhergesagten Kodiermengen Vp1 und Vp2 ist, die von der in 1 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 24 ein Flussdiagramm der Berechnung einer vorhergesagten Kodiermenge von jeder Blockgruppe ist, die von der in 1 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 25 ein Flussdiagramm der Berechnung der Blockzuweisungskodiermenge für jede Blockgruppe ist, die von der in 1 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 26 ein Flussdiagramm der Entropiekodierung ist, die von der in 1 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 27 ein Blockdiagramm ist, das die Struktur der Bildkodierungsvorrichtung als eine andere Ausführung der vorliegenden Erfindung zeigt;
  • 28 ein Blockdiagramm ist, das die Struktur des Kodierkreises der in 27 gezeigten Bildkodierungsvorrichtung zeigt;
  • 29 Informationen zeigt, die zwischen den Bauteilen des Kodierkreises der in 27 gezeigten Bildkodierungsvorrichtung übertragen werden;
  • 30 einen Abriss des Prozesses zeigt, der von der in 27 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 31 den von 30 fortgesetzten Abriss des Prozesses zeigt, der von der in 27 gezeigten Bildkodierungsvorrichtung durchgeführt wird;
  • 32 ein Flussdiagramm des umrissenen Prozesses ist, der von der in 27 gezeigten Bildkodierungsvorrichtung durchgeführt wird; und
  • 33 ein Flussdiagramm der Berechnung von vorhergesagten Kodiermengen Vp1 und Vp2 ist, die von der in 27 gezeigten Bildkodierungsvorrichtung durchgeführt wird.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGEN
  • Inhaltsverzeichnis
    • I Ausführung 1
    • 1. Struktur der digitalen Stehbildkamera
    • 2. Struktur des Kodierkreises (108)
    • 2.1 Blockverkleinerungseinheit (201)
    • 2.2 Bildpunktverkleinerungseinheit (202)
    • 2.3 Blockleseeinheit (203)
    • 2.4 Datenselektor (204)
    • 2.5 Orthogonaltransformationseinheit (205)
    • 2.6 Quantisierungseinheit (206)
    • 2.7 Kodiermengenvorhersageeinheit (207)
    • 2.8 Quantisierungsbreitenberechnungseinheit (208)
    • (1) Quantisierungsbreite
    • (2) Prinzip der Berechnung optimaler Quantisierungsbreite
    • (3) Quantisierungsbreitenberechnungseinheit (208)
    • 2.9 Quantisierungstabellenerzeugungseinheit (209)
    • 2.10 Blockzuweisungskodiermengeneinstelleinheit (210)
    • 2.11 Entropiekodiereinheit (211)
    • 2.12 Kodiersteuereinheit (213)
    • 3. Betrieb der digitalen Stehbildkamera
    • 3.1 Zusammengefasster Kodierprozess
    • 3.2 Zusammengefasste Kodieroperation
    • 3.3 Erstellen von Quantisierungstabellen für Kodiermengenvorhersage
    • 3.4 Vorhersage von Kodiermengen für gesamtes Bild
    • 3.5 Vorhersage von Kodiermengen für jede Blockgruppe
    • 3.6 Kodieren
    • 3.7 Entropiekodieren
    • 4. Schlussfolgerung
    • II Ausführung 2
    • 1. Struktur der digitalen Stehbildkamera
    • 2. Struktur des Kodierkreises (121)
    • 2.1 Datenselektor (221)
    • 3. Betrieb der digitalen Stehbildkamera
    • 3.1 Zusammengefasster Kodierprozess
    • 3.2 Zusammengefasste Kodieroperation
    • 3.3 Erstellen von Quantisierungstabellen für Kodiermengenvorhersage
    • 3.4 Vorhersage von Kodiermengen für gesamtes Bild
    • 3.5 Vorhersage von Kodiermengen für jede Blockgruppe
    • 3.6 Kodieren
    • 3.7 Entropiekodieren
    • 4. Schlussfolgerung
    • III Sonstige Ausführungen
  • Ausführung 1
  • Eine digitale Stehbildkamera (100), die eine Bildkodierungsvorrichtung als eine Ausführung der vorliegenden Erfindung ist, wird im Bezug auf ihre Struktur und Operationen beschrieben.
  • 1. Struktur der digitalen Stehbildkamera
  • Die Struktur der digitalen Stehbildkamera (100) als eine Ausführung der vorliegenden Erfindung wird mit Bezug auf ein in 1 gezeigtes Blockdiagramm beschrieben.
  • Wie in 1 gezeigt wird, besteht die digitale Stehbildkamera (100) aus einem Mikrocontroller (101), einem als Arbeitsspeicher des Mikrocontrollers (101) verwendeten Direktzugriffsspeicher (RAM) (102), einem Festspeicher (ROM) (103) zum Speichern ei nes Programms zum Aktivieren des Mikrocontrollers (101), einer durch einen ladungsgekoppelten Baustein (CCD) oder Ähnliches realisierten Bilderfassungseinheit (104) zum Umwandeln von Bildern in elektrische Signale, einem Signalverarbeitungskreis (105) zum Durchführen einer Gammakorrektur an den umgewandelten elektrischen Signalen, einem A/D-Umwandlungskreis (106) zum Umwandeln der umgewandelten elektrischen Signale in digitale Signale, einem Originalbildpuffer (107) zum vorübergehenden Speichern der umgewandelten digitalen Signale, einem Kodierkreis (108) zum Kodieren/Komprimieren von Bildern, einer Speicherkarte (109) zum Speichern von kodierten/komprimierten Bildern, einer Speicherkarte I/F (110) zum Steuern des Lesens und Schreibens von Daten von der/auf die Speicherkarte (109), einem Dekodierkreis (111) zum Dekodieren und Wiedergeben der kodierten/komprimierten Bilder, einer durch eine Flüssigkristallanzeige (LCD) oder Ähnliches realisierte Anzeigeeinheit (112) zum Anzeigen der aufgezeichneten Bilder oder der aufzuzeichnenden Bilder und einem Bildspeicher (113) zum vorübergehenden Speichern der auf der Anzeigeeinheit (112) angezeigten Bilder.
  • Der Mikrocontroller (101) steuert die gesamte Kamera.
  • Außerdem gibt der Mikrocontroller (101) einen Befehl „Bildkodierbeginn" und eine Zielkodiermenge Vo an eine Kodiersteuereinheit (213), die später beschrieben wird, aus und empfängt eine Benachrichtigung „Bildkodierende" von der Kodiersteuereinheit (213).
  • 2. Struktur des Kodierkreises (108)
  • Die Struktur des Kodierkreises (108) der in 1 gezeigten digitalen Stehbildkamera (100) wird mit Bezug auf ein in 2 gezeigtes Blockdiagramm beschrieben. 3 zeigt Informationen, die zwischen den Bauteilen des Kodierkreises (108) übertragen werden.
  • Der Kodierkreis (108) besteht aus einer Blockverkleinerungseinheit (201), einer Bildpunktverkleinerungseinheit (202), einer Blockleseeinheit (203), einem Datenselektor (204), einer Orthogonaltransformationseinheit (205), einer Quantisierungseinheit (206), einer Kodiermengenvorhersageeinheit (207), einer Quantisierungsbreitenberechnungseinheit (208), einer Quantisierungstabellenerzeugungseinheit (209), einer Blockzuwei sungskodiermengeneinstelleinheit (210), einer Entropiekodiereinheit (211) und einer Kodiersteuereinheit (213).
  • Die vorgenannten Bauteile des Kodierkreises (108) werden ausführlich beschrieben.
  • 2.1 Blockverkleinerungseinheit (201)
  • Wie in 4 gezeigt wird, besteht jeder Block aus 64 Bildpunkten mit acht in jeder Zeile und Spalte angeordneten Bildpunkten, wobei der Bildpunkt die kleinste Einheit von digitalen Bildern ist. Wie in 4 gezeigt wird, besteht der Block (313) aus 8 × 8 Bildpunkten. Jede Gruppe von vier Blöcken, die in Zweiblockzeilen und Zweiblockspalten angeordnet sind, wird als „Blockgruppe" bezeichnet. In 4 besteht die Blockgruppe (302) aus vier Blöcken, den Blöcken (311, 312, 313 und 314).
  • Die Blockverkleinerungseinheit (201) nimmt die Blockgruppen eine nach der anderen unter einer gewissen Regel von einem Bild auf, das in dem Originalbildpuffer (107) gespeichert ist.
  • Die Blockverkleinerungseinheit (201) wählt des Weiteren den oberen linken Block von jeder der aufgenommenen Blockgruppen als ein Musterbeispiel von jeder Blockgruppe aus. Die Blockverkleinerungseinheit (201) liest dann ganze Bildpunktwerte der ausgewählten Blöcken aus. Beispielsweise wählt de Blockverkleinerungseinheit (201) eine in 4 gezeigte Blockgruppe (302) aus und wählt dann aus den vier in der Blockgruppe (302) enthaltenen Blöcken (311, 312, 313 und 314) den oberen linken Block (311) aus. Die Blockverkleinerungseinheit (201) liest alle 64 Bildpunktwerte aus, die den ausgewählten Block (311) ergeben. Die Blockverkleinerungseinheit (201) gibt dann die 64 Bildpunktwerte an den Datenselektor (204) aus.
  • 5 zeigt ein in dem Originalbildpuffer (107) gespeichertes Bild, Blockgruppen und Blöcke, die aus jeder Blockgruppe ausgewählt wurden. In der Zeichnung ist das Bild (401) ein in dem Originalbildpuffer (107) gespeichertes Bild. Mit dicken Linien umfasste Kästchen sind Blockgruppen. Kästchen mit schrägen Linien sind Blöcke, die aus jeder Blockgruppe ausgewählt wurden.
  • 2.2 Bildpunktverkleinerungseinheit (202)
  • Die Bildpunktverkleinerungseinheit (202) wählt Blockgruppen eine nach der anderen in Reihenfolge aus einem in dem Originalbildpuffer (107) gespeicherten Bild aus.
  • Jede Blockgruppe besteht aus 64 in Zeilen und Spalten angeordneten Unterblöcken, wobei jede Spalte und Zeile aus acht Unterblöcken besteht. Jeder Unterblock besteht aus vier in Zeilen und Spalten angeordneten Bildpunkten, wobei jede Spalte und Zeile aus zwei Bildpunkten besteht.
  • Die Bildpunktverkleinerungseinheit (202) wählt dann den oberen linken Bildpunkt aus jedem Unterblock aus. Das heißt, dass 64 Bildpunkte aus jeder Blockgruppe ausgewählt werden. Die Bildpunktverkleinerungseinheit (202) liest 64 Bildpunktwerte der 64 ausgewählten Bildpunkte aus und gibt die ausgelesenen Bildpunktwerte an den Datenselektor (204) aus.
  • 6 zeigt ein in dem Originalbildpuffer (107) gespeichertes Bild, Blockgruppen und Bildpunkte, die aus jeder Blockgruppe ausgewählt wurden. In der Zeichnung ist das Bild (501) ein in dem Originalbildpuffer (107) gespeichertes Bild. Mit dicken Linien umfasste Kästchen sind Blöcke. Kästchen mit schrägen Linien sind Bildpunkte, die aus jeder Blockgruppe ausgewählt wurden.
  • 2.3 Blockleseeinheit (203)
  • Die Blockleseeinheit (203) liest 64 Bildpunktwerte je Block von dem in dem Originalbildpuffer (107) gespeicherten Bild aus und gibt die ausgelesenen Bildpunktwerte an den Datenselektor (204) aus.
  • 2.4 Datenselektor (204)
  • Der Datenselektor (204) empfängt einen der Befehle „Ganzvorhersage", „Bildpunktverkleinerung" und „Blockauslesen" von der Kodiersteuereinheit (213).
  • Bei Empfang des Befehls „Ganzvorhersage" wählt der Datenselektor (204) die 64 von der Blockverkleinerungseinheit (201) ausgegebenen Bildpunktwerte aus. Bei Empfang des Befehls „Bildpunktverkleinerung" wählt der Datenselektor (204) die 64 von der Bildpunktverkleinerungseinheit (202) ausgegebenen Bildpunktwerte aus. Bei Empfang des Befehls „Blockauslesen" wählt der Datenselektor (204) die 64 von der Blockleseeinheit (203) ausgegebenen Bildpunktwerte aus. Der Datenselektor (204) gibt dann die ausgewählten 64 Bildpunktwerte an die Orthogonaltransformationseinheit (205) aus.
  • 2.5 Orthogonaltransformationseinheit (205)
  • Die Orthogonaltransformationseinheit (205) führt eine orthogonale Transformation an den 64 von dem Datenselektor (204) ausgegebenen Bildpunktwerten durch. Die Orthogonaltransformationseinheit (205) gibt dann 64 aus der Transformation erzielte orthogonale Transformationskoeffizienten Si (i = „0" bis „63") an die Quantisierungseinheit (206) aus, wobei Si den i-ten orthogonalen Transformationskoeffizienten darstellt.
  • Der orthogonale Transformationsprozess ist bereits bekannt, und es erfolgt keine weitere Erläuterung zu diesem Prozess.
  • 2.6 Quantisierungseinheit (206)
  • Die Quantisierungseinheit (206) empfängt einen der Befehle „Ganzvorhersage", „Bildpunktverkleinerung" und „Blockauslesen" von der Kodiersteuereinheit (213).
  • Empfang des Befehls „Ganzvorhersage"
  • Bei Empfang des Befehls „Ganzvorhersage" führt die Quantisierungseinheit (206) zwei Arten von Quantisierungsprozessen wie folgt durch.
  • Bei dem ersten Quantisierungsprozess liest die Quantisierungseinheit (206) 64 Elementwerte Qmaxi (i = „0" bis „63") aus einer Maximalquantisierungstabelle (209b) aus, die, wie später beschrieben wird, von der Quantisierungstabellenerzeugungseinheit (209) erstellt und gehalten wird. Die Quantisierungseinheit (206) teilt unter Verwendung der nachfolgend gezeigten Formel 1 jeden der 64 orthogonalen Transformationskoeffizien ten Si, die von der Orthogonaltransformationseinheit (205) ausgegeben wurden, durch einen entsprechenden der 64 Elementwerte Qmaxi, rundet jedes Ergebnis zu einer ganzen Zahl auf und erzielt 64 maximale orthogonale Transformationskoeffizienten Smaxqi (i = „0" bis „63"). Die Quantisierungseinheit (206) gibt dann die erzielten 64 maximalen orthogonalen Transformationskoeffizienten Smaxqi an die Kodiermengenvorhersageeinheit (207) aus.
  • Formel 1
  • Smaxqi = rund(Si/Qmaxi) (i = „0" bis „63")
  • In Formel 1 stellt Smaxqi den i-ten maximalquantisierten orthogonalen Transformationskoeffizienten, Si den i-ten orthogonalen Transformationskoeffizienten, Qmaxi den i-ten Elementwert in der Maximalquantisierungstabelle (209b) und rund () das Aufrunden eines Wertes in der Klammer zu einer am nahesten an dem Wert liegenden ganzen Zahl dar.
  • Bei dem zweiten Quantisierungsprozess liest die Quantisierungseinheit (206) 64 Elementwerte Qmini (i = „0" bis „63") aus einer Minimalquantisierungstabelle (209c) aus, die, wie später beschrieben wird, von der Quantisierungstabellenerzeugungseinheit (209) erstellt und gehalten wird. Die Quantisierungseinheit (206) teilt unter Verwendung der nachfolgend gezeigten Formel 2 jeden der 64 orthogonalen Transformationskoeffizienten Si, die von der Orthogonaltransformationseinheit (205) ausgegeben wurden, durch einen entsprechenden der 64 Elementwerte Qmini, rundet jedes Ergebnis zu einer ganzen Zahl auf und erzielt 64 minimale orthogonale Transformationskoeffizienten Sminqi (i = „0" bis „63"). Die Quantisierungseinheit (206) gibt dann die erzielten 64 minimalen orthogonalen Transformationskoeffizienten Sminqi an die Kodiermengenvorhersageeinheit (207) aus.
  • Formel 2
  • Sminqi = rund(Si/Qmini) (i = „0" bis „63")
  • In Formel 2 stellt Sminqi den i-ten minimalquantisierten orthogonalen Transformationskoeffizienten, Si den i-ten orthogonalen Transformationskoeffizienten, Qmini den i-ten Elementwert in der Minimalquantisierungstabelle (209c) und rund () das Aufrunden eines Wertes in der Klammer zu einer am nahesten an dem Wert liegenden ganzen Zahl dar.
  • Empfang des Befehls „Bildpunktverkleinerung" oder „Blockauslesen"
  • Bei Empfang des Befehls „Bildpunktverkleinerung" oder „Blockauslesen" von der Kodiersteuereinheit (213) führt die Quantisierungseinheit (206) den Quantisierungsprozess wie folgt durch.
  • Die Quantisierungseinheit (206) liest 64 Elementwerte Qi (i = „0" bis „63") aus einer Optimalquantisierungstabelle (209a) aus, die, wie später beschrieben wird. von der Quantisierungstabellenerzeugungseinheit (209) erstellt und gehalten wird. Die Quantisierungseinheit (206) teilt unter Verwendung der nachfolgend gezeigten Formel 3 jeden der 64 orthogonalen Transformationskoeffizienten Si, die von der Orthogonaltransformationseinheit (205) ausgegeben wurden, durch einen entsprechenden der 64 Elementwerte Qi, rundet jedes Ergebnis zu einer ganzen Zahl auf und erzielt 64 quantisierte orthogonale Transformationskoeffizienten Sqi (i = „0" bis „63"). Die Quantisierungseinheit (206) gibt dann die erzielten 64 quantisierten orthogonalen Transformationskoeffizienten Sqi bei Empfang des Befehls „Bildpunktverkleinerung" an die Kodiermengenvorhersageeinheit (207) aus. Die Quantisierungseinheit (206) gibt die erzielten 64 quantisierten orthogonalen Transformationskoeffizienten Sqi bei Empfang des Befehls „Blockauslesen" an die Entropiekodiereinheit (211) aus.
  • Formel 3
  • Sqi = rund(Si/Qi) (i = „0" bis „63")
  • In Formel 3 stellt Sqi den i-ten quantisierten orthogonalen Transformationskoeffizienten, Si den i-ten orthogonalen Transformationskoeffizienten, Qi den i-ten Elementwert in der Optimalquantisierungstabelle (209a) und rund () das Aufrunden eines Wertes in der Klammer zu einer am nahesten an dem Wert liegenden ganzen Zahl dar.
  • 2.7 Kodiermengenvorhersageeinheit (207)
  • Die Kodiermengenvorhersageeinheit (207) berechnet unter Verwendung der nachfolgend gezeigten Formel 4 eine vorhergesagte Kodiermenge Ve, die eine vorhergesagte Menge ist, die durch Entropiekodierung jedes der 64 quantisierten orthogonalen Transformationskoeffizienten zu erzeugen ist, die von der Quantisierungseinheit (206) ausgegeben werden.
  • In Formel 4 stellt der erste Term eine vorhergesagte Menge von Entropiekodierung der Gleichstromkomponente in den quantisierten orthogonalen Transformationszielkoeffizienten dar. Der zweite Term stellt eine vorhergesagte Menge von Entropiekodierung von Wechselstromkomponenten dar, die bei den quantisierten orthogonalen Transformationszielkoeffizienten andere Werte als „0" haben. Der dritte Term korrigiert einen Anstieg bei der vorhergesagten Kodiermenge, der auf Grund aufeinanderfolgender „0en" eintritt, wenn die aufeinanderfolgenden „0en" und eine nachfolgende Wechselstromkomponente entropiekodiert werden.
  • Jedes von „log2|X|" des ersten Terms und von „L(X)" des zweiten Terms stellt die Anzahl von Ziffern des Werts „X" in der Binärdarstellung dar, wobei X ≠ 0 in dem „L(X)" des zweiten Terms.
  • Formel 4
    Figure 00210001
  • In Formel 4 stellt Ve eine vorhergesagte Kodiermenge von einem Block, Sq0 eine Differenz zwischen quantisierten orthogonalen Transformationskoeffizienten (Gleichstromkomponenten) des aktuellen und vorhergehenden Blocks, Sqi einen quantisierten orthogonalen Transformationskoeffizienten (Wechselstromkomponente, wobei i = „1" bis „63"), αdc einen Umwandlungskoeffizienten, αac einen Umwandlungskoeffizienten, αzn einen Umwandlungskoeffizienten, β eine Konstante, L(X) eine Funktion, die einen Ergebniswert „0", wenn X = 0, und einen Ergebniswert von log2|X|, wenn X ≠ 0, liefert, und d(X) eine Funktion dar, die einen Ergebniswert „0", wenn X = 0, und einen Ergebniswert „1", wenn X ≠ 0, liefert.
  • 7, 8 und 9 zeigen jeweils Beziehungen zwischen den tatsächlichen Kodiermengen von 20 Arten von Bildern und vorhergesagten Kodiermengen von denselben Bildern, die mit Formel 4 berechnet wurden.
  • In jeder der 7, 8 und 9 stellt die senkrechte Achse die tatsächlichen Kodiermengen dar, und die waagerechte Achse stellt die vorhergesagten Kodiermengen dar, die mit dem zweiten Term von Formel 4 berechnet wurden. Jede der 7, 8 und 9 zeigt die vorgenannten Werte für jedes der neun in 10 gezeigten Muster grafisch dargestellt. Die neun Muster bestehen aus drei Arten von Quantisierungsbreiten (903) „70", „240" und „780", die für jede der drei Farbkomponenten (902) eingestellt sind: Helligkeit Y, Farbdifferenz Cb und Farbdifferenz Cr. Die neun Muster werden durch Zeichen (901) dargestellt: Y4, Y8 und Y16 (Helligkeit Y), U4, U8 und U16 (Farbdifferenz Cb) und V4, V8 und V16 (Farbdifferenz Cr). Die Quantisierungsbreite wird später beschrieben.
  • Die in 7 gezeigten vorhergesagten Kodiermengen werden unter Verwendung aller Bildpunktwerte eines gesamten Bildes berechnet. Die in 8 gezeigten vorhergesagten Kodiermengen werden unter Verwendung der Bildpunktwerte der Bildpunkte berechnet, die in Einheiten von Blöcken von dem gesamten Bild aufgenommen wurden, wie dies in „2.1 Blockverkleinerungseinheit (201)" erläutert wurde. Die in 9 gezeigten vorhergesagten Kodiermengen werden unter Verwendung der Bildpunktwerte der Bildpunkte berechnet, die in Einheiten von Bildpunkten von dem gesamten Bild aufgenommen wurden, wie dies in „2.2 Bildpunktverkleinerungseinheit (202)" erläutert wurde.
  • Wie aus den 7, 8 und 9 ersichtlich ist, gibt es starke Korrelationen zwischen den tatsächlichen Kodiermengen und vorhergesagten Kodiermengen, die mit dem zweiten Term von Formel 4 berechnet wurden. Das zeigt, dass die Vorhersage von Kodiermengen, die durch die Berechnung mit Formel 4 erfolgt, hohe Genauigkeit aufweist.
  • Außerdem ist durch Vergleich festzustellen, dass 8 stärkere Korrelationen aufweist als 9. Es zeigt, dass für ein gesamtes Bild die Vorhersage, die für die in Einheiten von Blöcken aufgenommenen Bildpunktwerte erfolgte, eine höhere Genauigkeit aufweist als bei denen, die in Einheiten von Bildpunkten aufgenommen wurden. Die vorhergesagten Kodiermengen, die mit dem zweiten Term von Formel 4 berechnet wurden, könnten jedoch möglicherweise eine große Menge von Kodierung, die in nichtgewählten Blöcken enthalten ist, nicht reflektieren. Dies passiert, wenn beispielsweise eine Randkomponente eines Bildes in einem Block enthalten ist, der nicht für die Vorhersage ausgewählt wurde. Als Folge weist für eine Blockgruppe die Vorhersage von Kodiermengen, die für die in Einheiten von Bildpunkten aufgenommenen Bildpunktwerte erfolgte, eine höhere Genauigkeit auf als bei denen, die in Einheiten von Blöcken aufgenommen wurden. Aus diesem Grund werden bei der vorliegenden Ausführung diese beiden Arten von Verfahren verwendet, um Bildpunkte als Ziele der Kodiermengenberechnung zu verkleinern.
  • Die Kodiermengenvorhersageeinheit (207) empfängt einen Befehl „Ganzvorhersage" oder „Bildpunktverkleinerung" von der Kodiersteuereinheit (213).
  • Bei Empfang des Ganzvorhersagebefehls berechnet die Kodiermengenvorhersageeinheit (207) eine maximale vorhergesagte Kodiermenge Vmaxe für jede Blockgruppe mit Formel 4 aus 64 maximalquantisierten orthogonalen Transformationskoeffizienten Smaxqi, die von der Quantisierungseinheit (206) ausgegeben wurden. Die Kodiermengenvorhersageeinheit (207) akkumuliert dann die berechneten maximalen vorhergesagten Kodiermengen Vmaxe, um eine kumulative maximale vorhergesagte Kodiermenge Vp2 zu erzielen, die einem gesamten Bild entspricht. Die Kodiermengenvorhersageeinheit (207) gibt die kumulativen maximalen vorhergesagten Kodiermengen Vp2 an die Quantisierungsbreitenberechnungseinheit (208) aus. Die Kodiermengenvorhersageeinheit (207) berechnet außerdem eine minimale vorhergesagte Kodiermenge Vmine für jede Blockgruppe mit Formel 4 aus 64 minimalquantisierten orthogonalen Transformationskoeffizienten Sminqi, die von der Quantisierungseinheit (206) ausgegeben wurden. Die Kodiermengenvorhersageeinheit (207) akkumuliert dann die berechneten minimalen vorhergesagten Kodiermengen Vmine, um eine kumulative minimale vorhergesagte Kodiermenge Vp1 zu erzielen, die einem gesamten Bild entspricht. Die Kodiermengenvorhersageeinheit (207) gibt die kumulativen minimalen vorhergesagten Kodiermengen Vp1 an die Quantisierungsbreitenberechnungseinheit (208) aus. Die Kodiermengenvorhersageeinheit (207) sendet außerdem eine Benachrichtigung „Ganzvorhersageende" an die Kodiersteuereinheit (213), nachdem die Berechnungen der maximalen vorhergesagten Kodiermenge Vmaxe und der minimalen vorhergesagten Kodiermenge Vmine für jeden Block außer dem letzten abgeschlossen wurden.
  • Bei Empfang des Bildpunktverkleinerungsbefehls von der Kodiersteuereinheit (213) berechnet die Kodiermengenvorhersageeinheit (207) eine vorhergesagte Kodiermenge Ve für jede Blockgruppe mit Formel 4 aus 64 quantisierten orthogonalen Transformationskoeffizienten Sqi, die von der Quantisierungseinheit (206) ausgegeben wurden. Die Kodiermengenvorhersageeinheit (207) akkumuliert dann die berechneten vorhergesagten Kodiermengen Ve, um eine kumulative vorhergesagte Kodiermenge Vp zu erzielen, die einem gesamten Bild entspricht. Die Kodiermengenvorhersageeinheit (207) gibt die berechnete vorhergesagte Kodiermenge Ve und die kumulative vorhergesagte Kodiermenge Vp an die Blockzuweisungskodiermengeneinstelleinheit (210) aus. Danach sendet die Kodiermengenvorhersageeinheit (207) eine Benachrichtigung „Bildpunktverkleinerungsende" an die Kodiersteuereinheit (213).
  • 2.8 Quantisierungsbreitenberechnungseinheit (208)
  • Dieser Abschnitt beschreibt die Quantisierungsbreite, das Prinzip der Berechnung der Quantisierungsbreite und die Quantisierungsbreitenberechnungseinheit (208).
  • (1) Quantisierungsbreite
  • Die Quantisierungsbreite wird mit 64 Elementwerten multipliziert, aus denen die Standardquantisierungstabelle (209d) besteht, die später beschrieben wird. Dies erzeugt eine Quantisierungstabelle, die aus den Werten besteht, die aus der vorgenannten Multiplikation erzielt wurden. Die Quantisierungstabelle wird zum Quantisieren der orthogonalen Umwandlungskoeffizienten verwendet. Die quantisierten orthogonalen Umwandlungskoeffizienten werden für die Entropiekodierung verwendet. Als Folge ist es möglich, durch Anpassen der Quantisierungsbreite die Kompressionsrate von kodierten Bildern zu ändern.
  • Jedes Element Qi der Quantisierungstabelle wird durch die folgende Formel 5 dargestellt.
  • Formel 5
  • Qi = rund(Bi*α) (i = „0" bis „63")
  • In Formel 5 stellt Bi jedes Element der Standardquantisierungstabelle (209d) und α die Quantisierungsbreite dar. Folglich ergibt sich die folgende Formel 6 aus Formel 3 und 5.
  • Formel 6
  • Sqi = rund(Si/rund(Bi*α)) (i = „0" bis „63")
  • Wie aus Formel 6 ersichtlich ist, ist es möglich, die 64 orthogonalen Umwandlungskoeffizienten durch Ändern einer Quantisierungsbreite zu ändern. Das ist praktisch.
  • (2) Prinzip der Berechnung optimaler Quantisierungsbreite
  • Zur Kodiermengenvorhersage werden quantisierte orthogonale Umwandlungskoeffizienten verwendet. Daher ist es möglich, eine Kodiermenge durch Anpassen der Quantisierungsbreite mit hoher Genauigkeit vorherzusagen, um eine Kodiermenge zu erzielen, die am nahesten an einer Zielkodiermenge liegt.
  • Hier wird das Prinzip der Berechnung der optimalen Quantisierungsbreite beschrieben. Mit der optimalen Quantisierungsbreite wird das Bild kodiert, um eine Kodiermenge zu erzeugen, die am nahesten an einer Zielkodiermenge liegt.
  • Bei einer Kodierung, die den orthogonalen Umwandlungsprozess und den Entropiekodierprozess umfasst, variiert die erzeugte Kodiermenge in Abhängigkeit von der Art und dem Inhalt des Bildes.
  • Die Korrelation zwischen der Quantisierungsbreite und der erzeugten Kodiermenge wurde für vier Bilder (A, B, C und D) gemessen. Die Bilder (A, B, C und D) zeigen Vögel, einen Bauernhof und Ähnliches. Für diese Kodierung wurde die DCT-Umwandlung als die orthogonale Umwandlung verwendet, wobei die in 11 gezeigte Tabelle als die standardquantisierte Tabelle (209d) verwendet wurde und das Huffman-Kodierverfahren als die Entropiekodierung verwendet wurde, wobei das Huffman-Kodierverfahren in JPEG verwendet wurde. Jedes Bild hat eine Größe von 640 × 480 Bildpunkten. 12 zeigt die Beziehung zwischen der Quantisierungsbreite und der Kodiermenge, die tatsächlich für jedes der vier Bilder gemessen wurde.
  • In 12 stellt die waagerechte Achse „Quantisierungsbreite × 1000" (601) dar; die senkrechte Achse stellt die Kodiermenge (602) als Ergebnis von Entropiekodierung dar. Die Kodiermenge (602) wird in Einheiten von Bits dargestellt. Die Kurven (611, 612, 613 bzw. 614) entsprechen Bildern (A, B, C und D).
  • Bei Betrachtung von 12 wird ersichtlich, dass die Kurven (611, 612, 613 und 614) in der Reihenfolge der Größe der Kodiermenge angeordnet sind. Diese Größenordnung der Kodiermenge für diese Kurven ändert sich nicht mit Quantisierungsbreiten. Daraus wird gefolgert, dass sich die Beziehung zwischen den Kodiermengen von zwei willkürlichen Bildern ungeachtet der Quantisierungsbreite nicht ändert. Dieses Merkmal wird Merkmal 1 genannt.
  • Außerdem nimmt, ungeachtet der Bildarten, die Kodiermenge zu, während die Quantisierungsbreite abnimmt; die Kodiermenge nimmt ab, während die Quantisierungsbreite zunimmt. Die Kodiermenge nähert sich bei zunehmender Quantisierungsbreite nach und nach Null und nähert sich bei abnehmender Quantisierungsbreite nach und nach unendlich. Dieses Merkmal wird Merkmal 2 genannt.
  • Die Differenz zwischen den Kodiermengen von zwei willkürlichen Bildern wird bei zunehmender Quantisierungsbreite kleiner und wird bei abnehmender Quantisierungsbreite größer. Dieses Merkmal wird Merkmal 3 genannt.
  • Es ist möglich, die Kodiermenge eines Zielbildes für jede Quantisierungsbreite unter Anwendung der vorgenannten Merkmale vorherzusagen, wenn die Kodiermengen von zwei Bildern für jede Quantisierungsbreite und die Kodiermenge des Zielbildes für eine Quantisierungsbreite bereits bekannt sind.
  • Die Kodiermenge eines Zielbildes für jede Quantisierungsbreite, die mit dem vorgenannten Verfahren vorhergesagt wurde, weist eine hohe Genauigkeit auf, wenn Bilder, die je weils eine relativ große Kodiermenge und eine relativ kleine Kodiermenge aufweisen, als die beiden Bilder verwendet werden, deren erzeugte Kodiermengen bereits bekannt sind.
  • Durch Verwendung der Kodiermenge eines Zielbildes für jede Quantisierungsbreite, die mit dem vorgenannten Verfahren vorhergesagt wurde, ist es möglich, eine Quantisierungsbreite vorherzusagen, mit der das Zielbild eine Kodiermenge nahe an der Zielkodiermenge erzeugt.
  • 13 ist eine schematische Darstellung der Beziehung zwischen der Quantisierungsbreite und der in 12 gezeigten Kodiermenge. In 13 stellt die waagerechte Achse die Quantisierungsbreite dar, und die senkrechte Achse stellt die Kodiermenge dar. Die Kurve (711) zeigt Kodiermengen eines Bildes für gegebene Quantisierungsbreiten, wobei die Kodiermengen klein sind. Die Kurve (713) zeigt Kodiermengen eines anderen Bildes für gegebene Quantisierungsbreiten, wobei die Kodiermengen groß sind. Es wird angenommen, dass die Kodiermengen für jede Quantisierungsbreite der Kurven (711 und 713) bereits bekannt sind. Die Kurve (712) zeigt Kodiermengen eines Zielbildes für die Quantisierungsbreiten.
  • Es wird hier angenommen, dass αe eine Quantisierungsbreite darstellt, mit der eine Zielkodiermenge Vo durch Kodieren eines Zielbilds erzeugt wird, das durch die Kurve (712) dargestellte Kodiermengen aufweist, wobei die Kurve (712) zwischen den Kurven (711 und 713) besteht. Außerdem wird angenommen, dass αe1 eine Quantisierungsbreite darstellt, mit der eine Zielkodiermenge Vo durch Kodieren des Bildes entsprechend der Kurve (711) erzeugt wird, und dass αe2 eine Quantisierungsbreite darstellt, mit der eine Zielkodiermenge Vo durch Kodieren des Bildes entsprechend der Kurve (713) erzeugt wird.
  • Bei den oben beschriebenen Bedingungen besteht kein Zweifel, dass die Quantisierungsbreite αe zwischen den Quantisierungsbreiten αe1 und αe2 besteht.
  • Im Einklang mit Merkmal 1 ist die Kodiermenge eines Zielbilds, das ein Zwischenbild zwischen einem Bild mit einer großen Kodiermenge und einem Bild mit einer kleinen Ko diermenge ist, ungeachtet der Quantisierungsbreite ein Zwischending zwischen zwei Kodiermengen dieser Bilder. Aus dieser Tatsache wird die folgende Formel aufgestellt.
  • Formel 7
  • Vq = Va + ∎q*(Vb – Va) (0 ≦ ∎q ≦ 1)
  • In Formel 7 stellt Va eine mit Quantisierungsbreite αq erzeugte Kodiermenge eines Bildes mit kleinen Kodiermengen dar, stellt Vb eine mit Quantisierungsbreite αq erzeugte Kodiermenge eines Bildes mit großen Kodiermengen dar und stellt ∎q ein Zahlzeichen dar, das gleich Null oder größer ist und gleich 1 oder kleiner ist.
  • Die mit Quantisierungsbreite αe1 erzeugte Kodiermenge Ve wird durch die folgende Formel dargestellt.
  • Formel 8
  • Vq = Vp1 = Va1 + ∎1*(Vb1 – Va1) (0 ≦ ∎1 ≦ 1)
  • Außerdem wird die mit Quantisierungsbreite αe2 erzeugte Kodiermenge Vq durch die folgende Formel dargestellt.
  • Formel 9
  • Vq = Vp2 = Va2 + ∎2*(Vb2 – Va2) (0 ≦ ∎2 ≦ 1)
  • In Formel 8 und 9:
    stellt Vp1 eine mit Quantisierungsbreite αe1 erzeugte vorhergesagte Kodiermenge des Zielbilds dar;
    stellt Vp2 eine mit Quantisierungsbreite αe2 erzeugte vorhergesagte Kodiermenge des Zielbilds dar;
    stellt Va1 eine mit Quantisierungsbreite αe1 erzeugte Kodiermenge des Bildes mit kleinen Kodiermengen dar;
    stellt Vb1 eine mit Quantisierungsbreite αe1 erzeugte Kodiermenge des Bildes mit großen Kodiermengen dar;
    stellt Va2 eine mit Quantisierungsbreite αe2 erzeugte Kodiermenge des Bildes mit kleinen Kodiermengen dar;
    stellt Vb2 eine mit Quantisierungsbreite αe2 erzeugte Kodiermenge des Bildes mit großen Kodiermengen dar;
    stellt ∎1 ein Zahlzeichen dar, das gleich Null oder größer ist und gleich 1 oder kleiner ist; und
    stellt ∎ ein Zahlzeichen dar, das gleich Null oder größer ist und gleich 1 oder kleiner ist.
  • Im Einklang mit Merkmal 3 nimmt die Differenz zwischen den Kodiermengen von zwei willkürlichen Bildern bei zunehmender Quantisierungsbreite ab und nimmt bei abnehmender Quantisierungsbreite zu. Aus dieser Tatsache wird die folgende Formel aufgestellt.
  • Formel 10
  • q = ∎1 + (∎2 – ∎1)*(αq – αe1)/(αe2 – αe1)
  • Nach diesen oben beschriebenen Tatsachen wird eine mit einer willkürlichen Quantisierungsbreite ∎ erzeugte Kodiermenge des Zielbilds nach der folgenden Formel erzielt.
  • Formel 11
    Figure 00290001
  • (3) Quantisierungsbreitenberechnungseinheit (208)
  • Die Quantisierungsbreitenberechnungseinheit (208) umfasst eine Quantisierungsbreitenentsprechungstabelle (1300), die Quantisierungsbreiten zeigt, die sich jede auf eine Kodiermenge eines Bildes, aus dem kleine Kodiermengen erzeugt werden, und auf eine Kodiermenge eines Bildes, aus dem große Kodiermengen erzeugt werden, beziehen. 14 bis 17 zeigen die Quantisierungsbreitenentsprechungstabelle (1300).
  • Das Bild mit kleinen Kodiermengen und das Bild mit großen Kodiermengen werden als die Standardbilder der Quantisierungsbreitenentsprechungstabelle (1300) erachtet, da die Tabelle (1300) auf diesen Bildern basierend erzeugt wird.
  • Die Quantisierungsbreitenentsprechungstabelle (1300) umfasst Spalten QUANTISIERUNGSBREITE (1301), KODIERMENGE A (1302) und KODIERMENGE B (1303). Die Quantisierungsbreitenspalte (1301) umfasst Werte, die durch Multiplizieren jeder Quantisierungsbreite mit 1000 erzielt wurden. Die Spalte KODIERMENGE A (1302) umfasst Kodiermengen, die durch Kodieren des Bildes mit großen Kodiermengen unter Verwendung einer Quantisierunastabelle erzielt werden. wobei die Quantisierunastabelle durch Multiplizieren eines Wertes in der Quantisierungsbreitenspalte (1301) mit jedem Element der Standardquantisierungstabelle (209d) erzielt wird. Die Spalte KODIERMENGE B (1303) umfasst Kodiermengen. die durch Kodieren des Bildes mit kleinen Kodiermengen unter Verwendung derselben Quantisierungstabelle erzielt werden, wie diejenige, die für die Spalte KODIERMENGE A (1302) verwendet wird.
  • Wie aus der vorgenannten Beschreibung ersichtlich ist, zeigt die Quantisierungsbreitenentsprechungstabelle (1300) Beziehungen zwischen einer Vielzahl von Quantisierungsbreiten und Kodiermengen für wenigstens ein Standardbild. Mit anderen Worten, die Quantisierungsbreitenberechnungseinheit (208) umfasst diese Beziehungen. Es ist zu beachten, dass die 14 bis 17 in der Reihenfolge aufeinanderfolgen.
  • Die Quantisierungsbreitenberechnungseinheit (208) empfängt eine Zielkodiermenge Vo von der Kodiersteuereinheit (213). Die Quantisierungsbreitenberechnungseinheit (208) nimmt dann Bezug auf die Quantisierungsbreitenentsprechungstabelle (1300), um eine Quantisierungsbreite entsprechend einer Kodiermenge zu extrahieren, die zu der Zielko diermenge Vo äquivalent ist, die aus der Spalte KODIERMENGE A (1302) erfasst wurde. Wird in der Spalte KODIERMENGE A (1302) keine zu der Zielkodiermenge Vo äquivalente Kodiermenge gefunden, extrahiert die Quantisierungsbreitenberechnungseinheit (208) eine Quantisierungsbreite entsprechend einer Kodiermenge in der Spalte KODIERMENGE A (1302), die am nahesten an der Zielkodiermenge Vo liegt. Die Quantisierungsbreitenberechnungseinheit (208) erkennt die extrahierte Quantisierungsbreite als Quantisierungsbreite αe2.
  • Auf ähnliche Weise extrahiert die Quantisierungsbreitenberechnungseinheit (208) eine Quantisierungsbreite entsprechend einer Kodiermenge, die zu der aus der Spalte KODIERMENGE A (1302) erfassten Zielkodiermenge Vo äquivalent ist oder am nahesten an ihr liegt, und erkennt die extrahierte Quantisierungsbreite als Quantisierungsbreite αe1.
  • Die Quantisierungsbreitenberechnungseinheit (208) berechnet dann die vorhergesagte Kodiermenge Vq des Zielbilds unter Verwendung von Formel 11, während die Quantisierungsbreite αq in dem Bereich von αe1 bis αe2 geändert wird. Diese Berechnung wird basierend auf den extrahierten Quantisierungsbreiten αe1 und αe2 und den kumulativen maximalen vorhergesagten Kodiermengen Vp2 und den kumulativen minimalen vorhergesagten Kodiermengen Vp1, die von der Kodiermengenvorhersageeinheit (207) ausgegeben wurden, durchgeführt. Die Quantisierungsbreitenberechnungseinheit (208) erzielt dann eine Quantisierungsbreite αq, mit der die berechnete vorhergesagte Kodiermenge Vq am nahesten an der Zielkodiermenge Vo liegt. Die erzielte Quantisierungsbreite αq wird als αe bestimmt.
  • Wie oben beschrieben wird, erzielt die Quantisierungsbreitenberechnungseinheit (208), die die Beziehungen zwischen einer Vielzahl von Quantisierungsbreiten und Kodiermengen hält, durch Berechnen vorhergesagter Kodiermengen unter Verwendung der Beziehungen eine Quantisierungsbreite αq entsprechend der Zielkodiermenge Vo und bestimmt die erzielte Quantisierungsbreite αq als die optimale Quantisierungsbreite αe.
  • Die Quantisierungsbreitenberechnungseinheit (208) gibt die extrahierten Quantisierungsbreiten αe1 und αe2 und die berechnete Quantisierungsbreite α an die Quantisierungstabellenerzeugungseinheit (209) aus.
  • Nach Ausgabe der vorgenannten Werte gibt die Quantisierungsbreitenberechnungseinheit (208) die Benachrichtigung „Ganzvorhersageende" an die Kodiersteuereinheit (213) aus.
  • 2.9 Quantisierungstabellenerzeugungseinheit (209)
  • Die Quantisierungstabellenerzeugungseinheit (209) speichert die in 11 gezeigte Standardquantisierungstabelle (209d), die der Standard für die Quantisierungstabelle ist.
  • Die Quantisierungstabellenerzeugungseinheit (209) empfängt Quantisierungsbreiten α, αe1 und αe2 von der Quantisierungsbreitenberechnungseinheit (208). Die Quantisierungstabellenerzeugungseinheit (209) erzielt dann 64 Elemente Qi durch Multiplizieren der Quantisierungsbreiten α, die von der Quantisierungsbreitenberechnungseinheit (208) empfangen wurden, mit den Elementen Bi (i = „0" bis „63") der Standardquantisierungstabelle (209d), wie in Formel 5 gezeigt, und Aufrunden der erzielten Multiplikationsergebnisse. Die Quantisierungstabellenerzeugungseinheit (209) erstellt dann die Optimalquantisierungstabelle (209a) durch die erzielten 64 Elemente Qi und gibt die erstellte Optimalquantisierungstabelle (209a) an die Quantisierungseinheit (206) aus.
  • Auf ähnliche Weise erstellt die Quantisierungstabellenerzeugungseinheit (209) die Maximalquantisierungstabelle (209b) bzw. die Minimalquantisierungstabelle (209c) unter Verwendung der Quantisierungsbreiten αe2 und αe1, die von der Quantisierungsbreitenberechnungseinheit (208) empfangen wurden, und gibt dann die erstellten Tabellen (209b und 209c) an die Quantisierungseinheit (206) aus.
  • 2.10 Blockzuweisungskodiermengeneinstelleinheit (210)
  • Die Blockzuweisungskodiermengeneinstelleinheit (210) berechnet die jedem Block zuzuweisende Kodiermenge Vb unter Verwendung der vorhergesagten Kodiermenge Ve für jede Blockgruppe, der vorhergesagten Kodiermenge für ein gesamtes Bild Vp und der von der Kodiersteuereinheit (213) ausgegebenen Zielkodiermenge Vo und gibt die berechnete Blockzuweisungskodiermenge Vb an die Entropiekodiereinheit (211) aus.
  • Das Verfahren zur Berechnung der Blockzuweisungskodiermenge Vb wird nachfolgend beschrieben.
  • Zuerst berechnet die Blockzuweisungskodiermengeneinstelleinheit (210) die jeder Blockgruppe zuzuweisende Kodiermenge durch proportionales Zuordnen der Zielkodiermenge Vo nach dem Verhältnis der vorhergesagten Kodiermenge Ve für die Blockgruppe zu der vorhergesagten Kodiermenge Vp für das gesamte Bild. Zweitens weist die Blockzuweisungskodiermengeneinstelleinheit (210) dieselbe Kodiermenge jedem Block in der kodiermengenzugewiesenen Blockgruppe zu. Das kommt daher, weil in Betracht gezogen wird, dass jeder Block in einem Block auf Grund der lokalen Ähnlichkeit, die ein Merkmal von Bildern ist, fast dieselbe Kodiermenge erzeugt.
  • Manche Blöcke können möglicherweise letztlich eine kleinere Kodiermenge als die zugewiesene Kodiermenge in der Entropiekodierung erzeugen. In diesem Fall wird die Differenz zwischen der tatsächlich erzeugten Kodiermenge und der zugewiesenen Kodiermenge zu dem nächsten Block übertragen. Mit diesem Vorgehen ist es möglich, die durch einen Kodierstopp verursachte Verschlechterung der Bildqualität zu minimieren.
  • Die vorgenannte Berechnung der jedem Block zuzuweisenden Kodiermenge Vb wird durch die folgende Formel dargestellt.
  • Formel 12
  • Vb = Vo*Ve/(Vp*Nb) + E
  • In Formel 12:
    stellt Vb eine Kodiermenge dar, die einem Block zugewiesen wird;
    stellt Vo die Zielkodiermenge des gesamten Bildes dar;
    stellt Ve eine vorhergesagte Kodiermenge einer Blockgruppe dar, die den aktuellen Block umfasst;
    stellt Vp die vorhergesagte Kodiermenge des gesamten Bildes dar;
    stellt Nb die Anzahl von Blöcken dar, die in der aktuellen Blockgruppe enthalten sind; und
    stellt E die Kodiermenge dar, die von dem zuvor kodierten Block übertragen wurde.
  • 2.11 Entropiekodiereinheit (211)
  • Die Entropiekodiereinheit (211) entropiekodiert die quantisierten orthogonalen Transformationskoeffizienten, die von der Quantisierungseinheit (206) ausgegeben wurden, und gibt die kodierten Bilddaten an die Speicherkarte I/F (110) aus.
  • Die Entropiekodiereinheit (211) entropiekodiert jedes Element eines quantisierten orthogonalen Transformationskoeffizienten in Sequenz und berechnet die erzeugte Kodiermenge für jedes Element und akkumuliert die berechneten Kodiermengen. Die Entropiekodiereinheit (211) vergleicht die kumulativen Kodiermengen in jeder Phase der Akkumulierung mit der Blockzuweisungskodiermenge. Die Entropiekodiereinheit (211) stoppt das Kodieren des aktuellen Blocks, bevor die kumulativen Kodiermengen die Blockzuweisungskodiermenge überschreiten. Durch Stoppen der Kodierung eines Blockes auf halbem Weg werden Hochfrequenzkomponenten des Blocks nicht kodiert.
  • Die Entropiekodiereinheit (211) sendet nach Abschluss der Entropiekodierung eines Blockes eine Benachrichtigung „Blockausleseende" an die Kodiersteuereinheit (213).
  • 2.12 Kodiersteuereinheit (213)
  • Die Kodiersteuereinheit (213) empfängt den Befehl „Bildkodierstart" und die Zielkodiermenge Vo von dem Mikrocontroller (101).
  • Die Kodiersteuereinheit (213) gibt einen aus den Befehlen „Ganzvorhersage", „Bildpunktverkleinerung" und „Blockauslesen" an den Datenselektor (204) aus. Die Kodiersteuereinheit (213) gibt außerdem einen aus den Befehlen „Ganzvorhersage", „Bild punktverkleinerung" und „Blockauslesen" an die Quantisierungseinheit (206) aus. Die Kodiersteuereinheit (213) gibt außerdem den Befehl „Ganzvorhersage" oder „Bildpunktverkleinerung" an die Kodiermengenvorhersageeinheit (207) aus. Die Kodiersteuereinheit (213) gibt die von dem Mikrocontroller (101) empfangene Zielkodiermenge Vo an die Blockzuweisungskodiermengeneinstelleinheit (210) und die Quantisierungsbreitenberechnungseinheit (208) aus.
  • Die Kodiersteuereinheit (213) empfängt von den Benachrichtigungen „Ganzvorhersageende" oder „Bildpunktverkleinerungsende" eine zu gleicher Zeit von der Kodiermengenvorhersageeinheit (207), empfängt die Benachrichtigung „Ganzvorhersageende" von der Quantisierungstabellenerzeugungseinheit (209) und empfängt die Benachrichtigung „Blockausleseende" von der Entropiekodiereinheit (211).
  • Die Befehle „Ganzvorhersage", „Bildpunktverkleinerung" und „Blockauslesen" und die Benachrichtigungen „Ganzvorhersageende", „Bildpunktverkleinerungsende" und „Blockausleseende" werden mit Bezug auf 18 bezüglich ihrer Ausgabezeitgebung und Beziehungen untereinander beschrieben.
  • In der Zeichnung gibt die Kodiersteuereinheit (213) bei Empfang des Befehls „Kodierstart" von dem Mikrocontroller (101) den Befehl „Ganzvorhersage" (1801) an den Datenselektor (204), die Quantisierungseinheit (206) und die Kodiermengenvorhersageeinheit (207) aus. Nachdem der Blockverkleinerungsprozess endet, empfängt die Kodiersteuereinheit (213) die Benachrichtigung „Ganzvorhersageende" (1802) von der Kodiermengenvorhersageeinheit (207). Die Kodiersteuereinheit (213) wiederholt dieses Handlungspaar (1811) so oft, wie Blockgruppen vorhanden sind. Die Kodiersteuereinheit (213) empfängt die letzte Benachrichtigung „Ganzvorhersageende" (1806) in dem aktuellen Takt von der Quantisierungstabellenerzeugungseinheit (209).
  • In dem nächsten Takt gibt die Kodiersteuereinheit (213) den Befehl „Bildpunktverkleinerung" (1821) an den Datenselektor (204), die Quantisierungseinheit (206) und die Kodiermengenvorhersageeinheit (207) aus. Nachdem der Bildpunktverkleinerungsprozess endet, empfängt die Kodiersteuereinheit (213) die Benachrichtigung „Bildpunktverkleinerungsende" (1822) von der Kodiermengenvorhersageeinheit (207). Die Kodiersteuerein heit (213) wiederholt dieses Handlungspaar (1825) so oft, wie Blockgruppen vorhanden sind.
  • Bei Empfang der letzten Benachrichtigung „Bildpunktverkleinerungsende" (1832) gibt die Kodiersteuereinheit (213) den Befehl „Blockauslesen" (1841) an den Datenselektor (204), die Quantisierungseinheit (206) und die Entropiekodiereinheit (211) aus. Nachdem der Blockausleseprozess endet, empfängt die Kodiersteuereinheit (213) die Benachrichtigung „Blockausleseende" (1842) von der Entropiekodiereinheit (211). Die Kodiersteuereinheit (213) wiederholt dieses Handlungspaar (1845) so oft, wie Blockgruppen vorhanden sind.
  • Bei Empfang der letzten Benachrichtigung „Blockausleseende" (1844) von der Entropiekodiereinheit (211) gibt die Kodiersteuereinheit (213) die Benachrichtigung „Bildkodierende" (1841) an den Mikrocontroller (101) aus, beurteilend, dass das gesamte Bild kodiert wurde.
  • 3. Betrieb der digitalen Stehbildkamera
  • 3.1 Zusammengefasster Kodierprozess
  • Ein Abriss der Operation des in 2 gezeigten Kodierkreises wird nachfolgend mit Bezug auf 19 und 20, die einen Abriss des Prozesses zeigen, beschrieben.
  • Die Zielkodiermenge Vo wird von dem Mikrocontroller (101) über die Kodiersteuereinheit (213) an die Quantisierungsbreitenberechnungseinheit (208) gesendet. Die Quantisierungsbreitenberechnungseinheit (208) nimmt Bezug auf die Quantisierungsbreitenentsprechungstabelle (1300) (Schritt S1702) und extrahiert eine Quantisierungsbreite αe2 (1710) entsprechend einer Kodiermenge, die äquivalent zu der Zielkodiermenge Vo ist oder am nahesten an ihr liegt und aus der Spalte KODIERMENGE A (1302) erfasst wurde (Schritt S1704). Auf ähnliche Weise nimmt die Quantisierungsbreitenberechnungseinheit (208) Bezug auf die Quantisierungsbreitenentsprechungstabelle (1300) (Schritt S1701) und extrahiert eine Quantisierungsbreite αe1 (1709) entsprechend einer Kodiermenge, die äquivalent zu der Zielkodiermenge Vo ist oder am nahesten an ihr liegt und aus der Spalte KODIERMENGE B (1303) erfasst wurde (Schritt S1703).
  • Die Quantisierungstabellenerzeugungseinheit (209) erstellt die Minimalquantisierungstabelle (209c) durch Multiplizieren der extrahierten Quantisierungsbreite αe1 (1709) mit den 64 Elementen der Standardquantisierungstabelle (209d), die von der Einheit (209) gehalten wird (Schritt S1724). Auf ähnliche Weise erstellt die Quantisierungstabellenerzeugungseinheit (209) die Maximalquantisierungstabelle (209b) durch Multiplizieren der extrahierten Quantisierungsbreite αe2 (1710) mit den 64 Elementen der Standardquantisierungstabelle (209d), die von der Einheit (209) gehalten wird (Schritt S1726).
  • Die Blockverkleinerungseinheit (201) führt den Blockverkleinerungsprozess durch, bei dem die Blockverkleinerungseinheit (201) Bildpunktwerte von jedem Block, der aus jeder Blockgruppe ausgewählt wurde, ausliest und die ausgelesenen Bildpunktwerte über den Datenselektor (204) an die Orthogonaltransformationseinheit (205) ausgibt (Schritt S1732). Die Orthogonaltransformationseinheit (205) führt an den Bildpunktwerten, die von dem Datenselektor (204) ausgegeben wurden, eine orthogonale Transformation durch, um orthogonale Transformationskoeffizienten zu erzielen, und gibt die erzielten orthogonalen Transformationskoeffizienten an die Quantisierungseinheit (206) aus (Schritt S1733). Die Quantisierungseinheit (206) quantisiert die von der Orthogonaltransformationseinheit (205) ausgegebenen orthogonalen Transformationskoeffizienten unter Verwendung der Minimalquantisierungstabelle (209c) und der Maximalquantisierungstabelle (209b), um zwei Arten von quantisierten orthogonalen Transformationskoeffizienten zu erzielen (Schritt S1734 und S1735). Die Kodiermengenvorhersageeinheit (207) berechnet die vorhergesagte Kodiermenge von jedem Block unter Verwendung von Formel 4, die Quantisierungsbreite αe1 (1709) und die in Schritt S1734 erzielten quantisierten orthogonalen Transformationskoeffizienten und berechnet dann die kumulativen minimalen vorhergesagten Kodiermengen Vp1 für das gesamte Bild (Schritt S1736). Auf ähnliche Weise berechnet die Kodiermengenvorhersageeinheit (207) die vorhergesagte Kodiermenge von jedem Block unter Verwendung von Formel 4, die Quantisierungsbreite αe2 (1710) und die in Schritt S1734 erzielten quantisierten orthogonalen Transformationskoeffizienten und berechnet dann die kumulativen maximalen vorhergesagten Kodiermengen Vp2 für das gesamte Bild (Schritt S1737).
  • Die Quantisierungsbreitenberechnungseinheit (208) berechnet die vorhergesagte Kodiermenge Vq des Zielbilds unter Verwendung von Formel 11, während die Quantisie rungsbreite in dem Bereich von αe1 (1709) bis αe2 (1710) geändert wird. Die Quantisierungsbreitenberechnungseinheit (208) erzielt dann eine Quantisierungsbreite αe (1742), mit der die berechnete vorhergesagte Kodiermenge Vq am nahesten an der Zielkodiermenge Vo liegt (Schritt S1741).
  • Die Quantisierungstabellenerzeugungseinheit (209) erstellt die Optimalquantisierungstabelle (209a) durch Multiplizieren der von der Quantisierungsbreitenberechnungseinheit (208) empfangenen Quantisierungsbreiten αe (1742) mit den 64 Elementen der Standardquantisierungstabelle (209d), die von der Einheit (209) gehalten wird (Schritt S1744).
  • Die Bildpunktverkleinerungseinheit (202) führt einen Bildpunktverkleinerungsprozess durch, um Bildpunkte auf der Basis einer aus vier für jede Blockgruppe des in dem Originalbildpuffer (107) gespeicherten Zielbilds (1731) auszuwählen. Die Bildpunktverkleinerungseinheit (202) gibt die ausgewählten Bildpunkte über den Datenselektor (204) an die Orthogonaltransformationseinheit (205) aus (Schritt S1751). Die Orthogonaltransformationseinheit (205) führt an den 64 Bildpunktwerten, die von dem Datenselektor (204) ausgegeben wurden, eine orthogonale Transformation durch, um orthogonale Transformationskoeffizienten zu erzielen, und gibt die erzielten orthogonalen Transformationskoeffizienten an die Quantisierungseinheit (206) aus (Schritt S1752). Die Quantisierungseinheit (206) erzielt quantisierte orthogonale Transformationskoeffizienten durch Quantisieren der von der Orthogonaltransformationseinheit (205) empfangenen orthogonalen Transformationskoeffizienten mit der Optimalquantisierungstabelle (209a) (Schritt S1753). Die Kodiermengenvorhersageeinheit (207) berechnet unter Verwendung von Formel 4 eine vorhergesagte Kodiermenge Vq, die mit den Quantisierungsbreiten αe (1742) zu erzeugen ist (Schritt S1754). Die Blockzuweisungskodiermengeneinstelleinheit (210) berechnet unter Verwendung von Formel 12 die Blockzuweisungskodiermenge Vb unter Verwendung der berechneten vorhergesagten Kodiermenge Vq (Schritt S1755).
  • Die Blockleseeinheit (203) liest Bildpunktwerte aus, die in jeder Blockgruppe von dem in dem Originalbildpuffer (107) gespeicherten Zielbild (1731) enthalten sind, und gibt die ausgelesenen Bildpunkte über den Datenselektor (204) an die Orthogonaltransformationseinheit (205) aus (Schritt S1761). Die Orthogonaltransformationseinheit (205) führt an den Bildpunkten, die von dem Datenselektor (204) ausgegeben wurden, eine orthogonale Transformation durch, um orthogonale Transformationskoeffizienten zu erzielen, und gibt die erzielten orthogonalen Transformationskoeffizienten an die Quantisierungseinheit (206) aus (Schritt S1762). Die Quantisierungseinheit (206) erzielt quantisierte orthogonale Transformationskoeffizienten durch Quantisieren der von der Orthogonaltransformationseinheit (205) empfangenen orthogonalen Transformationskoeffizienten mit der Optimalquantisierungstabelle (209a) und gibt die erzielten quantisierten orthogonalen Transformationskoeffizienten an die Entropiekodiereinheit (211) aus (Schritt S1763). Die Entropiekodiereinheit (211) entropiekodiert die von der Quantisierungseinheit (206) empfangenen quantisierten orthogonalen Transformationskoeffizienten, um ein kodiertes Bild (1765) zu erzielen (Schritt S1764). Bei diesem Vorgehen stoppt die Entropiekodiereinheit (211) das Kodieren eines Blocks, bevor die kumulativen Kodiermengen die Blockzuweisungskodiermenge Vb überschreiten, so dass die Hochfrequenzkomponenten des Blocks nicht kodiert werden.
  • 3.2 Zusammengefasste Kodieroperation
  • Ein Abriss der Operation des in 2 gezeigten Kodierkreises wird nachfolgend mit Bezug auf das in 21 gezeigte Flussdiagramm beschrieben.
  • Die Quantisierungsbreitenberechnungseinheit (208) erzielt Quantisierungsbreiten αe1 und αe2 entsprechend der Zielkodiermenge Vo. Die Quantisierungstabellenerzeuqunqseinheit (209) erstellt die Minimalquantisierungstabelle (209c) und Maximalquantisierungstabelle (209b) unter Verwendung der erzielten Quantisierungsbreiten αe1 und αe2 (Schritt S301). Die Blockverkleinerungseinheit (201) führt einen Blockverkleinerungsprozess zum Auslesen von Bildpunktwerten durch. Die Orthogonaltransformationseinheit (205) führt eine orthogonale Transformation an den gelesenen Bildpunktwerten durch, um orthogonale Transformationskoeffizienten zu erzielen. Die Quantisierungseinheit (206) quantisiert die orthogonalen Transformationskoeffizienten unter Verwendung der Minimalquantisierungstabelle (209c) und der Maximalquantisierungstabelle (209b), um zwei Arten von quantisierten orthogonalen Transformationskoeffizienten zu erzielen. Die Kodiermengenvorhersageeinheit (207) berechnet die vorhergesagte Kodiermenge von jedem Block unter Verwendung von Formel 4, die Quantisierungsbreiten αe1 und αe2 und die beiden Arten von quantisierten orthogonalen Transformationskoeffizienten und be rechnet dann die kumulativen minimalen und maximalen vorhergesagten Kodiermengen Vp1 und Vp2 für das gesamte Bild (Schritt S302). Die Quantisierungsbreitenberechnungseinheit (208) berechnet unter Verwendung von Formel 11 die Quantisierungsbreite αe, mit der die vorhergesagte Kodiermenge Vq am nahesten an der Zielkodiermenge Vo liegt. Die Quantisierungstabellenerzeugungseinheit (209) erstellt die Optimalquantisierungstabelle (209a) durch Multiplizieren der Quantisierungsbreiten αe mit Elementen der Standardquantisierungstabelle (209d) (Schritt S303). Die Bildpunktverkleinerungseinheit (202) führt einen Bildpunktverkleinerungsprozess durch. Die Orthogonaltransformationseinheit (205) führt eine orthogonale Transformation an den ausgewählten Bildpunktwerten durch, um orthogonale Transformationskoeffizienten zu erzielen. Die Quantisierungseinheit (206) erzielt quantisierte orthogonale Transformationskoeffizienten durch Quantisieren der orthogonalen Transformationskoeffizienten mit der Optimalquantisierungstabelle (209a). Die Kodiermengenvorhersageeinheit (207) berechnet unter Verwendung der Formel 4 und der erzielten quantisierten orthogonalen Transformationskoeffizienten eine vorhergesagte Kodiermenge Vq, die mit den Quantisierungsbreiten αe zu erzeugen ist (Schritt S304). Die Blockzuweisungskodiermengeneinstelleinheit (210) berechnet unter Verwendung von Formel 12 die Blockzuweisungskodiermenge Vb unter Verwendung der berechneten vorhergesagten Kodiermenge Vq. Die Blockleseeinheit (203) liest Bildpunkte aus, die in jeder Blockgruppe enthalten sind. Die Orthogonaltransformationseinheit (205) führt eine orthogonale Transformation an den Bildpunkt durch, um orthogonale Transformationskoeffizienten zu erzielen. Die Quantisierungseinheit (206) erzielt quantisierte orthogonale Transformationskoeffizienten durch Quantisieren der orthogonalen Transformationskoeffizienten mit der Optimalquantisierungstabelle (209a). Die Entropiekodiereinheit (211) entropiekodiert die quantisierten orthogonalen Transformationskoeffizienten (Schritt 305). Bei diesem Vorgehen stoppt die Entropiekodiereinheit (211) das Kodieren eines Blocks, bevor die kumulativen Kodiermengen die Blockzuweisungskodiermenge Vb überschreiten, so dass die Hochfrequenzkomponenten des Blocks nicht kodiert werden.
  • 3.3 Erstellen von Quantisierungstabellen für Kodiermengenvorhersage
  • Die Operation des Erstellens der Minimal- und Maximalquantisierungstabellen, auf die in Schritt S301 von 21 verwiesen wird, wird ausführlich mit Bezug auf das in 22 gezeigte Flussdiagramm beschrieben.
  • Die Quantisierungsbreitenberechnungseinheit (208) empfängt die Zielkodiermenge Vo über die Kodiersteuereinheit (213) von dem Mikrocontroller (101) und nimmt Bezug auf die Quantisierungsbreitenentsprechungstabelle (1300), um eine Quantisierungsbreite αe1 entsprechend einer Kodiermenge zu extrahieren, die zu der aus der Spalte KODIERMENGE B (1303) erfassten Zielkodiermenge Vo äquivalent ist oder am nahesten an ihr liegt (Schritt S601). Die Quantisierungstabellenerzeugungseinheit (209) erstellt die Minimalquantisierungstabelle (209c) durch Multiplizieren der extrahierten Quantisierungsbreite αe1 mit den 64 Elementen der Standardquantisierungstabelle (209d), die von der Einheit (209) gehalten wird, und durch Aufrunden der Ergebnisse zu ganzen Zahlen (Schritt S602). Außerdem nimmt die Quantisierungsbreitenberechnungseinheit (208) Bezug auf die Quantisierungsbreitenentsprechungstabelle (1300), um eine Quantisierungsbreite αe2 entsprechend einer Kodiermenge zu extrahieren, die zu der aus der Spalte KODIERMENGE A (1302) erfassten Zielkodiermenge Vo äquivalent ist oder am nahesten an ihr liegt (Schritt S603). Die Quantisierungstabellenerzeugungseinheit (209) erstellt die Maximalquantisierungstabelle (209b) durch Multiplizieren der extrahierten Quantisierungsbreite αe2 mit den 64 Elementen der Standardquantisierungstabelle (209d), die von der Einheit (209) gehalten wird, und durch Aufrunden der Ergebnisse zu ganzen Zahlen (Schritt S602).
  • 3.4 Vorhersage von Kodiermengen für gesamtes Bild
  • Die Operation des Vorhersagens von Kodiermengen für das gesamte Bild, auf die in Schritt S302 von 21 verwiesen wird, wird ausführlich mit Bezug auf das in 23 gezeigte Flussdiagramm beschrieben.
  • Die Kodiersteuereinheit (213) initialisiert einen Schleifenzähler, der dazu verwendet wird, die Anzahl von Wiederholungen einer Kodiermengenvorhersageoperation zu zählen, so dass die Operation wiederholt wird, bis die Kodiermengen für das gesamte Bild erzielt wurden (Schritt S801). Die Blockverkleinerungseinheit (201) führt den Blockverkleinerungsprozess durch, bei dem die Blockverkleinerungseinheit (201) einen Block aus einer Blockgruppe entsprechend dem Schleifenzählwert auswählt und Bildpunktwerte des gewählten Blocks ausliest (Schritt S802). Die Orthogonaltransformationseinheit (205) führt eine orthogonale Transformation an den Bildpunktwerten von einem Block durch, um orthogonale Transformationskoeffizienten des Blocks zu erzielen (Schritt S803). Die Quantisierungseinheit (206) erzielt quantisierte orthogonale Transformationskoeffizienten durch eine Quantisierung, bei der die Einheit (206) die orthogonalen Transformationskoeffizienten durch entsprechende Elemente der Minimalquantisierungstabelle (209c) teilt (Schritt S804). Die erzielten quantisierten orthogonalen Transformationskoeffizienten von einem Block werden in den Gleichstromkoeffizienten (Koeffizient #0) und die Wechselstromkoeffizienten (Koeffizienten #1 bis #63) eingeteilt. Die Kodiermengenvorhersageeinheit (207) führt unterschiedliche Berechnungen für die Gleichstromkoeffizienten und die Wechselstromkoeffizienten durch. Die Kodiermengenvorhersageeinheit (207) berechnet einen Logarithmus eines Absolutwertes einer Differenz zwischen den Gleichstromkoeffizienten des aktuellen Blocks und des vorhergehenden Blocks, wobei die Basis des Logarithmus „2" ist (Schritt S805). Die Kodiermengenvorhersageeinheit (207) akkumuliert Logarithmen der Absolutwerte der Wechselstromkoeffizienten, die jeder einen anderen Wert als „0" haben (solche Wechselstromkoeffizienten werden außerdem als Nichtnull-Koeffizienten bezeichnet), für einen Block, wobei die Basis des Logarithmus „2" ist. Die Kodiermengenvorhersageeinheit (207) berechnet außerdem die Anzahl von Nichtnull-Koeffizienten in dem Block (Schritt S806). Auf diese Weise berechnet die Kodiermengenvorhersageeinheit (207) die vorhergesagte Kodiermenge von jeder Blockgruppe und berechnet dann die kumulativen minimalen vorhergesagten Kodiermengen Vp1 für das gesamte Bild (Schritt S807). Die Quantisierungseinheit (206) erzielt quantisierte orthogonale Transformationskoeffizienten durch eine Quantisierung, bei der die Einheit (206) die orthogonalen Transformationskoeffizienten durch entsprechende Elemente der Maximalquantisierungstabelle (209b) teilt (Schritt S808). Die Kodiermengenvorhersageeinheit (207) berechnet einen Logarithmus eines Absolutwertes einer Differenz zwischen den Gleichstromkoeffizienten des aktuellen Blocks und des vorhergehenden Blocks, wobei die Basis des Logarithmus „2" ist (Schritt S809). Die Kodiermengenvorhersageeinheit (207) akkumuliert Logarithmen der Wechselstromkoeffizienten, die einen anderen Wert als „0" haben (Nichtnull-Koeffizienten), für einen Block, wobei die Basis des Logarithmus „2" ist. Die Kodiermengenvorhersageeinheit (207) berechnet außerdem die Anzahl von Nichtnull-Koeffizienten in dem Block (Schritt S810). Auf diese Weise berechnet die Kodiermengenvorhersageeinheit (207) die vorhergesagte Kodiermenge von jeder Blockgruppe und berechnet dann die kumulativen maximalen vorhergesagten Kodiermengen Vp2 für das gesamte Bild (Schritt S811). Die Kodiersteuereinheit (213) aktualisiert den Schleifenzähler (Schritt S812). Die Kodiersteuereinheit (213) prüft den Schleifenzählerwert, um zu beurteilen, ob der Prozess für das gesamte Bild abgeschlossen ist (Schritt S813). Wenn dies so beurteilt wird, endet der Kodiermengenvorhersageprozess. Ansonsten geht die Steuerung zurück zu Schritt S802, um den Kodiermengenvorhersageprozess fortzusetzen.
  • 3.5 Vorhersage von Kodiermengen für jede Blockgruppe
  • Die Operation des Vorhersagens von Kodiermengen für jede Blockgruppe, auf die in Schritt S304 von 21 verwiesen wird, wird ausführlich mit Bezug auf das in 24 gezeigte Flussdiagramm beschrieben.
  • Die Kodiersteuereinheit (213) initialisiert einen Schleifenzähler, der dazu verwendet wird, die Anzahl von Wiederholungen einer Kodiermengenvorhersageoperation zu zählen, so dass die Operation wiederholt wird, bis die Kodiermengen für das gesamte Bild erzielt wurden (Schritt S1001). Die Bildpunktverkleinerungseinheit (202) führt einen Bildpunktverkleinerungsprozess durch, um Bildpunkte auf der Basis einer aus vier für jede Blockgruppe entsprechend dem Schleifenzählerwert auszuwählen und 64 Bildpunktwerte entsprechend einem Block zu erzielen (Schritt S1002). Die Orthogonaltransformationseinheit (205) führt eine orthogonale Transformation an den 64 Bildpunktwerten durch, um orthogonale Transformationskoeffizienten von einem Block zu erzielen (Schritt S1003). Die Quantisierungseinheit (206) erzielt quantisierte orthogonale Transformationskoeffizienten durch eine Quantisierung, bei der die Einheit (206) die orthogonalen Transformationskoeffizienten durch entsprechende Elemente der Optimalquantisierungstabelle (209a) teilt (Schritt S1004). Die Kodiermengenvorhersageeinheit (207) berechnet einen Logarithmus eines Absolutwerts einer Differenz zwischen dem Gleichstromkoeffizienten der aktuellen Gruppe von ausgewählten Koeffizienten und dem der vorhergehenden Gruppe, wobei die Basis des Logarithmus „2" ist (Schritt S1005). Die Kodiermengenvorhersageeinheit (207) akkumuliert Logarithmen der Absolutwerte der Wechselstromkoeffizienten, die jeder einen anderen Wert als „0" haben (Nichtnull-Koeffizienten), wobei die Basis des Logarithmus „2" ist. Die Kodiermengenvorhersageeinheit (207) berechnet außerdem die Anzahl von Nichtnull-Koeffizienten in der aktuellen Gruppe von ausgewählten Koeffizienten (Schritt S1006). Die Kodiermengenvorhersageeinheit (207) berechnet die vorhergesagte Kodiermenge der aktuellen Blockgruppe (Schritt S1007). Die Kodiersteuereinheit (213) aktualisiert den Schleifenzähler (Schritt S1008).
  • Die Kodiersteuereinheit (213) prüft den Schleifenzählerwert, um zu beurteilen, ob der Prozess für das gesamte Bild abgeschlossen ist (Schritt S1009). Wenn dies so beurteilt wird, endet der Kodiermengenvorhersageprozess. Ansonsten geht die Steuerung zurück zu Schritt S1002, um den Kodiermengenvorhersageprozess fortzusetzen.
  • 3.6 Kodieren
  • Die Operation des Kodierens, auf die in Schritt S305 von 21 verwiesen wird, wird ausführlich mit Bezug auf das in 25 gezeigte Flussdiagramm beschrieben.
  • Die Kodiersteuereinheit (213) initialisiert einen Schleifenzähler, der dazu verwendet wird, die Anzahl von Wiederholungen einer Kodiermengenvorhersageoperation zu zählen, so dass die Operation wiederholt wird, bis die Kodiermengen für das gesamte Bild erzielt wurden (Schritt S1001). Die Blockleseeinheit (203) liest 64 Bildpunktwerte eines Blocks entsprechend dem Schleifenzählerwert aus (Schritt S1102). Die Orthogonaltransformationseinheit (205) führt eine orthogonale Transformation an den 64 Bildpunktwerten durch, um orthogonale Transformationskoeffizienten von einem Block zu erzielen (Schritt S1103). Die Quantisierungseinheit (206) erzielt quantisierte orthogonale Transformationskoeffizienten durch Quantisieren der orthogonalen Transformationskoeffizienten (Schritt S1104). Die Blockzuweisungskodiermengeneinstelleinheit (210) berechnet unter Verwendung von Formel 12 eine dem aktuellen Block zuzuweisende Kodiermenge durch Einsetzen der Zielkodiermenge Vo und der vorhergesagten Kodiermenge der Blockgruppe, die den aktuellen Block umfasst, in die Formel 12 (Schritt S1105). Die erzielten quantisierten orthogonalen Transformationskoeffizienten werden entropiekodiert (Schritt S1106). Die Kodiersteuereinheit (213) aktualisiert den Schleifenzähler (Schritt S1107). Die Kodiersteuereinheit (213) prüft den Schleifenzählerwert, um zu beurteilen, ob der Prozess für das gesamte Bild abgeschlossen ist (Schritt S1108). Wenn dies so beurteilt wird, endet der Kodiermengenvorhersageprozess. Ansonsten geht die Steuerung zurück zu Schritt S1102, um den Kodiermengenvorhersageprozess fortzusetzen.
  • 3.7 Entropiekodieren
  • Die Operation des Entropiekodierens, auf die in Schritt S1106 von 25 verwiesen wird, wird ausführlich mit Bezug auf das in 26 gezeigte Flussdiagramm beschrieben.
  • Die Entropiekodiereinheit (211) initialisiert einen Zähler für ausgegebene Kodiermenge auf „0" (Schritt S1201). Die Entropiekodiereinheit (211) subtrahiert die Blockende-Länge von der dem aktuellen Block zugewiesenen Kodiermenge, die von der Blockzuweisungskodiermengeneinstelleinheit (210) ausgegeben wird (Schritt S1202). Hier ist das Blockende (EOB) eine Marke, die an jeden Block angehängt wird, um das Ende des Blocks anzuzeigen. Die Entropiekodiereinheit (211) berechnet eine Differenz zwischen den Gleichstromkoeffizienten des aktuellen Blocks und des vorhergehenden Blocks, der entropiekodiert wurde (Schritt S1203). Die Entropiekodiereinheit (211) kodiert dann die Differenz zwischen den Gleichstromkoeffizienten und gibt die kodierte Differenz an die Speicherkarte I/F (110) aus (Schritt S1204). Die Entropiekodiereinheit (211) addiert die Länge des ausgegebenen Differenzwerts zu dem Kodiermengenausgabezähler (Schritt S1205). Die Entropiekodiereinheit (211) initialisiert einen Schleifenzähler zum Zählen der Anzahl von Prozessen, die an den 63 Wechselstromkoeffizienten durchgeführt wurden, auf „1" und initialisiert einen Zähler zum Zählen der Anzahl von Nullkoeffizientenläufen auf „0" (Schritt S1206). Die Entropiekodiereinheit (211) erzielt die Reihenfolge der Zickzack-Abtastung der Wechselstromkoeffizienten (Schritt S1207). Die Entropiekodiereinheit (211) nimmt einen Wechselstromkoeffizienten nach der Reihenfolge und beurteilt, ob der Wechselstromkoeffizient „0" ist (Schritt S1208). Ist er Null, addiert die Entropiekodiereinheit (211) „1" zu dem Nullkoeffizientenlaufzähler und geht weiter zu Schritt S1215 (Schritt S1209). Wenn der Wechselstromkoeffizient nicht 0 ist, berechnet die Entropiekodiereinheit (211) eine erwartete Länge des kodierten Wechselstromkoeffizienten und des kodierten Werts des Nullkoeffizientenlaufzählers und addiert dann die berechnete erwartete Länge zu dem Kodiermengenausgabezähler (Schritt S1210). Die Entropiekodiereinheit (211) beurteilt, ob die Blockzuweisungskodiermenge gleich dem Wert in dem Kodiermengenausgabezähler oder größer als dieser ist (Schritt S1211). Wird beurteilt, dass die Blockzuweisungskodiermenge kleiner als der Wert in dem Kodiermengenausgabezähler ist, stoppt die Entropiekodiereinheit (211) das Entropiekodieren und geht zu Schritt S1217. Wird in Schritt S1211 beurteilt, dass die Blockzuweisungskodiermenge gleich dem Wert in dem Kodiermengenausgabezähler oder größer als dieser ist, kodiert die Entropiekodiereinheit (211) den Wechselstromkoeffizienten und den Wert des Nullkoeffizientenlaufzählers und gibt die kodierten Werte an die Speicherkarte I/F (110) aus (Schritt S1212) und initialisiert dann den Nullkoeffizientenlaufzähler auf „0" (Schritt S1214). Die Entropiekodiereinheit (211) aktualisiert den Schleifenzähler (Schritt S1215).
  • Die Entropiekodiereinheit (211) prüft den Schleifenzählerwert, um zu beurteilen, ob der Prozess des Entropiekodierens von Wechselstromkoeffizienten für einen Block abgeschlossen ist (Schritt S1216). Wir dies als negativ beurteilt, geht die Steuerung zurück zu Schritt S1207, um den Wechselstromkoeffizienten-Entropiekodierprozess fortzusetzen. Ansonsten gibt die Entropiekodiereinheit (211) das Blockende (EOB) an die Speicherkarte I/F (110) aus (Schritt S1217) und beendet den Entropiekodierprozess.
  • 4. Schlussfolgerung
  • Wie oben beschrieben wurde, wird bei der vorliegenden Ausführung die Kodiermenge von dem Bild nach der Blockverkleinerung vorhergesagt, und die der vorhergesagten Kodiermenge entsprechende Optimalquantisierungstabelle wird erstellt. Die Kodiermenge für jede Blockgruppe wird dann von dem Bild nach der Bildpunktverkleinerung vorhergesagt. Danach wird jeder Block entropiekodiert. Bei diesem Vorgehen wird, wenn die erzeugte Kodiermenge die Blockzuweisungskodiermenge überschreitet, das Entropiekodieren gestoppt. Durch Stoppen des Entropiekodierens eines Blockes auf halbem Weg, werden Hochfrequenzkomponenten des Blocks nicht kodiert. Bei dieser Anordnung wird das Bild mit einer Kodiermenge kodiert, die nahe an einer Zielkodiermenge liegt.
  • Ausführung 2
  • Als eine andere Ausführung der vorliegenden Erfindung wird eine digitale Stehbildkamera (200), die eine Bildkodierungsvorrichtung ist, im Bezug auf ihre Struktur und Operationen mit Konzentration auf den Unterschied zu der in „Ausführung 1" beschriebenen digitalen Stehbildkamera (100) beschrieben.
  • 1. Struktur der digitalen Stehbildkamera
  • Die Struktur der digitalen Stehbildkamera (200) als eine andere Ausführung der vorliegenden Erfindung wird mit Bezug auf das in 27 gezeigte Blockdiagramm beschrieben.
  • Wie in 27 gezeigt wird, besteht die digitale Stehbildkamera (200) aus einem Mikrocontroller (101), einem Direktzugriffsspeicher (RAM) (102), einem Festspeicher (ROM) (103), einer Bilderfassungseinheit (104), einem Signalverarbeitungskreis (105), einem A/D-Umwandlungskreis (106), einem Originalbildpuffer (107), einem Kodierkreis (121) zum Kodieren/Komprimieren von Bildern, einer Speicherkarte (109), einer Speicherkarte I/F (110), einem Dekodierkreis (111), einer Anzeigeeinheit (112) und einem Bildspeicher (113).
  • Referenzziffern, die in ähnlicher Form wie die in 1 nummeriert sind, bezeichnen gleiche Bauteile, und eine erneute Darlegung ihrer Funktion wird bei der Beschreibung dieser Ausführung weggelassen. Der einzige Unterschied ist der Kodierkreis (121), der durch den Kodierkreis (108) ersetzt wird. Folglich wird nachfolgend nur der Kodierkreis (121) beschrieben.
  • 2. Struktur des Kodierkreises (121)
  • Die Struktur des Kodierkreises (121) der in 27 gezeigten digitalen Stehbildkamera (200) wird mit Bezug auf das in 28 gezeigte Blockdiagramm beschrieben. 29 zeigt Informationen, die zwischen den Bauteilen des Kodierkreises (121) übertragen werden.
  • Der Kodierkreis (121) besteht aus einer Bildpunktverkleinerungseinheit (202), einer Blockleseeinheit (203), einem Datenselektor (221), einer Orthogonaltransformationseinheit (205), einer Quantisierungseinheit (206), einer Kodiermengenvorhersageeinheit (207), einer Quantisierungsbreitenberechnungseinheit (208), einer Quantisierungstabellenerzeugungseinheit (209), einer Blockzuweisungskodiermengeneinstelleinheit (210), einer Entropiekodiereinheit (211) und einer Kodiersteuereinheit (213).
  • Referenzziffern, die in ähnlicher Form wie die in 2 nummeriert sind, bezeichnen gleiche Bauteile, und eine erneute Darlegung ihrer Funktion wird bei der Beschreibung dieser Ausführung weggelassen. Der einzige Unterschied ist der Datenselektor (221), der durch den Datenselektor (204) ersetzt wird. Folglich wird nachfolgend nur der Datenselektor (221) beschrieben.
  • 2.1 Datenselektor (221)
  • Bei Empfang des Befehls „Ganzvorhersage" wählt der Datenselektor (221) die von der Bildpunktverkleinerungseinheit (202) ausgegebenen 64 Bildpunktwerte aus.
  • Die sonstigen Operationen und Funktionen sind denen des Datenselektors (204) ähnlich, und eine erneute Darlegung von ihnen wird bei der Beschreibung dieser Ausführung weggelassen.
  • 3. Betrieb der digitalen Stehbildkamera
  • 3.1 Zusammengefasster Kodierprozess
  • Ein Abriss der Operation des in 28 gezeigten Kodierkreises wird nachfolgend mit Bezug auf 30 und 31, die einen Abriss des Prozesses zeigen, beschrieben.
  • Referenzziffern, die in ähnlicher Form wie die in 19 und 20 nummeriert sind, bezeichnen gleiche Elemente, und eine erneute Darlegung ihrer Funktion wird bei der Beschreibung dieser Ausführung weggelassen. Der einzige Unterschied ist das Element 2732, das durch das Element 1732 ersetzt wird. Folglich wird nachfolgend nur das Element 2732 beschrieben.
  • Die Bildpunktverkleinerungseinheit (202) führt einen Bildpunktverkleinerungsprozess durch, um Bildpunkte auf der Basis einer aus vier für jede Blockgruppe des in dem Originalbildpuffer (107) gespeicherten Zielbilds (1731) auszuwählen. Die Bildpunktverkleinerungseinheit (202) gibt die ausgewählten Bildpunkte über den Datenselektor (221) an die Orthogonaltransformationseinheit (205) aus (Schritt S2732).
  • 3.2 Zusammengefasste Kodieroperation
  • Ein Abriss der Operation des in 28 gezeigten Kodierkreises wird nachfolgend mit Bezug auf das in 32 gezeigte Flussdiagramm beschrieben.
  • Schritte, die in ähnlicher Form wie die in 21 nummeriert sind, bezeichnen gleiche Schritte, und eine erneute Darlegung ihrer Funktion wird bei der Beschreibung dieser Ausführung weggelassen. Der einzige Unterschied ist der Schritt S2802, der durch den Schritt S302 ersetzt wird. Folglich wird nachfolgend nur der Schritt S2802 beschrieben.
  • Die Bildpunktverkleinerungseinheit (202) führt einen Bildpunktverkleinerungsprozess zum Auslesen von Bildpunktwerten durch. Die Orthogonaltransformationseinheit (205) führt eine orthogonale Transformation an den gelesenen Bildpunktwerten durch, um orthogonale Transformationskoeffizienten zu erzielen. Die Quantisierungseinheit (206) quantisiert die orthogonalen Transformationskoeffizienten unter Verwendung der Minimalquantisierungstabelle (209c) und der Maximalquantisierungstabelle (209b), um zwei Arten von quantisierten orthogonalen Transformationskoeffizienten zu erzielen. Die Kodiermengenvorhersageeinheit (207) berechnet die vorhergesagte Kodiermenge von jedem Block unter Verwendung von Formel 4, der Quantisierungsbreiten αe1 und αe2 und der beiden Arten von quantisierten orthogonalen Transformationskoeffizienten und berechnet dann die kumulativen minimalen vorhergesagten Kodiermengen Vp1 und Vp2 für das gesamte Bild (Schritt S2802).
  • 3.3 Erstellen von Quantisierungstabellen für Kodiermengenvorhersage
  • Die Operation des Erstellens der Minimal- und Maximalquantisierungstabellen ist bei der vorliegenden Ausführung dieselbe wie die, die in dem in 22 gezeigten Flussdiagramm beschrieben wird, und eine erneute Darlegung wird weggelassen.
  • 3.4 Vorhersage von Kodiermengen für gesamtes Bild
  • Die Operation des Vorhersagens von Kodiermengen für das gesamte Bild, auf die in Schritt S2802 von 32 verwiesen wird, wird ausführlich mit Bezug auf das in 33 gezeigte Flussdiagramm beschrieben.
  • Schritte, die in ähnlicher Form wie die in 23 nummeriert sind, bezeichnen gleiche Schritte, und eine erneute Darlegung ihrer Funktion wird bei der Beschreibung dieser Ausführung weggelassen. Der einzige Unterschied ist der Schritt S2902, der durch den Schritt S802 ersetzt wird. Folglich wird nachfolgend nur der Schritt S2902 beschrieben.
  • Die Bildpunktverkleinerungseinheit (202) führt einen Bildpunktverkleinerungsprozess durch, bei dem die Bildpunktverkleinerungseinheit (202) Bildpunkte aus einer Blockgruppe entsprechend dem Schleifenzählerwert auswählt und die Bildpunktwerte ausliest (Schritt S2902).
  • 3.5 Vorhersage von Kodiermengen für jede Blockgruppe
  • Die Operation des Vorhersagens von Kodiermengen für jede Blockgruppe ist dieselbe wie die, die in dem in 24 gezeigten Flussdiagramm beschrieben wird, und eine erneute Darlegung wird weggelassen.
  • 3.6 Kodieren
  • Die Operation des Kodierens ist dieselbe wie die, die in dem in 25 gezeigten Flussdiagramm beschrieben wird, und eine erneute Darlegung wird weggelassen.
  • 3.7 Entropiekodieren
  • Die Operation des Entropiekodierens ist dieselbe wie die, die in dem in 26 gezeigten Flussdiagramm beschrieben wird, und eine erneute Darlegung wird weggelassen.
  • 4. Schlussfolgerung
  • Wie oben beschrieben wurde, wird bei der vorliegenden Ausführung die Kodiermenge von dem Bild nach der Bildpunktverkleinerung vorhergesagt, und es wird die der vorhergesagten Kodiermenge entsprechende Optimalquantisierungstabelle erstellt. Die Kodiermenge für jede Blockgruppe wird dann von dem Bild nach der Bildpunktverkleinerung vorhergesagt. Danach wird jeder Block entropiekodiert. Bei diesem Vorgehen wird, wenn die erzeugte Kodiermenge die Blockzuweisungskodiermenge überschreitet, das Entropiekodieren gestoppt. Durch Stoppen des Entropiekodierens eines Blockes auf halbem Weg, werden Hochfrequenzkomponenten des Blocks nicht kodiert. Bei dieser Anordnung wird das Bild mit einer Kodiermenge kodiert, die nahe an einer Zielkodiermenge liegt.
  • Ausführung 2 unterscheidet sich von Ausführung 1 darin, dass sie das Bildpunktverkleinerungsverfahren statt des Blockverkleinerungsverfahrens anwendet, um die Bildpunkte auszuwählen, die für die Kodiermengenvorhersage für das gesamte Bild verwendet werden. Dies könnte den Fehler zwischen der Zielkodiermenge und der erzeugten Kodiermenge ein wenig größer machen als Ausführung 1. In diesem Fall ist jedoch ein Prozess zum Erzielen der Kodiermenge für das gesamte Bild nach dem Blockverkleinerungsprozess nicht erforderlich.
  • Sonstige Ausführungen
  • Es muss nicht erwähnt werden, dass die vorliegende Erfindung nicht auf die oben beschriebenen Ausführungen 1 und 2 beschränkt ist. Das heißt, dass die vorliegende Erfindung außerdem die folgenden Ausführungen umfasst.
    • (1) Bei dem Blockverkleinerungsprozess von Ausführung 1 und 2 werden Blöcke auf einer Basis einer aus vier Blöcken ausgewählt, wobei jede Gruppe von vier Blöcken aus Zweiblockzeilen und Zweiblockspalten besteht. Dies kann jedoch mit einer unterschiedlichen Verkleinerungsrate durchgeführt werden. Beispielsweise kann dies auf einer Basis einer aus neun Blöcken durchgeführt werden, wobei jede Gruppe der neun Blöcke aus Dreiblockzeilen und Dreiblockspalten besteht. Außerdem wird bei demselben Prozess von Ausführung 1 und 2 der obere linke Block aus jeder Gruppe der vier Blöcke ausgewählt. Es kann jedoch ein Block in einer Position ausgewählt werden, die nicht die obere linke Position ist.
    • (2) Bei dem Bildpunktverkleinerungsprozess von Ausführung 1 und 2 werden Bildpunkte auf einer Basis einer aus vier Bildpunkten ausgewählt, wobei jede Gruppe von vier Bildpunkten aus Zweibildpunktzeilen und Zweibildpunktspalten besteht. Dies kann jedoch mit einer unterschiedlichen Verkleinerungsrate durchgeführt werden. Beispielsweise kann dies auf einer Basis einer aus neun Bildpunkten durchgeführt werden, wobei jede Gruppe der neun Bildpunkte aus Dreibildpunktzeilen und Dreibildpunktspalten besteht. Außerdem wird bei demselben Prozess von Ausführung 1 und 2 der obere linke Bildpunkt aus jeder Gruppe der vier Bildpunkte ausgewählt. Es kann jedoch ein Bildpunkt in einer Position ausgewählt werden, die nicht die obere linke Position ist.
    • (3) Bei Ausführung 1 und 2 werden eine maximale Quantisierungsbreite und eine minimale Quantisierungsbreite verwendet, um zwei Arten von Kodiermengen für das gesamte Bild vorherzusagen. Es ist jedoch aus 12 ersichtlich, dass die Beziehungen zwischen der Quantisierungsbreite und der Kodiermenge des gesamten Bildes eine gewisse Tendenz aufweisen. Daher ist es möglich, die Kodiermenge des gesamten Bildes unter Verwendung einer Quantisierungsbreite oder unter Verwendung von drei Arten von Quantisierungsbreiten vorherzusagen. Hier gilt, je mehr Arten der Quantisierungsbreiten verwendet werden, desto genauer wird die Kodiermenge des gesamten Bildes vorhergesagt.
    • (4) Bei Ausführung 1 und 2 werden zwei Arten von Quantisierungsbreiten durch Bezug auf die Quantisierungsbreitenentsprechungstabelle (1300) bestimmt. Es kann jedoch statt der Quantisierungsbreitenentsprechungstabelle (1300) eine Gleichung verwendet werden. Zum Beispiel kann die folgende Gleichung verwendet werden. V = 1/a*αBei dieser Gleichung stellt V eine Kodiermenge, α eine Quantisierungsbreite und „a" eine Konstante dar. Alternativ kann die folgende Gleichung verwendet werden. V = 1/(a*α2 + b*α)Bei dieser Gleichung stellt V eine Kodiermenge, α eine Quantisierungsbreite und „a" und „b" Konstanten dar. Wie daraus ersichtlich ist, kann jedes Format verwendet werden, solange es Beziehungen zwischen der Kodiermenge und der Quantisierungsbreite zeigt. Es ist außerdem möglich, eine Quantisierungsbreite, die einer am nahesten an der Zielkodiermenge liegenden Kodiermenge entspricht, unter Verwendung der Quantisierungsbreitenentsprechungstabelle (1300) oder einer der vorgenannten Gleichungen auszuwählen und das Bild unter Verwendung der ausgewählten Quantisierungsbreite zu kodieren. Bei dieser Anordnung wird ein kodiertes Bild mit einer Kodiermenge erzeugt, die nahe an der Zielkodiermenge liegt.
    • (5) Bei Ausführung 1 und 2 berechnet die Blockzuweisungskodiermengeneinstelleinheit (210) die Blockzuweisungskodiermenge, und die Entropiekodiereinheit (211) entropiekodiert die quantisierten orthogonalen Transformationskoeffizienten, die Blockzuweisungskodiermenge nicht zu überschreiten. Die Blockzuweisungskodiermengeneinstelleinheit (210) könnte jedoch diese Berechnung nicht durchführen. Außerdem könnte die Entropiekodiereinheit (211) die quantisierten orthodonalen Transformationskoeffizienten entropiekodieren, ohne die Quantisierung von einem Block auf halbem Weg zu stoppen. Das bedeutet, dass die Hochfrequenzkomponenten entropiekodiert werden. In diesem Fall wird erwartet, dass ein kodiertes Bild mit einer nahe an der Zielkodiermenge liegenden Kodiermenge erzielt wird, da eine Quantisierung unter Verwendung der Optimalquantisierungstabelle durchgeführt wird. In dem vorliegenden Fall wird außerdem die bei Ausführung 1 durchgeführte Berechnung von vorhergesagter Kodiermenge für jede Blockgruppe unnötig. Folglich gibt die Kodiersteuereinheit (213) den Befehl „Bildpunktverkleinerung" nicht aus. Die in dem in 2 gezeigten Kodierkreis (108) enthaltene Bildpunktverkleinerungseinheit (202) wird ebenfalls unnötig. Außerdem kann Schritt S304 aus dem in 21 gezeigten Flussdiagramm zur Beschreibung des Kompressions-/Kodierprozesses entfernt werden. Dies verringert insgesamt die Kreisgröße, die Kosten, den Stromverbrauch und die Zeit für das Kodieren.
    • (6) Es ist möglich, die Kodiermengenvorhersage ohne Blockverkleinerungen oder Bildpunktverkleinerungen durchzuführen, wenn ausreichend Zeit für den Vorhersageprozess vorhanden ist. Dies reduziert den Fehler zwischen der Zielkodiermenge und der erzeugten Kodiermenge und verbessert die Bildqualität des wiedergegebenen Bildes.
    • (7) Es gibt viele Arten von Orthogonaltransformationsverfahren, die auf die vorliegende Erfindung angewendet werden können: die bei JPEG verwendete diskrete Cosinustransformation, diskrete Sinustransformation, Karhunen-Loeve-Transformation (KLT), Slant-Transformation, Walsh-Hadamard-Transformation, Wavelet-Transformation usw. Außerdem gibt es viele Arten von Entropiekodierverfahren, die auf die vorliegende Erfindung angewendet werden können: das bei JPEG verwendete Huffman-Kodierverfahren, arithmetisches Kodierverfahren, Kodierverfahren mit fester Länge usw.
    • (8) Wenn jedes Bild aus einer Vielzahl von Farbkomponenten besteht, können die folgenden Prozesse für jede Farbkomponente durchgeführt werden: Kodiermengenvorhersage, Kodiermengenzuweisung, Stoppen des Entropiekodierens, Erstellen der Quantisierungstabelle. Außerdem kann die Tabelle, die die Beziehungen zwischen der Quantisierungsbreite und der erzeugten Kodiermenge zeigt, für jede Farbkomponente erstellt werden.
    • (9) Die vorliegende Erfindung stellt außerdem ein Bildkodierungsverfahren bereit, das dieselben Handlungen und Effekte aufweist wie die bei den vorgenannten Ausführungen beschriebene Bildkodierungsvorrichtung.
    • (10) Die vorliegende Erfindung stellt außerdem ein maschinenlesbares Aufzeichnungsmedium zum Speichern eines Programms bereit, das einem Rechner das Ausführen des Bildkodierungsverfahrens ermöglicht.
    • (11) Die vorliegende Erfindung stellt außerdem ein maschinenlesbares Aufzeichnungsmedium zum Speichern erster und zweiter Kodiermengen bereit, die jeweils dadurch erzielt werden, dass ein Bild mit einer großen Kodiermenge und ein Bild mit einer kleinen Kodiermenge für jede von gewissen Quantisierungsbreiten kodiert werden und die erzielten Kodiermengen in Relation zu jeder der gewissen Quantisierungsbreiten gespeichert werden.
  • Die vorliegende Erfindung wurde mit Hilfe von Beispielen mit Bezug auf die begleitenden Zeichnungen vollständig beschrieben, wobei anzumerken ist, dass verschiedene Ände rungen und Modifikationen für auf diesem Gebiet erfahrene Personen offensichtlich sind. Soweit solche Änderungen und Modifikationen nicht von dem Umfang der vorliegenden Erfindung abweichen, sind sie daher als darin enthalten auszulegen.

Claims (5)

  1. Bildkodierungsvorrichtung zum Kodieren eines Objektbildes, um ein kodiertes Bild zu erzeugen, das eine Kodiermenge aufweist, die nicht größer als eine Zielkodiermenge ist, wobei die Bildkodierungsvorrichtung das Folgende umfasst – eine Beziehungsspeichereinheit, die zum Vorabspeichern einer ersten Beziehung und einer zweiten Beziehung betrieben werden kann, wobei die erste Beziehung eine Entsprechung zwischen einer vorgegebenen Anzahl von Quantisierungsbreiten und derselben Anzahl von ersten Kodiermengen zeigt, die durch Kodieren eines Abtastbildes mit einer kleinen Kodiermenge für jede der vorgegebenen Anzahl von Quantisierungsbreiten erzielt werden, und die zweite Beziehung eine Entsprechung zwischen der vorgegebenen Anzahl von Quantisierungsbreiten und derselben Anzahl von zweiten Kodiermengen zeigt, die durch Kodieren eines Abtastbildes mit einer großen Kodiermenge für jede der vorgegebenen Anzahl von Quantisierungsbreiten erzielt werden; – eine Quantisierungsbreitenbestimmungseinheit, betreibbar zum (a) Bezug auf die erste Beziehung in der Beziehungsspeichereinheit, um eine erste Quantisierungsbreite zu erzielen, die einer ersten Kodiermenge entspricht, die am nahesten an der Zielkodiermenge liegt; (b) Bezug auf die zweite Beziehung in der Beziehungsspeichereinheit, um eine zweite Quantisierungsbreite zu erzielen, die einer zweiten Kodiermenge entspricht, die am nahesten an der erzielten Zielkodiermenge liegt; (c) Berechnen einer ersten vorhergesagten Kodiermenge und einer zweiten vorhergesagten Kodiermenge für das Objektbild unter Verwendung der erzielten ersten bzw. zweiten Quantisierungsbreite; (d) Vorhersagen einer dritten Beziehung, die eine Entsprechung zwischen Quantisierungsbreiten und Kodiermengen zeigt, eine steigende/abnehmende Tendenz ähnlich den steigenden/abnehmenden Tendenzen der ersten und zweiten Beziehung aufweist und (i) eine Entsprechung zwischen der ersten Quantisierungsbreite und der ersten vorhergesagten Kodiermenge und (ii) eine Entsprechung zwischen der zweiten Quantisierungsbreite und der zweiten vorhergesagten Kodiermenge umfasst; und (e) Bestimmen einer optimalen Quantisierungsbreite, die zwischen der ersten Quantisierungsbreite und der zweiten Quantisierungsbreite liegt, die dritte Beziehung erfüllt und eine Kodiermenge aufweist, die ungefähr dieselbe wie die Zielkodiermenge ist; und – eine Kodiereinheit, die zum Kodieren des Objektbildes unter Verwendung der optimalen Quantisierungsbreite betrieben werden kann.
  2. Bildkodierungsvorrichtung nach Anspruch 1, wobei die Quantisierungsbreitenbestimmungseinheit (a) Bezug auf die erste Beziehung nimmt, um eine erste Quantisierungsbreite αe1 zu erzielen, und Bezug auf die zweite Beziehung nimmt, um eine zweite Quantisierungsbreite αe2 zu erzielen; (b) unter Verwendung der ersten Quantisierungsbreite αe1 bzw. der zweiten Quantisierungsbreite αe2 eine erste und eine zweite vorhergesagte Kodiermenge Vp1 und Vp2 berechnet; (c) die dritte Beziehung vorhersagt, die eine Entsprechung zwischen Kodiermenge Vq und optimaler Quantisierungsbreite αq zeigt, wobei die dritte Beziehung die folgende Formel 1 erfüllt:
    Figure 00580001
    wobei Va1 eine Gesamtkodiermenge des Abtastbildes mit der kleinen Kodiermenge entsprechend der ersten Quantisierungsbreite αe1 darstellt, Vb1 eine Gesamtkodiermenge des Abtastbildes mit der großen Kodiermenge entsprechend der ersten Quantisierungsbreite αe1 darstellt, Va2 eine Gesamtkodiermenge des Abtastbildes mit der kleinen Kodiermenge entsprechend der zweiten Quantisierungsbreite αe2 darstellt, Vb2 eine Gesamtkodiermenge des Abtastbildes mit der großen Kodiermenge entsprechend der zweiten Quantisierungsbreite αe2 darstellt, Va eine Gesamtkodiermenge des Abtastbildes mit der kleinen Kodiermenge entsprechend der optimalen Quantisierungsbreite αq darstellt und Vb eine Gesamtkodiermenge des Abtastbildes mit der großen Kodiermenge entsprechend der optimalen Quantisierungsbreite αq darstellt; und (d) die optimale Quantisierungsbreite αq bestimmt, die zwischen der ersten Quantisierungsbreite αe1 und der zweiten Quantisierungsbreite αe2 liegt, die dritte Beziehung, die durch die Formel 1 dargestellt wird, erfüllt und die Kodiermenge Vq aufweist, die ungefähr dieselbe wie die Zielkodiermenge ist.
  3. Bildkodierungsvorrichtung nach Anspruch 2, wobei die Quantisierungsbreitenbestimmungseinheit eine vorhergesagte Kodiermenge des Objektbildes berechnet, indem zuerst eine vorhergesagte Kodiermenge Ve für jeden Block, der das Objektbild bildet, unter Verwendung der nachfolgenden Formel 2 berechnet wird und dann alle berechneten vorhergesagten Kodiermengen Ve zusammenaddiert werden,
    Figure 00580002
    wobei n die Anzahl von in einem Block enthaltenen Bildpunkten, Sq0 einen quantisierten orthogonalen Transformationskoeffizienten (Gleichstromkomponente), Sqi einen quantisierten orthogonalen Transformationskoeffizienten (Wechselstrom komponente, wobei i = „1" bis „n – 1"), αdc einen Umwandlungskoeffizienten, αac einen Umwandlungskoeffizienten, αzn einen Umwandlungskoeffizienten, β eine Konstante, L(X) eine Funktion, die einen Ergebniswert „0", wenn X = 0, und einen Ergebniswert von log2|X|, wenn X ≠ 0, liefert, und d(X) eine Funktion darstellt, die einen Ergebniswert „0", wenn X = 0, und einen Ergebniswert „1", wenn X ≠ 0, liefert.
  4. Bildkodierungsverfahren zur Verwendung bei einer Bildkodierungsvorrichtung zum Kodieren eines Objektbildes, um ein kodiertes Bild zu erzeugen, das eine Kodiermenge aufweist, die nicht größer als eine Zielkodiermenge ist, wobei die Bildkodierungsvorrichtung eine Beziehungsspeichereinheit umfasst, die zum Vorabspeichern einer ersten Beziehung und einer zweiten Beziehung betrieben werden kann, wobei die erste Beziehung eine Entsprechung zwischen einer vorgegebenen Anzahl von Quantisierungsbreiten und einer vorgegebenen Anzahl von ersten Kodiermengen zeigt, die durch Kodieren eines Abtastbildes mit einer kleinen Kodiermenge für jede der vorgegebenen Anzahl von Quantisierungsbreiten erzielt werden, und die zweite Beziehung eine Entsprechung zwischen der vorgegebenen Anzahl von Quantisierungsbreiten und einer vorgegebenen Anzahl von zweiten Kodiermengen zeigt, die durch Kodieren eines Abtastbildes mit einer großen Kodiermenge für jede der vorgegebenen Anzahl von Quantisierungsbreiten erzielt werden, wobei das Bildkodierungsverfahren die folgenden Schritte umfasst: – Bezugnahme auf die erste Beziehung in der Beziehungsspeichereinheit, um eine erste Quantisierungsbreite zu erzielen, die einer ersten Kodiermenge entspricht, die am nahesten an der Zielkodiermenge liegt, und Bezugnahme auf die zweite Beziehung in der Beziehungsspeichereinheit, um eine zweite Quantisierungsbreite zu erzielen, die einer zweiten Kodiermenge entspricht, die am nahesten an der erzielten Zielkodiermenge liegt; – Berechnen einer ersten vorhergesagten Kodiermenge und einer zweiten vorhergesagten Kodiermenge für das Objektbild unter Verwendung der erzielten ersten bzw. zweiten Quantisierungsbreite; – Vorhersagen einer dritten Beziehung, die eine Entsprechung zwischen Quantisierungsbreiten und Kodiermengen zeigt, eine steigende/abnehmende Tendenz ähnlich den steigenden/abnehmenden Tendenzen der ersten und zweiten Beziehung aufweist und (i) eine Entsprechung zwischen der ersten Quantisierungsbreite und der ersten vorhergesagten Kodiermenge und (ii) eine Entsprechung zwischen der zweiten Quantisierungsbreite und der zweiten vorhergesagten Kodiermenge umfasst; – Bestimmen einer optimalen Quantisierungsbreite, die zwischen der ersten Quantisierungsbreite und der zweiten Quantisierungsbreite liegt, die dritte Beziehung erfüllt und eine Kodiermenge aufweist, die ungefähr dieselbe wie die Zielkodiermenge ist; und – Kodieren des Objektbildes unter Verwendung der optimalen Quantisierungsbreite.
  5. Maschinenlesbares Aufzeichnungsmedium zum Speichern eines Bildkodierungsprogramms zur Verwendung bei einem Bildkodierungsrechner zum Kodieren eines Objektbildes, um ein kodiertes Bild zu erzeugen, das eine kodierte Menge aufweist, die nicht größer als eine Zielkodiermenge ist, wobei der Bildkodierungsrechner eine Beziehungsspeichereinheit umfasst, die zum Vorabspeichern einer ersten Beziehung und einer zweiten Beziehung betrieben werden kann, wobei die erste Beziehung eine Entsprechung zwischen einer vorgegebenen Anzahl von Quantisierungsbreiten und einer vorgegebenen Anzahl von ersten Kodiermengen zeigt, die durch Kodieren eines Abtastbildes mit einer kleinen Kodiermenge für jede der vorgegebenen Anzahl von Quantisierungsbreiten erzielt werden, und die zweite Beziehung eine Entsprechung zwischen der vorgegebenen Anzahl von Quantisierungsbreiten und einer vorgegebenen Anzahl von zweiten Kodiermengen zeigt, die durch Kodieren eines Abtastbildes mit einer großen Kodiermenge für jede der vorgegebenen Anzahl von Quantisierungsbreiten erzielt werden, wobei das Bildkodierungsprogramm die folgenden Schritte umfasst: – Bezugnahme auf die erste Beziehung in der Beziehungsspeichereinheit, um eine erste Quantisierungsbreite zu erzielen, die einer ersten Kodiermenge entspricht, die am nahesten an der Zielkodiermenge liegt, und Bezugnahme auf die zweite Beziehung in der Beziehungsspeichereinheit, um eine zweite Quantisierungsbreite zu erzielen, die einer zweiten Kodiermenge entspricht, die am nahesten an der erzielten Zielkodiermenge liegt; – Berechnen einer ersten vorhergesagten Kodiermenge und einer zweiten vorhergesagten Kodiermenge für das Objektbild unter Verwendung der erzielten ersten bzw. zweiten Quantisierungsbreite; – Vorhersagen einer dritten Beziehung, die eine Entsprechung zwischen Quantisierungsbreiten und Kodiermengen zeigt, eine steigende/abnehmende Tendenz ähnlich den steigenden/abnehmenden Tendenzen der ersten und zweiten Beziehung aufweist und (i) eine Entsprechung zwischen der ersten Quantisierungsbreite und der ersten vorhergesagten Kodiermenge und (ii) eine Entsprechung zwischen der zweiten Quantisierungsbreite und der zweiten vorhergesagten Kodiermenge umfasst; – Bestimmen einer optimalen Quantisierungsbreite, die zwischen der ersten Quantisierungsbreite und der zweiten Quantisierungsbreite liegt, die dritte Beziehung erfüllt und eine Kodiermenge aufweist, die ungefähr dieselbe wie die Zielkodiermenge ist; und – Kodieren des Objektbildes unter Verwendung der optimalen Quantisierungsbreite.
DE1998625836 1997-10-22 1998-10-22 Bildkodierungsvorrichtung und -verfahren sowie Bildaufzeichnungsmedium Expired - Fee Related DE69825836T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP28973097 1997-10-22
JP28973097A JP3356663B2 (ja) 1997-10-22 1997-10-22 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
DE69825836D1 DE69825836D1 (de) 2004-09-30
DE69825836T2 true DE69825836T2 (de) 2005-02-10

Family

ID=17747020

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1998625836 Expired - Fee Related DE69825836T2 (de) 1997-10-22 1998-10-22 Bildkodierungsvorrichtung und -verfahren sowie Bildaufzeichnungsmedium

Country Status (5)

Country Link
US (2) US6449395B1 (de)
EP (1) EP0912062B1 (de)
JP (1) JP3356663B2 (de)
KR (1) KR100504694B1 (de)
DE (1) DE69825836T2 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194128B1 (en) * 2000-07-26 2007-03-20 Lockheed Martin Corporation Data compression using principal components transformation
WO2003056839A1 (en) * 2001-12-31 2003-07-10 Stmicroelectronics Asia Pacific Pte Ltd Video encoding
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
WO2005076627A1 (en) * 2004-02-09 2005-08-18 Nevil Soft Co., Ltd. Process method for compressing moving pictures and apparatus for performing said method
US20060008154A1 (en) * 2004-07-01 2006-01-12 Belle Ronny V Video compression and decompression to virtually quadruple image resolution
KR100718130B1 (ko) 2005-06-04 2007-05-14 삼성전자주식회사 디스플레이 구동 장치 및 방법
JP4321496B2 (ja) * 2005-06-16 2009-08-26 ソニー株式会社 画像データ処理装置、画像データ処理方法およびプログラム
US20070076265A1 (en) * 2005-10-03 2007-04-05 Lexmark International, Inc. Method of bit depth reduction for an apparatus
CN101637026B (zh) * 2007-09-12 2012-03-28 索尼株式会社 图像处理装置和方法
GB2454168A (en) * 2007-10-24 2009-05-06 Cambridge Silicon Radio Ltd Estimating the number of bits required to compress a plurality of samples using a given quantisation parameter by calculating logarithms of quantised samples
US8270744B2 (en) * 2008-06-27 2012-09-18 Sony Corporation Image processing apparatus and image processing method
US8638863B1 (en) * 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
KR102171119B1 (ko) * 2015-11-05 2020-10-28 삼성전자주식회사 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US20190230357A1 (en) * 2016-09-21 2019-07-25 Mitsubishi Electric Corporation Image encoding apparatus and image decoding apparatus
US10242654B2 (en) * 2017-01-25 2019-03-26 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations
US10410349B2 (en) 2017-03-27 2019-09-10 Microsoft Technology Licensing, Llc Selective application of reprojection processing on layer sub-regions for optimizing late stage reprojection power
US10514753B2 (en) 2017-03-27 2019-12-24 Microsoft Technology Licensing, Llc Selectively applying reprojection processing to multi-layer scenes for optimizing late stage reprojection power
US11190810B2 (en) 2018-01-26 2021-11-30 Samsung Electronics Co., Ltd. Device and method for compressing image data using quantization parameter and entropy tables
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3085465B2 (ja) * 1989-10-31 2000-09-11 オリンパス光学工業株式会社 画像データの符号化装置および符号化方法
US5291282A (en) 1990-04-19 1994-03-01 Olympus Optical Co., Ltd. Image data coding apparatus and method capable of controlling amount of codes
JP2959831B2 (ja) 1990-10-31 1999-10-06 オリンパス光学工業株式会社 画像データの符号化装置
JPH04179371A (ja) 1990-11-14 1992-06-26 Olympus Optical Co Ltd 画像データの符号化装置および符号化方法
EP0493130B1 (de) 1990-12-28 1997-06-11 Canon Kabushiki Kaisha Bildcodierungsgerät mit Optimierung der erzeugten Codemenge
JP2921358B2 (ja) 1993-10-06 1999-07-19 富士ゼロックス株式会社 画像符号化装置
JPH08102943A (ja) * 1994-09-30 1996-04-16 Fuji Xerox Co Ltd 画像符号化装置
JP3024673B2 (ja) 1994-10-31 2000-03-21 日本電気株式会社 データ圧縮方式
JPH0984009A (ja) 1995-09-07 1997-03-28 Konica Corp 画像圧縮符号化方法及び画像圧縮符号化装置
JPH09247675A (ja) 1996-03-13 1997-09-19 Fuji Film Micro Device Kk 画像圧縮方法および画像圧縮システム

Also Published As

Publication number Publication date
US20020196983A1 (en) 2002-12-26
DE69825836D1 (de) 2004-09-30
US6584232B2 (en) 2003-06-24
JP3356663B2 (ja) 2002-12-16
KR100504694B1 (ko) 2005-10-25
JPH11127355A (ja) 1999-05-11
EP0912062A2 (de) 1999-04-28
US6449395B1 (en) 2002-09-10
EP0912062B1 (de) 2004-08-25
KR19990037305A (ko) 1999-05-25
EP0912062A3 (de) 2000-07-26

Similar Documents

Publication Publication Date Title
DE69825836T2 (de) Bildkodierungsvorrichtung und -verfahren sowie Bildaufzeichnungsmedium
DE69838630T2 (de) Prädiktive Digitalvideosignalkodierung- und Dekodierungsmethode unter Verwendung von Blockinterpolation
DE69735437T2 (de) Bildkodierer und bilddekodierer
DE69836432T2 (de) Bildcoder und -decoder
DE60314305T2 (de) Header-basierte Verarbeitung von mittels Multiskalentransformation komprimierter Bilder
DE69919641T2 (de) Adaptive Videokompromierung mit variabler Quantisierung
DE69736852T2 (de) Codierung- und Decodierungssystem für bewegte Bilder mit beliebig geformten Objekten
DE69737129T2 (de) Verfahren und Vorrichtung zur Bildqualitätskontrolle
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69434862T2 (de) Segmentierungs-basiertes entfernen von artefakten aus einem jpeg-bild
DE112010004109B4 (de) Verfahren zum Dekodieren eines Bitstroms
EP0309669B1 (de) Verfahren zur szenenmodellgestützten Bilddatenreduktion für digitale Fernsehsignale
DE69533870T2 (de) Vorrichtung zur Bilddekodierung
DE69824905T2 (de) Bildseitenverhältniszoomen von Daumennagelbildern
DE69824554T2 (de) Verfahren und anordnung zum erzeugen eines standbildes mit hoher auflösung
DE60220295T2 (de) Addieren von halbbildern eines bildes
DE69631999T2 (de) Bildverarbeitungsgerät und Verfahren
DE19758761B4 (de) Verfahren zum Intrakodieren eines von einer Pixelmatrix gebildeten Bildes
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
DE602004001993T2 (de) Transformations basiertes restbewegungsrahmen kodierungsverfahren mit übervollständiger basis und zugehörige vorrichtung zur videokompression
DE10300048A1 (de) Verfahren und Vorrichtung zur Bildcodierung und -decodierung
DE19737805A1 (de) Verfahren und Vorrichtung zum Kodieren eines Bewegungsvektors
DE60022018T2 (de) Verfahren und vorichtung zur bewegungsvektorfeldkodierung
EP1098508A2 (de) Gerät und Verfahren zur Änderung der Resolution von orthogonal transformierten Bildern
DE69835431T2 (de) Bildkodier-und-dekodierverfahren und-vorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee