DE69416662T2 - Bewegtbildkodierer - Google Patents

Bewegtbildkodierer

Info

Publication number
DE69416662T2
DE69416662T2 DE69416662T DE69416662T DE69416662T2 DE 69416662 T2 DE69416662 T2 DE 69416662T2 DE 69416662 T DE69416662 T DE 69416662T DE 69416662 T DE69416662 T DE 69416662T DE 69416662 T2 DE69416662 T2 DE 69416662T2
Authority
DE
Germany
Prior art keywords
frame
intra
block
coding mode
amount
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
DE69416662T
Other languages
English (en)
Other versions
DE69416662D1 (de
Inventor
Tomoko Chiba-Shi Chiba-Ken Aono
Yoichi Chiba-Shi Chiba-Ken Fujiwara
Hiroyuki Ichihara-Shi Chiba-Ken Katata
Hiroshi Midori-Ku Chiba-Shi Chiba-Ken Kusao
Toshiyuki Tenri-Shi Nara-Ken Miyake
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Publication of DE69416662D1 publication Critical patent/DE69416662D1/de
Application granted granted Critical
Publication of DE69416662T2 publication Critical patent/DE69416662T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

    Bewegtbildkodierer HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
  • Die Erfindung betrifft einen Bewegtbildcodierer zum adaptiven Umschalten zwischen Intravollbild-Codierung und Intervollbild-Codierung.
  • 2. Beschreibung der einschlägigen Technik
  • Für das digitale Übertragen oder Aufzeichnen von Bewegtbildinformation ist ein adaptives Intervollbild-Bildcodierverfahren bekannt. Bei diesem Codierverfahren werden Intravollbild-Codierung und Intervollbild-Codierung adaptiv umgeschaltet und genutzt. Normalerweise wird in einen Codierer, wenn er sich in einem Intervollbild-Codiermodus befindet, ein Differenzsignal zwischen einem Eingangssignal und einem Vorhersagesignal eingegeben. Jedoch wird im Fall eines Szenenwechsels usw. ein Eingangssignal unmittelbar in einen Codierer eingegeben, wenn er sich in einem Intravollbild-Codiermodus befindet.
  • Fig. 8 ist ein Blockdiagramm eines üblichen adaptiven Intervollbild-Bildcodierers.
  • An einem Bildeingangsanschluss 61 wird ein Intravollbild-Block X als Codierobjekt eingegeben. Die Differenz zwischen dem Intravollbild-Block 3 und einem Vorhersageblock P wird durch einen Subtrahierer 62 berechnet. Der Vorhersageblock P wird dadurch berechnet, dass gegenüber einem in einem Vorhersageabschnitt 71 registrierten Bezugsbild eine Bewegungsvorhersage ausgeführt wird. So wird durch ein Ausgangssignal des Subtrahierers 62 ein Intervollbild-Differenzblock E erhalten.
  • Ein Steuerabschnitt 64 vergleicht den Intravollbild-Block X und den Intervollbild-Differenzblock E miteinander und beurteilt, ob der Intravollbild- Block X oder der Intervollbild-Differenzblock E codiert wird. Dann steuert der Steuerabschnitt 64 den Betrieb eines Schalters 63 entsprechend der Entscheidung. In der folgenden Beschreibung wird ein Intravollbild-Codierverfahren aufgerufen, wenn der Intravollbild-Block X ausgewählt wird. Ein Intervollbild-Codierverfahren wird aufgerufen, wenn der Intervollbild-Differenzblock E ausgewählt wird.
  • Ein vom Schalter 63 ausgewählter Block D wird in einen Codierabschnitt 65 eingegeben und durch diesen so codiert, dass von ihm Codedaten Y ausgegeben werden.
  • Codiermodusinformation C betrifft die Auswahl des Intravollbild-Blocks X und des Intervollbild-Blocks E. Die Codiermodusinformation C und ein Bewegungsvektor MV bei der Bewegungsvorhersage werden durch einen Multiplexer 66 einem Multiplexvorgang mit den Codedaten Y unterzogen. Das Codierausgangssignal Z des Multiplexers 66 an seinem Multiplex-Ausgangsanschluss 67 wird übertragen oder aufgezeichnet.
  • Gleichzeitig wird auf der Codierseite ein Decodiervorgang unter Verwendung der Codedaten Y und der Codiermodusinformation C ausgeführt.
  • Die Codedaten Y werden in einen Decodierabschnitt 68 eingegeben und durch diesen decodiert, so dass ein Block D' erhalten wird. Der Block D' und der Vorhersageblock P werden in zwei Eingangsanschlüsse eines Addierers 69 eingegeben, damit von diesem die Summe dieser Blöcke berechnet wird. Als Ausgangssignal des Addierers 69 wird ein Block E' erhalten, der das Ergebnis dieser Additionsberechnung ist.
  • Jeder der Blöcke E' und D' wird durch einen Schalter 70 ausgewählt, der durch die Codiermodusinformation C gesteuert wird. Dabei wird der Block D' ausgewählt, wenn der Intravollbild-Block X im Intravollbild-Codiermodus in den Codierabschnitt 65 eingegeben wird. Der Block E' wird ausgewählt, wenn der Intravollbild-Differenzblock E im Intravollbild-Codiermodus in den Codierabschnitt 65 eingegeben wird. Der ausgewählte Block wird in einem Decodierblock X' registriert und in den Vorhersageabschnitt 61 eingegeben.
  • Ein vollständiges Decodierungsbild ist dann erhalten, wenn die Verarbeitungsvorgänge für ein Bild (ein Vollbild) beendet sind. Dieses Decodierungsbild wird als Bezugsbild registriert, um einen Vorhersageblock hinsichtlich eines folgenden Codierobjekts zu erzeugen, und er wird im Vorhersageabschnitt 61 gespeichert.
  • Im Allgemeinen wird jedes der Bilder, das zeitlich vor und nach einem Codierungsbild liegt, als Bezugsbild verwendet. Wenn Bewegungsvorhersage verwendet wird, ist der erzeugte Codierumfang im Intervollbild-Codiermodus kleiner als im Intravollbild-Codiermodus, wenn sich ein Objekt parallel usw. verschiebt, so dass ein einem Codierbildblock entsprechender Teil innerhalb des Bezugsbilds liegt. Demgemäß ist es bevorzugt, in diesem Fall den Intervollbild-Codiermodus auszuwählen. Im Gegensatz hierzu existiert dann, wenn ausgehend von einem Bildschirmende oder einem Ort hinter etwas ein Objekt erscheint und Szenenwechsel vorliegen usw., kein dem Intravollbild-Block entsprechender Teil im Bezugsbild. In diesem Fall besteht die Tendenz, dass der erzeugte Codierumfang im Intravollbild-Codiermodus kleiner als im Intervollbild-Codiermodus ist. Demgemäß ist es zu bevorzugen, in diesem Fall den Intravollbild-Codiermodus auszuwählen.
  • Der Intravollbild-Codiermodus und der Intervollbild-Codiermodus werden im Steuerabschnitt 64 in idealer Weise entsprechend großen und kleinen Codierumfängen umgeschaltet, wie sie bei der Codierung von Bildern erzeugt werden, wenn die durch die Codiervorgänge verursachten Verzerrungsgrade dieser Bilder gleich sind. D. h., dass in diesem Fall der kleinere Umfang unter den erzeugten Codierumfängen ausgewählt wird. Im Gegensatz hierzu werden, wenn die durch die Codiervorgänge erzeugten Codierumfänge ungefähr einander gleich sind, der Intravollbild-Codiermodus und der Intervollbild-Codiermodus im Steuerabschnitt 64 in idealer Weise entsprechend großen und kleinen durch die Codiervorgänge hervorgerufene Verzerrungen umgeschaltet. D. h., dass in diesem Fall die kleinere der durch die Codiervorgänge erzeugten Verzerrungen ausgewählt wird. Jedoch kann weder beim Intravollbild-Codiermodus noch beim Intervollbild-Codiermodus der erzeugte Codierumfang vorab bekannt sein, bevor nicht die Codiervorgänge ausgeführt sind. Ferner können die durch die Codiervorgänge hervorgerufenen Verzerrungen nicht genau bekannt sein, bevor nicht die Codiervorgänge ausgeführt sind.
  • Daher wird z. B. eine mittlere quadratische Abweichung für den Intravollbild-Block und den Vorhersageblock mit der Varianz des Intravollbild-Blocks gemäß der Literaturstelle "A predicting system between MPEG2 frames", beschrieben in Television Society Technical Report, Vol. 16, No. 61, S. 37- 42, verglichen. Diese mittlere quadratische Abweichung zwischen dem Intravollbild-Block und dem Vorhersageblock sowie diese Varianz des Intravollbild-Blocks werden in der folgenden Beschreibung jeweils einfach als mittlere quadratische Abweichung bzw. als Varianz bezeichnet. Wenn die Varianz < 64 erzeugt wird, wird der Zwischenvollbild-Codiermodus verwendet. Im Gegensatz hierzu wird, wenn die Varianz > 64 erzeugt wird, ein Modus ausgewählt, der das Ergebnis min (mittlerer quadratischer Fehler, Varianz) liefert. In diesem Fall bedeutet min (x, y), dass der kleinere der Werte x und y verwendet wird.
  • Hierbei sollte ursprünglich die Varianz des Intravollbild-Differenzblocks anstelle der mittleren quadratischen Abweichung mit der Varianz des Intravollbild-Blocks verglichen werden. Jedoch kann angenommen werden, dass der mittlere Wert der Bildpunktwerte im Intravollbild-Differenzblock den Wert null hat. Ferner wird die Varianz des Intervollbild-Differenzblocks dadurch erhalten, dass der Mittelwert der Bildpunktwerte im Intervollbild-Differenzblock von der mittleren quadratischen Abweichung abgezogen wird. Demgemäß wird gemäß der obigen Literaturstelle die mittlere quadratische Abweichung verwendet. Der Mittelwert der Bildpunktwerte im Intervollbild-Differenzblock kann als null angenommen werden, da es bekannt ist, dass die Verteilung der Differenzwerte zwischen Bildpunkten mit hoher Korrelation hinsichtlich eines Bilds im Allgemeinen einer Laplaceverteilung mit dem Mittelwert null entspricht.
  • Fig. 9 ist ein Blockdiagramm eines Berechnungsabschnitts zum Berechnen der Varianz des Intravollbild-Blocks.
  • Bildpunktwertdaten im Intravollbild-Block werden in einen Cachespeicher 75 eingespeichert und aus diesem entsprechend einer durch eine Steuerung 87 erzeugten Adresse ausgelesen. Wenn ein Bildpunktwert im Intravollbild-Block auf x(n) gesetzt ist, ist die Varianz des Intravollbild-Blocks durch die folgende Formel (1) repräsentiert:
  • In dieser Formel kennzeichnet n die Adresse des Cachespeichers 75 und N kennzeichnet die Anzahl von Bildpunkten im Intravollbild-Block. "&supmin;&supmin;" zeigt den bei einer Mittelwertberechnung innerhalb des Intravollbild-Blocks berechneten Mittelwert.
  • In Fig. 9 berechnet ein von einer gestrichelten Linie umgebener Bauabschnitt 76
  • als mittleren quadratischen Wert von Bildpunktwerten im Intravollbild- Block.
  • Der Ausgangswert der Bildpunktwertdaten aus dem Cachespeicher 75 wird in zwei Eingangsanschlüsse eines Multiplizierers 77 eingegeben. Demgemäß wird vom Multiplizierer 77 der quadratische Wert der Bildpunktwertdaten an einen Eingang eines Addierers 78 ausgegeben. Das Ausgangssignal des Addieers 78 wird an einem Eingangsanschluss eines Registers 79 eingegeben. Das Ausgangssignal des Registers 79 wird an einem anderen Eingangsanschluss des Addierers 78 eingegeben.
  • Der Addierer 78 und das Register 79 bilden einen akkumulierenden Additionsabschnitt. Das Ausgangssignal des Addierers 79 wird auch in eine Latchstufe 80 eingegeben. Die Latchstufe 80 wird dazu verwendet, berechnete Ergebnisse zu registrieren, und die Funktion dieser Latchstufe 80 wird so gesteuert, dass nur Ergebnisse der akkumulierenden Addition in einer Blockeinheit an einen anschließenden Schaltungsabschnitt übertragen werden. Wenn diese Ergebnisse registriert sind, wird der Inhalt des Registers 79 auf Grundlage eines Steuerungsausgangssignals der Steuerung 87 rückgesetzt, um einen akkumulierten Additionswert im nächsten Block zu berechnen. Wenn die Anzahl N von Bildpunkten als N = 2a als Potenz von 2 geschrieben wird, kann ein Rechenvorgang, bei dem durch diese Zahl N geteilt wird, dadurch erfolgen, dass nur ein Bitschiebevorgang ausgeführt wird, bei dem der Dividend um a Bits nach rechts verschoben wird. Demgemäß ist in Fig. 9 ein Dividierer weggelassen. In einem anderen Fall als diesem ist es erforderlich, nach der Latchstufe 80 einen Dividierer anzuordnen. Das Ausgangssignal der Latchstufe 80 entspricht dem mittleren quadratischen Wert der Bildpunktwerte im Intravollbild-Block.
  • In Fig. 9 berechnet ein von einer gestrichelten Linie umgebener Bauab schnitt 82 den folgenden Wert
  • als quadratischen Wert des Mittelwerts der Bildpunktwerte im Intravollbild- Block.
  • Der Ausgangswert der Bildpunktwertdaten aus dem Cachespeicher 75 wird an einem Eingangsanschluss des Addierers 83 eingegeben. Das Ausgangssignal des Addierers 83 wird an einem Eingangsanschluss eines Registers 84 eingegeben. Das Ausgangssignal des Registers 84 wird an einem anderen Eingangsanschluss des Addierers 83 eingegeben. Der Addierer 83 und das Register 84 bilden einen akkumulierenden Additionsabschnitt. Das Ausgangssignal des Registers 84 wird auch in eine Latchstufe 85 eingegeben. Die Latchstufe 85 wird dazu verwendet, Rechenergebnisse zu registrieren, und die Funktion dieser Latchstufe 85 wird so gesteuert, dass nur die Ergebnisse der akkumulierenden Addition in einer Blockeinheit an einen folgenden Schaltungsabschnitt übertragen werden. Wenn diese Ergebnisse registriert sind, wird der Inhalt des Registers 84 auf Grundlage eines Steuerungsausgangssignals der Steuerung 87 rückgesetzt, um einen akkumulierten Additionswert im nächsten Block zu berechnen. Wie oben angegeben, kann ein Rechenvorgang, bei dem durch die Anzahl N von Bildpunkten geteilt wird, dadurch erfolgen, das nur ein Bitschiebevorgang ausgeführt wird, bei dem der Dividend um a Bits nach rechts verschoben wird. Demgemäß ist in Fig. 9 eine dividierende Baueinheit weggelassen. Außer in diesem Fall ist es erforderlich, nach der Latchstufe 87 einen Dividierer anzuordnen.
  • Das Ausgangssignal der Latchstufe 87 wird in die zwei Eingangsanschlüsse eines Multiplizierers 87 eingegeben. Demgemäß gibt der Multiplizierer 87 den Quadratwert des Mittelwerts der Bildpunktwerte im Intravollbild-Block aus.
  • Schließlich wird das Ausgangssignal der Latchstufe 80 an einem Minuend- Eingangsanschluss eines Subtrahierers 81 eingegeben. Das Ausgangssignal des Multiplizierers 86 wird an einem Subtrahend-Eingangsanschluss des Subtrahierers 81 eingegeben. Der Subtrahierer 81 gibt den Varianzwert für den Intravollbild-Block aus.
  • Gemäß der folgenden Beschreibung ist ein Bildpunktwert für den Intravollbild-Block auf x(n) gesetzt, während ein Bildpunktwert des Vorhersageblocks auf y(n) gesetzt ist, wenn n auf eine Adresse des Cachespeichers gesetzt ist. In diesem Fall ist die mittlere quadratische Abweichung des Intervollbild-Differenzblocks durch die folgende Formel (2) repräsentiert:
  • Diese mittlere quadratische Abweichung entspricht einem Fall, in dem x(n) auf einen Bildpunktwert des Intervollbild-Differenzblocks in der Formel (1) gesetzt ist, um die Varianz zu berechnen, und es ist die folgende Gleichheitsbedingung erfüllt:
  • = 0
  • Demgemäß wird aus dem Cachespeicher x(n) - y(n) als Differenz zwischen dem Bildpunktwert x(n) des Intravollbild-Blocks und dem Bildpunktwert y(n) des Vorhersageblocks ausgelesen. Die ausgelesene Differenz x(n) - y(n) wird in eine Berechnungsschaltung für den mittleren quadratischen Wert eingegeben, die aus einem Multiplizierer, einem Addierer, einem Register und einer Latchstufe besteht, die denen im Bauabschnitt 76 entsprechen, der in Fig. 9 durch eine gestrichelte Linie dargestellt ist, damit diese mittlere quadratische Abweichung berechnet werden kann.
  • Fig. 10 ist ein Blockdiagramm eines Codiermodus-Entscheidungsabschnitts für den Fall, dass die obige mittlere quadratische Abweichung verwendet wird. Dieser Codiermodus-Entscheidungsabschnitt ist im Steuerungsabschnitt 64 in Fig. 8 untergebracht.
  • Ein Berechnungsabschnitt 76 für den mittleren quadratischen Wert sowie ein Abschnitt 82 zum Berechnen des Quadrats des Mittelwerts, wie in Fig. 10 dargestellt, entsprechen jeweils den Bauabschnitten 76 bzw. 82 in Fig. 9. Die mittlere quadratische Abweichung und die Varianz, wie sie hinsichtlich des Intervollbild-Differenzblocks E bzw. des Intravollbild-Blocks X berechnet werden, werden in einen Komparator 89 eingegeben. Codiermodusinformation C wird entsprechend großen und kleinen Beziehungen hinsichtlich der mittleren quadratischen Abweichung und der Varianz bestimmt und ausgegeben.
  • Wie es aus Fig. 9 erkennbar ist, sind eine Produktsummenberechnung und eine Summenproduktberechnung erforderlich, um die Varianz zu berechnen. Es ist erforderlich, mindestens zwei Multiplizierer und drei Addierer-Subtrahierer anzubringen. Insbesondere bildet jeder der Multiplizierer einen Faktor, der stark zu einer Vergrößerung des Hardwareumfangs des Bewegtbildcodierers beiträgt. Die Produktsummenberechnung muss auch die mittlere quadratische Abweichung berechnen. In diesem Fall ist es erforderlich, mindestens einen Multiplizierer und einen Addierer anzubringen. Demgemäß sind drei Produktsummen-Arithmetikeinheiten und drei Summenprodukt-Arithmetikeinheiten erforderlich, um den Intervollbild-Codiermodus und den Intravollbild-Codiermodus zu entscheiden, so dass der Schaltungsumfang des Bewegtbildcodierers sehr erhöht ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Daher ist es eine Aufgabe der Erfindung, einen Bewegtbildcodierer zum adaptiven Umschalten von Codiervorgängen für einen Intravollbild-Block und einen Intervollbild-Differenzblock mit kleinem Hardwareumfang zu schaffen.
  • Die obige Aufgabe der Erfindung kann durch folgendes gelöst werden: einen Bewegtbildcodierer, in dem ein Bild in Bildblöcke unterteilt wird und Codiervorgänge dadurch umgeschaltet werden, dass adaptiv pro Bildblock ein Intervollbild-Codiermodus oder ein Intravollbild-Codiermodus ausgewählt wird; wobei
  • - der Intervollbild-Codiermodus eine Bewegungsvorhersage gegenüber einem späteren Vollbild, einem früheren Vollbild oder sowohl einem späteren als auch einem früheren Vollbild in Bezug auf jeden der Bildblöcke verwendet;
  • - im Intravollbild-Codiermodus keine Bewegungsvorhersage hinsichtlich jedes der Bildblöcke erfolgt; und
  • - ein bei der Bewegungsvorhersage verwendeter Bewegungsvektor auf einen Vektor zum Minimieren des Umfangs der Vorhersageabweichung gesetzt wird, die dadurch erhalten wird, dass eine vorbestimmte Abweichungsberechnung hinsichtlich eines Intervollbild-Differenzsignals ausgeführt wird;
  • gekennzeichnet durch:
  • - eine Einrichtung zum Berechnen des Mittelwerts eines Codierobjektblocks;
  • - eine Einrichtung zum Erhalten einer Wechselstromkomponente durch Subtrahieren des Mittelwerts von jedem der Bildpunktwerte des Codierobjektblocks;
  • - eine Einrichtung zum Erhalten eines Intravollbild-Aktivitätsumfangs durch Ausführen einer Berechnung derselben Art wie der Abweichungsberechnung bei der Bewegungsvorhersage hinsichtlich der Wechselstromkomponente; und
  • - eine Einrichtung zum Vergleichen des Umfangs der Vorhersageabweichung und des Iritravollbild-Aktivitätsumfangs miteinander;
  • - wobei der Intervollbild-Codiermodus oder der Intravollbild-Codiermodus abhängig von Beziehungen zwischen dem Umfang der Vorhersageabweichung und dem Intravollbild-Aktivitätsumfang festgelegt wird.
  • Bei der Erfindung wird als erstes der Mittelwert des Codierobjektblocks berechnet. Als nächstes wird eine Wechselstromkomponente des Codierobjektblocks dadurch berechnet, dass der Mittelwert von jedem der Bildpunktwerte im Codierobjektblock abgezogen wird. Dann wird ein Intravollbild-Aktivitätsumfang hinsichtlich der Wechselstromkomponente dadurch erhalten, dass eine Berechnung derselben Art wie die vorhersagende Abweichungsberechnung bei der Bewegungsvorhersage ausgeführt wird. Schließlich wird der bei der Bewegungsvorhersage berechnete vorhergesagte Abweichungsumfang mit dem aus dem Intravollbild-Block berechneten Intravollbild-Aktivitätsumfang verglichen, damit der Intervollbild-Codiermodus oder der Intravollbild-Codiermodus bestimmt wird. Der Intravollbild-Codiermodus wird eingestellt, wenn vorbestimmte Funktionen f(x) und g(y) der folgenden Bedingung (3) genügen:
  • g(vorhergesagter Abweichungsumfang) > f(Intravollbild-Aktivitätsumfang) (3)
  • Im Gegensatz hierzu wird der Intervollbild-Codiermodus eingestellt, wenn diese Bedingung nicht erfüllt ist. Bei dieser Bedingung (3) können anstelle der Ungleichheit > die Gleichheit und Ungleichheit &ge; verwendet werden.
  • Bei diesem Bewegtbildcodierer werden Codiervorgänge für einen Intravollbild-Block und einen Intervollbild-Differenzblock adaptiv bei kleinem Hardwareumfang umgeschaltet.
  • Weitere Aufgaben und Vorteile der Erfindung werden aus der folgenden Beschreibung der bevorzugten Ausführungsbeispiele derselben, wie sie in den beigefügten Zeichnungen veranschaulicht sind, ersichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockdiagramm eines bewegten Bildcodierers gemäß einem Ausführungsbeispiel der Erfindung;
  • Fig. 2 ist ein Blockdiagramm, das ein Beispiel eines Modusentscheidungsabschnitts zeigt;
  • Fig. 3 ist ein Blockdiagramm, das einen Abschnitt zum Berechnen einer Absolutwertsumme von Differenzen als Differenzsignal zwischen einem Bildpunkt Wert in einem Codierblock und einem Mittelwert zeigt;
  • Fig. 4 ist eine Ansicht, die ein Ausführungsbeispiel eines Steuerungssignals hinsichtlich eines Cachespeichers und zweier Latchstufen zeigt;
  • Fig. 5 ist ein Blockdiagramm, das ein Beispiel eines Abschnitts zum Berechnen einer Quadratsumme von Differenzen als Differenzsignal zwischen einem Bildpunktwert des Codierblocks und einem Mittelwert zeigt;
  • Fig. 6 ist eine Ansicht, die ein Beispiel zur Modusentscheidung zeigt;
  • Fig. 7 ist eine Ansicht, die ein anderes Beispiel zur Modusentscheidung zeigt;
  • Fig. 8 ist ein Blockdiagramm, das einen üblichen, adaptiven Intervollbild- Bildcodierer zeigt;
  • Fig. 9 ist ein Blockdiagramm, das einen Abschnitt zum Berechnen der Varianz eines Intravollbild-Blocks in Fig. 8 zeigt;
  • Fig. 10 ist ein Blockdiagramm, das einen Codiermodus-Entscheidungsabschnitt im üblichen, adaptiven, in Fig. 8 dargestellten Intervollbild-Bildcodierer zeigt; und
  • Fig. 11 ist ein Blockdiagramm, das einen Erzeugungsabschnitt für eine vorhergesagte Abweichung zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Als nächstes werden die bevorzugten Ausführungsbeispiele eines Bewegtbildcodierers bei der Erfindung im Einzelnen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Fig. 1 ist ein Blockdiagramm eines Bewegtbildcodierers gemäß einem Ausführungsbeispiel der Erfindung.
  • Zunächst ist ein Farbbild durch ein Helligkeitssignal Y sowie Farbdifferenzsignale CR und CB repräsentiert. Ein Bildsignal wird in einem nicht dargestellten Vorverarbeitungsabschnitt in ein Zwischenformat gemäß CIF oder QCIF umgesetzt, und hinsichtlich dieses Bildsignals wird auch ein Störsignale beseitigender Filterungsvorgang ausgeführt.
  • Z. B. wird ein Codierobjektblock wie ein Intravollbild-Block X in 8 · 8 Bildpunkte unterteilt. Dieser Intravollbild-Block X wird sequentiell mit vorbestimmter Bildpunkt-Reihenfolge in einen Bildeingangsanschluss 1 eingegeben. Die Differenz zwischen dem Intravollbild-Block X und einem Vorhersageblock P wird durch einen Subtrahierer 2 berechnet. Der Vorhersageblock P wird dadurch berechnet, dass ausgehend von einem in einem Vorhersageabschnitt 11 registrierten Bezugsbild eine Bewegungsvorhersage berechnet wird. Der Subtrahierer 2 gibt einen Intervollbild-Differenzblock E mit dieser vorbestimmten Bildpunkt-Reihenfolge aus.
  • Der Intravollbild-Block X und eine vorhergesagte Abweichung PE vom Vorhersageabschnitt 11 werden in einen Steuerungsabschnitt 4 eingegeben. Dieser Steuerungsabschnitt 4 vergleicht einen vorhergesagten Abweichungsumfang auf Grundlage der vorhergesagten Abweichung PE mit einem Intravollbild-Aktivitätsumfang, der später beschrieben wird, um zu entscheiden, ob der Intravollbild-Block X oder der Intervollbild-Differenzblock E codiert wird. D. h., dass der Steuerungsabschnitt 4 entscheidet, ob ein Intravollbild- Codiermodus oder ein Intervollbild-Codiermodus ausgewählt wird. Die Funktion eines Schalters 3 wird entsprechend dieser Entscheidung gesteuert.
  • Ein vom Schalter 3 ausgewählter Block D wird in einen Codierabschnitt 5 eingegeben und durch diesen codiert. Der Codierabschnitt 5 gibt Codedaten Y aus. Gemäß einem Beispiel führt der Codierabschnitt 5 den Rechenvorgang einer diskreten Cosinustransformation (DCT) hinsichtlich dieses eingegebenen Blocks aus. Als nächstes wird ein DCT-Koeffizient quantisiert. Als nächstes kann eine Entropiecodierung ausgeführt werden.
  • Die Codiermodusinformation C betrifft die Auswahl des Intravollbild-Blocks X oder des Intervollbild-Blocks E. Die Codiermodusinformation C und ein Bewegungsvektor MV bei der Bewegungsvorhersage werden durch einen Multiplexer 6 einem Multiplexvorgang mit den Codedaten Y unterzogen. Das Codierausgangssignal Z des Multiplexers 6 an einem Multiplexer-Ausgangsanschluss 7 wird an die Eingangsseite einer anderen Schaltung übertragen oder auf einem Speichermedium aufgezeichnet.
  • Gleichzeitig wird auf einer Codierungsseite ein Decodiervorgang unter Verwendung der Codedaten Y und der Codiermodusinformation C ausgeführt.
  • Die Codierdaten Y werden in einen Decodierabschnitt 8 eingegeben und durch diesen decodiert, so dass ein Block D' erhalten wird. Ferner werden der Block D' und der Vorhersageblock P in zwei Eingangsanschlüsse eines Addierers 9 eingegeben, so dass durch diesen Addierer 9 die Summe dieser Blöcke berechnet wird. Ein Block E', der sich als Ergebnis dieser Additionsberechnung ergibt, wird als Ausgangssignal des Addierers 9 erhalten.
  • Jeder der Blöcke E' und D' wird durch einen Schalter 10 ausgewählt, der durch die Codiermodusinformation C gesteuert wird. Dabei wird der Block D' ausgewählt, wenn der Intravollbild-Block X im Intravollbild-Codiermodus in den Codierabschnitt 5 eingegeben wird. Der Block E' wird ausgewählt, wenn der Intervollbild-Differenzblock E im Intervollbild-Codiermodus in den Codierabschnitt 5 eingegeben wird. Wenn der ausgewählte Block als Decodierblock X' registriert ist, wird dieser Block X' in den Vorhersageabschnitt 11 eingegeben.
  • Ein vollständiges Decodierungsbild wird erhalten, wenn die Verarbeitungen für ein Bild (ein Vollbild) beendet sind. Dieses Decodierungsbild wird in einem Bezugsbild registriert, um einen Vorhersageblock hinsichtlich eines folgenden Codierobjekts zu bilden, und es wird im Vorhersageabschnitt 11 gespeichert.
  • Fig. 11 veranschaulicht den detaillierten Aufbau eines Erzeugungsabschnitts für die vorhergesagte Abweichung innerhalb des Vorhersageabschnitts 11, wie er in Fig. 1 als Bauabschnitt dargestellt ist.
  • Gemäß Fig. 11 werden ein Codierungsbildblock und ein Bezugsbild in Cachespeicher 93 und 94 eingespeichert. Der Codierungsbildblock wird durch einen Steuerungsvorgang durch eine Steuerung 100 aus dem Cachespeicher 93 gelesen, damit dieser Codierungsbildblock in einen Minuend-Eingangsanschluss eines Subtrahierers 95 eingegeben wird. Ein aus dem Bezugsbild berechneter Vorhersagebildblock wird durch einen Steuerungsvorgang durch die Steuerung 100 aus dem Cachespeicher 94 gelesen, damit der Vorhersagebildblock in einen Subtrahend-Eingangsanschluss des Subtrahierers 95 eingegeben wird. Das Ausgangssignal des Subtrahierers 95 wird in einen Absolutwert-Berechnungsabschnitt 96 eingegeben. Das Ausgangssignal des Absolutwert-Berechnungsabschnitts 96 wird in einen Eingangsanschluss eines Addierers 97 eingegeben. Das Ausgangssignal des Addierers 97 wird in einen Eingangsanschluss eines Registers 98 eingegeben. Das Ausgangssignal des Registers 98 wird in einen anderen Eingangsanschluss des Addierers 97 eingegeben. Der Addierer 97 und das Register 98 bilden einen akkumulierenden Additionsabschnitt. Das Ausgangssignal des Registers 98 wird auch in eine Latchstufe 99 eingegeben. Die Latchstufe 99 wird dazu verwendet, Rechenergebnisse zu speichern, und der Betrieb dieser Latchstufe 99 wird so gesteuert, dass nur Ergebnisse der akkumulierenden Addition in einer Blockeinheit an einen anschließenden Schaltungsabschnitt übertragen werden. Wenn diese Ergebnisse registriert sind, wird der Inhalt des Registers 98 auf Grundlage eines Steuerungsausgangssignals der Steuerung 100 rückgesetzt, um einen akkumulierten Additionswert im nächsten Block zu berechnen. Die Latchstufe 99 gibt eine vorhergesagte Abweichung PE aus.
  • Die Unterschiede zwischen dem üblichen, in Fig. 8 dargestellten Bewegtbildcodierer und dem in Fig. 1 dargestellten erfindungsgemäßen Bewegtbildcodierer sind Eingangssignale hinsichtlich der Steuerungsabschnitte 4 und 64. Beim in Fig. 8 dargestellten üblichen Bewegtbildcodierer werden der Intravollbild-Codierblock X und der Intervollbild-Differenzblock E in den Steuerungsabschnitt 64 eingegeben. Im Gegensatz hierzu werden beim erfindungsgemäßen, in Fig. 1 dargestellten Bewegtbildcodierer der Intravollbild-Codierblock X und die vorhergesagte Abweichung PE vom Vorhersageabschnitt 11 in den Steuerungsabschnitt 4 eingegeben.
  • Beim in Fig. 8 dargestellten üblichen Bewegtbildcodierer berechnet der Steuerungsabschnitt 64 die mittlere quadratische Abweichung und die Varianz, wie sie bei der Entscheidung hinsichtlich der Codiermodi verwendet werden. Im Gegensatz hierzu werden beim erfindungsgemäßen Bewegtbildcodierer bei der Modusentscheidung der Umfang der vorhergesagten Abweichung und der Intravollbild-Aktivitätsumfang verwendet. Beim Ausführungsbeispiel der Erfindung wird die im Vorhersageabschnitt 11 berechnete vorhergesagte Abweichung PE unverändert als Umfang der vorhergesagten Abweichung verwendet. Demgemäß wird beim erfindungsgemäßen Bewegtbildcodierer nur der Intravollbild-Aktivitätsumfang im Steuerungsabschnitt 4 berechnet, so dass der Schaltungsumfang eines im Steuerungsabschnitt 4 angeordneten Modusentscheidungsabschnitts stark verringert sein kann.
  • Fig. 2 ist ein Blockdiagramm, das ein Beispiel des Modusentscheidungsabschnitts zeigt, wie er im Bewegtbildcodierer gemäß dem Ausführungsbeispiel der Erfindung verwendet ist.
  • Ein Bildpunktwert für den Intravollbild-Codierblock X wird ein Mal in einen Cachespeicher 21 eingespeichert und aus diesem entsprechend einer durch eine Steuerung 26 erzeugten Adresse gelesen.
  • Ein Mittelwert-Berechnungsabschnitt 22 berechnet mittels eines Steuerungsvorgangs durch die Steuerung 26 pro Intravollbild-Codierblock den Mittelwert der gelesenen Bildpunktwertdaten.
  • Das Ausgangssignal des Mittelwert-Berechnungsabschnitts 22 wird in einen Subtrahend-Eingangsanschluss eines Subtrahierers 23 eingegeben. Der bei der Berechnung des Mittelwerts verwendete Intravollbild-Codierblock wird erneut sequentiell gelesen und in einen Minuend-Eingangsanschluss des Subtrahierers 23 mit vorbestimmter Reihenfolge eingegeben. Im Subtrahierer 23 wird der durch den Mittelwert-Berechnungsabschnitt 22 berechnete Mittelwert vom Bildpunktwert des Intravollbild-Codierblocks abgezogen, so dass eine Wechselstromkomponente des Intravollbild-Codierblocks erhalten wird. D. h., dass jeder Bildpunktdatenwert gelesen wird, um den Mittelwert zu berechnen, und er erneut gelesen wird, um die Wechselstromkomponente zu entnehmen. Daher wird auf den Bildpunktdatenwert eines spezifizierten Intravollbild- Codierblocks innerhalb des Cachespeichers 21 doppelt zugegriffen.
  • Die obige Wechselstromkomponente des Intravollbild-Codierblocks als Ausgangssignal des Subtrahierers 23 wird als Differenzsignal zwischen dem Bildpunktwert des Intravollbild-Codierblocks und dem Mittelwert geliefert. Dieses Differenzsignal wird dann in einen Abweichungs-Berechnungsabschnitt 24 eingegeben.
  • Der Abweichungs-Berechnungsabschnitt 24 führt an der Wechselstromkomponente des Intravollbild-Codierblocks eine Abweichungsberechnung aus, die zur Berechnung einer Abweichung bei der Bewegungsvorhersage verwendet wird. D. h., dass die Summe der Absolutwerte der Wechselstromkomponenten des Intravollbild-Codierblocks als ein Beispiel berechnet wird, so dass ein Intravollbild-Aktivitätsumfang erhalten wird.
  • Der Abweichungsumfang bei der Vorhersage als vorhergesagte Abweichung PE vom Vorhersageabschnitt 11 sowie der innerhalb des Modusentscheidungsabschnitts berechnete Intravollbild-Aktivitätsumfang werden in einen Komparator 25 im Modusentscheidungsabschnitt eingegeben. Im Komparator 25 wird Codiermodusinformation C aus großen und kleinen Beziehungen zwischen dem Umfang der vorhergesagten Abweichung und dem Intravollbild-Aktivitätsumfang bestimmt.
  • Ein Beispiel für den Mittelwert-Berechnungsabschnitt 22 und den Abweichungs-Berechnungsabschnitt 24 in Fig. 2 ist in Fig. 3 im Einzelnen dargestellt.
  • In Fig. 3 entsprechen Bauabschnitte 21 bis 24 sowie 26 jeweils den Bauabschnitten 21 bis 24 bzw. 26 in Fig. 2. Ein Differenzsignal als Differenz zwischen einem Bildpunktwert und einem Mittelwert entspricht einer Wechselstromkomponente. Die Summe der Absolutwerte der Differenzen als Differenzsignale ist durch die folgende Formel (e) als Absolutwertsumme repräsentiert, wenn ein Blockelement als x(n) gesetzt ist:
  • In dieser Formel (4) ist n auf diejenige Adresse im Cachespeicher 21 gesetzt, in der der Bildpunktdatenwert des Intravollbild-Blocks gespeichert ist.
  • Gemäß Fig. 3 werden die Bildpunktwertdaten des Intravollbild-Blocks in den Cachespeicher 21 eingespeichert und aus diesem entsprechend einer durch die Steuerung 26 erzeugten Adresse ausgelesen. Die gelesenen Bildpunktdatenwerte werden in einen Eingangsanschluss eines Addierers 31 eingegeben. Das Ausgangssignal des Addierers 31 wird in einen Eingangsanschluss eines Registers 32 eingegeben. Das Ausgangssignal des Registers 32 wird in einen anderen Eingangsanschluss des Addierers 31 eingegeben. Der Addierer 31 und das Register 32 bilden einen akkumulierenden Additionsabschnitt, und sie berechnen den folgenden Mittelwert der Bildpunktwertdaten des Intravollbild-Codierblocks:
  • Berechnete Ergebnisse werden in einer Latchstufe 33 in Blockeinheit registriert. Wenn die berechneten Ergebnisse in der Latchstufe 33 registriert sind, wird der Inhalt des Registers 32 durch ein Steuerungssignal der Steuerung 26 rückgesetzt, um einen akkumulierten Additionswert im nächsten Block zu berechnen. Wenn die Anzahl N von Bildpunkten als N = 2a als Potenz von 2 geschrieben wird, kann eine Berechnung, bei der durch N geteilt wird, wie sie zur Berechnung des Mittelwerts erforderlich ist, dadurch erfolgen, dass nur ein Bitschiebevorgang ausgeführt wird, bei dem der Dividend um a Bits nach rechts verschoben wird. Demgemäß ist in Fig. 3 eine teilende Einheit weggelassen. In anderen Fällen außer diesem ist es erforderlich, nach der Latchstufe einen Dividierer anzuordnen.
  • Eine Wechselstromkomponente des Intravollbild-Codierblocks wird als Ausgangssignal des Subtrahierers 23 in einen Eingangsanschluss eines Absolutwert-Berechnungsabschnitts 34 eingegeben. Dieser Absolutwert-Berechnungsabschnitt 34 berechnet den Absolutwert der eingegebenen Wechselstromkomponente als Datenwert, und er gibt diesen berechneten Absolutwert aus. D. h., dass in diesem Fall der Absolutwert-Berechnungsabschnitt 34 den folgenden Wert berechnet:
  • x(n) -
  • Das Ausgangssignal des Absolutwert-Berechnungsabschnitts 34 wird in einen Eingangsanschluss eines Addierers 35 eingegeben. Das Ausgangssignal des Addierers 35 wird in einen Eingangsanschluss eines Registers 36 eingegeben. Das Ausgangssignal des Registers 36 wird in einen anderen Eingangsanschluss des Addierers 35 eingegeben. Der Addierer 35 und das Register 36 bilden einen akkumulierenden Additionsabschnitt.
  • Das Ausgangssignal des Registers 36 wird auch in eine Latchstufe 37 eingegeben. Die Funktion der Latchstufe 37 wird durch ein Ausgangssignal der Steuerung 36 gesteuert, um nur Ergebnisse der akkumulierenden Addition in einer Blockeinheit aufrechtzuerhalten. Wenn diese Ergebnisse aufrechterhalten sind, wird der Inhalt des Registers 36 rückgesetzt, um einen akkumulierten Additionswert im nächsten Block zu berechnen. Wenn eine negative Zahl durch ein Zweierkomplement repräsentiert wird, kann eine Vorzeichenumkehr durch eine Bitumkehr und einen Inkrementwert repräsentiert werden, wobei dieser Inkrementwert im Addierer 35 enthalten sein kann. Demgemäß kommt es zu beinahe keiner Vergrößerung der Hardware, die durch die Berechnung des Absolutwerts verursacht wäre.
  • Wie es aus Fig. 3 erkennbar ist, sind bei dieser Berechnung nur zwei Addierer und ein Subtrahierer erforderlich, so dass kein Multiplizierer benötigt wird. Demgemäß ist in einem Modusentscheidungsabschnitt, wie er im Bewegtbildcodierer des in Fig. 2 dargestellten Ausführungsbeispiels der Erfindung verwendet wird, kein Multiplizierer erforderlich, so dass der Schaltungsumfang des Bewegtbildcodierers stark verringert werden kann.
  • Fig. 4 zeigt ein Ausführungsbeispiel eines Steuerungssignals hinsichtlich des Cachespeichers 21 und der zwei Latchstufen 33 und 37, die im Blockdiagramm von Fig. 3 dargestellt sind. Bei diesem Ausführungsbeispiel ist die Blockgröße auf 8 · 8 Bildpunkte eingestellt. Wie oben angegeben, wird auf die Bildpunktdatenwerte innerhalb des Cachespeichers 21 pro Block zwei Mal zugegriffen.
  • Die folgenden Signale
  • ,
  • zeigen jeweils Dateneingabe-Steuerungssignale der Latchstufen 33 bzw. 37. Wenn die Spannung jeder dieser Signale von einer niedrigen Spannung, die den Wert 0 anzeigt, auf eine hohe Spannung geändert wird, die den Wert 1 anzeigt, werden in jede der Latchstufen 33 und 37 eingegebene Daten in einem Ausgangsabschnitt jeder dieser Latchstufen 33 und 37 registriert. D. h., dass das Signal ein Signal zum Aufrechterhalten der folgenden Gleichheitsbedingung ist:
  • Mittelwert =
  • Ferner ist das Signal ein Signal zum Aufrechterhalten der folgenden Gleichheitsbedingung:
  • Interner Aktivitätsumfang in einem Vollbild = &Sigma; x(n) - n
  • Bei diesem Ausführungsbeispiel ist der Inkrementierungswert für den Adressenwert, wie er sequentiell vom Steuerungsabschnitt erzeugt wird, auf 1 eingestellt. Ferner werden alle Bildpunktdatenwerte eines Codierblocks dazu verwendet, die obigen Berechnungen auszuführen. Jedoch können die zum Ausführen dieser Berechnungen verwendeten Bildpunktdatenwerte durch ein beliebiges Ausdünnungsverfahren ausgedünnt werden, um die Rechenzeit zu verkürzen.
  • Ein anderes Beispiel des Mittelwert-Berechnungsabschnitts 22 und des Abweichungsberechnungsabschnitts 64 in Fig. 2 ist im Einzelnen in Fig. 5 dargestellt.
  • In Figur entsprechen die Bauabschnitte 21 bis 24 und 26 den in Fig. 2 dargestellten Bauabschnitten 21 bis 24 bzw. 26.
  • Gemäß Fig. 5 werden Bildpunktdatenwerte eines Intravollbild-Codierblocks in einen Cachespeicher 21 eingespeichert und aus diesem entsprechend einer durch eine Steuerung 26 erzeugten Adresse ausgelesen. Die gelesenen Bildpunktdatenwerte werden in einen Eingangsanschluss eines Addierers 51 eingegeben. Das Ausgangssignal des Addierers 51 wird in einen Eingangsanschluss eines Registers 52 eingegeben. Das Ausgangssignal des Registers 52 wird in einen anderen Eingangsanschluss des Addierers 51 eingegeben. Der Addierer 51 und das Register 52 bilden einen akkumulierenden Additionsabschnitt, und sie berechnen den Mittelwert der Bildpunktdatenwerte des Intravollbild- Codierblocks. Die Rechenergebnisse dieses Mittelwerts werden in einer Blockeinheit in einer Latchstufe 53 aufrechterhalten. Wenn die Rechenergebnisse in der Latchstufe 53 aufrechterhalten sind, wird der Inhalt des Registers 52 durch ein Steuerungssignal der Steuerung 26 rückgesetzt, um einen akkumulierten Additionswert im nächsten Block zu berechnen. Wenn die Anzahl N der Bildpunkt als N = 2a durch eine Potenz von 2 geschrieben wird, kann eine Berechnung, bei der durch N geteilt wird, wie dies für die Berechnung des Mittelwerts erforderlich ist, dadurch erfolgen, dass nur ein Bitschiebevorgang ausgeführt wird, bei dem der Dividend um a Bits nach rechts verschoben wird. Demgemäß ist in Fig. 5 eine dividierende Einheit weggelassen. In anderen Fällen außer diesem ist es erforderlich, nach der Latchstufe 53 einen Dividierer anzuordnen.
  • Als nächstes wird in zwei Eingangsanschlüsse eines Multiplizierers 54 eine Wechselstromkomponente des Intravollbild-Codierblocks als Ausgangssignal eines Subtrahierers 23 eingegeben.
  • Das Ausgangssignal des Multiplizierers 54 wird in einen Eingangsanschluss eines Addierers 55 eingegeben. Das Ausgangssignal des Addierers 55 wird in einen Eingangsanschluss eines Registers 56 eingegeben. Das Ausgangssignal des Registers 56 wird in einen anderen Eingangsanschluss des Addierers 55 eingegeben. Der Addierer 55 und das Register 56 bilden einen akkumulierenden Additionsabschnitt.
  • Das Ausgangssignal des Registers 56 wird auch in einen Eingangsanschluss einer Latchstufe 57 eingegeben. Die Funktion der Latchstufe 57 wird durch ein Ausgangssignal der Steuerung 56 gesteuert, um nur das Ergebnis der akkumulierenden Addition in einer Blockeinheit aufrechtzuerhalten. Wenn dieses Ergebnis aufrechterhalten sind, wird der Inhalt des Registers 56 rückgesetzt, um einen akkumulierten Additionswert im nächsten Block zu berechnen.
  • Beim in Fig. 5 dargestellten Ausführungsbeispiel wird die Quadratsumme der Differenzen eines Differenzsignals zwischen einem Bildpunktwert des Intravollbild-Codierblocks und einem Mittelwert berechnet und als Intravollbild- Aktivitätsumfang verwendet. Die in Fig. 5 dargestellten Bauabschnitte entsprechen beinahe denen, wie sie in Fig. 3 dargestellt sind. Die Unterschiede zwischen den Fig. 5 und 3 liegen nur im Multiplizerer 54.
  • Fig. 6 zeigt ein Beispiel für die Vergleichscharakteristik des in Fig. 2 dargestellten Komparators 25.
  • Gemäß der folgenden Beschreibung wird der Intravollbild-Aktivitätsumfang auf x gesetzt, und die Vorhersageabweichung wird auf y gesetzt. Eine Funktion des Intravollbild-Aktivitätsumfangs x wird auf f(x) gesetzt. Eine Funktion der Vorhersageabweichung y wird auf f(y) gesetzt. Fig. 6 zeigt einen Fall, in dem die Charakteristik des in Fig. 2 dargestellten Komparators 25 am einfachsten ist. In diesem Fall gilt die folgende Gleichung (5):
  • Wenn der berechnete Intravollbild-Aktivitätsumfang und der Umfang der Vorhersageabweichung gemäß Fig. 6 aufgetragen werden, kann ein Codiermodus abhängig davon festgelegt werden, ob ein aufgetragener Punkt zu einem der Modusbereiche in Fig. 6 gehört. Wenn der aufgetragene Punkt auf einer geraden Linie liegt, wird der Intravollbild-Codiermodus oder der Intervollbild- Codiermodus entsprechend der in der obigen Formel (3) verwendeten Ungleichheit > verwendet, oder es wird die Ungleichheit und Gleichheit &ge; anstelle der Ungleichheit > in dieser Formel (3) verwendet. Im in Fig. 6 dargestellten Fall werden die Codiermodi dadurch festgelegt, dass einfach der Umfang der Vorhersageabweichung und der Intravollbild-Aktivitätsumfang miteinander verglichen werden, d. h., dass die Codiermodi abhängig davon festgelegt werden, ob der Umfang der Vorhersageabweichung kleiner oder größer als der Intravollbild-Aktivitätsumfang ist.
  • Fig. 7 zeigt ein anderes Beispiel der Vergleichseigenschaften des in Fig. 2 dargestellten Komparators 25. Bei diesem Beispiel ist die folgende Bedingung (6) in die obige Formel (3) eingesetzt:
  • In dieser Bedingung (6) ist b auf eine Konstante gesetzt. In diesem Fall wird durch Vergleichen dieser Funktionen miteinander entschieden, dass der Intervollbild-Codiermodus gegenüber dem internen Codiermodus für ein Vollbild überlegen ist.
  • In Fällen außer diesem kann jede beliebige Funktion für jeweils f(x) und g(y) verwendet werden.
  • Wie oben angegeben, wird der bereits bei der Bewegungsvorhersage verwendete Umfang der Vorhersageabweichung dazu verwendet, zwischen dem Intervollbild- Codiermodus und dem Intravollbild-Codiermodus zu entscheiden. Demgemäß ist es möglich, eine Produktsummenberechnung und eine Summenproduktberechnung, wie sie bei einem üblichen Bewegtbildcodierer erforderlich sind, in starkem Umfang wegzulassen. Im Ergebnis kann der Hardwareumfang eines Modusentscheidungsabschnitts stark verringert werden.
  • Es können viele stark verschiedene Ausführungsformen der Erfindung aufgebaut werden, ohne vom Schutzumfang derselben abzuweichen. Es ist zu beachten, dass die Erfindung nicht auf die in der Beschreibung beschriebenen speziellen Ausführungsbeispiele beschränkt ist, sondern nur auf das, was in den beigefügten Ansprüchen definiert ist.

Claims (7)

1. Bewegtbildcodierer, in dem ein Bild in Bildblöcke unterteilt wird und Codiervorgänge dadurch umgeschaltet werden, dass adaptiv pro Bildblock ein Intervollbild-Codiermodus oder ein Intravollbild-Codiermodus ausgewählt wird; wobei
- der Intervollbild-Codiermodus eine Bewegungsvorhersage gegenüber einem späteren Vollbild, einem früheren Vollbild oder sowohl einem späteren als auch einem früheren Vollbild in Bezug auf jeden der Bildblöcke verwendet;
- im Intravollbild-Codiermodus keine Bewegungsvorhersage hinsichtlich jedes der Bildblöcke erfolgt; und
- ein bei der Bewegungsvorhersage verwendeter Bewegungsvektor auf einen Vektor zum Minimieren des Umfangs der Vorhersageabweichung gesetzt wird, die dadurch erhalten wird, dass eine vorbestimmte Abweichungsberechnung hinsichtlich eines Intervollbild-Differenzsignals ausgeführt wird;
gekennzeichnet durch:
- eine Einrichtung (22) zum Berechnen des Mittelwerts eines Codierobjektblocks;
- eine Einrichtung (23) zum Erhalten einer Wechselstromkomponente durch Subtrahieren des Mittelwerts von jedem der Bildpunktwerte des Codierobjektblocks;
- eine Einrichtung (24) zum Erhalten eines Intravollbild-Aktivitätsumfangs durch Ausführen einer Berechnung derselben Art wie der Abweichungsberechnung bei der Bewegungsvorhersage hinsichtlich der Wechselstromkomponente; und
- eine Einrichtung (25) zum Vergleichen des Umfangs der Vorhersageabweichung und des Intravollbild-Aktivitätsumfangs miteinander;
- wobei der Intervollbild-Codiermodus oder der Intravollbild-Codiermodus abhängig von Beziehungen zwischen dem Umfang der Vorhersageabweichung und dem Intravollbild-Aktivitätsumfang festgelegt wird.
2. Bewegtbildcodierer nach Anspruch 1, bei dem
- der Intravollbild-Codiermodus dann eingestellt wird, wenn der Wert einer vorbestimmten Funktion, in die der Umfang der Vorhersageabweichung eingesetzt wird, größer als der Wert einer vorbestimmten Funktion ist, in die der Intravollbild-Aktivitätsumfang eingesetzt wird; und
- der Intervollbild-Codiermodus in Fällen außer diesem Fall eingestellt wird.
3. Bewegtbildcodierer nach Anspruch 1 oder 2, bei dem bei der Abweichungsberechnung die Absolutwertsumme des Differenzsignals verwendet wird.
4. Bewegtbildcodierer nach Anspruch 1 oder 2, bei dem bei der Abweichungsberechnung die Quadratsumme des Differenzsignals verwendet wird.
5. Bewegtbildcodierer nach Anspruch 1, bei dem eine vorbestimmte Funktion des Umfangs der Vorhersageabweichung dem Umfang der Vorhersageabweichung entspricht, und eine vorbestimmte Funktion des Intravollbild-Aktivitätsumfangs dem Intravollbild-Aktivitätsumfang entspricht und die Vergleichseinrichtung diese vorbestimmte Funktionen miteinander vergleicht.
6. Bewegtbildcodierer nach Anspruch 1, bei dem eine vorbestimmte Funktion des Umfangs der Vorhersageabweichung der Summen aus dem Umfang der Vorhersageabweichung und einer Konstanten entspricht, während eine vorbestimmte Funktion des Intravollbild-Aktivitätsumfangs dem Intravollbild-Aktivitätsumfang entspricht, und bei dem die Vergleichseinrichtung diese vorbestimmten Funktionen miteinander vergleicht.
7. Bewegtbildcodierer nach Anspruch 6, bei dem durch Vergleichen dieser Funktionen miteinander entschieden wird, ob der Intervollbild-Codiermodus dem Intravollbild-Codiermodus überlegen ist.
DE69416662T 1993-12-28 1994-12-20 Bewegtbildkodierer Expired - Fee Related DE69416662T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33847493A JP3356516B2 (ja) 1993-12-28 1993-12-28 動画像符号化装置

Publications (2)

Publication Number Publication Date
DE69416662D1 DE69416662D1 (de) 1999-04-01
DE69416662T2 true DE69416662T2 (de) 1999-08-05

Family

ID=18318505

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69416662T Expired - Fee Related DE69416662T2 (de) 1993-12-28 1994-12-20 Bewegtbildkodierer

Country Status (4)

Country Link
US (1) US5856848A (de)
EP (1) EP0661887B1 (de)
JP (1) JP3356516B2 (de)
DE (1) DE69416662T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09102954A (ja) * 1995-10-04 1997-04-15 Matsushita Electric Ind Co Ltd 1つまたは2つの予測ブロックからブロックの画素値を計算する方法
US5844612A (en) * 1995-11-09 1998-12-01 Utah State University Foundation Motion vector quantizing selection system
JP3213561B2 (ja) 1997-02-05 2001-10-02 シャープ株式会社 画像符号化装置及び画像復号装置
JP3478836B2 (ja) * 1997-05-07 2003-12-15 シーメンス アクチエンゲゼルシヤフト デジタル画像シーケンスの符号化方法および符号化装置
EP0917362A1 (de) 1997-11-12 1999-05-19 STMicroelectronics S.r.l. Makroblockvarianzscchätzung für MPEG2-Videocodierer
US6351493B1 (en) * 1998-06-30 2002-02-26 Compaq Computer Corporation Coding an intra-frame upon detecting a scene change in a video sequence
US6591015B1 (en) * 1998-07-29 2003-07-08 Matsushita Electric Industrial Co., Ltd. Video coding method and apparatus with motion compensation and motion vector estimator
US6697430B1 (en) * 1999-05-19 2004-02-24 Matsushita Electric Industrial Co., Ltd. MPEG encoder
JP2001078188A (ja) * 1999-09-01 2001-03-23 Casio Comput Co Ltd 画像圧縮符号化装置、及び記憶媒体
US6636645B1 (en) * 2000-06-29 2003-10-21 Eastman Kodak Company Image processing method for reducing noise and blocking artifact in a digital image
WO2002037859A2 (en) * 2000-11-03 2002-05-10 Compression Science Video data compression system
US7944971B1 (en) * 2002-07-14 2011-05-17 Apple Inc. Encoding video
KR100563781B1 (ko) * 2002-09-24 2006-03-27 가부시키가이샤 히다치 고쿠사이 덴키 주목해야 할 화상의 표시방법과 장치 및 원격화상감시시스템
US7136533B2 (en) * 2002-12-19 2006-11-14 Hewlett-Packard Development Company, L.P. Color image compression with adaptive prediction
KR100987765B1 (ko) * 2003-09-30 2010-10-13 삼성전자주식회사 동영상 부호화기에서의 예측 수행 방법 및 장치
EP1739970A1 (de) * 2005-06-28 2007-01-03 Matsushita Electric Industrial Co., Ltd. Verfahren zur Kodierung und Übertragung von Videokonferenzdaten in Echtzeit
JP2009182623A (ja) * 2008-01-30 2009-08-13 Panasonic Corp 画像符号化方法
CN103379318B (zh) * 2012-04-12 2018-01-19 中兴通讯股份有限公司 一种视频码流编码方法和装置
CN103379321B (zh) * 2012-04-16 2017-02-01 华为技术有限公司 视频图像分量的预测方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60237738A (ja) * 1984-05-11 1985-11-26 Sony Corp デイジタル信号伝送装置
EP0429678A4 (en) * 1989-06-19 1992-09-23 Fujitsu Limited Dynamic image encoder and dynamic image decoder
JPH07112284B2 (ja) * 1990-01-20 1995-11-29 日本ビクター株式会社 予測符号化装置及び復号化装置
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JP3002019B2 (ja) * 1991-07-04 2000-01-24 富士通株式会社 セル廃棄補償機能を有する画像符号化伝送方式
KR0125581B1 (ko) * 1991-07-24 1998-07-01 구자홍 디지탈 영상신호의 에러수정 시스템
DE69230310T2 (de) * 1991-09-30 2000-07-13 Kabushiki Kaisha Toshiba, Kawasaki Einrichtung zur Verarbeitung von bandkomprimierten Signalen und VTR
JPH0595540A (ja) * 1991-09-30 1993-04-16 Sony Corp 動画像符号化装置
JPH05137131A (ja) * 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
US5488482A (en) * 1992-01-29 1996-01-30 Mitsubishi Denki Kabushiki Kaisha High-efficiency encoder and video information recording/reproducing apparatus
US5436665A (en) * 1992-03-03 1995-07-25 Kabushiki Kaisha Toshiba Motion picture coding apparatus
US5241383A (en) * 1992-05-13 1993-08-31 Bell Communications Research, Inc. Pseudo-constant bit rate video coding with quantization parameter adjustment
FR2691272B1 (fr) * 1992-05-15 1997-01-17 Thomson Csf Procede de codage d'images tres bas debit et dispositif de codage mettant en óoeuvre ce procede.
KR0166716B1 (ko) * 1992-06-18 1999-03-20 강진구 블럭 dpcm을 이용한 부호화/복호화방법 및 장치
JP2611607B2 (ja) * 1992-06-29 1997-05-21 日本ビクター株式会社 シーンチェンジ検出装置
JP3036287B2 (ja) * 1992-12-15 2000-04-24 富士ゼロックス株式会社 動画像シーン検出装置

Also Published As

Publication number Publication date
EP0661887A2 (de) 1995-07-05
DE69416662D1 (de) 1999-04-01
EP0661887B1 (de) 1999-02-24
JPH07203449A (ja) 1995-08-04
JP3356516B2 (ja) 2002-12-16
US5856848A (en) 1999-01-05
EP0661887A3 (de) 1996-05-01

Similar Documents

Publication Publication Date Title
DE69416662T2 (de) Bewegtbildkodierer
DE69223560T2 (de) Einrichtung zur Verminderung von Quantisierungsstörungen in einem Zwischenbild-Hybrid-Kodierungssystem mit Bewegungskompensation
DE69709914T2 (de) Vorrichtung zur Bildvorhersage und -decodierung
DE69323156T2 (de) Bilddatenkomprimierungs/Dekomprimierungssystem
DE69530336T2 (de) Bewegungskompensation für digitale Videosignale mit Zeilensprung
DE69313692T2 (de) Kodierung und Dekodierung zur Videokompression mit automatischer Halbbild/Bild Bewegungskompensation auf der Subpixelebene
DE69715815T2 (de) Verfahren zur bilddekodierung
DE69816342T2 (de) Prädiktives Bilddekodierungsverfahren
DE69123705T2 (de) Verfahren zur Kompression von bewegten Bildsignalen nach dem Zeilensprungverfahren
DE69224055T2 (de) Bildsignalkodier- und -dekodiergerät
DE69434668T2 (de) Adaptives Codierungs- und Decodierungsverfahren mit variabler Länge für Bilddaten
DE69330620T2 (de) Verfahren und Einrichtung zur Bildkodierung
DE69518801T2 (de) Bewegungsadaptive Bewegungskompensationskodierungsmethode und -vorrichtung
DE69433272T2 (de) Vorrichtung zum Vermeiden von Rundungsfehlern bei der inversen Transformation von Transformationskoeffizienten eines Bewegtbildsignales
DE69324958T2 (de) Kompression und Dekompression von Bildern
DE69738494T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69131438T2 (de) Adaptive Bewegungskompensation für das digitale Fernsehen
DE69617901T2 (de) Dekodierungsverfahren für bewegte Bilder und Gerät zur Erfassung von kontaminierten Regionen
DE69232993T2 (de) Prädiktives Videokodierungssystem
DE69620160T2 (de) Bildkodierungsgerät und Bilddekodierungsgerät
DE69031045T2 (de) Einrichtung zur adaptiven Zwischenbild-Prädiktionsdekodierung eines Videosignals
DE69324993T2 (de) Verfahren und Vorrichtung zum Quantisieren und Dequantisieren von Bildsignalen
DE69417480T2 (de) Bestimmung von Bewegungsvektoren in einem Videokodierer mit Bilddezimation
DE69329983T2 (de) Bildverarbeitungsverfahren und -vorrichtung
DE69325771T2 (de) Bildsignalkodierung

Legal Events

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