DE69619002T2 - Bildkodierungs-/-dekodierungsvorrichtung - Google Patents

Bildkodierungs-/-dekodierungsvorrichtung

Info

Publication number
DE69619002T2
DE69619002T2 DE69619002T DE69619002T DE69619002T2 DE 69619002 T2 DE69619002 T2 DE 69619002T2 DE 69619002 T DE69619002 T DE 69619002T DE 69619002 T DE69619002 T DE 69619002T DE 69619002 T2 DE69619002 T2 DE 69619002T2
Authority
DE
Germany
Prior art keywords
prediction
motion
information
motion vector
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69619002T
Other languages
English (en)
Other versions
DE69619002D1 (de
Inventor
Takeshi Chujoh
Kenshi Dachiku
Takashi Ida
Yoshihiro Kikuchi
Yoshiaki Watanabe
Noboru Yamaguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP05099395A external-priority patent/JP3415319B2/ja
Priority claimed from JP28044395A external-priority patent/JPH09154138A/ja
Application filed by Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE69619002D1 publication Critical patent/DE69619002D1/de
Publication of DE69619002T2 publication Critical patent/DE69619002T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • 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
    • 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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die Erfindung betrifft eine Videocodiervorrichtung, bei der ein Videosignal mit hoher Effizienz kompressionscodiert wird, und eine Videodecodiervorrichtung zur Decodierung des kompressionscodierten Signals zur Rekonstruktion des ursprünglichen Videosignals, und spezieller eine Videocodier/decodier-Vorrichtung, die gegen Fehler im Übertragungskanal/Speichermedium unempfindlich ist und einen qualitativ hochwertigen Übertragungskanal/Speicher sicherstellt.
  • In einem System zur Übertragung und Speicherung eines Videosignals, wie etwa einem Videophon, einem Telekonferenzsystem, einem persönlichen digitalen Assistenten, einem digitalen Videodisksystem oder einem digitalen TV Rundfunksystem wird ein Videosignal in Codefolgen mit geringem Informationsanteil kompressionscodiert, die an einen Übertragungskanal gesendet und in einem Speichermedium gespeichert werden. Die übertragenen und gespeicherten Codefolgen werden decodiert, um das ursprüngliche Videosignal zu rekonstruieren.
  • Als Kompressions-Codiertechniken für ein Videosignal, die in einem derartigen System angewendet werden, sind verschiedene Verfahren entwickelt worden, einschließlich die Bewegungskompensation, die diskrete Cosinustransformation (DCT) und Nebenbandcodierung, Pyramidencodiertechniken, und eine Kombination dieser Techniken. Außerdem sind für die Kompressionscodierung eines Videosignals ISO, MPEG1, MPEG2, ITU-T H.261 und ITU-T H.262 als internationale Standardsysteme festgelegt worden. Jede dieser Codiertechniken verwendet eine Cosinustransformationscodierung mit adaptiver Bewegungskompensationsvorhersage, die im einzelnen zum Beispiel in der Referenz 1: Hiroshi Yasuda "International Standard for Mulitmedia Coding" Maruzen, Juni 1991 beschrieben ist.
  • Wenn die durch die oben genannte Codierung eines Videosignals erhaltenen Codefolgen über einen fehleranfälligen Funkübertragungskanal übertragen und gespeichert werden, kann das Bildsignal, das auf der Decodierseite rekonstruiert wird, aufgrund der Fehler bei der Übertragung und Speicherung verschlechtert sein. Eine bekannte Maßnahme zur Behandlung derartiger Fehler ist das Mehrschichtcodiersystem, das für Bedingungen, bei denen Codefolgen über eine Mehrzahl von Übertragungskanälen übertragen werden, die jeweils eine unterschiedliche Fehlerwahrscheinlichkeit aufweisen, die Codefolgen in verschiedene Schichten verteilt, und die oberen Schichtcodefolgen über Übertragungskanäle mit geringen Fehlerwahrscheinlichkeiten überträgt, um die Verschlechterung der Bildqualität aufgrund der Fehler zu reduzieren. Ein vorgeschlagenes Schichtteilungsverfahren ist derart, daß die Modusinformation, die Bewegungskompensationsinformation, und die Tieffrequenzkomponenten des Vorhersagefehlersignals den oberen Schichten und die Hochfrequenzkomponenten des Vorhersagefehlersignals der unteren Schicht zugewiesen werden.
  • In einer herkömmlichen geschichteten Videocodiervorrichtung detektiert eine Vorhersageschaltung einen Bewegungsvektor zwischen dem Eingangsvideosignal und dem Referenzvideosignal, der durch Codierung und lokaler Decodierung erhalten und im Rahmenspeicher gespeichert ist, führt die Bewegungskompensationsvorhersage für einen spezifischen Einheitsbereich (als Vorhersagebereich bezeichnet) basierend auf dem Bewegungsvektor durch, und erzeugt ein Bewegungskompensationsvorhersagesignal. Durch Subtraktion des Vorhersagesignals von dem Eingangsvideosignal wird ein Vorhersagefehlersignal erzeugt. Das Vorhersagefehlersignal wird einer diskreten Cosinustransformation in Blöcken einer spezifischen Größe durch eine DCT-Schaltung unterworfen, und in DCT-Koeffizienteninformation umgesetzt. Die DCT- Koeffizienteninformation wird durch einen Quantisierer quantisiert. Die quantisierte DCT-Koeffizienteninformation wird in zwei Informationsteile verzweigt; ein Teil der DCT-Koeffzienteninformation wird einer Codierung variabler Länge durch eine erste variable Längencodierschaltung unterzogen, und der andere Teil der DCT- Koeffizienteninformation wird einer inverse Quantisierung unterzogen. Die invers quantisierte Information wird der inversen diskreten Cosinustransformation unterzogen. Die inverse DCT-Information wird zum Vorhersagesignal addiert, um ein lokales decodiertes Signal zu erzeugen. Das lokal decodierte Signal wird im Rahmenspeicher als Referenzvideosignal gespeichert.
  • Die Vorhersagemodus- und die Bewegungsvektorinformation bezüglich der von der Vorhersageschaltung ausgegebenen Vorhersage werden einer variablen Längencodierung durch eine zweite variable Längencodierschaltung unterworfen. Die Codefolgen, die von der ersten und zweiten variablen Längencodierschaltung ausgegeben werden, werden durch einen Multiplexer multigeplext, in obere Schichtcodefolgen und in untere Schichtcodefolgen geteilt und an die Übertragungskanäle ausgegeben. Speziell werden die oberen Schichtcodefolgen an Übertragungskanäle ausgegeben, die eine relativ kleine Wahrscheinlichkeit für Übertragungsfehler aufweisen, und die unteren Schichtcodefolgen werden an Übertragungskanäle ausgegeben, die eine relativ große Wahrscheinlichkeit für das Auftreten von Übertragungsfehlern aufweisen.
  • Der Multiplexer teilt die Codefolgen in obere und untere Schichtcodefolgen in einer Weise, bei der die Modusinformation, die den Vorhersagemodus in der Vorhersageschaltung repräsentiert, die Bewegungsvektorinformation (MV) und die Tieffrequenzband-DCT-Koeffizienteninformation in der mit variabler Länge codierten DCT-Koeffizienteninformation den oberen Schichtcodefolgen zugewiesen wird, und die verbleibende Hochfrequenzband-DCT-Koeffizienteninformation in der mit variabler Länge codierten DCT-Koeffizienteninformation den unteren Schichtcodefolgen zugewiesen wird.
  • Eine derartige herkömmliche mehrgeschichtete Videocodiervorrichtung hat folgende Nachteile. Ein erstes Problem liegt darin, daß die Bewegungsinformation für den Vorhersagebereich überhaupt nicht decodiert werden kann, da jeder Vorhersagebereich nur einen Teil der Bewegungsvektorinformation enthält, deren Fehler die Bildqualität erheblich verschlechtert, falls ein Fehler in der Bewegungsvektorinformation auftritt, was zu ernsthaften Bildqualitätsverschlechterungen führt. Um eine derartige Bildqualitätverschlechterung zu reduzieren, sollte die gesamte Bewegungsvektorinformation (MV) den oberen Schichtcodefolgen zugewiesen werden. Im allgemeinen gibt es jedoch eine Grenze für das Verhältnis des Codeanteils der Codefolgen in jeder Schicht zum gesamten Codeanteil der Codefolgen in allen Schichten. Falls die gesamte Bewegungsvektorinformation den oberen Schichtcodefolgen zugewiesen wird, kann diese Grenze überschritten werden. Falls die Bewegungsvektorinformation den unteren Schichtcodefolgen zugewiesen wird, um dies zu vermeiden, verursacht dies das Problem, daß die Fehlerwiderstandsfähigkeit erheblich verschlechtert wird.
  • Da die individuellen Codewörter der zwei übertragenen Codefolgen aus den variablen Längencodes gebildet werden, die in der ersten und zweiten variablen Längencodierschaltung erzeugt werden, können darüber hinaus die variablen Längencodes aufgrund der Fehler in der Decodierung nicht mehr in Synchronisation sein. Mit der herkömmlichen Videocodiervorrichtung erfolgt jedoch ein Multiplexen in der Art, daß wichtige Information bezüglich der Vorhersage, die die Modusinformation und die Bewegungsvektorinformation enthält, deren Fehler zu einer erheblichen Verschlechterung des decodierten Bildes führen würde, mit der DCT-Koeffizienteninformation gemischt wird, die das Vorhersagefehlersignal enthält, deren Fehler keine erhebliche Verschlechterung erzeugt. Wenn ein Synchronisationsfehler während des Decodierens der Codewörter aufgetreten ist, die nicht wichtige Information enthalten, kann dies folglich Fehler in die Codewörter einbringen, die wichtige Information enthalten, wodurch eine ernsthafte Verschlechterung des rekonstruierten Bildes verursacht wird. Falls dies passiert, kann die Synchronisation bis zum Auftreten eines Synchronisationscodes nicht wiedergewonnen werden. Folglich sind sämtliche Informationsteile der decodierten Bilder, die bis dahin erhalten werden, fehlerhaft, wodurch das Problem entsteht, daß sich eine ernsthafte Verschlechterung über einen breiten Bereich des Bildes entwickelt.
  • Außerdem verwenden viele herkömmliche Videocodiersysteme die Technik des Berechnens der Differenz zwischen benachbarten Bewegungsvektoren und unterziehen diese Differenz einer variablen Längencodierung, um die Codiereffizienz zu erhöhen. Da die variable Längencodierung verwendet wird, verursacht selbst ein Fehler in einem Teil einer Codefolge einen Synchronisationsfehler in der variablen Längencodierung, wodurch der Fehler nachteilige Auswirkungen auf alle nachfolgenden Codefolgen hat, was eine ernsthafte Verschlechterung der Qualität des rekonstruierten Videosignals zur Folge hat. Da die Differenz zwischen benachbarten Bewegungsvektoren codiert wird, falls ein Fehler in einem Bewegungsvektor auftritt, wirkt dieser Fehler auf alle Teile der Bewegungsvektorinformation, die durch Berechnung der Differenz zwischen dem fehlerhaften Bewegungsvektor und jedem der anderen Bewegungsvektoren und durch Codieren der Differenz erhalten wird, mit dem Ergebnis, daß sich die Qualität des rekonstruierten Videosignals beträchtlich verschlechtert.
  • Wenn eine Grenze für den Anteil des Codes, der über einen Übertragungskanal mit einer geringen Fehlerrate übertragen werden kann, gegeben ist, muß außerdem die Bewegungsvektorinformation in einer unteren Schicht mit einer höheren Fehlerrate codiert werden, was eine erhebliche Verschlechterung der Bildqualität zur Folge hat. Wenn ein zu codierendes Bild eine große Bewegung hat, ist der Anteil der Codes in der Bewegungsvektorinformation sehr groß. Wenn die Codierrate relativ klein ist, zählt nur die Bewegungsvektorinformation für mehr als die Hälfte des gesamten Anteils der Codes. Dies erhöht die Rate der Bewegungsvektorinformation, die in einer unteren Schicht zu codieren ist, so daß die Wahrscheinlichkeit dafür, daß ein Fehler in der Bewegungsvektorinformation gemischt wird, größer wird, wodurch es wahrscheinlicher ist, daß eine ernsthafte Verschlechterung der Bildqualität auftritt.
  • Andererseits verwenden viele herkömmliche Videocodiersysteme, einschließlich die internationalen Standardsysteme, eine Blockübereinstimmungsbewegungskompensation, die das Eingangsbewegungsbild in quadratische Blöcke unterteilt (als Bewegungskompensationsblöcke bezeichnet) und die eine Bewegungskompensation durchführen, indem die Bewegung jedes dieser Blöcke durch einen Bewegungsvektor repräsentiert wird. Mit der Blockübereinstimmungsbewegungskompensation stellt der erhaltene Vektor den Durchschnitt der Bewegungen in den jeweiligen Bereichen dar, wenn ein Bewegungskompensationsblock Bereiche mit unterschiedlichen Bewegungen aufweist, so daß jeder Bereich nicht mit hoher Genauigkeit vorhergesagt werden kann, was ein Problem dahingehend verursacht, daß die Qualität des rekonstruierten Videosignals an den Grenzen oder Rändern der Bereiche verschlechtert wird. Wenn die Codierrate gering ist, muß ein Bewegungskompensationsblock größer sein als die Bildgröße, was eine Verschlechterung der Bildqualität durch Blockübereinstimmung verstärkt.
  • Zur Lösung des Problems mit der Blockübereinstimmungsbewegungskompensation ist ein segmentbasierter Bewegungskompensationsplan untersucht worden, der die Bewegungskompensationsblöcke entlang der Grenze des Objekts teilt und die Bewegungskompensation durchführt, indem ein für jeden Bereich unterschiedlicher Bewegungsvektor verwendet wird. Der segmentbasierte Bewegungskompensationsplan erfordert einen zusätzlichen Informationsteil (Bereichsforminformation), um anzuzeigen, wie die Bereiche unterteilt sind. Obwohl die Bewegungskompensationseffiizienz mehr verbessert wird, wenn die Bereichsform genauer repräsentiert wird, erhöht sich entsprechend der Umfang der Bereichsforminformation. Folglich ist für Verbesserungen der Codiereffizienz entscheidend, wie effizient die Bereichsform repräsentiert ist. Wenn die Codierrate gering ist, wird das Verhältnis der Seiteninformation, die die Bewegungsvektorinformation und die Bereichsforminformation enthält, größer, wodurch das Problem signifikanter wird.
  • Der Plan zur Codierung der Bereichsforminformation umfaßt ein Verfahren der Kettencodierung der Bereichsforminformation, ein Verfahren zum Approximieren der Bereichsform, indem verschiedene Teilungsmuster verwendet werden und ein Verfahren zur Approximierung der Bereichsform durch Interpolation, indem die Form durch Approximationsblöcke ausgedrückt wird. Mit jedem Verfahren ist es jedoch schwierig unter Verwendung eines kleinen Codeanteils die Form eines Bereichs mit hoher Genauigkeit zu repräsentieren, so daß die segmentbasierte Kompensationscodierung nicht notwendigerweise die Codierungseffizienz verbessert. Außerdem ist ein Verfahren untersucht worden, das die Bereichsforminformation von dem decodierten Bild eines bereits codierten Rahmens sowohl in der Codiereinheit als auch in der Decodiereinheit abschätzt, und folglich keine unabhängige Bereichsforminformation benötigt. Mit diesem Verfahren erhöht sich jedoch der Anteil der Verarbeitung durch die Decodiereinheit signifikant, und das decodierte rekonstruierte Bild enthält eine Codeverzerrung, so daß es schwierig ist, eine Bereichsteilung mit hoher Genauigkeit zu erhalten, und es werden nicht notwendigerweise bessere Ergebnisse gewonnen.
  • Da bei der herkömmlichen Videocodiervorrichtung, wie oben beschrieben, nur ein Informationsteil, der sich auf die Vorhersage bezieht, wie etwa Bewegungsvektorinformation, deren Fehler die Qualität des decodierten Bildes ernsthaft verschlechtern würde, für jeden Vorhersagebereich codiert wird, ist die Fehlerwiderstandsfähigkeit gering.
  • Um die Fehlerwiderstandsfähigkeit zu erhöhen, müssen Informationsteile von sämtlichen Vorhersagen uf Übertragungskanäle übertragen werden, die kleine Fehlerwahrscheinlichkeiten aufweisen. Da es für das Verhältnis des Codeanteils der Codefolgen in jeder Schicht zum gesamten Codeanteil der Codefolgen in allen Schichten eine Grenze gibt, müssen die Codefolgen uf Übertragungskanäle mit unterschiedlichen Fehlerwahrscheinlichkeiten übertragen werden, wodurch das Merkmal der Mehrschichtcodierung, nämlich eine Verschlechterung der Bildqualität aufgrund von Fehlern zu reduzieren, nachteilig beeinträchtigt wird.
  • Da außerdem bei der herkömmlichen Videocodiervorrichtung die relativ wichtige Information mit der Information bezüglich der Vorhersage und die relativ unwichtige Information in Codefolgen gemischt werden, beeinträchtigt ein in der nicht wichtigen Information aufgetretener Fehler die wichtige Information, wodurch eine ernsthafte Verschlechterung der Bildqualität erfolgt.
  • Die herkömmliche Videocodier/-decodier-Vorrichtung, die eine variable Längencodierung zur Codierung der Bewegungsvektorinformation verwendet, erlaubt die Ausbreitung eines Fehlers nur in einem Teil der Codewörter in der Bewegungsvektorinformation über die verbleibenden späteren Codewörter, selbst wenn eine Maßnahme zur Behandlung der Fehler getroffen wird, wie etwa eine Mehrschichtcodierung, so daß der Fehler sich nachteilig auf den gesamten Schirm auswirkt. Da nicht alle Teile der Bewegungsvektorinformation in den oberen Schichten codiert werden können, treten viele Fehler in Teilen der Bewegungsvektorinformation auf, wodurch sich eine signifikante Verschlechterung der Bildqualität in dem decodierten Bild ergeben kann.
  • Darüber hinaus verschlechtert sich in der herkömmlichen Videocodier/-decodier- Vorrichtung, die eine Blockübereinstimmungsbewegungskompensation verwendet, der Bewegungskompensationswirkungsgrad, wenn ein Bewegungskompensationsblock Bereiche mit unterschiedlichen Bewegungen enthält, wodurch die Qualität des rekonstruierten Videosignals verschlechtert wird. Darüber hinaus ist der Codeanteil in der Bereichsforminformation groß, wodurch die Codierungseffizienz kleiner wird.
  • Mit der herkömmlichen Videocodier/-decodier-Vorrichtung, die eine segmentbasierte Kompensation verwendet, ist außerdem der Anteil der Codes in der Bereichsforminformation groß, wodurch folglich die Codierungseffizienz verschlechtert wird.
  • Die EP 0 556 507 A1 offenbart eine Bildsignalcodiervorrichtung und eine Bildsignaldecodiervorrichtung. Die Bildsignalcodiervorrichtung enthält einen lokalen Decoder zur lokalen Decodierung quantisierter Daten, einen Bewegungsdetektor zur Berechnung der Bewegungsvektoren von individuellen Neben-Blöcken, eine Steuerung zur Auswahl eines optimalen Prozesses für die Bewegungsvektoren, um die Redundanz zu minimieren, einen Bewegungskompensator zur Bildung eines Vorhersagebildes, und einen Differenzrechner zur Berechnung der Differenz zwischen dem Vorhersagebild und dem Originalbild.
  • Eine Aufgabe der Erfindung ist die Bereitstellung einer Videocodier/-decodier- Vorrichtung und eines Verfahrens mit hoher Fehlerwiderstandsfähigkeit, und einer Videocodier/-decodier-Vorrichtung und eines Verfahrens mit hohem Codierungswirkungsgrad sowie einer hohen Fehlerwiderstandsfähigkeit.
  • Die Lösung dieser Aufgaben erfolgt durch eine Videocodiervorrichtung nach Anspruch 1 und eine Videodecodiervorrichtung und ein Verfahren, jeweils nach den Ansprüchen 7 und 12.
  • Weiterentwicklungen der Erfindung sind in den Unteransprüchen angegeben.
  • Da das Eingangsvideosignal in hierarchischer Weise über so viele Bereiche wie möglich vorhergesagt wird, und die Informationsteile der Vorhersage, die bei individuellen Ebenen erhalten werden, die nicht nur die unterste Ebene sondern auch höhere Ebenen enthalten, codiert werden, selbst wenn ein Fehler in der Information über die Vorhersagen bei einer spezifischen Ebene aufgetreten ist, kann die Videodecodiervorrichtung ein Vorhersagesignal aus der Information über die Vorhersagen erzeugen, vorausgesetzt, daß kein Fehler in der Information über die Vorhersagen bei den höheren Ebenen vorliegt. Dadurch wird die Verschlechterung der Bildqualität des decodierten Bildes reduziert, wenn ein Fehler in der Information über die Vorhersage aufgetreten ist.
  • In der Videodecodiervorrichtung werden Informationsteile über die Vorhersagen bei individuellen Ebenen von hierarchischen Vorhersagen decodiert. Wenn das Vorhersagefehlersignal nicht korrekt decodiert wird, da ein Fehler in der Vorhersage bei einer spezifischen Ebene aufgetreten ist, wird das Videosignal decodiert, indem die Information über die Vorhersage bei höheren Ebenen verwendet wird, um ein Vorhersagesignal zu erzeugen, wodurch die Verschlechterung der Bildqualität des decodierten Bildes reduziert werden kann.
  • Da in der Videodecodiervorrichtung die Wahrscheinlichkeit dafür, daß fehlerhafte Information als fehlerfrei bestimmt wird, dadurch klein wird, ob die decodierte Information eine mögliche Information in den Codierbewegungsbildern ist, kann die Verschlechterung der Bildqualität des decodierten Bildes aufgrund der Verwendung der fehlerhaften Information in der Decodierung des Bewegungsbildes unterdrückt werden.
  • Die Erfindung kann durch folgende detaillierte Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen besser verstanden werden. Es zeigen:
  • Fig. 1 ein Blockdiagramm einer Videocodiervorrichtung gemäß einem ersten Ausführungsbeispiel der Erfindung;
  • Fig. 2 Bewegungskompensationsbereiche in der Videocodiervorrichtung nach Fig. 1, und den Bereichen entsprechende Bewegungsvektoren;
  • Fig. 3A und 3B eine obere Schichtcodefolge und eine untere Schichtcodefolge, die von der Videocodiervorrichtung nach Fig. 1 ausgegeben werden;
  • Fig. 4 ein Blockdiagramm einer Videodecodiervorrichtung, die zu der Videocodiervorrichtung gemäß dem ersten Ausführungsbeispiel korrespondiert;
  • Fig. 5 ein Blockdiagramm einer Videocodiervorrichtung gemäß einem zweiten Ausführungsbeispiel der Erfindung;
  • Fig. 6 ein Blockdiagramm einer adaptiven Bewegungskompensationsvorhersageschaltung in der Videocodiervorrichtung gemäß dem zweiten Ausführungsbeispiel;
  • Fig. 7 ein Blockdiagramm einer Videodecodiervorrichtung, die zu der Videodecodiervorrichtung gemäß dem zweiten Ausführungsbeispiel korrespondiert;
  • Fig. 8 ein Blockdiagramm einer adaptiven Bewegungskompensationsvorhersageschaltung in der Videodecodiervorrichtung nach Fig. 7;
  • Fig. 9 ein Blockdiagramm einer Videocodiervorrichtung gemäß einem dritten Ausführungsbeispiel der Erfindung;
  • Fig. 10 ein Blockdiagramm einer adaptiven Bewegungskompensationsvorhersageschaltung in der Videocodiervorrichtung gemäß dem dritten Ausführungsbeispiel;
  • Fig. 11A und 11B Diagramme zur Erklärung der Operation der adaptiven Bewegungskompensationsvorhersageschaltung nach Fig. 10;
  • Fig. 12 ein Blockdiagramm einer Videodecodiervorrichtung, die zu der Videocodiervorrichtung gemäß dem dritten Ausführungsbeispiel der Erfindung korrespondiert;
  • Fig. 13 ein Blockdiagramm einer adaptiven Bewegungskompensationsvorhersageschaltung in der Videodecodiervorrichtung nach Fig. 12;
  • Fig. 14 ein Blockdiagramm einer adaptiven Bewegungskompensationsvorhersageschaltung in der Videocodiervorrichtung gemäß einem vierten Ausführungsbeispiel der Erfindung;
  • Fig. 15 ein Diagramm zur Erklärung der Operation der adaptiven Bewegungskompensationsvorhersageschaltung nach Fig. 14;
  • Fig. 16 ein anderes Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung in der Videocodiervorrichtung gemäß dem vierten Ausführungsbeispiel;
  • Fig. 17 ein Beispiel von Bewegungsvektor-Codevektoren, die in einem Bewegungsvektorcodebuch gespeichert sind, das in der Videocodiervorrichtung und der Videodecodiervorrichtung gemäß dem zweiten, dritten oder vierten Ausführungsbeispiel verwendet wird;
  • Fig. 18 ein anderes Beispiel von Bewegungsvektor-Codevektoren, die in einem Bewegungsvektorcodebuch gespeichert sind, das in der Videocodiervorrichtung und der Videodecodiervorrichtung gemäß dem zweiten, dritten oder vierten Ausführungsbeispiel verwendet wird;
  • Fig. 19 an anderes Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung in der Videodecodiervorrichtung, die zu der Videocodiervorrichtung gemäß dem zweiten Ausführungsbeispiel der Erfindung korrespondiert;
  • Fig. 20 ein Diagramm zur Erklärung der Operation der adaptiven Bewegungskompensationsvorhersageschaltung nach Fig. 19;
  • Fig. 21 ein anderes Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung in der Videodecodiervorrichtung, die zu der Videocodiervorrichtung gemäß dem zweiten Ausführungsbeispiel der Erfindung korrespondiert;
  • Fig. 22 ein Blockdiagramm einer Videocodiervorrichtung gemäß einem fünften Ausführungsbeispiel der Erfindung;
  • Fig. 23 ein Beispiel von Kandidaten für einen Bewegungsvektor, nach dem in der adaptiven Bewegungskompensationsvorhersageschaltung nach Fig. 22 gesucht wird;
  • Fig. 24 ein Blockdiagramm einer Videodecodiervorrichtung, die zu der Videocodiervorrichtung gemäß dem fünften Ausführungsbeispiel korrespondiert;
  • Fig. 25 ein Blockdiagramm einer Videocodiervorrichtung gemäß einem sechsten Ausführungsbeispiel der Erfindung;
  • Fig. 26 ein Diagramm zur Erklärung der Operation der adaptiven Bewegungskompensationsvorhersageschaltung in der Videocodiervorrichtung nach Fig. 25;
  • Fig. 27 ein Blockdiagramm einer Videodecodiervorrichtung, die zur der Videocodiervorrichtung gemäß dem sechsten Ausführungsbeispiel korrespondiert;
  • Fig. 28 ein Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung in der Videocodiervorrichtung gemäß einem siebten Ausführungsbeispiel der Erfindung;
  • Fig. 29 ein Diagramm zur Erklärung der Operation der adaptiven Bewegungskompensationsvorhersageschaltung nach Fig. 28;
  • Fig. 30 ein anderes Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung in der Videodecodiervorrichtung, die zu der Videocodiervorrichtung gemäß dem siebten Ausführungsbeispiel korrespondiert;
  • Fig. 31A bis 31D Diagramme zur Erklärung der Bereichsform in der segmentbasierten Kompensation und ein Verfahren zum Suchen eines Bewegungsvektors;
  • Fig. 32 ein Flußdiagramm der Prozedur zum Erzeugen eines Codebuchs für eine segmentbasierte Kompensation, indem Vektorquantisierung verwendet wird;
  • Fig. 33A und 33B Diagramme zur Erklärung eines Verfahrens zur Vorhersage von Kleinbereichsbewegungsvektoren aus repräsentativen Großbereichsbewegungsvektoren in der Videocodiervorrichtung und der Videodecodiervorrichtung gemäß dem siebten Ausführungsbeispiel;
  • Fig. 34 ein Diagramm zur Erklärung eines Verfahrens zum Umschalten zwischen Vektorquantisierungscodebüchern in der Videocodiervorrichtung und der Videodecodiervorrichtung gemäß dem siebten Ausführungsbeispiel;
  • Fig. 35 ein Blockdiagramm einer adaptiven Bewegungskompensationsvorhersageschaltung in der Videocodiervorrichtung gemäß einem achten Ausführungsbeispiel der Erfindung;
  • Fig. 36 ein Diagramm zur Erklärung eines Verfahrens zum Suchen eines repräsentativen Großbereichsbewegungsvektors in der Bewegungskompensationsvorhersageschaltung nach Fig. 35;
  • Fig. 37 ein Diagramm zur Erklärung eines Verfahrens zum Suchen eines Kleinbereichbewegungsvektors, ohne Bereichsdivision in der Bewegungskompensationsvorhersageschaltung nach Fig. 36;
  • Fig. 38 ein Blockdiagramm eines Systems, für das eine Videocodier/-decodier- Vorrichtung gemäß der Erfindung verwendet wird;
  • Fig. 39 ein schematisches Blockdiagramm einer Videocodiervorrichtung, die in dem System nach Fig. 38 verwendet wird;
  • Fig. 40 ein schematisches Blockdiagramm einer Videodecodiervorrichtung, die in dem System nach Fig. 38 verwendet wird:
  • Fig. 41 ein schematisches Blockdiagramm einer Aufnahmevorrichtung, für die ein Videocodiersystem gemäß der Erfindung verwendet wird; und
  • Fig. 42 ein Blockdiagramm einer Rekonstruktionsvorrichtung, die die codierten Daten, die auf einem Aufnahmemedium durch die Aufnahmevorrichtung nach Fig. 42 aufgenommen wurden, rekonstruiert.
  • Im folgenden werden unter Bezugnahme auf die beigefügten Zeichnungen Ausführungsbeispiele der Erfindung erklärt.
  • Die in Fig. 1 gezeigte Videocodiervorrichtung enthält einen lokalen Decodier- und Vorhersageschaltungsabschnitt 1, der Vorhersagesignale in dem Bereich von der oberen bis zur unteren Schicht gemäß der Bewegung in einem Eingangsvideosignal erzeugt, einen Vorhersagefehlergeneratorabschnitt 2, der ein Vorhersagefehlersignal erzeugt, einen ersten Codierschaltungsabschnitt 3, der ein Vorhersagefehlersignal codiert, einen zweiten Codierschaltungsabschnitt 4, der Information über die Vorhersage codiert, und einen Multiplexer, der die Codefolgen, die von den ersten und zweiten Codierschaltungsabschnitten erhalten werden, multiplext.
  • Das Eingangsvideosignal 11 wird zuerst bei der Vorhersage in einer Vorhersageschaltung 12 in dem lokalen Decodier- und Vorhersageschaltungsabschnitt 1 verwendet. Die Vorhersageschaltung 12 erfaßt den Bewegungsvektor zwischen dem Eingangsvideosignal 11 und dem Referenzvideosignal, der durch Codierung/Decodierung erhalten wird, und in einem Rahmenspeicher 13 gespeichert ist, und erzeugt basierend auf dem Bewegungsvektor ein Bewegungskompensationsvorhersagesignal. Die Vorhersageschaltung 12 kann in zwei Modi arbeiten, einem Bewegungskompensationsvorhersagemodus (Interframe-Vorhersagemodus) und einem Intraframe-Vorhersagemodus, bei dem das Eingangsvideosignal 11 direkt codiert wird, und wählt den geeignetsten Modus für die Codierung aus, und gibt ein Vorhersagesignal 14 entsprechend dem Modus aus. Die Vorhersageschaltung 12 gibt ein Bewegungskompensationsvorhersagesignal im Bewegungskompensationsvorhersage- Modus aus, und "0" als Vorhersagesignal im Intraframe-Vorhersagemodus.
  • Ein Subtrahierer 15 erzeugt ein Vorhersagefehlersignal 16, indem das Vorhersagesignal 14 von dem Eingangsvideosignal 11 subtrahiert wird. Eine diskrete Cosinustransformations (DCT)-Schaltung 17 unterwirft das Vorhersagefehlersignal 16 einer diskreten Cosinustransformation in Blöcken einer spezifischen Größe, und erzeugt DCT-Koeffizienteninformation 18. Die DCT-Koeffizienteninformation 18 wird in einem Quantisierer 19 quantisiert. Da in dem Intraframe-Vorhersagemodus das Vorhersagesignal 14 "0" ist, gibt der Subtrahierer 15 das Eingangsvideosignal 11 direkt als das Vorhersagefehlersignal 16 aus.
  • Die in dem Quantisierer 19 quantisierte DCT-Koeffizienteninformation 20 wird in zwei Informationsteile verzweigt; ein Informationsteil wird einer variablen Längencodierung in einem ersten variablen Längencodierer 21 unterzogen, und der andere Informationsteil wird in einem Invers-Quantisierer 22 einer inversen Quantisierung unterzogen. Der Ausgang des Invers-Quantisierers 22 wird einer inversen diskreten Cosinustransformation in einer inversen diskreten Cosinustransformations (Invers-DCT)-Schaltung 23 unterzogen. Der Invers-Quantisierer 22 und die Invers-DCT-Schaltung 23 führen Verarbeitungen durch, die zu denen im Quantisierer 19 und der DCT-Schaltung 17 jeweils entgegengesetzt sind, und die Invers-DCT-Schaltung 23 erzeugt ein Signal, das etwa gleich dem Vorhersagefehlersignal 16 am Ausgang ist. Der Ausgang der Invers- DCT-Schaltung 23 wird zum Vorhersagesignal 14 von der Vorhersageschaltung 12 in einem Addierer 24 addiert, der dann ein lokal decodiertes Signal 25 erzeugt. Das lokal decodierte Signal 25 wird im Rahmenspeicher 13 als ein Referenzvideosignal gespeichert.
  • Die Vorhersageschaltung 12, wie später beschrieben wird, gibt eine Großbereichsvorhersagemodus/Bewegungsvektor-Information 26 und eine Kleinbereichsvorhersagemodus/Bewegungsvektor-Information 27 als Vorhersageinformation aus, die jeweils in einem variablen Längencodierer 28 und einem variablen Längencodierer 29 einer Codierung variabler Länge unterzogen werden. Die Codefolgen, die von den variablen Längencodierern 21, 28 und 29 ausgegeben werden, werden durch einen Multiplexer 30 multigeplext und in obere Schichtcodefolgen 31 und untere Schichtcodefolgen 32 geteilt, die an ein Übertragungskanal-/Speichermedium (nicht gezeigt) ausgegeben werden.
  • Unter den Bedingungen, bei denen die Codefolgen über Übertragungskanäle mit unterschiedlichen Fehlerwahrscheinlichkeiten gesendet bzw. in Speichermedien mit unterschiedlichen Fehlerwahrscheinlichkeiten gespeichert werden können, werden die oberen Schichtcodefolgen 31 über Übertragungskanäle/Speichermedien mit geringeren Fehlerwahrscheinlichkeiten übertragen und gespeichert, und die unteren Schichtcodefolgen 32 werden über Übertragungskanäle/Speichermedien mit größeren Fehlerwahrscheinlichkeiten übertragen und gespeichert, wodurch erreicht wird, daß ein Fehler in den oberen Schichtcodefolgen so wenig wie möglich auftritt. Wenn die Codefolgen 31, 32 einer Fehlerkorrektur/-detektions-Codierung unterzogen werden, wird ein leistungsfähigeres Fehlerkorrektur/-detektions-Codieren bewirkt, so daß die oberen Schichtcodefolgen 31 eine geringere Fehlerwahrscheinlichkeit aufweisen als die unteren Schichtcodefolgen 32.
  • Als nächstes werden unter Bezugnahme auf Fig. 2 der Aufbau und die Operation der Vorhersageschaltung 12 im einzelnen erklärt. Die Vorhersageschaltung 12 teilt das Eingangsvideosignal 11 in so viele Bereiche wie möglich in einer hierarchischen Weise im Bereich von der höchsten bis zu der niedrigsten Ebene, führt die Bewegungskompensationsvorhersage für das Eingangsvideosignal für jeden Bereich durch, der bei jeder Ebene unterteilt ist, und erzeugt dadurch ein Vorhersagesignal. In dem Beispiel nach Fig. 2 führt die Vorhersageschaltung 12 eine Bereichsteilung und eine Vorhersage bei zwei Ebenen durch. Bei der ersten Ebene teilt die Vorhersageschaltung 12 das Eingangsvideosignal 11 sehr breit, wie in Fig. 2 mit durchgezogenen Linienbereichen gezeigt (im folgenden als große Bereiche bezeichnet) und führt die Bewegungskompensationsvorhersage für diese großen Bereiche mit geringer Pixelgenauigkeit durch, und dann erfolgt bei der zweiten Ebene ein weiteres Teilen der großen Bereiche in die gestrichelten Linienbereiche (im folgenden als kleine Bereiche bezeichnet), falls notwendig, und bewirkt die Bewegungskompensationsvorhersage dieser kleinen Bereiche mit hoher Pixelgenauigkeit.
  • Die variablen Längencodierer 28 und 29 codieren dann nicht nur Information über die Vorhersage für die großen Bereiche, die von der Vorhersageschaltung 12 ausgegeben werden, sondern auch Information der Vorhersage der kleinen Bereiche in Verbindung mit den großen Bereichen. In dieser Weise kann die Decodiervorrichtung mit geringer Genauigkeit vorhersagen, vorausgesetzt, daß die Vorhersageinformation für die großen Bereiche richtig decodiert ist, falls die Vorhersageinformation der kleinen Bereiche durch einen Fehler in der Übertragungsleitung/Speichermedium verlorengehen sollte, wodurch eine ernsthafte Verschlechterung der Bildqualität des decodierten Bildes verhindert wird.
  • Die von der Vorhersageschaltung 12 ausgegebene Vorhersageinformation enthält Information, die den Vorhersagemodus anzeigt, und Information, die den Bewegungsvektor kennzeichnet. Die Information, die den Vorhersagemodus von großen Bereichen anzeigt, und die Information, die die Bewegungsvektoren kennzeichnet (in Fig. 2 mit durchgezogenen Pfeilen gezeigt), also die Großbereichsvorhersagemodus/Bewegungsvektor-Information 26, werden in dem variablen Längencodierer 28 einer variablen Längencodierung unterzogen. In diesem Fall kann für die Bewegungsvektorinformation die Differenz von der bereits codierten benachbarten Großbereichsbewegungsvektorinformation der variablen Längencodierung unterzogen werden, oder die Bewegungsvektorinformation kann ohne Berechnung der Differenz einer festen Längencodierung unterzogen werden. Darüber hinaus kann die Bewegungsvektorinformation in einigen Bereichen der Codierung fester Länge unterzogen werden, und einer Codierung variabler Länge in den verbleibenden Bereichen.
  • Andererseits wird Information, die den Vorhersagemodus für kleine Bereiche anzeigt und Information, die die Bewegungsvektoren anzeigt (in Fig. 2 mit gestrichelten Pfeilen gezeigt), also die Vorhersagemodus/Bewegungsvektor-Information 27 für kleine Bereiche, einer variablen Längencodierung durch den variablen Längencodierer 29 unterzogen. In diesem Fall kann die Differenz zwischen der Bewegungsvektorinformation und der Bewegungsvektorinformation für den großen Bereich für jeden kleinen Bereich berechnet und der variablen Längencodierung unterzogen werden. Die Differenzen können zusammen für jeden großen Bereich durch Blockcodierung und Vektorquantisierung codiert werden. Wenn der Differenzwert einer variablen Längencodierung unterzogen wird, indem der Großbereichsbewegungsvektor als eine reversible Funktion (zum Beispiel der Durchschnittswert) auf der Basis der Kleinbereichsbewegungsvektoren ausgedrückt wird, kann jeder der Kleinbereichsbewegungsvektoren auf der Basis des Großbereichsbewegungsvektors und der anderen Kleinbereichsbewegungsvektoren berechnet werden, wodurch die Notwendigkeit der Codierung eliminiert wird.
  • Die Fig. 3A und 3B zeigen die Struktur einer oberen Schichtcodefolge 31 und einer unteren Schichtcodefolge 32. Ein eindeutig decodierbarer Synchronisationscode wird in den Kopf jedes Codierrahmens oder jeder Bereichseinheit in der oberen Schichtcodefolge 31, wie in Fig. 3A gezeigt, gesetzt. PSC repräsentiert einen Synchronisationscode für eine Rahmeneinheit. Dem Synchronisationscode PSC folgt ein Bildkopf, der Codierinformation für den Rahmen anzeigt. Der Bildkopf enthält eine Rahmennummer, die die vorübergehende Position des Rahmens anzeigt, Information, die den Vorhersagemodus des Rahmens anzeigt (Rahmenvorhersagemodus) und Information, die die Länge jeder Codefolge in der oberen und unteren Schicht des Rahmens anzeigt (oberer Schichtcodeanteil und unterer Schichtcodeanteil).
  • Wenn die Größen der großen und kleinen Bereiche und die Information, die die Pixelgenauigkeit der Bewegungskompensation anzeigt (Großbereich-MC-Genauigkeit und Kleinbereich-MC-Genauigkeit), dem Bildkopf hinzuaddiert werden, wie in Fig. 3A gezeigt, wodurch der Codeanteil in der Bewegungsvektorinformation durch Änderung der Bewegungskompensationsgenauigkeit Rahmen für Rahmen gesteuert werden kann. Selbst wenn das Verhältnis des Codeanteils 31 in den oberen Schichtcodefolgen zu dem in den unteren Schichtcodefolgen 32 unter Berücksichtigung der Grenzen des Übertragungskanals/Speichermediums bestimmt wird, kann der Anteil der Codes entsprechend der Situation zugewiesen werden. Da der gesamte Anteil der Codes in der Bewegungsvektorinformation für jeden Rahmen gesteuert werden kann, kann die optimale Bewegungskompensationsgenauigkeit basierend auf der Bewegungskompensationsgenauigkeit und dem Anteil der Codes in der Bewegungsvektorinformation ausgewählt werden, wodurch die Codiereffizienz verbessert werden kann.
  • Eines der Merkmale besteht darin, daß Teile der Codierinformation für die individuellen Bereiche in absteigender Reihenfolge in Bezug auf die Wichtigkeit angeordnet werden können. Im vorliegenden Fall ist Information mit hoher Wichtigkeit Information, deren Fehler eine ernste Verschlechterung des decodierten Bildes verursacht. Hinter dem Bildkopf in der oberen Schichtcodefolge 31 befindet sich Information, die den Vorhersagemodus (Modusinformation) anzeigt, die am wichtigsten ist. Diese Modusinformation enthält einen Großbereichsvorhersagemodus und eine Bewegungsvektorinformation und eine Kleinbereichsvorhersagemodusinformation.
  • Hinter der Codefolge der Vorhersagemodusinformation befindet sich die DC- Komponente der DCT-Koeffizienteninformation (Intra-DC) in dem Bereich, für den der Intraframe-Vorhersagemodus ausgewählt ist, also die Codefolge der DC-Komponente unter den Codefolgen, die durch Codierung mittels des variablen Längencodierers 21 der DCT-Koeffizienteninformation erhalten werden, die erhalten wird, indem das Vorhersagefehlersignal 16 durch die DCT-Schaltung 17 und den Quantisierer 19 geführt wird. Außerdem ist in einen Bereich, für den der Bewegungskompensationsvorhersagemodus ausgewählt ist, die Großbereichsbewegungsvektorinformation (Großbereich-MV) gesetzt, also die Codefolge der Bewegungsvektorinformation von den Codefolgen, die durch Codierung mittels des variablen Längencodierers 28 der Großbereichsvorhersagemodus/Bewegungsvektor- Information 26 erhalten wird, die von der Vorhersageschaltung 12 ausgegeben wird.
  • Wenn zum Beispiel die Vorhersagemodusinformation in die Codefolge eingefügt wird, kann zuerst die Großbereichsmodusinformation in die Codefolge in Einheiten eines Rahmens eingefügt werden, und dann die Großbereichsmodusinformation in diese. Alternativ können Großbereichsmodusinformation und Kleinbereichsmodusinformation, die in der Großbereichsmodusinformation enthalten ist, zusammen in die Codefolge für jeden großen Bereich eingefügt werden.
  • Andererseits ist, wie in Fig. 3B gezeigt, wird in der unteren Schichtcodefolge 32 zuerst die Kleinbereichsbewegungsvektorinformation (Kleinbereich-MV) angeordnet, also die Codefolge des Bewegungsvektors von den Codefolgen, die durch Codierung der Kleinbereichsvorhersagemodus/Bewegungsvektor-Information 27 erhalten werden, die von der Vorhersageschaltung 12 ausgegeben wird, durch den variablen Längencodierer 29. Hinter dieser Folge befinden sich die Hochfrequenzkomponenten der DCT- Koeffizienteninformation, also die Codefolge der Hochfrequenzkomponenten von den Codefolgen, die durch Codierung mittels des variablen Längencodierers 21 der DCT- Koeffizienteninformation erhalten werden, die durch Verarbeitung des Vorhersagefehlersignals 16 durch die DCT-Schaltung 17 und den Quantisierer 19 erzeugt wird.
  • Wie oben beschrieben, erfolgt die Bewegungskompensationsvorhersage hierarchisch, und die Vorhersagemodusinformation und die Großbereichsbewegungsvektorinformation werden der oberen Schichtcodefolge 31 zugewiesen, und die Kleinbereichsbewegungsvektorinformation wird der unteren Schichtcodefolge 32 zugewiesen. Selbst wenn die Kleinbereichsbewegungsvektorinformation, die in der unteren Schichtcodefolge 32 enthalten ist, aufgrund eines Fehlers im Übertragungskanal/Speichermedium verlorengeht, kann folglich die Videodecodiervorrichtung eine Bewegungskompensationsvorhersage mit geringer Genauigkeit machen, indem die Großbereichsbewegungsvektorinformation, die in der oberen Schichtcodefolge 31 enthalten ist, verwendet wird, so daß die Wahrscheinlichkeit, daß die Bildqualität des decodierten Bildes sich ernsthaft verschlechtert, reduziert werden kann.
  • Da gemäß diesem Ausführungsbeispiel selbst die Codefolgen in jeder der oberen und unteren Schichten in absteigender Reihenfolge bezüglich der Wichtigkeit angeordnet sind, hat darüber hinaus ein Fehler, der in der nicht wichtigen Information auftritt, keine nachteiligen Auswirkungen auf die wichtige Information, wodurch eine signifikante Verschlechterung der Bildqualität verhindert wird.
  • Als nächstes wird ein Ausführungsbeispiel der Videodecodiervorrichtung gemäß der Erfindung beschrieben. Fig. 4 zeigt ein Blockdiagramm einer Videodecodiervorrichtung, die zu der Videocodiervorrichtung nach Fig. 1 korrespondiert.
  • In Fig. 4 passieren die obere Schichtcodefolge 31 und die untere Schichtcodefolge 32, die von der Videocodiervorrichtung nach Fig. 1 ausgegeben werden, den Übertragungskanal/Speichermedium, und werden zu der oberen Schichtcodefolge 41 und unteren Schichtcodefolge 42, die in einen Demultiplexer 43 eingegeben werden, der dann diese Codefolgen in variable Längencodes 44 einer quantisierten DCT- Koeffizienteninformation, variable Längencodes 45 des Großbereichsvorhersagemodus und der Bewegungsvektorinformation, und einen variablen Längencode 46 des Kleinbereichsvorhersagemodus und der Bewegungsvektorinformation teilt, die wiederum jeweils an die variablen Längendecoder 47, 48 und 49 geliefert werden.
  • Der variable Längendecoder 47 unterwirft die variablen Längencodes 44 einer variablen Längendecodierung und erzeugt quantisierte DCT-Koeffizienteninformation 50. Die quantisierte DCT-Koeffizienteninformation 50 wird dann einer Invers-Quantisierung in einem Invers-Quantisierer 53 unterworfen. Das resultierende Signal wird dann einer inversen diskreten Cosinustransformation durch eine Invers-DC-Schaltung 54 unterzogen, die ein Vorhersagefehlersignal 55 erzeugt. Ein Addierer 56 addiert das Vorhersagefehlersignal 55 mit dem Vorhersagesignal 59 von der Vorhersageschaltung 57 und erzeugt ein rekonstruiertes Videosignal 61. Das rekonstruierte Videosignal 61 wird von der Videodecodiervorrichtung nach außen gegeben, und auch in einem Rahmenspeicher 58 als ein Referenzvideosignal gespeichert.
  • Andererseits unterwerfen die variablen Längendecoder 48 und 49 die variablen Längencodes 45, 46 einer variablen Längendecodierung und erzeugen eine Großbereichsvorhersagemodus- und Bewegungsvektorinformation 51 und eine Kleinbereichsvorhersagemodus- und Bewegungsvektorinformation 52. Diese Teile der Information 51 und 52 werden in die Vorhersageschaltung 57 eingegeben. Die Vorhersageschaltung 57 sagt das Videosignal von dem im Rahmenspeicher 58 gespeicherten Referenzvideosignal voraus, die Großbereichsvorhersagemodus- und Bewegungsvektorinformation 51 und die Kleinbereichsvorhersagemodus- und Bewegungsvektorinformation 52, und erzeugt ein Vorhersagesignal 59.
  • Eine Fehlerdetektionsschaltung 60 bestimmt ob ein Fehler in der oberen Schichtcodefolge 41 und der unteren Schichtcodefolge 42 vorhanden ist, basierend auf dem Zustand des Demultiplexers 43 und der variablen Längendecoder 47, 48 und 49, und liefert das Ergebnis der Bestimmung an die Vorhersageschaltung 57. Falls die Fehlerdetektionsschaltung 60 festgestellt hat, daß weder in der oberen Schichtcodefolge 41 noch in der unteren Schichtcodefolge 42 ein Fehler vorhanden ist, gibt die Vorhersageschaltung 57 das gleiche Vorhersagesignal 59 als das Vorhersagesignal 14 nach Fig. 1 basierend auf dem im Rahmenspeicher 58 gespeicherten Referenzvideosignal aus.
  • Der oben beschriebene Prozeß ist ein Prozeß zur Rekonstruktion eines Bildsignals in einer Weise, die zu der Videocodiervorrichtung nach Fig. 1 korrespondiert. Die Prozesse, die in dem Invers-Quantisierer 53, der Invers-DC-Schaltung 54, dem Addierer 56 und dem Rahmenspeicher 58 durchgeführt werden, sind im Grunde die gleichen wie diejenigen, die der Invers-Quantisierer 22, die Invers-DCT-Schaltung 23, der Addierer 24 und der Rahmenspeicher 13 nach Fig. 1 durchführen. Die variablen Längendecodierer 47, 48, 49, der Demultiplexer 43 führen die umgekehrten Prozesse durch, wie die variablen Längencodierer 21, 28, 29 und der Multiplexer 30.
  • Falls die Fehlerdetektionsschaltung 60 festgestellt hat, daß zumindest eine der oberen Schichtcodefolgen und der unteren Schichtcodefolgen einen Fehler aufweist, wird zum Beispiel ein rekonstruiertes Bild erzeugt, indem die Information verwendet wird, die wichtiger ist, statt der Information, in der der Fehler erkannt wurde.
  • (1) Falls ein Fehler in der DCT-Koeffizienteninformation in dem Block mit dem Bewegungskompensationsvorhersagemodus erkannt wird, wird das Vorhersagefehlersignal für den Block auf 0 gesetzt, und ein rekonstruiertes Videosignal 61 erzeugt, indem ein Vorhersagesignal 59 des Bewegungskompensationsvorhersagesignals, das von der korrekt decodierten Modusinformation erhalten wird, die Großbereichsbewegungsvektorinformation und die Kleinbereichsbewegungsvektorinformation verwendet werden.
  • (2) Falls ein Fehler in der Kleinbereichsbewegungsvektorinformation aufgetreten ist, wird ein rekonstruiertes Videosignal 61 auf ein Bewegungskompensationsvorhersagesignal gesetzt, das unter Verwendung der Großbereichsbewegungsvektorinformation erzeugt wird.
  • (3) Falls ein Fehler in der Großbereichsbewegungsvektorinformation aufgetreten ist, erfolgt eine Unterdrückung. Falls die Großbereichsbewegungsvektorinformation von der Bewegungsvektorinformation der umgebenden Bereiche vorhergesagt werden kann oder von dem bereits decodierten Rahmen, wird dieser vorhersagte Bewegungsvektor verwendet. Im übrigen wird das Bildsignal des bereits decodierten Rahmens direkt als ein rekonstruiertes Videosignal 61 verwendet.
  • (4) Falls ein Fehler in den AC-Komponenten der DCT-Koeffizienteninformation in dem Block, für den der Intraframe-Vorhersagemodus ausgewählt ist, auftritt, wird ein Bildsignal für den Block aus der DC-Komponente der DCT-Koeffizienteninformation vorhergesagt, und das korrekt decodierten Bildsignal in den umgebenden Blöcken, oder ein Bildsignal für den Block wird aus dem Bildsignal des bereits decodierten Rahmens vorhergesagt.
  • Wenn variable Längencodes verwendet werden, kann ein Fehler einen Synchronisationsfehler mit sich bringen und eine nachteilige Wirkung auf nachfolgende Codes haben, bis eine erneute Synchronisierung durch Detektion eines Synchronisierungscodes erfolgt. Sollte dies passieren, dann werden die nachfolgenden Codes nicht beim Decodieren verwendet. Wenn zum Beispiel ein Fehler in der Kleinbereichsbewegungsvektorinformation in der unteren Schichtcodefolge 42 aufgetreten ist, kann der Fehler über die Bewegungsvektorinformation auf die dem kleinen Bereich folgende und dahinterliegende DCT-Koeffizienteninformation gestreut werden. In einem derartigen Fall werden Informationsteile, über die der Fehler gestreut worden ist, nicht zur Decodierung verwendet. Selbst wenn ein derartiger Synchronisationsfehler stattgefunden hat, wirkt sich ein Fehler in der weniger wichtigeren Information nicht nachteilig auf die Information mit großer Wichtigkeit aus, da die Codes in absteigender Reihenfolge bezüglich ihrer Wichtigkeit in einer Codefolge angeordnet sind, so daß eine ernsthafte Verschlechterung des rekonstruierten Bildes verhindert werden kann.
  • Im folgenden werden konkrete Verfahren zum Erfassen eines Fehlers in der Codefolge 41 oder 42 durch die Fehlerdetektionsschaltung 60 genannt.
  • Ein erstes Verfahren besteht darin, Fehlerdetektionscodes zu verwenden, wie etwa Paritätsprüfcodes oder CRC-Codes. In diesem Fall werden die variablen Längencodes einer Fehlerdetektionscodierung durch den Multiplexer 30 in der Videocodiervorrichtung nach Fig. 1 unterzogen, und ein Fehlerdetektionsprozeß wird beim Demultiplexer 43 in der Videodecodiervorrichtung nach Fig. 4 durchgeführt. Das Detektionsergebnis wird an die Fehlerdetektionsschaltung 60 geliefert.
  • Ein zweites Verfahren besteht darin, daß, wenn ein Codewort, das nicht in der Codeworttabelle existiert, detektiert worden ist, das Codewort als fehlerhaft bestimmt wird. Wenn variable Längencodes verwendet werden, kann ein Fehler nicht nur über den Bereich gestreut werden, wo der Fehler detektiert worden ist, sondern auch auf Codefolgen vor und nach dem Bereich. Folglich wird der Fehlerdetektionsprozeß für alle Codewörter durchgeführt.
  • Ein drittes Verfahren besteht darin, einen Fehler zu bestimmen, je nach dem ob die Bewegungsvektorinformation, das Vorhersagesignal, die DCT-Koeffizienteninformation, das Vorhersagefehlersignal und das rekonstruierte Videosignal Signale sind, die beim Codieren des bewegten Bildes unmöglich auftreten können. Da die Erfindung dadurch gekennzeichnet ist, daß das dritte Verfahren verwendet wird, erfolgt eine detaillierte Erklärung.
  • Wenn zum Beispiel der Bewegungsvektor, der in der Bewegungsvektorinformation vorliegt, den zuvor festgelegten Suchbereich überschreitet oder aus dem Schirm herausläuft, wird festgelegt, daß er fehlerhaft ist.
  • Außerdem kann ein Fehler detektiert werden, indem die DCT-Koeffizienteninformation bestimmt wird, die beim Invers-Quantisierer 53 einer Invers-Quantisierung unterzogen wird. Falls der Pixelwert des Eingangsbildsignals 11 im Bereich von 0 bis D - 1 liegt, und die DCT-Blockgröße N · N ist, nimmt der DCT-Koeffizient einen Wert im folgenden Bereich an:
  • (Intraframe-Vorhersagemodus)
  • DC-Komponente: 0 bis N · D
  • AC-Komponente: -(N/2 · D) bis (N/2 · D)
  • (Interframe-Vorhersagemodus)
  • -(N/2 · D) bis (N/2 · D)
  • Wenn der decodierte DCT-Koeffizient einen Wert außerhalb des Bereichs annimmt, wird dies als Fehler angesehen. In diesem Fall sollten alle oder ein Teil der DCT-Koeffizienten für den Block, in dem ein Fehler detektiert worden ist, auf 0 festgelegt werden, oder der decodierte Wert sollte von den decodierten Werten der umgebenden Blöcke geschätzt werden.
  • Darüber hinaus kann ein Fehler detektiert werden, indem der Pixelwert des rekonstruierten Videosignals 61 verwendet wird. Falls der Pixelwert des Eingangsbildsignals 11 innerhalb des Bereichs von 0 bis D - 1 liegt, die DCT-Blockgröße gleich N · N und die Quantisierungsschrittgröße gleich Q ist (im Falle einer linearen Quantisierung), ist der Bereich, in dem der Pixelwert des rekonstruierten Videosignals 61 liegen kann, gleich:
  • - N · Q bis D + N · Q
  • Wenn der Pixelwert des rekonstruierten Videosignals 61 den Bereich überschritten hat, wird er als fehlerhaft bestimmt. In diesem Fall sollte zum Beispiel das rekonstruierte Videosignal 61 erhalten werden, indem das Vorhersagefehlersignal 55 auf 0 gesetzt wird im Interframe-Vorhersagemodus (Bewegungskompensationsvorhersagemodus), und ein Teil der DCT-Koeffizienten, die in die Invers-DCT-Schaltung 54 eingegeben werden, auf 0 gesetzt wird im Intraframe-Vorhersagemodus, oder indem das rekonstruierte Videosignal aus den Pixelwerten der umgebenden Blöcke des rekonstruierten Videosignals 61 geschätzt wird.
  • Durch zusätzliche Bestimmung, ob die decodierte Information oder das Signal Information ist oder ein Signal, das unmöglich bei der Codierung auftreten kann, bei der Fehlerbestimmung in der Fehlerdetektionsschaltung 60 in der Videodecodiervorrichtung gemäß der Erfindung, wie oben beschrieben, kann eine genauere Fehlerdetektion erfolgen. Dies hilft dabei, eine Verschlechterung der Qualität des rekonstruierten Bildes zu verhindern, die als Folge der Verwendung der fehlerhaften Information oder des Signals direkt zur Rekonstruktion der Videosignale ohne Korrektur der fehlerhaften Information oder des Signals durch einen Fehlerprozeß auftreten würde.
  • Die Erfindung kann in anderen Formen praktiziert oder ausgeführt werden, ohne den Schutzbereich der Erfindung oder deren wesentlichen Charakter zu verlassen. Während gemäß diesem Ausführungsbeispiel zum Beispiel die Codefolgen, die von der Videocodiervorrichtung ausgegeben werden, in zwei Schichten unterteilt werden, können sie auch in drei oder mehr Schichten unterteilt werden. Zum Beispiel können der Rahmensynchronisationscode (PSC), der Bildkopf und die Modusinformation der ersten Schicht zugewiesen werden, die DC-Komponente der DCT-Koeffizienteninformation im Intraframe-Vorhersagemodus (Intra-DC) und die Großbereichsbewegungsvektorinformation können der zweiten Schicht zugewiesen werden, die Kleinbereichsbewegungsvektorinformation kann der dritten Schicht zugewiesen werden, und die DCT-Koeffizienteninformation abgesehen von der DCT- Koeffizienteninformation, die der anderen Schicht zugewiesen ist, kann der vierten Schicht zugewiesen werden. Die DCT-Koeffizienten können ferner in verschiedene Schichten unterteilt werden, wie etwa für die Tieffrequenzbandkomponenten und die Hochfrequenzbandkomponenten.
  • Wenn für die Codierung der Bewegungsvektorinformation, wie zuvor beschrieben, eine feste Längencodierung und eine variable Längencodierung für die Differenzbewegungsvektorinformation verwendet wird, wird die feste Längencodierung, die keine negativen Auswirkungen auf nachfolgende Codefolgen aufgrund von Synchronisationsfehlern aufweist, bei der Codierung der Großbereichsbewegungsvektorinformation verwendet, und zuerst in jedem Rahmen oder spezifischen Bereichseinheit plaziert, gefolgt von der mit variabler Länge codierten Bewegungsvektorinformation. Selbst wenn ein Fehler in dem mit variabler Länge codierten Abschnitt einen Synchronisationsfehler verursacht hat, hat dieser Fehler keine negative Auswirkung auf die mit fester Länge codierte Bewegungsvektorinformation. Dies ermöglicht ein Schätzen des Bewegungsvektors, in dem ein Fehler aufgetreten ist, von der mit fester Länge codierten Bewegungsvektorinformation, und Erzeugen eines Vorhersagesignals mit geringer Genauigkeit, so daß die Verschlechterung der Bildqualität des rekonstruierten Bildes aufgrund eines Fehlers reduziert werden kann.
  • Das Verfahren zur Bestimmung, ob die Information, die in der Videodecodiervorrichtung nach Fig. 4 rekonstruiert wurde, Information ist, die unmöglich in codierten Bewegungsbildern auftreten kann, wird nicht nur für die geschichteten Codefolgen angewendet, sondern auch für eine Videodecodiervorrichtung, die das Originalbildsignal aus den Codefolgen decodiert, die von einer herkömmlichen Videocodiervorrichtung erhalten werden.
  • Unter Bezugnahme auf Fig. 5 wird ein zweites Ausführungsbeispiel der Erfindung beschrieben. Da die adaptive Bewegungskompensationsvorhersage und die diskrete Cosinustransformations-Codierung gemäß diesem Ausführungsbeispiel gleich sind wie bei dem oben genannten Ausführungsbeispiel, erfolgt keine Erklärung.
  • In Fig. 5 wird zuerst ein eingegebenes Videosignal 121 bei der Vorhersage in der adaptiven Bewegungskompensationsvorhersageschaltung 101 verwendet. Die adaptive Bewegungskompensationsvorhersageschaltung 101 erfaßt den Bewegungsvektor zwischen einem Videosignal 121 und einem lokal decodierten Bildsignal 125 des lokal decodierten Rahmens, der von einem Rahmenspeicher 102 ausgegeben wird, und erzeugt basierend auf dem Bewegungsvektor ein Bewegungskompensationsvorhersagesignal. Die adaptive Bewegungskompensationsvorhersageschaltung 101 hat einen Bewegungskompensationsvorhersagemodus (Interframe-Vorhersagemodus) und einen Intraframe-Vorhersagemodus, in dem das Videosignal 101 direkt codiert wird, und wählt von diesen Modi den optimalen aus und gibt ein Vorhersagesignal 122 korrespondierend zu jedem Modus aus. Die adaptive Bewegungskompensationsvorhersageschaltung 101 gibt als Vorhersagesignal 122 im Bewegungskompensationsvorhersagemodus ein Bewegungskompensationsvorhersagesignal aus, und "0" im Intraframe- Vorhersagemodus. Die adaptive Bewegungskompensationsvorhersageschaltung 101 gibt als Bewegungsinformation 126 auch den Bewegungsvektorindex aus, der die vektorquantisierte Bewegungsvektorinformation anzeigt, die bei der Bewegungskompensationsvorhersage verwendet wird.
  • Ein Subtrahierer 103 erzeugt ein Vorhersagefehlersignal 123, indem das Vorhersagesignal 122 von dem Videosignal 121 subtrahiert wird. Eine diskrete Cosinustransformations (DCT)-Schaltung 104 unterwirft das Vorhersagefehlersignal 123 der diskreten Cosinustransformation in Blöcken einer festen Größe, und erzeugt DCT- Koeffizienteninformation. Die DCT-Koeffizienteninformation wird im Quantisierer 105 quantisiert. Da im Intraframe-Vorhersagemodus das Vorhersagesignal 122 gleich "0" ist, gibt der Subtrahierer 103 das Videosignal 121 direkt als Vorhersagefehlersignal 123 aus.
  • Die am Quantisierer 105 quantisierte DCT-Koeffizienteninformation wird in zwei Informationsteile verzweigt; ein Informationsteil wird einer variablen Längencodierung durch einen variablen Längencodierer 106 unterzogen und der andere Informationsteil wird durch den Invers-Quantisierer 107 der inversen Quantisierung unterworfen. Das Ausgangssignal des Invers-Quantisierers 107 wird in einer inversen diskreten Cosinustransformations (Invers-DCT)-Schaltung 108 einer inversen diskreten Cosinustransformation unterzogen. Folglich führen der Invers-Quantisierer 107 und die Invers-DCT-Schaltung 108 die entgegengesetzte Verarbeitung durch wie der Quantisierer 105 und die DCT-Schaltung 104, und die Invers-DCT-Schaltung 108 erzeugt ein Signal, das etwa gleich dem Vorhersagefehlersignal 123 am Ausgang ist.
  • Das Ausgangssignal der Invers-DCT-Schaltung 108 wird zum Vorhersagesignal 122 von der adaptiven Bewegungskompensationsvorhersageschaltung 101 in einem Addierer 109 hinzuaddiert, der dann ein lokal decodiertes Bildsignal erzeugt. Das lokal decodierte Bildsignal wird im Rahmenspeicher 102 gespeichert.
  • Das codierte Vorhersagefehlersignal (variable Längencodes von DCT- Koeffizienteninformation) 124, das von dem variablen Längencodierer 106 ausgegeben wird, und die Bewegungsinformation (Bewegungsvektorindex), der von der adaptiven Bewegungskompensationsvorhersageschaltung 101 ausgegeben wird, werden in einem Multiplexer 110 multigeplext, und als Ausgangscodefolge 127 an einen Übertragungskanal/Speichermedium (nicht gezeigt) ausgegeben.
  • Als nächstes wird die adaptive Bewegungskompensationsvorhersageschaltung 101 erklärt, die für die Erfindung charakteristisch ist. Die adaptive Bewegungskompensationsvorhersageschaltung 101 erhält einen Bewegungsvektor durch Vektorquantisierung, und führt eine Bewegungskompensationsvorhersage durch, indem der vektorquantisierte Bewegungsvektor verwendet wird.
  • Die in Fig. 6 gezeigte adaptive Bewegungskompensationsvorhersageschaltung 101 enthält eine Vorhersageschaltung 201, einen Fehlerrechner 202, eine Steuerung 203 und ein Codebuch 204. Das Codebuch 204 speichert vektorquantisierte Bewegungsvektorkandidaten in der Form von Codevektoren.
  • Die Vorhersageschaltung 201 erzeugt ein Vorhersagesignal 122, das zu dem Codevektor 213 korrespondiert, der aus dem Codebuch 204 basierend auf dem lokal codierten Bildsignal 125 des lokal decodierten Rahmens aus dem Rahmenspeicher nach Fig. 5 genommen wird, also ein Signal, das erhalten wird, indem die Bewegungskompensationsvorhersage für das lokal decodierte Bildsignal 125, unter Verwendung des Bewegungsvektors, der zu dem Codevektor 213 korrespondiert, durchgeführt wird.
  • Der Fehlerrechner 202 berechnet die Größe der Differenz (Fehler) zwischen dem Videosignal 121 und dem Vorhersagesignal 122 und erzeugt ein Fehlerpegelsignal 211, das die Größe anzeigt. Die Größe des Fehlers kann zum Beispiel durch die absolute Summe oder die Quadratsumme der Fehler bestimmt werden, oder durch die Quadratfehlersumme mit den gewichteten Tieffrequenzbandkomponenten.
  • Die Steuerung 203 gibt einen Codebuchindex 212, der einen Codevektor spezifiziert, an das Codebuch 204 und nimmt dabei einen Codevektor 213, der die Größe des Fehlers minimiert, der durch das Fehlerpegelsignal 211 gegeben ist, aus dem Codebuch 204 heraus und liefert ihn an die Vorhersageschaltung 201. Die Steuerung 203 wandelt den Codebuchindex 212 in einen festen Längencode, um einen Bewegungsvektorindex zu erzeugen und gibt diesen als Bewegungsinformation 126 an den Multiplexer 110 nach Fig. 5.
  • Als nächstes wird eine Videodecodiervorrichtung gemäß dem gegenwärtigen Ausführungsbeispiel erklärt. Fig. 7 zeigt ein Blockdiagramm einer ersten Videodecodiervorrichtung, die zu der Videocodiervorrichtung nach Fig. 5 korrespondiert.
  • In Fig. 7 wird der Ausgangsbitstrom 127, der von der Videocodiervorrichtung nach Fig. 5 gesendet wird, auf einem Übertragungskanal übertragen oder in einem Speichermedium gespeichert und zu einem Eingangsbitstrom 321. Der Eingangsbitstrom wird an einen Demultiplexer 310 geliefert, der die Folge in ein codiertes Vorhersagefehlersignal (ein variabler Längencode von quantisierter DCT- Koeffizienteninformation) 322 und in Bewegungsinformation (Bewegungsvektorindex) 323 trennt. Ein variabler Längendecodierer 306, ein Invers-Quantisierer 307 und eine Invers-DCT-Schaltung 308 unterwerfen das codierte Vorhersagefehlersignal 322 den entgegengesetzten Verarbeitungen wie in dem variablen Längencodierer 106, dem Quantisierer 105 und der DCT-Schaltung 104 nach Fig. 1 und erzeugen ein Vorhersagefehlersignal 324.
  • Ein Addierer 309 addiert das Vorhersagefehlersignal 324 mit dem Vorhersagefehlersignal 326 von der adaptiven Bewegungskompensationsvorhersageschaltung 301 und erzeugt ein rekonstruiertes Videosignal 327. Das rekonstruierte Videosignal 327 wird von der Videodecodiervorrichtung nach außen gegeben, und in einem Rahmenspeicher 302 gespeichert.
  • Die Bewegungsinformation 323 wird in die adaptive Bewegungskompensationsvorhersageschaltung 301 eingegeben. Die adaptive Bewegungskompensationsvorhersageschaltung 301 führt eine Bewegungskompensationsvorhersage durch, indem die Bewegungsinformation 323 verwendet wird, auf der Basis des rekonstruierten Videosignals 325 des vorangegangenen Rahmens, der von dem Rahmenspeicher 302 ausgegeben wird, und gibt ein Vorhersagesignal 326 aus.
  • Fig. 8 zeigt ein Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung 301 nach Fig. 7, die einen Vorhersageabschnitt 401 und ein Codebuch 402 enthält. Das Codebuch 402 hat die gleiche Struktur wie das Codebuch 204 nach Fig. 6 und speichert vektorquantisierte Bewegungsvektorkandidaten in der Form von Codevektoren. Aus dem Codebuch 402 wird ein Codevektor 410, der zu der Bewegungsinformation (Bewegungsvektorindex) 323 korrespondiert, die die vektorquantisierte Bewegungsinformation ist, herausgenommen.
  • Der Vorhersageabschnitt 401 erzeugt ein Vorhersagesignal 326, das zu dem Codevektor 410 vom Codebuch 402 auf der Basis des rekonstruierten Videosignals des codierten Rahmens, wie in Fig. 7 gezeigt, korrespondiert, also ein Signal, das erhalten wird, indem die Bewegungskompensationsvorhersage des rekonstruierten Videosignals 325 des codierten Rahmens durchgeführt wird, unter Verwendung des Bewegungsvektors, der dem Codevektor 410 entspricht.
  • Wie oben beschrieben, führt die Videocodier/-decodier-Vorrichtung gemäß dem zweiten Ausführungsbeispiel eine Bewegungskompensationsvorhersage durch, indem die vektorquantisierte Bewegungsinformation verwendet wird. Da die Bewegungsinformation 126 durch einen Codebuchindex ausgedrückt werden kann, der einen Codevektor in dem Codebuch 204 spezifiziert, ist es möglich, eine effiziente Bewegungskompensationsvorhersage durchzuführen, während die Bewegungsinformationsmenge reduziert wird.
  • Darüber hinaus hat eine derartige vektorquantisierte Bewegungsinformation eine kleinere Auftrittsfehlerwahrscheinlichkeit als nicht quantisierte Bewegungsvektorinformation, so daß die feste Längencodierung der vektorquantisierten Bewegungsinformation in der Steuerung 203, wie oben erklärt, eine Codierung der Bewegungsinformation mit einer relativ hohen Codiereffizienz ermöglicht. Die Verwendung einer festen Längencodierung eliminiert das Problem, daß eine Fehlerstreuung über einen breiten Bereich aufgrund eines Synchronisationsfehlers erfolgt, wie bei einer Codierung variabler Länge, wenn ein Fehler in eine Übertragungsleitung oder ein Speichermedium eingebracht wird.
  • Gemäß diesem Ausführungsbeispiel ist es entsprechend möglich, eine hervorragende Fehlerwiderstandsfähigkeit zu erreichen, während eine hocheffiziente Codierung beibehalten wird.
  • Fig. 9 zeigt eine Videocodiervorrichtung gemäß einem dritten Ausführungsbeispiel der Erfindung. Die gleichen Teile wie in Fig. 5 sind mit den gleichen Referenzsymbolen gekennzeichnet, und eine Erläuterung konzentriert sich auf den Unterschied zum zweiten Ausführungsbeispiel. Das dritte Ausführungsbeispiel unterscheidet sich von dem zweiten Ausführungsbeispiel im Aufbau der adaptiven Bewegungskompensationsvorhersageschaltung 101. Speziell wird im dritten Ausführungsbeispiel ein weiterer variabler Längencodierer 111 hinzugefügt.
  • In der adaptiven Bewegungskompensationsvorhersageschaltung 101 gemäß diesem Ausführungsbeispiel werden die Bewegungsvektoren in zwei Ebenen unterteilt, repräsentative Großbereichsbewegungsvektoren, die eine Bewegung in großen Bereichen anzeigen, und Kleinbereichsbewegungsvektoren, die eine Bewegung in kleinen Bereichen anzeigen, die durch Unterteilung der großen Bereiche erhalten werden, und das Suchen erfolgt in diesen zwei Ebenen. Die repräsentativen Großbereichsbewegungsvektoren werden mittels eines weit verbreiteten herkömmlichen Verfahrens gesucht, wie etwa das Blockübereinstimmungsverfahren. Die erhaltene Bewegungsvektorinformation wird einer variablen Längencodierung unterzogen, und die erhaltene Information wird ausgegeben. Andererseits werden für die Kleinbereichsbewegungsvektoren die Differenzbewegungsvektoren, die basierend auf der Differenz zwischen den repräsentativen Großbereichsbewegungsvektoren und den Kleinbereichsbewegungsvektoren erhalten werden, durch Vektorquantisierung codiert.
  • Der Grund warum die Bewegungskompensationsvorhersage in hierarchischer Weise erfolgt liegt darin, daß die Vektorquantisierung mit einer hohen Codierungseffizient erfolgt, da die Differenzbewegungsvektoren, die auf der Differenz zwischen den repräsentativen Großbereichsbewegungsvektoren und den Kleinbereichsbewegungsvektoren basieren, im allgemeinen mit einer hohen Wahrscheinlichkeit, in der Umgebung der Differenz 0 verteilt sind, verglichen mit den Bewegungsvektoren, für die die Differenz nicht berechnet wird. Durch Kombination derartiger repräsentativer Großbereichsbewegungsvektoren und der Vektorquantisierung der Differenzbewegungsvektoren, die auf der Differenz zwischen den repräsentativen Großbereichsbewegungsvektoren und Kleinbereichsbewegungsvektoren basieren, ist es möglich, eine größere Fehlerwiderstandsfähigkeit zu erreichen, während fast die gleiche Codierungseffizienz wie bei einem herkömmlichen Codierungsverfahren beibehalten wird, bei dem die gesamte Bewegungsvektorinformation einer variablen Längencodierung unterzogen wird.
  • Fig. 10 zeigt ein Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung 101 gemäß dem gegenwärtigen Ausführungsbeispiel. Die adaptive Bewegungskompensationsvorhersageschaltung enthält eine erste Vorhersageschaltung 221, einen ersten Fehlerrechner 222, eine erste Steuerung 223, eine zweite Vorhersageschaltung 224, einen zweiten Fehlerrechner 225, eine zweite Steuerung 226, ein Codebuch 227 und einen Addierer 228. Die erste Vorhersageschaltung 221, der erste Fehlerrechner 222 und die erste Steuerung 223 sind für eine Bewegungskompensationsvorhersage bereitgestellt, indem repräsentative Großbereichsbewegungsvektoren verwendet werden.
  • Andererseits sind die zweite Vorhersageschaltung 224, der zweite Fehlerrechner 225 und die zweite Steuerung 226, das Codebuch 227 und der Addierer 228 für eine Bewegungskompensationsvorhersage unter Verwendung der Bewegungsvektoren bereitgestellt, die durch Vektorquantisierung der Differenzbewegungsvektoren erhalten werden, die auf der Differenz zwischen den repräsentativen Großbereichsbewegungsvektoren und den Kleinbereichsbewegungsvektoren basieren. Das Codebuch 227 speichert die Kandidaten der Differenzbewegungsvektoren, die auf der Differenz der Großbereichsbewegungsvektoren und der Kleinbereichsbewegungsvektoren basieren, in der Form von Codevektoren.
  • Fig. 11A dient zur Erklärung der Operation der Bewegungskompensationsvorhersage in einem Rahmen gemäß dem dritten Ausführungsbeispiel. Zuerst wird das innere des Rahmens in große Bereiche geteilt, die mit durchgezogene Linien angedeutet sind, und die repräsentativen Großbereichsbewegungsvektoren, die durch die Pfeile mit durchgezogener Linie angedeutet sind, werden durch Verwendung des Blockübereinstimmungsverfahrens erhalten. Speziell erzeugt die erste Steuerung 223 nacheinander erste Bewegungsvektoren 233, jeweils um ein Pixel voneinander verschoben, in horizontaler und vertikaler Richtung in einem spezifischen Bereich (zum Beispiel im Bereich von ± 15 Pixel in horizontaler und vertikaler Richtung). Die erste Vorhersageschaltung 221 erzeugt ein erstes Vorhersagesignal 231, das zu dem ersten Bewegungsvektor 233 korrespondiert, auf der Basis des lokal decodierten Bildsignals vom Rahmenspeicher 102 nach Fig. 9. Der erste Fehlerrechner 222 berechnet dann die Größe der Differenz (Fehler) zwischen dem Eingangsbildsignal 121 in einem großen Bereich und dem ersten Fehlervorhersagesignal, und erzeugt ein Fehlerpegelsignal 232, das die Größe anzeigt. Die Fehlergröße kann bestimmt werden, indem zum Beispiel die absolute Summe oder die Quadratsumme der Fehler verwendet wird, oder durch Verwendung der Quadratfehlersumme mit den gewichteten Tieffrequenzbandkomponenten.
  • Die erste Steuerung 223 erhält einen repräsentativen Großbereichsbewegungsvektor 128, für den die Größe des Fehlers, der durch das Fehlerpegelsignal 232 gegeben ist, minimal wird, und gibt diesen aus. Der variable Längencodierer 111 nach Fig. 9 berechnet die Differenz zwischen dem repräsentativen Großbereichsbewegungsvektor 128 und den benachbarten repräsentativen Großbereichsbewegungsvektoren, und unterwirft die Differenz einer Codierung variabler Länge.
  • Dann werden die Kleinbereichsbewegungsvektoren, die in Fig. 11A durch gestrichelte Pfeile in den kleinen Regionen, wie durch gestrichelte Linien gezeigt, dargestellt sind, die durch Unterteilung der großen Regionen erhalten werden, durch Vektorquantisierung als Differenz von den repräsentativen Großbereichsbewegungsvektoren berechnet. Da der Zweck der Vektorquantisierung der ist, die effizienteste Bewegungskompensationsvorhersage zu treffen, erfolgt die Auswahl eines Differenzbewegungsvektors vom Codebuch 227 auf der Basis der Größe eines Fehlers in der Bewegungskompensationsvorhersage und nicht auf der Basis einer direkten Quadratfehlersumme der Eingangsvektoren und der Codevektoren, wie üblicherweise bei der Vektorquantisierung. Im folgenden wird die Operation erklärt.
  • Das Codebuch 227 speichert die Kandidaten der Differenzbewegungsvektoren, die auf den repräsentativen Großbereichsbewegungsvektoren und den Kleinbereichsbewegungsvektoren basieren, in der Form von Codevektoren. Die zweite Steuerung 226 ändert nacheinander die Codebuchindizes 235 und nimmt einen Differenzbewegungsvektor 236, der zu dem Codebuchindex 235 korrespondiert, aus dem Codebuch 227 heraus. Der Addierer 228 addiert den repräsentativen Großbereichsbewegungsvektor 128 zum Differenzbewegungsvektor 236, um einen Kleinbereichsbewegungsvektorkandidaten 237 zu erhalten. Die zweite Vorhersageschaltung 224 erhält ein Vorhersagesignal 122, das zu dem Kleinbereichsbewegungsvektorkandidaten 237 korrespondiert, auf der Basis des lokal decodierten Bildsignals 125 vom Rahmenspeicher 102 nach Fig. 9. Außerdem berechnet der zweite Fehlerrechner 225 die Größe der Differenz (Fehler) zwischen dem Videosignal 121 und dem Vorhersagesignal 122, und gibt ein Fehlerpegelsignal 234, das die Größe anzeigt, aus.
  • Die zweite Steuerung 226 erhält als Kleinbereichsbewegungsvektorindex einen Codebuchindex, für den die Größe des Fehlers, der durch das Fehlerpegelsignal 234 gegeben ist, minimal wird, unterwirft den Kleinbereichsbewegungsvektorindex einer festen Längencodierung, um einen Kleinbereichsbewegungsvektor 129 zu erzeugen und gibt ein Vorhersagesignal, das zu dem Kleinbereichsbewegungsvektor korrespondiert, aus.
  • Wie in Fig. 9 gezeigt, werden das codierte Vorhersagefehlersignal 124 vom variablen Längencodierer 106, der codierte Großbereichsbewegungsvektor 130 vom variablen Längencodierer 111, und der codierte Kleinbereichsbewegungsvektor 129 von der adaptiven Bewegungskompensationsvorhersageschaltung 106 im Multiplexer 110 multigeplext, und die sich ergebende Codefolge wird als Ausgangsbitstrom 127 an den Übertragungskanal/Speichermedium (nicht gezeigt) gesendet.
  • Der Multiplexer 110 ordnet die Bewegungsvektoren in einer hierarchischen Weise, in Übereinstimmung mit der Wichtigkeit, die zum Grad der Bildqualitätsverschlechterung des decodierten Bildsignals aufgrund eines Fehlers in der Übertragung/Speicherung korrespondiert, und führt verschiedene Ebenen des Fehlerschutzes durch. Ein Verfahren zum Ändern der Ebene des Fehlerschutzes ist zum Beispiel die Verwendung von unterschiedlichen Fehlerkorrektur/-detektions-Codes für jede Ebene, und die Durchführung des Fehlerschutzes in einer Art, bei der ein größeres Korrektur-/detektions- Vermögen für eine obere Schicht mit größerer Wichtigkeit verwendet wird. Wenn eine Übertragung und Speicherung über Übertragungskanäle/Speichermedien mit unterschiedlichen Fehlerraten erfolgt, wird eine obere Schicht mit größerer Wichtigkeit übertragen und über ein Übertragungs-/Speichermedium mit einer geringeren Fehlerrate gespeichert, um die Wahrscheinlichkeit des Auftretens eines Fehlers in der oberen Schichtcodefolge zu minimieren. Der Codiermodus und die Quantisierungsschrittgröße, deren Fehler die größte Auswirkung hat, werden der oberen Schicht mit der höchsten Ebene zugewiesen, und die intraframecodierten Tieffrequenzkomponenten werden der oberen Schicht mit zweithöchster Ebene zugewiesen.
  • Da ein Fehler im repräsentativen Großbereichsbewegungsvektor 128 über einen breiten Bereich nachteilige Auswirkungen hat, wird er der oberen Schicht drittgrößter Ebene zugewiesen. Wenn der variable Längencodierer 111 den repräsentativen Großbereichsbewegungsvektor 128 einer variablen Längencodierung unterwirft, indem die Differenz zwischen dem repräsentativen Großbereichsbewegungsvektor und den benachbarten repräsentativen Großbereichsbewegungsvektoren berechnet wird, ist es wünschenswert, daß ein starker Schutz vor Fehlern vorgesehen wird, da ein Synchronisationsfehler eines variablen Längencodes einen Fehler erlaubt, der sich über den gesamten Schirm verteilt.
  • Da der vektorquantisierte Kleinbereichsbewegungsvektor 129 einen mit fester Länge codierten Index aufweist, hat er eine größere Fehlerwiderstandsfähigkeit als der mit variabler Länge codierte repräsentative Großbereichsbewegungsvektor 130. Wie später beschrieben wird, ist es möglich, die Indizes neu anzuordnen, oder dem Codebuch zu lernen, daß die Größe des Fehlers minimiert werden kann. Folglich wird angenommen, daß die Kleinbereichsbewegungsvektorindizes einer unteren Schicht einer unteren Ebene zugewiesen werden, im Gegensatz zu den repräsentativen Bewegungsvektoren.
  • Die Fehlersignale, deren Verlust eine geringe Verschlechterung der Bildqualität oder der Hochfrequenzbandkomponenten bei der Intraframecodierung verursachen, werden der unteren Schicht der untersten Ebene zugewiesen. Diese Schicht kann nur mit einem Fehlerdetektionscode versehen sein, der bei der Fehlerdetektion verwendet wird, wie etwa CRC oder ein Paritätsprüfbit. Außerdem kann die Schicht weiter in Unterschichten gemäß einer orthogonalen Transformationsfolge unterteilt werden, wie etwa die relativ wichtigen Tieffrequenzbandkomponenten und die weniger wichtigen Hochfrequenzbandkomponenten, in Ausdrücken der subjektiven Qualität des rekonstruierten Bildes.
  • Wenn zum Beispiel bestimmt wird, daß die Typen des Übertragungskanals/Speichermediums, die unterschiedliche Fehlerraten aufweisen, zwei Schichten oder drei Schichten aufweisen, wenn das Verhältnis des Anteils der Codes in jeder Schicht zur Gesamtmenge der Codes auf einen spezifischen Bereich beschränkt ist, wenn nicht so viele Typen von Fehlerkorrektur und Detektionscodes verwendet werden können, da die Hardware Grenzen setzt, kann der Typ des Codeworts, der in der jeweiligen Schicht verwendet werden sollte, geeignet bestimmt werden. Wenn zum Beispiel die Anzahl der Schichten zwei ist, und eine Grenze für den Anteil der Codes in der oberen Schicht vorhanden ist, werden die wichtigste Modusinformation, die Tieffrequenzbandkomponenten bei der Intraframecodierung, und die repräsentativen Bewegungsvektoren in der oberen Schicht codiert.
  • Die vektorquantisierten Kleinbereichsdifferenzbewegungsvektoren, die Hochfrequenzbandkomponenten bei der Intraframecodierung, und das Vorhersagefehlersignal werden in der oberen Schicht codiert, wenn im Codeanteil in der oberen Schicht noch Platz ist, und in der unteren Schicht, wenn kein Platz mehr ist. In diesem Fall, da die Differenzvektoren wichtiger sind, werden diese in der oberen Schicht mit Vorrang vor den anderen codiert.
  • Während in dem Beispiel nach Fig. 11A ein einzelner großer Bereich in vier kleine Bereiche unterteilt ist, ermöglicht eine Steuerung der Größe eines großen Bereichs und der Rate der Unterteilung in kleine Bereiche eine sehr viel feinere Steuerung für den Anteil der Information.
  • Als nächstes wird eine Videodecodiervorrichtung gemäß dem gegenwärtigen Ausführungsbeispiel erklärt. Fig. 12 zeigt ein Blockdiagramm einer zweiten Videodecodiervorrichtung, die zu der Videocodiervorrichtung gemäß dem dritten Ausführungsbeispiel nach Fig. 9 korrespondiert.
  • In Fig. 12 wird der Ausgangsbitstrom 127, der von der Videocodiervorrichtung nach Fig. 9 gesendet wird, über einen Übertragungskanal gesendet oder in einem Speichermedium gespeichert und zu einem Eingangsbitstrom 321. Die Eingangscodefolge wird an einen Demultiplexer 310 geliefert, der die Folge in ein codiertes Vorhersagefehlersignal (ein variabler Längencode quantisierter DCT- Koeffizienteninformation) 322, einen mit variabler Länge codierten repräsentativen Großbereichsbewegungsvektor 328 und einen mit fester Länge codierten Kleinbereichsbewegungsvektor 329 trennt. Ein variabler Längendecoder 306, ein Invers- Quantisierer 307 und eine Invers-DCT-Schaltung 308 unterwerfen das codierte Vorhersagefehlersignal 322 den entgegengesetzten Prozessen des variablen Längencodierers 106, des Quantisierers 105 und der DCT-Schaltung 104, die in Fig. 9 gezeigt sind, und ein Vorhersagefehlersignal 324 wird erzeugt.
  • Ein Addierer 309 addiert das Vorhersagefehlersignal 324 zu dem Vorhersagefehlersignal 326 von der adaptiven Bewegungskompensationsvorhersageschaltung 301 und erzeugt ein rekonstruiertes Videosignal 327. Das rekonstruierte Videosignal 327 wird von der Videodecodiervorrichtung nach außen gegeben und in einem Rahmenspeicher 302 gespeichert.
  • Andererseits wird der mit variabler Länge codierte repräsentative Großbereichsbewegungsvektor 328 im variablen Längendecodierer 311 decodiert. Der decodierte einen großen Bereich repräsentierende Bewegungsvektor 330 zusammen mit dem Kleinbereichsbewegungsvektor 329 wird in die adaptive Bewegungskompensationsvorhersageschaltung 301 eingegeben. Die adaptive Bewegungskompensationsvorhersageschaltung 301 führt eine Bewegungskompensationsvorhersage durch, indem der repräsentative Großbereichsbewegungsvektor 330 und der Kleinbereichsbewegungsvektor 329 verwendet werden, auf der Basis des rekonstruierten Videosignals 325, das vom Rahmenspeicher 302 ausgegeben wird, und gibt ein Vorhersagesignal 326 aus.
  • Fig. 13 zeigt ein Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung 301 nach Fig. 12, die ein Codebuch 411, einen Addierer 412 und eine Vorhersageschaltung 413 enthält. Das Codebuch 411 hat die gleiche Struktur wie das Codebuch 227 und speichert Kandidaten für vektorquantisierte Differenzbewegungsvektoren in der Form von Codevektoren. Das Codebuch 411 gibt einen Differenzbewegungsvektor 421 aus, ein Codevektor, der zum Index des Kleinbereichsbewegungsvektors 328 korrespondiert. Der Differenzbewegungsvektor 421 wird dem repräsentativen Großbereichsbewegungsvektor 329 im Addierer 412 hinzuaddiert, wodurch ein Kleinbereichsbewegungsvektor 422 decodiert wird. Die Vorhersageschaltung 413 erzeugt ein Vorhersagesignal 326, das zu dem Kleinbereichsbewegungsvektor 422 vom Addierer 413 korrespondiert, basierend auf dem rekonstruierten Videosignal 325 des codierten Rahmens vom Rahmenspeicher 302 nach Fig. 12.
  • Eine ergänzende Erklärung des gegenwärtigen Ausführungsbeispiels wird gegeben. Wenn ein Fehler im Eingangsbitstrom 321 detektiert wird, erfolgt mit der Videodecodiervorrichtung nach Fig. 12 ein Decodieren durch einen anderen Prozeß gemäß dem Typ des Codeworts, in dem ein Fehler eingebracht worden ist. Wenn zum Beispiel ein Fehler in dem codierten Vorhersagefehlersignal 322 erkannt wird, wird das Vorhersagefehlersignal 324 des Blocks auf 0 gesetzt, und das Vorhersagesignal 326, das bei der adaptiven Bewegungskompensationsvorhersageschaltung 301 erhalten wird, die die korrekt decodierte Modusinformation und Bewegungsvektoren verwendet, wird als rekonstruiertes Videosignal verwendet. Wenn das Vorhersagefehlersignal in hierarchischer Weise gemäß einer orthogonalen Transformationsfolge geteilt wird, kann es der inversen orthogonalen Transformation unterworfen werden, indem nur eine wertniedrigere Folge als die Folge verwendet wird, in der ein Fehler eingebracht ist, und das resultierende Signal kann als ein Fehlersignal verwendet werden.
  • Da andererseits der Kleinbereichsbewegungsvektor 329, ein vektorquantisierter Bewegungsvektor, eine hohe Fehlerwiderstandsfähigkeit aufweist, selbst wenn ein Fehler in den Vektor eingebracht wird, wird er in gleicher Weise verarbeitet, so als ob kein Fehler vorhanden ist. Wenn viele Fehler in den Kleinbereichsbewegungsvektor 329 eingebracht sind, wird der Kleinbereichsbewegungsvektor mit den Fehlern nicht verwendet, um eine signifikante Verschlechterung der Bildqualität zu verhindern, und das Decodieren erfolgt durch Verwendung des repräsentativen Großbereichsbewegungsvektors in dem Bereich. Da die Modusinformation und die repräsentative Bewegungsvektorinformation mit einem großen Fehlerschutz bereitgestellt sind, haben diese Informationen eine kleinere Fehlerwahrscheinlichkeit. Falls jedoch ein Fehler eingemischt wird, besteht eine Wahrscheinlichkeit dafür, daß die Bildqualität sich stark verschlechtert. Für den Bereich des Codes und für die Bereiche, auf die der Fehler einen nachteiligen Effekt aufgrund des Synchronisationsfehlers hat, wird das rekonstruierte Videosignal 325 des vorangegangenen Rahmens direkt als das rekonstruierte Videosignal in diesen Bereichen verwendet. Wenn der richtige Bewegungsvektor in den Bereichen um den Bereich, in dem ein Fehler eingemischt ist, decodiert wird, kann der Bewegungsvektor in dem fehlerhaften Bereich von dem richtig decodierten Bewegungsvektor abgeleitet werden, und der geschätzte Bewegungsvektor kann bei der Decodierung verwendet werden.
  • Es sei angenommen, daß die Codebücher 227 und 411, die zur Vektorquantisierung der Differenzbewegungsvektoren verwendet werden, durch einen LBG-Algorithmus oder ein "Annealing"-Verfahren gelernt worden sind. Der mittlere quadratische Fehler des Eingangssignals (in diesem Fall der mittlere quadratische Fehler des Differenzbewegungsvektors) wird im allgemeinen als ein Kriterium für das Codebuchlernen verwendet. Da die Codebücher 227 und 411, die in diesem Ausführungsbeispiel verwendet werden, bei der Bewegungskompensationsvorhersage verwendet werden, ist es wünschenswert, daß das Lernen dadurch erfolgt, daß der mittlere Quadratwert oder die absolute Summe des Vorhersagefehlers als ein Kriterium, wie oben beschrieben, verwendet wird.
  • Außerdem kann ein Lernen aufgrund eines Kriteriums erfolgen, das die Übertragungsfehler in Codewörtern berücksichtigt. In diesem Fall kann die Qualität des rekonstruierten Bildes erhöht werden, wenn ein Fehler aufgetreten ist, obwohl sich die Performance der Vektorquantisierung verschlechtert, wenn kein Fehler vorhanden ist.
  • Zusätzlich kann das, was durch Neuordnung der Indizes nach dem Codebuchlernen erhalten wird, als Codebuch verwendet werden, wodurch die Fehlerwiderstandsfähigkeit berücksichtigt wird. Dies gleicht die Fehlerempfindlichkeit jedes Bits in dem Bewegungsvektorindexcode aus, um einen großen Fehler zu verhindern, wenn ein Fehler mit kleiner Anzahl von Bits, wie etwa einem Bit, in einem Indexcode aufgetreten ist. Das Lernen erfolgt derart, daß eine Erhöhung des Bewegungskompensationsvorhersagefehlers aufgrund des beschädigten Bewegungsvektorindex am kleinsten wird. Von allen Kombinationen von Bewegungsvektorcodewörtern und Indexcodewörtern kann diejenige ausgewählt werden, für die die Zuwachsmenge am kleinsten ist. Wenn jedoch das Codebuch groß ist, ist die Anzahl von Kombinationen sehr groß, wodurch der Umfang der Berechnungen, die mit dem Lernen in Zusammenhang stehen, enorm ansteigt. Folglich kann das Lernen erfolgen, indem ein "Annealing"-Verfahren verwendet wird. Der Umfang der Berechnungen kann reduziert werden, indem die Annahme getroffen wird, daß die Anzahl von Fehlerbits in einem einzelnen Codewort kleiner oder gleich 1 ist.
  • Die Differenzbewegungsvektoren können für eine Gruppe von kleinen Bereichen vektorquantisiert sein. Zum Beispiel können die Differenzbewegungsvektoren in allen kleinen Bereichen, die in einem einzelnen großen Bereich enthalten sind, gemeinsam vektorquantisiert werden. Dies erhöht die Codierungseffizienz.
  • Wenn der vektorquantisierte Differenzbewegungsvektor codiert wird, kann gemäß der Auftrittshäufigkeit eine Marke gesetzt werden, und ein anderes Codierverfahren kann verwendet werden. Zum Beispiel weist der Differenzbewegungsvektor eine große Auftrittshäufigkeit von 0 auf, und eine hohe Wahrscheinlichkeit, daß 0 von dem Codebuch als ein horizontaler und vertikaler Differenzbewegungsvektor ausgewählt wird. Eine Marke, die diesen Zustand von den anderen unterscheidet, ist bereitgestellt. Wenn 0 sowohl für den horizontalen als auch für den vertikalen Differenzbewegungsvektor ausgewählt wird, wird nur die Marke codiert. In den anderen Fällen wird eine Marke, die anzeigt, daß dies nicht der Fall ist, gesetzt, und ein weiterer ausgewählter Differenzbewegungsvektorindex wird codiert. In dieser Weise kann eine Differenz von 0, die mit großer Häufigkeit auftritt, durch ein kurzes Codewort repräsentiert werden, wodurch die Codiereffizienz verbessert wird.
  • Gemäß dem oben beschriebenen Ausführungsbeispiel ist es möglich, zwischen einem nichtcodierten Modus und einem Bewegungskompensationsvorhersagemodus geeignet zu schalten, obwohl weder der Intraframevorhersagemodus noch der nicht codierte Modus, bei dem das rekonstruierte Videosignal des vorangegangenen Rahmens direkt als das rekonstruierte Videosignal verwendet wird, erklärt wurde. Das Modusschalten kann auf der Basis eines kleinen Bereichs oder eines großen Bereichs erfolgen, oder auf einer geeigneten Basis, die von diesen unterschiedlich ist. Wenn das Modusschalten basierend auf einem kleinen Bereich erfolgt, muß der Kleinbereichsbewegungsvektor nicht codiert werden, wenn der kleine Bereich im Intracodemodus oder nicht codierten Modus ist. Wenn alle kleinen Bereiche in einem großen Bereich im Intraframe-Codiermodus oder nicht codierten Modus sind, muß darüber hinaus der Großbereichsbewegungsvektor nicht codiert werden. In dem Fall, bei dem das Modusschalten basierend auf einem großen Bereich erfolgt, wenn der große Bereich ein Intraframe-Codiermodus oder nicht codierter Modus ist, muß weder der repräsentative Bewegungsvektor noch der Kleinbereichsbewegungsvektor codiert werden.
  • Obwohl in dem oben beschriebenen Ausführungsbeispiel eine Bewegungskompensationsvorhersage in große und kleine Bereiche in hierarchische Weise unterteilt wird, und die typischen Großbereichsvektoren einer variablen Längencodierung unterworfen werden, und nur die Differenzbewegungsvektoren in kleinen Bereichen vektorquantisiert werden, können auch die Großbereichsbewegungsvektoren vektorquantisiert sein. Außerdem kann zusätzlich ein Verfahren zur Vektorquantisierung aller Bewegungsvektoren ohne eine hierarchische Bewegungskompensationsvorhersage, wie gemäß dem ersten Ausführungsbeispiel gezeigt, erfolgen, und das Schalten der Vektorquantisierungsverfahren kann auf geeignete Weise gemäß dem Bereich erfolgen.
  • Wenn alle Bewegungsvektoren vektorquantisiert sind, wie gemäß dem ersten Ausführungsbeispiel, können alle Teile der Bewegungsvektorinformation mit fester Länge codiert werden, wodurch die Fehlerwiderstandsfähigkeit sehr viel größer wird. In diesem Fall können die typischen Vektoren zuerst im Ganzen als Rahmen oder in einer Gruppe von Bereichen codiert werden, und die Differenz zwischen dem repräsentativen Vektor und dem Bewegungsvektor in jedem Bereich kann berechnet und dann vektorquantisiert werden. Dies vergrößert die Codiereffizienz, verglichen mit dem Fall, bei dem der Bewegungsvektor direkt codiert wird.
  • Obwohl in dem oben genannten Ausführungsbeispiel die Größe des Bewegungskompensationsvorhersagefehlers als ein Kriterium zur Auswahl eines Differenzbewegungsvektors vom Codebuch 227 nach Fig. 10 verwendet wird, kann ein Bewegungsvektor erhalten werden, indem ein Blockübereinstimmungsverfahren verwendet wird, und ein Bewegungsvektor, für den die Differenz von dem erhaltenen Bewegungsvektor am kleinsten ist, kann von dem Codebuch ausgewählt werden.
  • Obwohl in dem oben genannten Ausführungsbeispiel der repräsentative Großbereichsbewegungsvektor unabhängig von dem Kleinbereichsbewegungsvektor erhalten wird, wie in Fig. 11A gezeigt, kann insbesondere einer der Kleinbereichsbewegungsvektoren als repräsentativer Großbereichsbewegungsvektor, wie in Fig. 11B gezeigt, verwendet werden. Dadurch müssen die repräsentativen Großbereichsbewegungsvektoren nicht codiert werden, und der Anteil der Codes verringert sich weiter, und die erste Vorhersageschaltung 221, der erste Fehlerrechner 222 und die erste Steuerung 223 sind nicht erforderlich, wodurch der Aufbau einfacher wird.
  • Gemäß dem gegenwärtigen Ausführungsbeispiel erfolgt die Bewegungskompensationsvorhersage hierarchisch, zum Beispiel in Ebenen großer und kleiner Bereiche. Das Vorhersagefehlersignal in der untersten Ebene wird codiert, und der repräsentative Großbereichsbewegungsvektor, Bewegungsinformation, die bei der Bewegungskompensationsvorhersage in der höchsten Ebene verwendet wird, wird einer Codierung mit variabler Länge unterzogen. In einem Teil oder allen Ebenen mit Ausnahme der höchsten Ebene, wird die Differenz zwischen der Bewegungsinformation bei dieser Ebene und der Bewegungsinformation bei einer höheren Ebene zur Codierung verwendet. In diesem Fall, da die Bewegungsinformation, die in der Mehrebenen- Bewegungskompensationsvorhersage verwendet wird, normalerweise eine starke Korrelation mit Bewegungsinformation aufweist, die in der Bewegungskompensationsvorhersage höherer Ebene verwendet wird, wird die Wahrscheinlichkeit für das Auftreten von Differenzbewegungsinformation um 0 herum größer. Eine Vektorquantisierung eines Signals mit einem großen Fehlerbereich erzielt eine größere Codiereffizienz als bei direkter Codierung des Signals, so daß eine sehr viel größere Codiereffizienz erhalten werden kann, indem die Differenz von der Bewegungsinformation bei höheren Ebenen berechnet und die Differenz vektorquantisiert wird.
  • Da die Bewegungsinformation sich von Bild zu Bild unterscheidet, werden mehr Codevektoren, die in Codebüchern gespeichert sind, erforderlich, und folglich sind mehr Codebücher notwendig, falls die Bewegungsinformation vektorquantisiert ist, ohne die Differenz zu erhalten, wie gemäß dem ersten Ausführungsbeispiel. Wie in dem gegenwärtigen Ausführungsbeispiel beschrieben, kann jedoch durch Erhalt der Differenz und durch Vektorquantisierung der Differenz die Bewegungsinformation in einer kleineren Anzahl von Codevektoren ausgedrückt werden, was den für die Bewegungsinformation erforderlichen Codeanteil reduziert.
  • Da die Bewegungskompensationsvorhersage in mehreren Ebenen erfolgt, wenn sie mit hierarchischer Codierung kombiniert wird, wird es einfacher, die Zuweisung des Codeanteils zu jeder Schicht zu steuern, indem die Art der Zuweisung von Bewegungsinformation bei jeder Ebene zu einer Schicht gesteuert wird. Dies ermöglicht einen Umgang mit der Situation, selbst falls die Grenzen des Übertragungskanals eine Einschränkung bezüglich des Verhältnisses der Codeanteile in jeder Schicht mit sich bringt. Da die vektorquantisierte Bewegungsinformation eine größere Fehlerwiderstandsfähigkeit aufweist, selbst wenn sie in einer unteren Schicht codiert wird, ist eine signifikante Verschlechterung der Bildqualität in dem rekonstruierten Bild bei der Decodierungsvorrichtung weniger wahrscheinlich, wodurch eine höhere Fehlerwiderstandsfähigkeit sichergestellt wird.
  • Fig. 14 zeigt ein Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung 101 in der Videocodiervorrichtung gemäß einem vierten Ausführungsbeispiel der Erfindung. Der gesamte Aufbau der Videocodiervorrichtung gemäß dem vierten Ausführungsbeispiel ist der gleiche wie bei der Videocodiervorrichtung gemäß dem dritten Ausführungsbeispiel nach Fig. 5. Die adaptive Bewegungskompensationsvorhersageschaltung 101 gemäß dem vierten Ausführungsbeispiel teilt das Videoeingangssignal gemäß den Bildinhalten in eine Mehrzahl von Bereichen, und erzeugt ein Vorhersagesignal, indem die Bewegungskompensationsvorhersage des Eingangsvideosignals unter Verwendung der Bewegungsinformation erfolgt, die durch Kombinieren der Bereichsforminformation, die die Unterteilungsform in dem Bereich repräsentiert, mit dem Bewegungsvektor in dem Bereich auf der Bereichsbasis, erhalten wird, und durch Vektorquantisierung der resultierenden Information.
  • Fig. 15 zeigt ein Beispiel einer Bereichsteilung. Eine Bereichsteilungslinie 12 für lineare Approximation wird zum Beispiel derart ausgewählt, daß sie entlang der Grenze 11 des Objekts verläuft, und ein Bewegungsvektor 13 wird in jedem der geteilten Bereiche erhalten. In diesem Fall werden die Bereichsform und der Bewegungsvektor 13 in jedem geteilten Bereich, für den ein Bewegungskompensationsvorhersagefehler am kleinsten ist, von den Codevektoren ausgewählt, die zuvor im Codebuch gespeichert werden.
  • Die adaptive Bewegungskompensationsvorhersageschaltung 101 nach Fig. 14 enthält eine Vorhersageschaltung 501, einen Fehlerrechner 502, eine Steuerung 503 und ein erstes bis drittes Codebuch 511, 512 und 513. Das erste Codebuch 511 speichert Kandidaten für die Bereichsform in der Form von Codevektoren. Das zweite und dritte Codebuch 512 und 513 speichert jeweils Kandidaten für den Bewegungsvektor in jedem der zwei unterteilten Bereiche in der Form von Codevektoren.
  • Die Steuerung 503 ändert nacheinander Codebuchindizes 514. Die Bereichsforminformation 515, die zu dem Codebuchindex 514 korrespondiert, und die Bewegungsvektoren 516 und 517 werden jeweils aus den Codebüchern 511, 512 und 513 genommen. Auf der Basis eines lokal decodierten Bildsignals 125 von einem Rahmenspeicher 102 nach Fig. 5, erhält die Vorhersageschaltung 501 ein Vorhersagesignal 122, das zu dem lokal decodierten Bildsignal korrespondiert. Der Fehlerrechner 502 berechnet die Größe der Differenz (Fehler) zwischen dem Eingangsvideosignal 121 und dem Vorhersagesignal 122, und gibt ein Fehlerpegelsignal 510, das die Größe anzeigt, aus. Die Steuerung 503 erhält einen Codebuchindex, für den die Größe der Differenz, die durch das Fehlerpegelsignal 510 gegeben ist, am kleinsten ist, unterwirft den Index einer Codierung fester Länge und erzeugt eine Bewegungsinformation 126 und gibt die Information und das Vorhersagesignal 122, das der Information entspricht, aus.
  • Als nächstes wird die Videodecodiervorrichtung gemäß dem vierten Ausführungsbeispiel beschrieben. Fig. 16 zeigt einen Aufbau einer adaptiven Bewegungskompensationsvorhersageschaltung 301 gemäß einem Ausführungsbeispiel der Videodecodiervorrichtung gemäß dem vierten Ausführungsbeispiel. Die adaptive Bewegungskompensationsvorhersageschaltung korrespondiert zu der adaptiven Bewegungskompensationsvorhersage 101 in der Videocodiervorrichtung nach Fig. 14. Der gesamte Aufbau der Videodecodiervorrichtung gemäß dem vierten Ausführungsbeispiel ist der gleiche wie bei der Videodecodiervorrichtung gemäß dem zweiten Ausführungsbeispiel in Fig. 7.
  • Die adaptive Bewegungskompensationsvorhersageschaltung 301 nach Fig. 16 enthält ein erstes bis drittes Codebuch 601, 602 und 603 und eine Vorhersageschaltung 604. Ähnlich wie das erste bis dritte Codebuch 511, 512 und 513 nach Fig. 14 speichert das erste Codebuch 601 Kandidaten für die Bereichsform in der Form von Codevektoren. Das zweite und dritte Codebuch 602 und 603 speichert jeweils Kandidaten für den Bewegungsvektor in jeder der zwei unterteilten Bereiche in der Form von Codevektoren.
  • Die Bereichsforminformation 611, die zu dem Codebuchindex korrespondiert, der durch die Bewegungsinformation 323 angezeigt wird, und die Bewegungsvektoren 612 und 613 werden jeweils aus den Codebüchern 601, 602 und 603 genommen, und an die Vorhersageschaltung 604 geliefert. Die Vorhersageschaltung 604 erzeugt ein Vorhersagesignal 326, das zu der Bereichsforminformation 611 korrespondiert, und Bewegungsvektoren 612 und 613 auf der Basis des rekonstruierten Videosignals von dem Rahmenspeicher 102 nach Fig. 3.
  • Wie oben beschrieben, wird gemäß dem gegenwärtigen Ausführungsbeispiel das Videosignal in eine Mehrzahl von Bereiche gemäß den Inhalten des Bildes unterteilt, also entlang der Objekte in dem Bild. Für jeden unterteilten Bereich erfolgt eine Bewegungskompensationsvorhersage, indem die Bewegungsinformation verwendet wird, die durch Kombinieren der Bereichsforminformation 515 mit den Bewegungsvektoren 516, 517 erhalten wird, und durch Vektorquantisierung der resultierenden Information. Dadurch wird es möglich, den Vorhersagebereich entlang der Grenzen der Objekte zu teilen, selbst in den Teilen, wo Objekte, die sich unterschiedlich bewegen, miteinander in Kontakt sind, und um eine Vorhersage unter Verwendung von Teilen der Bewegungsinformation, die sich von Objekt zu Objekt unterscheidet, zu treffen. Als Ergebnis wird die Effizienz der Bewegungskompensationsvorhersage verbessert und die Qualität des rekonstruierten Videosignals angehoben.
  • Wenn die Bereichsdivisionsvorhersage durch die Vorhersageschaltung 501 erfolgt, wird die Bewegungskompensationsvorhersage durchgeführt, indem die Bewegungsinformation verwendet wird, die durch Kombination der Bereichsforminformation 515 mit den Bewegungsvektoren 516, 516 erhalten wird, und durch Vektorquantisierung der resultierenden Information. Dadurch wird es möglich, die Bewegungsinformation 126, die die Bereichsforminformation enthält, effizient in einer kleinen Codemenge auszudrücken, wodurch das Problem gelöst wird, daß die Codemenge sich aufgrund der Bereichsforminformation erhöht, was ein Nachteil des herkömmlichen auf Segmentation basierenden Kompensationscodierverfahren ist.
  • Da vektorquantisierte Information einer Codierung fester Länge mit hoher Codierungseffizienz unterzogen werden kann, ist es möglich, eine Verschlechterung der Bildqualität des rekonstruierten Bildes aufgrund eines Synchronisationsfehlers, der durch einen Fehler verursacht wird, zu verhindern, was ein Problem bei der weitverbreiteten herkömmlichen Codierung variabler Länge ist. Dies minimiert die Verschlechterung der Bildqualität aufgrund eines Fehlers, wenn die Ausgangscodefolgen von der Videocodiervorrichtung über ein fehleranfälliges Medium übertragen und gespeichert werden.
  • Gemäß dem gegenwärtigen Ausführungsbeispiel wird eine bevorzugte Struktur der Codebücher erklärt, die in dem zweiten bis vierten Ausführungsbeispiel verwendet werden. Die Fig. 17 und 18 zeigen Beispiele von Codevektoren von Kandidaten für Bewegungsvektoren, die in Bewegungsvektorcodebüchern 204, 227, 512 und 513 in den Videocodiervorrichtungen gemäß dem zweiten bis vierten Ausführungsbeispiel gespeichert sind, und in den Bewegungsvektorcodebüchern 402, 411, 602 und 603 in den Videodecodiervorrichtungen gemäß dem zweiten bis vierten Ausführungsbeispiel.
  • In den Fig. 17 und 18 kennzeichnen die horizontale Achse (MVx) und die vertikale Achse (MVy) jeweils die horizontale Komponente und die vertikale Komponente eines Bewegungsvektors. In der Figur ist ein Punkt, der mit einem Kreis gekennzeichnet ist, ein Codevektor eines Kandidaten für jeden Bewegungsvektor. Im folgenden wird ein Bewegungsvektor als (MVx, MVy) ausgedrückt, indem seine horizontale Komponente MVx mit seiner vertikalen Komponente MVy gepaart wird.
  • In den Beispielen in den Fig. 17 und 18 haben Bewegungsvektoren mit kleiner Bewegung, oder Kandidaten für Bewegungsvektoren nahe (0,0) viele Codevektoren. Mit anderen Worten, sind die Kandidaten für Bewegungsvektoren mit kleiner Bewegung mit hoher Pixelgenauigkeit angeordnet. Folglich wird nach Kandidaten für Bewegungsvektoren mit kleiner Bewegung mit hoher Pixelgenauigkeit gesucht. Bewegungsvektoren mit großer Bewegung oder Kandidaten für Bewegungsvektoren weit weg von (0,0) werden mit weniger hoher Pixelgenauigkeit angeordnet als die Kandidaten für Bewegungsvektoren mit kleiner Bewegung, und mit weniger hoher Pixelgenauigkeit gesucht. Der Grund, warum mehr Codevektoren für Kandidaten für Bewegungsvektoren mit kleiner Bewegung bereitgestellt werden, liegt darin, daß die Bewegungsvektoren mit kleiner Bewegung häufiger auftreten, und die Suche mit besserer Pixelgenauigkeit dabei hilft, das Bewegungskompensationsfehlersignal zu reduzieren, wodurch die Codiergenauigkeit verbessert wird, wohingegen Bewegungsvektoren mit großer Bewegung weniger häufig auftreten, und keine große Wirkung auf die Reduktion des Bewegungskompensationsfehlersignals haben. Folglich wird die Suchgenauigkeit gering gehalten, um die Anzahl von Codevektoren zu reduzieren, und dann die Anzahl von Codes zu verringern, die sich auf die Bewegungsvektorinformation beziehen, was dabei hilft, die Codiereffizienz zu verbessern. Zum Beispiel erfolgt in dem Beispiel nach Fig. 17 und 18 eine Bewegungsvektorsuche mit halber Pixelgenauigkeit, jeweils in den folgenden Bereichen:
  • - Rh ≤ MVx ≤ Rh, -Rh ≤ MVy ≤ Rh und
  • - Rh ≤ MVx + MVy ≤ Rh
  • In den anderen Bereichen erfolgt eine Bewegungsvektorsuche mit einer ganzzahlig geraden Pixelgenauigkeit.
  • In den Fig. 17 und 18 sind die Bewegungsvektorcodes auf der Basis einer bestimmten Regel angeordnet, und die Beziehung zwischen den Bewegungsvektoren und den Codebuchindizes kann durch Berechnungen erhalten werden. Im folgenden wird ein Verfahren zur Berechnung von Codebuchindexzuweisungen beschrieben.
  • Die Codebuchindizes werden Bewegungsvektorsuchkandidaten spiralförmig zugewiesen, der Reihe nach beginnend bei (0,0) in Richtung der Bewegungsvektoren mit größerer Bewegung. In dem Beispiel nach Fig. 17 wird der Codeindex i wie folgt berechnet:
  • Wenn MVx = MVy = 0,
  • i = 0 (1)
  • Wenn MVy = r, -r < MVx &le; r, r &le; Rh,
  • i = 2r - 2x + Sh(r) (2)
  • Wenn MVx = -r, -r < MVy &le; r, r &le; Rh
  • i = 6r - 2y + Sh(r) (3)
  • Wenn MVy = -r, -r &le; MVx &le; r, r &le; Rh
  • i = 10r + 2x + Sh(r) (4)
  • Wenn MVx = r, -r &le; MVy < r, r &le; Rh
  • i = 14r + 2y + Sh(r) (5)
  • Wenn MVy = r, -r < MVx &le; r, r > Rh
  • i = r - x + Si(r) (6)
  • Wenn MVx = -r, -r < MVy &le; r, r > Rh
  • i = 3r - y + Si(r) (7)
  • Wenn MVy = -r, -r &le; MVx < r, r > Rh
  • i = 5r + x + Si(r) (8)
  • Wenn MVx = r, -r &le; MVy < r ,r > Rh
  • i = 7r + y + Si(r) (9)
  • wobei Sh(r) und Si(r):
  • In dem Beispiel nach Fig. 18 werden die Codebuchindizes wie folgt berechnet:
  • Wenn MVx = MVy = 0,
  • i = 0 (12)
  • Wenn MVx + MVy = r, 0 < MVx &le; r, 0 &le; MVy < r, r &le; Rh,
  • i = 2y + Sh(r) (13)
  • Wenn MVx + MVy = r, -r < MVx &le; 0, 0 < MVy &le; r, r &le; Rh,
  • i = 2r - 2x + Sh(r) (14)
  • Wenn MVx + MVy = r, -r &le; MVx < 0, -r < MVy &le; 0, r &le; Rh,
  • i = 4r - 2y + Sh(r) (15)
  • Wenn MVx + MVy = r, 0 < MVx < r, -r &le; MVy < 0, r &le; Rh,
  • i = 6r + 2x + Sh(r) (16)
  • Wenn MVx + MVy = r, 0 < MVx &le; r, 0 &le; MVy < r, r > Rh,
  • i = y + Si(r) (17)
  • Wenn MVx + MVy = r, -r < MVx &le; 0, 0 < MVy &le; r, r > Rh,
  • i = r - x + Si(r) (18)
  • Wenn MVx + MVy = r, -r< MVx < 0, -r < MVy &le; 0, r > Rh,
  • i = 2r - y + Si(r) (19)
  • Wenn MVx + MVy = r, 0 &le; MVx < r, -r MVy < 0, r > Rh,
  • i = 3r + x + Si(r) (20)
  • wobei Sh(r) und Si(r):
  • Sh(r) = (4i + 1) (21)
  • Sh(r) = 4i + Sh(Rh + 1/2) (22)
  • Durch das Finden der Beziehung zwischen den Bewegungsvektoren und der Codebuchindizes durch Berechnungen beim Codieren und Decodieren ist es nicht notwendig, Codebücher im voraus als Tabellen vorzubereiten, die die Speicherkapazität ausmachen, die notwendig ist, um die Codebücher zu speichern.
  • Fig. 19 zeigt ein anderes Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung 101 in der Videocodiervorrichtung gemäß dem zweiten Ausführungsbeispiel der Erfindung. Der gesamte Aufbau der Videocodiervorrichtung gemäß dem gegenwärtigen Ausführungsbeispiel ist gleich dem der Videocodiervorrichtung gemäß dem zweiten Ausführungsbeispiel in Fig. 5. Die adaptive Bewegungskompensationsvorhersageschaltung 101 gemäß dem gegenwärtigen Ausführungsbeispiel führt eine Bewegungskompensationsvorhersage bei zwei Ebenen durch, große Bereiche und kleine Bereiche, die durch Unterteilung der großen Bereiche erhalten werden. Sie teilt ferner einen Teil der kleinen Bereiche und führt für diese eine Bewegungskompensationsvorhersage durch. Das gegenwärtige Ausführungsbeispiel ist eine Kombination der Bewegungskompensationsvorhersage in der Videocodiervorrichtung gemäß dem dritten Ausführungsbeispiel und der Bewegungskompensationsvorhersage in der Videocodiervorrichtung gemäß dem vierten Ausführungsbeispiel.
  • Die adaptive Bewegungskompensationsvorhersageschaltung 101 nach Fig. 19 enthält eine erste Vorhersageschaltung 731, einen ersten Fehlerrechner 732, eine erste Steuerung 733, eine zweite Vorhersageschaltung 701, einen zweiten Fehlerrechner 702, eine zweite Steuerung 703, Codebücher 711, 712, 713, 714, Addierer 718, 719, 720 und einen variablen Längencodierer 734. Die erste Vorhersageschaltung 731, der erste Fehlerrechner 732 und die erste Steuerung 733 sind zur Bewegungskompensationsvorhersage unter Verwendung von repräsentativen Großbereichsbewegungsvektoren bereitgestellt.
  • Andererseits sind die zweite Vorhersageschaltung 701, der zweite Fehlerrechner 702 und die zweite Steuerung 703, Codebücher 711, 712, 713, 714 und Addierer 718, 719, 720 für eine Bewegungskompensationsvorhersage bereitgestellt, die die Bewegungsvektoren verwendet, die durch Vektorquantisierung der Differenzbewegungsvektoren erhalten werden, die auf der Differenz zwischen den repräsentativen Großbereichsbewegungsvektoren und den Kleinbereichsbewegungsvektoren basieren. Das erste Codebuch 711 speichert Kleinbereichsbewegungsvektorkandidaten, die bei der Bewegungskompensationsvorhersage ohne Bereichsdivision (blockbasierte Bewegungskompensation) verwendet werden, in der Form von Codevektoren. Das zweite Codebuch 712 speichert Kandidaten für eine Bereichsforminformation in der Form von Codevektoren. Das dritte und vierte Codebuch 713, 714 speichert jeweils Kandidaten für die Differenzbewegungsvektoren, die auf den repräsentativen Großbereichsbewegungsvektor und Kleinbereichsbewegungsvektoren basieren, in der Form von Codevektoren.
  • Fig. 20 zeigt eine Zeichnung zur Erklärung der Operation der Bewegungskompensationsvorhersage gemäß dem gegenwärtigen Ausführungsbeispiel. Zuerst wird das Innere des Rahmens in große Bereiche geteilt, die mit durchgezogenen dicken Linien gezeigt sind, und die repräsentativen Großbereichsbewegungsvektoren (nicht gezeigt) werden durch Verwendung eines Blockübereinstimmungsverfahrens erhalten. Speziell erzeugt die erste Steuerung 733 nacheinander erste Bewegungsvektoren 741, jeweils zum Beispiel ein Pixel voneinander verschoben, in der horizontalen und vertikalen Richtung in einem spezifischen Bereich (zum Beispiel in dem Bereich von ± 15 Pixel in horizontaler und vertikaler Richtung). Die erste Vorhersageschaltung 731 erzeugt ein erstes Vorhersagesignal 742, das dem ersten Bewegungsvektor 741 entspricht, auf der Basis des lokal decodierten Bildsignals 125 von dem Rahmenspeicher 102 nach Fig. 5. Dann berechnet der erste Fehlerrechner 732 die Größe der Differenz (Fehler) zwischen dem Eingangsbildsignal 121 in einem großen Bereich und dem ersten Vorhersagesignal 742 und erzeugt ein Fehlerpegelsignal 743, das die Größe anzeigt. Die Größe des Fehlers kann zum Beispiel durch die absolute Summe oder durch die Quadratsumme der Fehler bestimmt werden, oder durch eine Quadratfehlersumme mit gewichteten Tieffrequenzbandkomponenten.
  • Die erste Steuerung 733 erhält einen repräsentativen Großbereichsbewegungsvektor 745, für den die Größe des Fehlers, der durch das Fehlerpegelsignal 743 gegeben ist, am kleinsten ist, und gibt dieses aus. Der Codierer 734 variabler Länge berechnet die Differenz zwischen dem repräsentativen Großbereichsbewegungsvektor 745 und benachbarten repräsentativen Großbereichsbewegungsvektoren und unterwirft die Differenz der Codierung variabler Länge.
  • Dann erfolgt eine Bewegungskompensationsvorhersage für die kleinen Bereiche, die durch dünne durchgezogene Linien in Fig. 20 dargestellt sind, und durch Unterteilung eines großen Bereichs erhalten werden. In diesem Fall werden durch Vektorquantisierung in zwei Fällen Bewegungsvektoren gesucht, einem Fall, bei dem kleine Bereiche unterteilt werden, und einem Fall, bei dem kleine Bereiche nicht unterteilt werden. Der Fall, der einen kleineren Fehler erzeugt, wird ausgewählt.
  • Die Codevektoren, Kandidaten für Bewegungsvektoren, die bei der Bewegungskompensationsvorhersage ohne Bereichsdivision verwendet werden, werden in dem ersten Codebuch 711 in der Form von der Differenz von dem Codevektor von dem erhaltenen repräsentativen Großbereichsbewegungsvektor 745 gespeichert. Die zweite Steuerung 703 gibt eine Marke 725, die eine Bewegungskompensationsvorhersage ohne Bereichsdivision anzeigt, an die zweite Vorhersageschaltung 701 und ändert die Codebuchindizes 715 sequentiell, um die entsprechenden Differenzbewegungsvektoren aus dem Codebuch 711 zu nehmen. Die Differenzbewegungsvektoren werden zu dem repräsentativen Großbereichsbewegungsvektor 745 im Addierer 718 hinzuaddiert, um einen Kleinbereichsbewegungsvektorkandidaten 721 zu erzeugen.
  • Die zweite Vorhersageschaltung 701 erhält ein Vorhersagesignal 122, das zu dem Kleinbereichsbewegungsvektorkandidaten 721 korrespondiert, auf der Basis des lokal decodierten Bildsignals 125 des vorangegangenen Rahmens von dem Rahmenspeicher 102 nach Fig. 5. Der zweite Fehlerrechner 702 berechnet die Größe der Differenz (Fehler) zwischen dem Eingangsvideosignal 121 und dem Vorhersagesignal 122 und gibt ein Fehlerpegelsignal 710 aus, das die Größe des Fehlers anzeigt. Die zweite Steuerung 703 erhält einen Codebuchindex, für den die Größe des Fehlers, der durch das Fehlerpegelsignal 710 gegeben ist, am kleinsten ist.
  • Andererseits speichert das zweite Codebuch 712 Kandidaten für die Bereichsform bei segmentbasierter Kompensation in der Form von Codevektoren. Das dritte und vierte Codebuch 713 und 714 speichert Codevektoren, Bewegungsvektorkandidaten in den zwei unterteilten Bereichen, in der Form der Differenz von dem repräsentativen Großbereichsbewegungsvektor 745. Die zweite Steuerung 703 gibt an die zweite Vorhersageschaltung 701 eine Marke 725 aus, die eine Bereichsdivisions- Bewegungskompensationsvorhersage anzeigt, und ändert die Codebuchindizes 716 sequentiell, um die Bereichsforminformation 727 und den Differenzbewegungsvektor, der zu dem Codebuchindex 716 korrespondiert, zu nehmen. Die Differenzbewegungsvektoren, die aus den Codebüchern 713 und 714 genommen werden, werden zu dem repräsentativen Großbereichsbewegungsvektor 745 in den Addierern 719 und 720 addiert, um Bewegungsvektorkandidaten 723 und 724 zu erzeugen. Diese Bewegungsvektorkandidaten 723, 724, zusammen mit der Bereichsforminformation 721, werden in die zweite Vorhersageschaltung 701 eingegeben, die das entsprechende Vorhersagesignal 122 erzeugt. Der zweite Fehlerrechner 702 berechnet die Größe der Differenz (Fehler) zwischen dem Eingangsvideosignal 121 und dem Vorhersagesignal 122. Die zweite Steuerung 703 erhält einen Codebuchindex, für den die Größe des Fehlers, der durch das Fehlerpegelsignal 710 gegeben ist, am kleinsten ist.
  • Die zweite Steuerung 703 wählt von den Bewegungskompensationsvorhersagen mit und ohne Bereichsdivision diejenige aus, für die die Bewegungskompensationsvorhersage am kleinsten ist, und gibt den Codebuchindex, der der ausgewählten Information entspricht, aus. Diese ausgewählte Information und der Codebuchindex, zusammen mit dem repräsentativen Großbereichsbewegungsvektor, der in dem variablen Längencodierer 734 mit variabler Länge codiert ist, werden als Bewegungsinformation 126 ausgegeben.
  • Als nächstes wird die Videodecodiervorrichtung gemäß dem gegenwärtigen Ausführungsbeispiel erklärt. Fig. 21 zeigt ein Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung 301 in der Videodecodiervorrichtung gemäß dem zweiten Ausführungsbeispiel der Erfindung. Die adaptive Bewegungskompensationsvorhersageschaltung korrespondiert zu der adaptiven Bewegungskompensationsvorhersageschaltung 101 in der Videocodiervorrichtung nach Fig. 19. Der gesamte Aufbau der Videodecodiervorrichtung gemäß dem gegenwärtigen Ausführungsbeispiel ist der gleiche wie bei der Videodecodiervorrichtung nach Fig. 7.
  • Die adaptive Bewegungskompensationsvorhersageschaltung 301 nach Fig. 21 enthält eine Vorhersageschaltung 800, ein erstes bis viertes Codebuch 811, 812, 813 und 814, einen Decoder 825 und einen Decoder 827 variabler Länge. Ähnlich wie bei dem ersten bis vierten Codebuch 711, 712, 713 und 714 nach Fig. 19 speichert das erste Codebuch 811 Kleinbereichsbewegungsvektorkandidaten, die bei der Bewegungskompensationsvorhersage ohne Bereichsdivision verwendet werden, in der Form von Codevektoren. Das zweite Codebuch 812 speichert Kandidaten für die Bereichsforminformation in der Form von Codevektoren. Das dritte und vierte Codebuch 813, 814 speichert Kandidaten für die Differenzbewegungsvektoren zwischen den repräsentativen Großbereichsbewegungsvektoren und den Kleinbereichsbewegungsvektoren, in der Form von Codevektoren.
  • Der Decodierer 827 variabler Länge decodiert einen repräsentativen Großbereichsbewegungsvektor 828 von Bewegungsinformation 823. Der Decoder 825 decodiert eine Marke 816, die anzeigt, ob Bereichsdivision oder keine Bereichsdivision in der Kleinbereichsbewegungskompensationsvorhersage verwendet wird, und Codebuchindizes 815 und 816.
  • Für einen kleinen Bereich, für den eine Bewegungskompensationsvorhersage durchgeführt worden ist, gibt das erste Codebuch 811 den Differenzbewegungsvektor aus, der dem Codebuchindex 815 entspricht. Der Differenzbewegungsvektor wird zu dem repräsentativen Großbereichsbewegungsvektor 828 in einem ersten Addierer 818 hinzuaddiert, um einen Kleinbereichsbewegungsvektor 821 zu decodieren. Die Vorhersageschaltung 800 erzeugt ein Vorhersagesignal 326, das dem decodierten Vektor entspricht.
  • Für den kleinen Bereich, für den eine segmentbasierte Kompensationsvorhersage durchgeführt worden ist, wird die Bereichsforminformation 822 aus dem zweiten Codebuch 812 gemäß dem Codebuchindex 816 genommen, und an die Vorhersageschaltung 800 geliefert.
  • Dann werden die Differenzbewegungsvektoren in den jeweiligen unterteilten Bereichen aus dem ersten und vierten Codebuch 813 und 814 genommen. Diese Differenzbewegungsvektoren werden zu dem einen großen Bereich repräsentierenden Bewegungsvektor 828 in dem zweiten und dritten Addierer 819 und 820 jeweils hinzuaddiert, um die Kleinbereichsbewegungsvektoren 828, 824 zu decodieren, die an die Vorhersageschaltung 800 geliefert werden. Die Vorhersageschaltung 800 erzeugt ein Vorhersagesignal 326 gemäß der Bereichsforminformation 822 und den zwei Kleinbereichsbewegungsvektoren 823 und 824, und gibt dieses aus.
  • Wenn Fehler in übertragenen oder gespeicherten Videocodefolgen enthalten sind, können die Codefolgen in mehreren Ebenen gemäß ihrer Wichtigkeit angeordnet werden, die dem Grad der Verschlechterung der Qualität des decodierten Bildes aufgrund der Fehler entsprechen, um die Verschlechterung des rekonstruierten Bildes zu reduzieren, wobei ein Differenzfehlerschutz bereitgestellt werden kann, und die Übertragung und Speicherung über Medien mit unterschiedlichen Fehlerraten erfolgen kann.
  • In dem Multiplexer 110 nach Fig. 5 werden zum Beispiel der Codiermodus und die Quantisierungsschrittgröße, deren Fehler die größte Wirkung haben, der Schicht mit höchster Ebene zugewiesen, und die Tieffrequenzbandkomponenten in der Intraframecodierung werden der Schicht nächsthöchster Ebene zugewiesen. Wenn die Bewegungskompensationsvorhersage in hierarchischer Weise erfolgt, wie bei der adaptiven Bewegungskompensationsvorhersageschaltung 101 nach Fig. 19, haben die Fehler in repräsentativen Bewegungsvektoren eine nachteilige Wirkung über einen breiten Bereich, so daß sie der Schicht mit dritthöchster Ebene zugewiesen werden. Da die vektorquantisierte Bewegungsinformation den Index mit festcodierter Länge aufweist und eine hohe Fehlerwiderstandsfähigkeit, ist kein starker Schutz vor Fehlern notwendig. Das Vorhersagefehlersignal, dessen Verlust aufgrund eines Fehlers eine geringe Verschlechterung der Bildqualität verursachen würde, und die Hochfrequenzbandkomponenten bei der Intraframe-Codierung werden der Schicht unterster Ebene zugewiesen. Diese Schicht kann nur mit einem Fehlerdetektionscode versehen sein, wie etwa CRC oder einem Paritätsprüfbit. Außerdem kann die Schicht weiter in Unterschichten gemäß orthogonalen Transformationsfolgen unterteilt sein, wie etwa die relativ wichtigen Tieffrequenzbandkomponenten und die weniger wichtigen Hochfrequenzbandkomponenten.
  • Wenn die Typen von Übertragungskanal/Speichermedium unterschiedliche Fehlerraten aufweisen, zum Beispiel zwei Schichten oder drei Schichten, wenn das Verhältnis der Codemenge in jeder Schicht zur Gesamtmenge an Code in einem spezifischen Bereich begrenzt ist, wenn nicht so viele Typen von Fehlerkorrektur und Detektionscodes verwendet werden können, da die Hardware Grenzen vorgibt, kann der Typ des Informationsworts, das in der entsprechenden Schicht verwendet werden soll, geeignet bestimmt werden. Wenn zum Beispiel die Anzahl der Schichten gleich zwei ist und keine Grenze für das Verhältnis der Menge an Code in der oberen Schicht gegeben ist, werden die wichtigste Modusinformation, die Tieffrequenzbandkomponenten in der Intraframe- Codierung und die repräsentativen Bewegungsvektoren in der oberen Schicht codiert. Die vektorquantisierten Kleinbereichsdifferenzbewegungsvektoren, die Hochfrequenzbandkomponenten in der Intraframe-Codierung und das Vorhersagefehlersignal werden in der oberen Schicht codiert, wenn in dem Codeanteil in der oberen Schicht noch Platz ist, und sie werden in den unteren Schichten codiert, wenn in dem Anteil der Codes in den oberen Schichten kein Platz ist. In diesem Fall, da die Bewegungsvektoren wichtiger sind, werden sie in der oberen Schicht vorrangig vor den anderen codiert.
  • Wenn in der Videodecodiervorrichtung nach Fig. 7 ein Fehler im Eingangsbitstrom 321 erkannt wird, ist es wünschenswert, daß das Decodieren durch einen anderen Prozeß gemäß dem Typ des Codeworts, in dem ein Fehler aufgetreten ist, erfolgt. Wenn ein Fehler in dem Vorhersagefehlersignal detektiert wird, wird das Vorhersagefehlersignal des Blocks als 0 bestimmt, und das Bewegungskompensationsvorhersagesignal, das die korrekt decodierte Modusinformation verwendet, und die Bewegungsinformation wird als das rekonstruierte Bild verwendet. Wenn das Vorhersagefehlersignal hierarchisch gemäß einer orthogonalen Transformationsfolge gebildet ist, kann jedoch das Signal einer inversen orthogonalen Transformation unterworfen werden, indem nur die am niederwertigste Folge als die Folge, in der ein Fehler eingemischt ist, verwendet wird. Da die vektorquantisierte Bewegungsinformation eine höhere Fehlerwiderstandsfähigkeit aufweist, selbst wenn ein Fehler auftritt, wird sie in gleicher Weise verarbeitet, als wenn kein Fehler aufgetreten wäre. Wenn eine große Anzahl von Fehlern aufgetreten ist, wird die fehlerhafte Bewegungsinformation nicht verwendet, um eine signifikante Verschlechterung der Bildqualität zu verhindern, und ein Decodieren erfolgt durch Verwendung des repräsentativen Bewegungsvektors in dem Bereich, wenn die Bewegungskompensation in hierarchischer Weise durchgeführt wird, im übrigen erfolgt das Decodieren durch Schätzen der Bewegungsinformation in dem Bereich von der korrekt decodierten Bewegungsinformation in den umgebenden Bereichen. Da die Modusinformation und die repräsentative Bewegungsvektorinformation mit einem größeren Fehlerschutz bereitgestellt sind, ist die Wahrscheinlichkeit, daß ein Fehler auftritt, gering. Falls ein Fehler jedoch auftreten sollte, besteht eine Wahrscheinlichkeit dafür, daß die Bildqualität ernsthaft verschlechtert wird. Für den Bereich des Codes und für die Bereiche, in denen der Fehler eine nachteilige Wirkung aufgrund eines Synchronisationsfehler aufweist, wird das lokal decodierte Bild des vorherigen Rahmens direkt als das decodierte Bild verwendet. Wenn der korrekte Bewegungsvektor in den Bereichen um den Bereich, in dem der Fehler eingemischt worden ist, decodiert wird, kann der Bewegungsvektor in dem fehlerhaften Bereich aus dem korrekt decodierten Bewegungsvektor geschätzt werden, und der geschätzte Bewegungsvektor kann bei der Decodierung verwendet werden.
  • Für die Bewegungsinformation können Bewegungsvektoren in verschiedenen Bereichen gemeinsam vektorquantisiert werden. Wenn die Bewegungskompensationsvorhersage in hierarchischer Weise durchgeführt wird, können zum Beispiel Teile der Bewegungsinformation für alle kleinen Bereiche, die in einem großen Bereich enthalten sind, gemeinsam vektorquantisiert werden. Dies erhöht die Codiereffizienz.
  • Obwohl in dem vierten und sechsten Ausführungsbeispiel die vektorquantisierte Bewegungsinformation einer Codierung fester Länge unterzogen wird, kann sie auch einer Codierung variabler Länge unterzogen werden. Dies reduziert die Fehlerwiderstandsfähigkeit, erhöht jedoch die Codiereffizienz.
  • Obwohl in dem vierten und sechsten Ausführungsbeispiel weder der Intraframe- Vorhersagemodus noch der nicht codierte Modus, bei dem das lokal decodierte Bild des vorherigen Rahmens direkt als das rekonstruierte Bild verwendet wird, erklärt wurde, ist es möglich, zwischen dem Bewegungskompensationsvorhersagemodus und diesen Modi geeignet umzuschalten. Wenn die Bewegungskompensationsvorhersage in einer hierarchischen Weise erfolgt, kann das Modusschalten entweder basierend auf einem kleinen Bereich oder einem großen Bereich erfolgen, oder basierend auf einer geeigneten Grundlage, die sich von diesen unterscheidet. Wenn ein Modusschalten basierend auf einem kleinen Bereich erfolgt, muß die Kleinbereichsbewegungsinformation nicht codiert werden, wenn der kleine Bereich im Intraframe-Codiermodus oder dem nicht codierten Modus ist. Wenn alle kleinen Bereiche in einem großen Bereich in einem Intraframe- Codiermodus oder nicht codierten Modus sind, muß darüber hinaus der Großbereichsbewegungsvektor nicht codiert werden. In dem Fall, bei dem das Modusschalten auf einem großen Bereich basiert, wenn der große Bereich im Intraframe- Codiermodus oder dem nicht codierten Modus ist, müssen weder der repräsentative Großbereichsbewegungsvektor noch die Kleinbereichsbewegungsinformation codiert werden.
  • Fig. 22 zeigt ein Blockdiagramm einer Videocodiervorrichtung gemäß einem fünften Ausführungsbeispiel der Erfindung. Gleiche Teile wie in Fig. 5 sind mit den gleichen Referenzsymbolen gekennzeichnet. Eine Erklärung konzentriert sich auf die Unterschiede zum zweiten Ausführungsbeispiel. Das fünfte Ausführungsbeispiel unterscheidet sich von dem zweiten Ausführungsbeispiel dadurch, daß die Bewegungsvektorinformation, die von einer adaptiven Bewegungskompensationsvorhersageschaltung 101 ausgegeben wird, in einem Vektorcodierer 131 codiert wird, und die codierte Bewegungsvektorinformation 136 in einen Multiplexer 110 eingegeben wird.
  • Als nächstes werden die adaptive Bewegungskompensationsvorhersageschaltung 101 und der Bewegungsvektorcodierer 131, ein charakteristischer Teil des fünften Ausführungsbeispiel, beschrieben.
  • Fig. 23 zeigt ein Beispiel von Kandidaten für den Bewegungsvektor, nach dem in einer adaptiven Bewegungskompensationsvorhersageschaltung 101 gesucht wird. In Fig. 23 kennzeichnen die horizontale Achse (MVx) und die vertikale Achse (MVy) jeweils die horizontale Komponente und die vertikale Komponente eines Bewegungsvektors. In der Figur ist ein Punkt, der mit einem Kreis gekennzeichnet ist, ein Kandidat für den Bewegungsvektor, nach dem zu suchen ist. In dem Beispiel nach Fig. 23 sind die Bewegungsvektorkandidaten mit halber Pixelgenauigkeit in horizontaler und vertikaler Richtung angeordnet. Von diesen Kandidaten wird ein Bewegungsvektor, für den das Bewegungskompensationsvorhersagesignal am kleinsten ist, herausgesucht. Im folgenden wird ein Bewegungsvektor als (MVx, MVy) ausgedrückt, indem dessen horizontale Komponente MVx mit dessen vertikaler Komponente MVy gepaart werden.
  • Die folglich in der adaptiven Bewegungskompensationsvorhersageschaltung 101 erhaltene Bewegungsvektorinformation 126 wird im Bewegungsvektorcodierer 131 codiert, der eine codierte Bewegungsvektorinformation 136 erzeugt. Das Codewort, das die codierte Bewegungsvektorinformation 136 bildet, ist gekennzeichnet durch die Korrelation mit dem Euklidabstand zwischen den Bewegungsvektoren, die durch die Bewegungsvektorinformation 126 gezeigt sind, und dem Hammingabstand zwischen den Codewörtern, die dem Euklidabstand entsprechen. Mit anderen Worten, ein Codewort für die codierte Bewegungsvektorinformation 136 wird derart bestimmt, daß je kleiner der Euklidabstand zwischen den Bewegungsvektoren, die ein Paar bilden, desto kleiner wird der Hammingabstand zwischen den Codewörtern, die dem Paar der Bewegungsvektoren entsprechen.
  • Bei konkreter Realisierung enthält der Bewegungsvektorcodierer 131 einen Indexgenerator, der Indexinformation erzeugt (im folgenden als Bewegungsvektorindex bezeichnet), die den Bewegungsvektor auf der Basis der gelieferten Bewegungsvektorinformation 126 anzeigt, und einen Codekonverter, der den Bewegungsvektorindex zum Beispiel in Graycode umwandelt. In diesem Fall werden die Bewegungsvektorindizes den Bewegungsvektorsuchkandidaten spiralförmig zugewiesen, beginnend bei (0,0) in Richtung der Bewegungsvektoren mit größerer Bewegung. Für die Bewegungsvektorsuchkandidaten, die mit einem Kreis in Fig. 23 gekennzeichnet sind, wird der Bewegungsvektorindex i folgendermaßen berechnet:
  • Wenn MVx = MVy = 0,
  • i = 0 (23)
  • Wenn MVy = r, -r < MVx &le; r
  • i = 2r - 2x + S(r) (24)
  • Wenn MVx = -r, -r < MVy &le; r
  • i = 6r - 2y + S(r) (25)
  • Wenn MVy = -r, -r < MVx < r
  • i = 10r + 2x + S(r) (26)
  • Wenn MVy = r, -r &le; MVy < r
  • i = 14r + 2y + S(r) (27)
  • wobei S(r):
  • Sh(r) = (8i + 1) (28)
  • Der Bewegungsvektorcodierer 131 führt eine Codekonvertierung der folglich durch Berechnung erzeugten Bewegungsvektorindizes durch, indem derartige Codewörter verwendet werden, die den Hammingabstand zwischen den Codewörtern bilden, deren Indizes nahe aneinander liegen. Dies kann erreicht werden, indem zum Beispiel der Graycode verwendet wird. Der Graycode kann zum Beispiel durch das in der Referenz 2 beschriebene Verfahren erzeugt werden: YSUHIKO Okumura, "C Language Algorithm Dictionary", Seiten 358-360. Wie in den Fig. 17 und 18 gezeigt, kann nach Bewegungsvektoren mit kleiner Bewegung mit höherer Pixelgenauigkeit und nach Bewegungsvektoren mit größerer Bewegung mit geringerer Pixelgenauigkeit gesucht werden, indem die Kandidaten für Bewegungsvektoren mit kleiner Bewegung mit hoher Pixelgenauigkeit und die Kandidaten für Bewegungsvektoren mit großer Bewegung mit geringer Pixelgenauigkeit angeordnet werden.
  • Durch Codierung der Bewegungsvektorinformation im Bewegungsvektorcodierer 131, wie oben beschrieben, kann eine größere Fehlerwiderstandsfähigkeit erzielt werden als im Stand der Technik. Speziell hat der Graycode, der bei der Codierung der Bewegungsvektorindizes verwendet wird, von Natur aus eine Differenz zwischen dem decodierten Wert zum Zeitpunkt wenn ein 1 Bit Fehler aufgetreten ist, und dem korrekten Wert von N oder kleiner, wenn die Codewortlänge N (Bits) ist. Falls folglich ein 1 Bit Fehler pro Codewort oder weniger aufgetreten ist, ist die Wahrscheinlichkeit, daß ein signifikanter Fehler auftritt, geringer als wenn die Bewegungsvektorindizes, die aus normalen Binärcodes gebildet werden, als Codewörter für die Bewegungsvektorinformation verwendet werden. Wenn die Codelänge bei normalen Binärcodes auf N (Bits) festgelegt wird, wie oben beschrieben, ist die Differenz zwischen dem decodierten Wert zu einem Zeitpunkt, wenn ein 1 Bit Fehler aufgetreten ist, und dem richtigen Wert maximal 2 N - 1 mit dem Ergebnis, daß ein signifikanter Fehler mit großer Wahrscheinlichkeit auftritt.
  • Die Bewegungsvektorindizes werden der Reihe nach zugewiesen, beginnend bei (0,0) in Richtung der Bewegungsvektoren mit größerer Bewegung. Falls die Differenz zwischen dem korrekten Index und dem fehlerhaften Index klein ist, bildet der Bewegungsvektor keinen wesentlichen Fehler.
  • Für 1-Bit Fehler pro Codewort oder weniger, die auf normalen Übertragungskanälen oder Speichermedien auftreten, ist die Wahrscheinlichkeit, daß ein signifikanter Fehler in Bewegungsvektoren auftritt geringer als beim Stand der Technik, mit dem Ergebnis, daß die Fehlerwiderstandsfähigkeit des rekonstruierten Bildes verbessert wird.
  • Fig. 24 zeigt ein Blockdiagramm einer Videodecodiervorrichtung, die zu der Videocodiervorrichtung nach Fig. 22 korrespondiert. In Fig. 24 wird der Ausgangsbitstrom 127, der von der Videocodiervorrichtung nach Fig. 22 gesendet wird, über einen Übertragungskanal gesendet und in einem Speichermedium gespeichert, und zu einem Eingangsbitstrom 321. Die Eingangscodefolge wird an einen Demultiplexer 310 geliefert, der die Folge in ein codiertes Vorhersagefehlersignal teilt (ein variabler Längencode von quantisierter DCT-Koeffizienteninformation) 322 und codierte Bewegungsvektorinformation 335 teilt. Ein variabler Längendecoder 306, ein Invers- Quantisierer 307 und eine Invers-DCT-Schaltung 308 unterwerfen das codierte Vorhersagefehlersignal 322 den entgegengesetzten Verarbeitungen wie im variablen Längencodierer 106, Quantisierer 105 und der DCT-Schaltung 104 nach Fig. 22, und erzeugen ein Vorhersagefehlersignal 324. Ein Addierer 309 addiert das Vorhersagefehlersignal 324 zu dem Vorhersagesignal 326 von der adaptiven Bewegungskompensationsvorhersageschaltung 301 und erzeugt ein rekonstruiertes Videosignal 327. Das rekonstruierte Videosignal 327 wird von der Videodecodiervorrichtung nach außen gegeben und in einem Rahmenspeicher 302 gespeichert.
  • Andererseits wird die codierte Bewegungsvektorinformation 335 an den Bewegungsvektordecoder 331 geliefert, der diese im umgekehrten Prozeß des Bewegungsvektorcodierers 131 decodiert. Die decodierte Bewegungsvektorinformation 323 wird in die adaptive Bewegungskompensationsvorhersageschaltung 301 eingegeben. Die adaptive Bewegungskompensationsvorhersageschaltung 301 führt eine Bewegungskompensationsvorhersage durch, indem die Bewegungsvektorinformation 323 auf der Basis des rekonstruierten Bildes 325 des codierten Rahmens verwendet wird, der von dem Rahmenspeicher 302 ausgegeben wird, und gibt ein Vorhersagesignal 326 aus.
  • Fig. 25 zeigt ein Blockdiagramm einer Videocodiervorrichtung gemäß einem sechsten Ausführungsbeispiel der Erfindung. Die gleichen Teile wie die in Fig. 22 gezeigten, sind mit den gleichen Referenzsymbolen gekennzeichnet. Die Erklärung konzentriert sich auf die Unterschiede zum fünften Ausführungsbeispiel. Das sechste Ausführungsbeispiel unterscheidet sich von dem fünften Ausführungsbeispiel im Aufbau der adaptiven Bewegungskompensationsvorhersageschaltung 101 und dem Bewegungsvektorcodierer 131 sowie dadurch, daß ein anderer variabler Längencodierer 111 bereitgestellt ist.
  • In der adaptiven Bewegungskompensationsvorhersageschaltung 101 gemäß dem gegenwärtigen Ausführungsbeispiel werden die Bewegungsvektoren in zwei Schichten geteilt, eine Schicht für repräsentative Großbereichsbewegungsvektoren, die eine Bewegung in den großen Bereichen kennzeichnen, und die andere Schicht von Kleinbereichsbewegungsvektoren, die eine Bewegung in kleinen Bereichen kennzeichnen, die durch Unterteilung der großen Bereiche erhalten werden, und ein Suchen erfolgt in diesen beiden Schichten. Die einen großen Bereich repräsentierenden Bewegungsvektoren werden durch ein weitverbreitetes herkömmliches Verfahren gesucht, wie etwa ein Blockübereinstimmungsverfahren. Die erhaltene Bewegungsvektorinformation wird einer Codierung variabler Länge im variablen Längencodierer 111 unterworfen. Andererseits werden die Differenzbewegungsvektoren, die auf der Basis der Differenz zwischen den repräsentativen Großbereichsbewegungsvektoren und den Kleinbereichsbewegungsvektoren erhalten werden, im Differenzbewegungsvektorcodierer 131 codiert.
  • Fig. 26 zeigt eine Zeichnung zur Erklärung der Bewegungskompensationsvorhersageoperation innerhalb eines Rahmens gemäß dem gegenwärtigen Ausführungsbeispiel. Zuerst wird das innere eines Rahmens in große Bereiche geteilt, wie mit dicken Linien gezeigt, und die repräsentativen Großbereichsbewegungsvektoren, die als Linienpfeile gezeigt sind, werden durch ein Blockübereinstimmungsverfahren erhalten. Dann werden die Kleinbereichsbewegungsvektoren, die als gestrichelte Pfeile in kleinen Bereichen, die durch gestrichelte Linien in Fig. 26 gezeigt sind und durch Unterteilung der großen Bereiche erhalten werden, in der Form der Differenz von den repräsentativen Großbereichsbewegungsvektoren bestimmt.
  • Suchkandidaten für Differenzbewegungsvektoren können zum Beispiel diejenigen sein, wie in den Fig. 17 und 18 gezeigt. Speziell wird ein repräsentativer Großbereichsbewegungsvektor zu den Differenzbewegungsvektoren, wie in Fig. 17 und 18 gezeigt, hinzuaddiert, und die Ergebnisse werden als Suchkandidaten für den Bewegungsvektor in dem kleinen Bereich festgelegt. Von diesen wird nach demjenigen gesucht, für den die Bewegungskompensationsvorhersage am kleinsten ist.
  • Der Grund warum die Bewegungskompensationsvorhersage in hierarchischer Weise durchgeführt wird liegt darin, daß die Differenzbewegungsvektoren, die auf der Differenz zwischen den Großbereichsbewegungsvektoren und den Kleinbereichsbewegungsvektoren basieren, im allgemeinen nahe der Differenz = (0,0) verteilt sind, verglichen mit Bewegungsvektoren ohne Berücksichtigung der Differenz, und folglich können ähnliche Bewegungskompensationsvorhersagen selbst für Suchkandidaten für Bewegungsvektoren mit kleiner Bewegung erhalten werden, verglichen mit dem Fall, bei dem die Differenz nicht berechnet wird, wodurch die Codierungseffizienz verbessert wird. Darüber hinaus wird der Codierungswirkungsgrad weiter verbessert, indem die Suchgenauigkeit änderbar ist, wie in den Fig. 17 und 18 gezeigt, und die Suche nahe der Differenz = (0,0) mit hoher Genauigkeit und die Bereiche mit einer großen Differenz mit geringer Genauigkeit durchsucht werden. Wenn nur der repräsentative Großbereichsbewegungsvektor mit einem starken Fehlerschutz bereitgestellt wird, kann die Decodiervorrichtung eine Bewegungskompensationsvorhersage mit geringer Genauigkeit vornehmen, indem ein repräsentativer Großbereichsbewegungsvektor verwendet wird, selbst wenn ein Fehler in der Differenzvektorinformation vorliegt, wodurch die Fehlerwiderstandsfähigkeit verbessert wird.
  • Das Codieren der Differenzbewegungsvektoren 129 im Bewegungsvektorcodierer 131 erfolgt durch Verwendung derartiger Codewörter, die es erlauben, daß der Hammingabstand zwischen den Codewörtern kleiner wird, wenn die Euklidabstand zwischen den Differenzbewegungsvektoren kleiner wird. Wie bei dem Bewegungsvektorcodierer 131 gemäß dem zweiten Ausführungsbeispiel kann dies erzielt werden, indem Indizes spiralförmig den Differenzbewegungsvektoren zugewiesen werden, beginnend bei der Differenz = (0,0) der Reihe nach in Richtung größerer Differenzbewegungsvektoren, und durch Codierung dieser Indizierten unter Verwendung des Graycodes. In den Beispielen von Suchkandidaten für Differenzbewegungsvektoren in den Fig. 17 und 18 können die Indizes unter Verwendung der Gleichungen (1) bis (11) und der Gleichungen (12) bis (22) berechnet werden.
  • In Fig. 25 werden das codierte Vorhersagefehlersignal 124 von dem variablen Längencodierer 106, der codierte Großbereichsbewegungsvektor 130 von dem variablen Längencodierer 111 und die codierte Differenzbewegungsvektorinformation 136 von dem Bewegungsvektorcodierer 131 in dem Multiplexer 110 multigeplext. Das resultierende Signal wird als Ausgangsbitstrom 127 an den Übertragungskanal/Speichermedium (nicht gezeigt) gesendet.
  • Der Multiplexer 110 ordnet die Bewegungsvektoren in hierarchischer Weise gemäß der Wichtigkeit, die zu dem Grad der Bildqualitätsverschlechterung des decodierten Bildsignals aufgrund von Fehlern in der Übertragung/Speicherung korrespondiert, und führt verschiedene Schutzebenen gegen Fehler durch. Ein Verfahren zum Wechseln der Schutzebenen gegen Fehler besteht zum Beispiel in der Verwendung eines Differenzfehlerkorrektur/-detektions-Codes für jede Ebene und der Durchführen eines Fehlerschutzes in der Weise, daß ein stärkeres Korrektur/detektions-Vermögen für eine obere Schicht von größerer Wichtigkeit verwendet wird. Wenn die Übertragung und Speicherung auf Übertragungskanälen/Speichermedien durchgeführt werden kann, die unterschiedliche Fehlerraten aufweisen, wird eine obere Schicht mit größerer Wichtigkeit übertragen und auf einem Übertragungs/Speicher-Medium mit einer geringeren Fehlerrate gespeichert, um die Wahrscheinlichkeit des Auftretens eines Fehlers in der oberen Schichtcodefolge zu reduzieren. Die Schichten werden wie folgt zugewiesen.
  • Zuerst wird die Codemodusinformation, deren Fehler die größte nachteilige Wirkung hat, der höchsten Ebenenschicht zugewiesen.
  • Da ein Fehler in einem repräsentativen Großbereichsbewegungsvektor über einen breiten Bereich eine nachteilige Wirkung hat, wird dieser der nächsthöchsten Ebenenschicht zugewiesen. Wenn der Codierer variabler Länge 111 den repräsentativen Großbereichsbewegungsvektor 128 einer variablen Längencodierung unterzieht, indem die Differenz aus den benachbarten repräsentativen Großbereichsbewegungsvektoren berechnet wird, ist es wünschenswert, daß ein starker Schutz vor Fehlern bereitgestellt sein sollte, da ein Synchronisationsfehler eines variablen Längencodes eine Fehlerstreuung über den gesamten Schirm zur Folge haben kann.
  • Ein Codewort wird der codierten Kleinbereichsbewegungsvektorinformation 136 zugewiesen, so daß die Hammingdistanz zwischen Codewörtern kleiner werden kann wenn ein Differenzbewegungsvektor eine kleineren Euklidabstand aufweist. Als Ergebnis erhält man eine höhere Fehlerwiderstandsfähigkeit als bei mit variabler Längen codierten Großbereichsvektoren. Folglich wird die Kleinbereichsdifferenz- Bewegungsvektorinformation einer unteren Ebenenschicht zugewiesen als die, der typische Großbereichsbewegungsvektoren zugewiesen werden.
  • Die Fehlersignale, deren Verlust eine minimale Verschlechterung der Bildqualität verursachen würde, werden der unteren Schicht zugewiesen. Diese Schicht kann mit nur einem Fehlerdetektionscode versehen sein, der eine Fehlerdetektion verwendet, wie etwa CRC oder ein Paritätsprüfbit. Außerdem kann die Schicht weiter in Unterschichten gemäß einer orthogonalen Transformationsfolge unterteilt werden, wie etwa in die relativ wichtigen Tiefpaßbandkomponenten und die weniger wichtigen Hochfrequenzbandkomponenten, in Ausdrücken von subjektiver Qualität.
  • Wenn die Typen von Übertragungskanal/Speichermedium, die unterschiedliche Fehlerraten aufweisen, zum Beispiel als zwei Schichten oder drei Schichten bestimmt werden, wenn das Verhältnis der Codemenge in jeder Schicht zur Gesamtcodemenge auf einen spezifischen Bereich begrenzt ist, wenn nicht so viele Typen von Fehlerkorrektur- und Detektionscodes verwendet werden können, da die Hardware Grenzen setzt, kann der Typ des Codeworts, der in der jeweiligen Schicht verwendet werden soll, geeignet bestimmt werden. Wenn zum Beispiel die Anzahl der Schichten zwei ist und keine Grenze für das Verhältnis der Codemenge in der oberen Schicht gesetzt ist, werden die wichtigste Modusinformation und die repräsentativen Bewegungsvektoren in der oberen Schicht codiert. Die Kleinbereichsdifferenzbewegungsvektorinformation und das Fehlersignal werden in der oberen Schicht codiert, wenn in dem Codeanteil in der oberen Schicht Platz ist, und sie werden in der unteren Schicht codiert, wenn in dem Codeanteil in der oberen Schicht kein Platz ist. In diesem Fall, da die Kleinbereichsdifferenzbewegungsvektoren wichtiger sind, werden sie in der oberen Schicht vorrangig vor den anderen codiert. Obwohl in dem Beispiel nach Fig. 26 ein einzelner großer Bereich in vier kleine Bereiche unterteilt ist, erlaubt die Steuerung der Größe eines großen Bereichs und das Unterteilungsverhältnis in kleine Bereiche eine sehr viel genauere Steuerung.
  • Als nächstes wird eine Decodiervorrichtung des gegenwärtigen Ausführungsbeispiel erklärt. Fig. 27 zeigt ein Blockdiagramm einer Videodecodiervorrichtung, die zu der Videocodiervorrichtung gemäß dem sechsten Ausführungsbeispiel nach Fig. 25 korrespondiert. Die gleichen Teile wie in der Videodecodiervorrichtung gemäß dem fünften Ausführungsbeispiel in Fig. 24 sind mit den gleichen Referenzsymbolen gekennzeichnet. Eine Erklärung konzentriert sich auf die Unterschiede zum fünften Ausführungsbeispiel. Das sechste Ausführungsbeispiel unterscheidet sich von dem fünften Ausführungsbeispiel in dem Aufbau der adaptiven Bewegungskompensationsvorhersageschaltung 301 und des Bewegungsvektordecoders 331 dadurch, daß ein weiterer variabler Längendecodierer 311 hinzugegeben ist, und der Demultiplexer 310 den Eingangsbitstrom 321 in drei Codes, ein codiertes Vorhersagefehlersignal (ein variabler Längencode von quantisierter DCT- Koeffizienteninformation) 322, einen mit variabler Länge codierten repräsentativen Großbereichsbewegungsvektor 328 und in einen codierten Kleinbereichsdifferenzbewegungsvektor 336 teilt.
  • Der mit variabler Länge codierte repräsentative Großbereichsbewegungsvektor 328 wird in dem variablen Längendecoder 311 decodiert. Der codierte Kleinbereichsdifferenzbewegungsvektor 336 wird in dem Differenzbewegungsvektordecoder 331 decodiert. Der decodierte repräsentative Großbereichsbewegungsvektor 330 und der Kleinbereichsdifferenzbewegungsvektor 329 werden in die adaptive Bewegungskompensationsvorhersageschaltung 301 eingegeben. Die adaptive Bewegungskompensationsvorhersageschaltung 301 addiert den repräsentativen Großbereichsbewegungsvektor 330 zu dem Kleinbereichsdifferenzbewegungsvektor 329, um einen Kleinbereichsbewegungsvektor zu erzeugen, führt die Bewegungskompensationsvorhersage auf der Basis des rekonstruierten Videosignals 325 des codierten Rahmens durch, der vom Rahmenspeicher 302 ausgegeben wird, und gibt ein Vorhersagesignal 326 aus.
  • Es erfolgt eine zusätzliche Erklärung des gegenwärtigen Ausführungsbeispiels. Wenn ein Fehler im Eingangsbitstrom 321 detektiert worden ist, erfolgt mit der Videodecodiervorrichtung nach Fig. 25 eine Decodierung, indem ein unterschiedlicher Prozeß gemäß dem Typ des Codeworts, in dem ein Fehler aufgetreten ist, durchgeführt wird. Wenn zum Beispiel ein Fehler in dem codierten Vorhersagefehlersignal 322 detektiert worden ist, wird das Vorhersagefehlersignal 324 des Blocks auf 0 festgelegt, und das Vorhersagesignal 326, das in der adaptiven Bewegungskompensationsschaltung 301 erhalten wird, indem die korrekte decodierte Modusinformation und der Bewegungsvektor verwendet werden, wird als ein rekonstruiertes Videosignal verwendet. Wenn das Vorhersagefehlersignal in hierarchischer Weise gemäß der orthogonalen Transformationsfolge geteilt wird, kann es einer inversen orthogonalen Transformation unterworfen werden, indem nur eine niederwertigere Folge als die Folge verwendet wird, in der der Fehler aufgetreten ist, und das resultierende Signal kann als ein Fehlersignal verwendet werden. Darüber hinaus, wenn alle Fehlersignale 0 sind und ein rekonstruiertes Bild gebildet ist, erzeugt dies in dem Bereich für den der Intraframe-Vorhersagemodus gewählt ist, eine starke Verschlechterung in der Codierung. Folglich wird das rekonstruierte Bild durch Decodieren des rekonstruierten Bildes erzeugt, bei dem nur die korrekten decodierten Tieffrequenzbandkomponenten verwendet werden, durch Schätzen des Bewegungsvektors in dem Bereich auf der Basis der korrekt decodierten Bewegungsvektorinformation um den fehlerhaften Bereich herum, durch Durchführen einer Bewegungskompensationsvorhersage und durch Erzeugen eines Vorhersagesignals als das rekonstruierte Bild, indem das rekonstruierte Bild des vorherigen Rahmens verwendet wird, oder durch Interpolationsvorhersage auf der Basis des korrekt decodierten rekonstruierten Bildes um den Bereich herum.
  • Andererseits, da die Kleinbereichsbewegungsvektorinformation 329 eine hohe Fehlerwiderstandsfähigkeit aufweist, selbst wenn eine kleine Anzahl von Fehlern auftritt, wird sie in gleicher Weise verarbeitet, so als ob kein Fehler aufgetreten wäre. Wenn viele Fehler auftreten, wird jedoch der Kleinbereichsbewegungsvektor, der Fehler enthält, nicht verwendet, um eine signifikante Verschlechterung der Bildqualität zu verhindern, und das Decodieren erfolgt durch Verwendung des repräsentativen Bewegungsvektors in dem Bereich. Da die Modusinformation und die repräsentative Bewegungsvektorinformation mit starkem Fehlerschutz bereitgestellt sind, ist die Wahrscheinlichkeit des Auftretens eines Fehlers gering. Falls ein Fehler jedoch auftreten sollte, besteht die Möglichkeit, daß die Bildqualität ernsthaft verschlechtert wird. Für den Bereich des Codes und für die Bereiche, in denen der Fehler eine nachteilige Wirkung aufgrund des Synchronisationsfehlers aufweist, wird das lokal decodierte Bild des vorherigen Rahmens direkt als decodiertes Bild verwendet. Wenn der korrekte Bewegungsvektor in den Bereichen um den Bereich, in dem ein Fehler aufgetreten ist, herum decodiert wird, kann der Bewegungsvektor in dem fehlerhaften Bereich aus den korrekt decodierten Bewegungsvektoren geschätzt werden, und der geschätzte Bewegungsvektor kann bei der Decodierung verwendet werden.
  • Fig. 28 zeigt ein Blockdiagramm einer adaptiven Bewegungskompensationsvorhersageschaltung 101 in einer Videocodiervorrichtung gemäß einem siebten Ausführungsbeispiel der Erfindung. Der gesamte Aufbau der Videocodiervorrichtung gemäß dem siebten Ausführungsbeispiel ist der gleiche wie der der Videocodiervorrichtung gemäß dem fünften Ausführungsbeispiel nach Fig. 25. Ein Bewegungsvektorcodierer 131 führt einen anderen Prozeß durch als die Videocodiervorrichtung gemäß dem fünften Ausführungsbeispiel.
  • In der adaptiven Bewegungskompensationsvorhersageschaltung 101 gemäß dem gegenwärtigen Ausführungsbeispiel erfolgt die Bewegungskompensationsvorhersage des Eingangsvideosignals in zwei Schichten, eine Schicht für große Bereiche und die andere Schicht für kleine Bereiche, die durch Unterteilung der großen Bereiche erhalten werden. Ein Teil der kleinen Bereiche wird ferner in eine Mehrzahl von Bereiche gemäß den Inhalten des Bildes unterteilt. Die adaptive Bewegungskompensationsvorhersageschaltung erzeugt ein Vorhersagesignal, indem die Bewegungskompensationsvorhersage des Eingangsvideosignals unter Verwendung der Bewegungsinformation, die durch Vektorquantisierung einer Kombination der Bereichsdivisionsforminformation, die die Bereichsform anzeigt, erhalten wird, und des Bewegungsvektors in jedem unterteilten Bereich erfolgt.
  • Fig. 29 zeigt eine Darstellung zur Erklärung der Operation der Bewegungskompensationsvorhersage gemäß dem gegenwärtigen Ausführungsbeispiel. Zuerst wird das Innere des Rahmens in große Bereiche unterteilt, die mit dicken durchgezogene Linien gezeigt sind, und die repräsentativen Großbereichsbewegungsvektoren (nicht gezeigt) werden unter Verwendung eines Blockübereinstimmungsverfahrens erhalten. Für die kleinen Bereiche, in Fig. 25 als dünne durchgezogene Linien dargestellt, die durch Unterteilung der großen Bereiche erhalten werden, wird dann eine Bewegungskompensationsvorhersage getroffen. Ein Bewegungsvektorsuchen erfolgt in dem Fall, wo die kleinen Bereiche nicht unterteilt sind, und dem Fall, wo sie unterteilt sind. Für den Fall, wo die kleinen Bereiche nicht unterteilt sind, erfolgt die Bewegungsvektorsuche in gleicher Weise wie die Bewegungsvektorsuche in der adaptiven Bewegungskompensationsvorhersageschaltung 101 in der Videocodiervorrichtung gemäß dem dritten Ausführungsbeispiel. Andererseits, für den Fall, wo die kleinen Bereiche unterteilt sind, erfolgt die Bewegungsvektorsuche in der Weise, daß Bereichsdivisionslinien 22 für eine lineare Approximation ausgewählt werden, um entlang der Grenze 21 des Objekts in den kleinen Bereichen zu verlaufen, und ein Bewegungsvektor 23 wird in jedem der unterteilten Bereiche erhalten. In diesem Fall werden die Bereichsform und der Bewegungsvektor in jedem unterteilten Bereich, für den der Bewegungskompensationsvorhersagefehler am kleinsten ist, von den zuvor im Codebuch gespeicherten Codevektoren ausgewählt.
  • Die adaptive Bewegungskompensationsvorhersageschaltung 101 nach Fig. 28 enthält eine erste Vorhersageschaltung 731, einen ersten Fehlerrechner 732, eine erste Steuerung 733, eine zweite Vorhersageschaltung 701, einen zweiten Fehlerrechner 702, eine zweite Steuerung 703, ein erstes bis drittes Codebuch 712, 713, 714 und Addierer 718, 719, 720. Die erste Vorhersageschaltung 731, der erste Fehlerrechner 732 und die erste Steuerung 733 werden für die Bewegungskompensationsvorhersage bereitgestellt, die repräsentative Großbereichsbewegungsvektore verwendet. Andererseits sind die zweite Vorhersageschaltung 701, der zweite Fehlerrechner 702 und die zweite Steuerung 703, die Codebücher 712, 713, 714 und die Addierer 718, 719, 720 für die Kleinbereichsbewegungskompensationsvorhersage bereitgestellt. Das erste Codebuch 712 speichert Kandidaten für die Bereichsforminformation in der Form von Codevektoren. Das zweite und dritte Codebuch 713, 714 speichert Kandidaten für die Differenzbewegungsvektoren, die auf der Differenz zwischen den repräsentativen Großbereichsbewegungsvektoren und den Kleinbereichsbewegungsvektoren basiert, in der Form von Codevektoren.
  • Zur Suche nach einem typischen Großbereichsvektor erzeugt die erste Steuerung 733 Suchkandidaten 741 für einen ersten Bewegungsvektor nacheinander. Die erste Vorhersageschaltung 731 erzeugt nacheinander ein erstes Vorhersagesignal 742, das zu dem ersten Bewegungsvektor 741 korrespondiert, auf der Basis des lokal decodierten Bildsignals 125 vom Rahmenspeicher 102 nach Fig. 25. Dann berechnet der erste Fehlerrechner 732 die Größe der Differenz (Fehler) zwischen dem Eingangsbildsignal 121 im großen Bereich und dem ersten Vorhersagesignal 742, und erzeugt ein Fehlerpegelsignal 743, das die Größe anzeigt. Die Größe des Fehlers kann zum Beispiel durch die absolute Summe oder die Quadratsumme der Fehler festgelegt werden, oder durch die Quadratfehlersumme mit gewichteten Tieffrequenzbandkomponenten. Die erste Steuerung 733 erhält einen repräsentativen Großbereichsbewegungsvektor 128, für den die Größe des Fehlers, die durch das Fehlerpegelsignal 743 gegeben ist, am kleinsten ist, und gibt sie aus.
  • Die Bewegungskompensationsvorhersage wird dann für die kleinen Bereiche (die Bereiche, die durch dünne durchgezogene Linien in Fig. 29 gezeigt sind) durchgeführt, die durch Unterteilung der großen Bereiche erhalten werden.
  • Zuerst erzeugt die zweite Steuerung 703 nacheinander Kandidaten 715 für Differenzbewegungsvektoren, ohne Bereichsdivision. Der Addierer 718 addiert diese Kandidaten zu zuvor erhaltene repräsentative Großbereichsbewegungsvektoren 128, um Kandidaten 721 für Kleinbereichsbewegungsvektoren zu erzeugen. Die zweite Vorhersageschaltung 701 erzeugt ein erstes Vorhersagesignal 122, das zu den Kandidaten 721 für einen Kleinbereichsbewegungsvektor korrespondiert, auf der Basis des lokal decodierten Bildsignals 125 vom Rahmenspeicher 102 nach Fig. 25. Der zweite Fehlerrechner 702 berechnet dann die Größe der Differenz (Fehler) zwischen dem Eingangsbildsignal 121 und dem Vorhersagesignal 122 und erzeugt ein Fehlerpegelsignal 710, das die Größe anzeigt. Die zweite Steuerung 703 erhält einen Bewegungsvektor, für den die Größe des Fehlers, der durch das Fehlerpegelsignal 710 gegeben ist, am kleinsten ist.
  • Andererseits speichert das erste Codebuch 712 Kandidaten für die Bereichsform in einer segmentbasierten Kompensationsvorhersage in der Form von Codevektoren. Das zweite und dritte Codebuch 713, 714 speichert jeweils Codevektoren, Kandidaten für Bewegungsvektoren in den zwei geteilten Bereichen, in der Form der Differenz von dem repräsentativen Großbereichsbewegungsvektor 128. Die zweite Steuerung 703 ändert dann die Codebuchindizes 716 nacheinander und gibt diese aus und nimmt die Bereichsforminformation 722 und die Differenzbewegungsvektoren 725 und 726, die zu dem Codebuchindex 716 korrespondieren, aus den ersten bis dritten Codebüchern 712 bis 714 heraus. Der zweite und dritte Addierer 719, 720 addieren die Differenzbewegungsvektoren 725 und 726 zu dem repräsentativen Großbereichsbewegungsvektore 128, um Kandidaten 723, 724 für Bewegungsvektoren zu erzeugen. Die Bewegungsvektorkandidaten 723, 724, zusammen mit der Bereichsforminformation 722, werden in die zweite Vorhersageschaltung 701 eingegeben, die ein Vorhersagesignal 122 erzeugt, das zu der Eingabe korrespondiert. Der zweite Fehlerrechner 702 berechnet die Größe der Differenz (Fehler) zwischen dem Eingangsvideosignal 121 und dem Vorhersagesignal 122 und erzeugt ein Fehlerpegelsignal 710, das die Größe anzeigt. Die zweite Steuerung 701 erhält einen Codebuchindex, für den die Größe des Fehlers, die durch das Fehlerpegelsignal 710 gegeben ist, am kleinsten ist.
  • Die zweite Steuerung 703 wählt aus der Bewegungskompensationsvorhersage mit Bereichsdivision und der Bewegungskompensationsvorhersage ohne Bereichsdivision diejenige aus, für die die Größe des Bewegungskompensationsfehlers am kleinsten ist und gibt die ausgewählte Information aus. Die zweite Steuerung gibt ebenfalls als Bewegungsvektorinformation 129 den korrespondierenden Differenzbewegungsvektor aus, wenn die Bewegungskompensationsvorhersage ohne Bereichsdivision ausgewählt worden ist, und den korrespondierenden Codebuchindex, wenn die Bewegungskompensationsvorhersage mit Bereichsdivision ausgewählt worden ist.
  • Die Bewegungsinformation 129 wird im Bewegungsvektorcodierer 131 nach Fig. 25 codiert. Wenn die Bewegungskompensationsvorhersage ohne Bereichsdivision ausgewählt ist, wird die Bewegungsvektorinformation 129 als Differenzbewegungsvektorinformation 126 in der Videocodiervorrichtung gemäß dem sechsten Ausführungsbeispiel codiert. Andererseits, wenn die Bewegungskompensationsvorhersage mit Bereichsdivision ausgewählt ist, kann der Codebuchindex direkt als Codewort verwendet werden. Darüber hinaus können die Codebücher 713 und 714 in der Reihenfolge der Summen der Größen der Differenzbewegungsvektoren sortiert sein, und der Codebuchindex ist unter Verwendung des Graycodes codiert. Dies verbessert die Fehlerwiderstandsfähigkeit in den Bereichsdivisionsbewegungsvektoren.
  • Als nächstes wird eine Videodecodiervorrichtung gemäß dem gegenwärtigen Ausführungsbeispiel erklärt. Fig. 30 zeigt ein Blockdiagramm einer adaptiven Bewegungskompensationsvorhersageschaltung gemäß einem Ausführungsbeispiel der Videodecodiervorrichtung nach dem siebten Ausführungsbeispiel. Die gesamte Konfiguration der Videodecodiervorrichtung gemäß dem siebten Ausführungsbeispiel ist die gleiche wie die der Videodecodiervorrichtung gemäß dem fünften Ausführungsbeispiel nach Fig. 27.
  • Die adaptive Bewegungskompensationsvorhersageschaltung 101 nach Fig. 30 enthält eine Vorhersageschaltung 800, ein erstes bis drittes Codebuch 812, 813, 814 und eine Steuerung 825. Das erste Codebuch 812 speichert Kandidaten für Bereichsforminformation, in der Form von Codevektoren. Das zweite und dritte Codebuch 813, 814 speichert jeweils Kandidaten für die Differenzbewegungsvektoren, die auf der Differenz zwischen repräsentativen Großbereichsbewegungsvektoren und Kleinbereichsbewegungsvektoren basieren, in der Form von Codevektoren.
  • Die Steuerung 825 gibt eine Marke 826 aus, die anzeigt, ob die Bereichsdivision oder die Nichtbereichsdivision in der Kleinbereichsbewegungskompensationsvorhersage verwendet wird, einen Differenzbewegungsvektor 815 durch nichtsegmentbasierte Kompensation, und einen Codebuchindex 816 zur segmentbasierten Kompensation.
  • Für die kleinen Bereiche, für die die Bewegungskompensationsvorhersage ohne Bereichsdivision durchgeführt worden ist, addiert der erste Addierer 818 den typischen Großbereichsvektor 330, der im variablen Längendecoder 311 decodiert worden ist, zu dem Differenzbewegungsvektor 815, um den Kleinbereichsbewegungsvektor 821 zu decodieren. Die Vorhersageschaltung 800 erzeugt dann ein Vorhersagesignal 326, das zu dem decodierten Vektor 821 korrespondiert.
  • Für die kleinen Bereiche, für die eine Bereichsdivisionsbewegungskompensation durchgeführt worden ist, wird die Bereichsforminformation 822 aus dem ersten Codebuch 812 gemäß dem Codebuchindex 816 genommen und an die Vorhersageschaltung 800 geliefert. Zum gleichen Zeitpunkt werden die Differenzbewegungsvektoren in dem jeweiligen unterteilten Bereich aus dem zweiten bis dritten Codebuch 813 und 814 genommen. Der zweite und dritte Addierer 819, 820 addieren die Differenzbewegungsvektoren zu repräsentativen Großbereichsbewegungsvektoren, um die Kleinbereichsbewegungsvektoren 823, 824 zu decodieren, die an die Vorhersageschaltung 800 geliefert werden. Die Vorhersageschaltung 800 erzeugt ein Vorhersagesignal gemäß der Bereichsdivisionsforminformation 822 und den zwei Bewegungsvektoren 823, 824 und gibt dieses aus.
  • Als nächstes wird ein Verfahren zur Erzeugung des ersten bis dritten Codebuchs in der segmentbasierten Kompensation unter Verwendung einer Vektorquantisierung in der Videocodier/-decodier-Vorrichtung gemäß dem siebten Ausführungsbeispiel erklärt.
  • Die Codebücher werden unter Verwendung einer Mehrzahl von Videosignalen vor der Codierung erzeugt. Zuerst werden bei der Vorbereitung der Codebucherzeugung, die Bereichsform und der Bewegungsvektor in jedem Bereich, die nicht vektorquantisiert sind, gesucht. Bei der Suche kann nach allen Kombinationen von Bereichsformen und Bewegungsvektoren gesucht werden, für die die Größe des Vorhersagefehlers am kleinsten ist. Dies würde zu einer gewaltigen Anzahl von Kombinationen führen, die durchsucht werden müßten, was einen erheblichen Rechenaufwand erfordert. Dieses Problem wird durch folgende vereinfachte Suche überwunden.
  • Die Fig. 31A, 31B und 31C zeigen Zeichnungen zur Erklärung eines Suchverfahrens für eine Bereichsform und einen Bewegungsvektor. Zuerst wird ein Videosignal in kleine Bereiche unterteilt, wie durch durchgezogene Linien gezeigt, und nichtsegmentbasierte Vektoren in der Bewegungskompensationsvorhersage ohne Bereichsdivision werden erhalten. Dann wird ein kleiner Bereich horizontal, vertikal oder diagonal mit geringer Genauigkeit geteilt, und eine Bereichsform, für die die Größe des Bewegungskompensationsvorhersagefehlers am kleinsten ist, wird erhalten. Zu diesen Zeitpunkt wird der nichtsegmentbasierte Vektor in einem benachbarten Bereich als der Bewegungsvektor in jedem unterteilten Bereich verwendet. Wenn ein kleiner Bereich zum Beispiel in einen linken und rechten Unterbereich mit einer vertikalen Teilungslinie, wie in Fig. 31A gezeigt, unterteilt wird, wird der nichtsegmentbasierte Vektor in dem linken benachbarten kleinen Bereich für den linken Unterbereich verwendet, und der nichtsegmentbasierte Vektor in dem rechten benachbarten kleinen Bereich wird für den rechten Unterbereich verwendet. Wenn ein kleiner Bereich in einen oberen und unteren Unterbereich mit einer horizontalen Teilungslinien, wie in Fig. 31B gezeigt, unterteilt wird, wird der nichtsegmentbasierte Vektor in dem oben angrenzenden kleinen Bereich für den oberen Unterbereich verwendet, und der nichtsegmentbasierte Vektor in dem unteren angrenzenden kleinen Bereich wird für den unteren Unterbereich verwendet. Wenn ein kleiner Bereich diagonal, wie in Fig. 31C gezeigt, geteilt wird, wird der nichtsegmentbasierte Vektor in dem diagonal benachbarten kleinen Bereich verwendet. Durch Bewegungskompensationsvorhersage unter Verwendung einer derartigen Bereichsform und eines Bewegungsvektors, wird die Größe des Vorhersagefehlers bestimmt, und ein Bereichsdivisionsmuster und ein Bewegungsvektor, für die der Fehler am kleinsten ist, werden erhalten.
  • In dem oben genannten Prozeß kann der Bewegungsvektor in einem unterteilten Bereich auf der Basis der nichtsegmentbasierten Vektoren in benachbarten kleinen Bereichen erhalten werden. Speziell kann der Durchschnittswert von nichtsegmentbasierten Vektoren oder der gewichtete Mittelwert gemäß dem Abstand von einem unterteilten Bereich als Bewegungsvektor in dem unterteilten Bereich verwendet werden. Darüber hinaus kann der Bewegungsvektor in einem geteilten Bereich unter Verwendung eines Medianfilters erhalten werden.
  • Dann werden die folglich erhaltenen eine geringe Genauigkeit aufweisende Bereichsdivisionsform und der Bewegungsvektor jeweils nach und nach abgeleitet. In dieser Weise werden die Bereichsform und der Bewegungsvektor mit hoher Genauigkeit erhalten. Für die Bereichsform, wie in Fig. 31D gezeigt, werden die Pixelpositionen von zwei Kreuzungen 901, wo die Bereichsteilungslinie die Grenze des kleinen Bereichs kreuzt, um einige Pixel bewegt (in dem Bereich, der durch die Pfeile 902 in der Figur gezeigt ist) von der groben Bereichsteilungslinie (die diagonale durchgezogene Linie in der Figur). Für den Bewegungsvektor erfolgt ein Suchen und ein Zentrieren um den Bewegungsvektor in jedem Bereich, der mit geringer Genauigkeit erhalten wird, oder um den nichtsegmentbasierten Vektor in dem kleinen Bereich herum.
  • Wie oben beschrieben, wird zuerst nach einem nichtsegmentbasierter Vektor gesucht und auf der Basis des Vektors werden eine Bereichsform und ein Bewegungsvektor erhalten, wodurch die Anzahl von Kandidaten, nach denen gesucht werden muß, begrenzt wird. Außerdem erfolgt das Suchen mit hoher Genauigkeit, indem die Bereichsform und der Bewegungsvektor abgeleitet werden. Folglich reduziert sich die Suchanzahl erheblich, verglichen mit dem Suchen nach allen Kombinationen von Bereichsformen und Bewegungsvektoren, mit dem Ergebnis, daß sich der Rechenaufwand für das Suchen reduziert.
  • Auf der Basis der so erhaltenen Bereichsform und des Bewegungsvektors wird ein Codebuch erzeugt. Ein LBG-Algorithmus oder ein simuliertes "Annealing" Verfahren kann zur Erzeugung der Codebücher verwendet werden. Im allgemeinen wird der Quadratfehler des Eingangssignals (in diesem Fall die Bereichsform und der Bewegungsvektor) als ein Kriterium bei der Erzeugung der Codebücher verwendet. Da die Codebücher gemäß dem gegenwärtigen Ausführungsbeispiel zur Bewegungskompensationsvorhersage verwendet werden, erfolgt ein Lernen, indem die Größe (zum Beispiel die Quadratsumme oder der absolute Fehler) der Bewegungskompensationsvorhersagefehler als Kriterium verwendet wird.
  • Im folgenden wird ein Verfahren zur Erzeugung eines Codebuchs unter Verwendung eines LBG-Algorithmus erklärt. Ein Codebuch wird durch die Prozedur, die in dem Flußdiagramm in Fig. 32 gezeigt, erzeugt.
  • Zuerst wird ein Anfangscodebuch auf der Basis der erhaltenen Bereichsform und des Bewegungsvektors erzeugt (Schritt S1). In diesem Schritt wird eine als Splitting bekannte Technik verwendet. Speziell wird der Schwerpunkt aller Bereichsformen und Differenzbewegungsvektoren (die Differenzbewegungsvektoren zwischen nichtsegmentbasierten Vektoren und segmentbasierten Vektoren) berechnet, und der berechnete Schwerpunkt wird als erstes Codebuch y0 bestimmt. Dann wird das erste Codebuch ein wenig geändert, um zwei Codebücher y'1, y'2 zu erzeugen. Falls eine Bereichsteilungslinie des ersten Codebuchs y0 ist und Differenzbewegungsvektoren in den zwei geteilten Bereichen jeweils y0. mv1, y0 mv2 sind, werden sie wie folgt ausgedrückt:
  • y'1. r = drehen rechts (y0. r1)
  • y'2. 4 = drehen links (y0, r1)
  • y'1. mv1 = y0. mv1 + dmv1
  • y'2 mv1 = y0. mv1 - dmv1
  • y'1 mv2 = y0. mv2 + dmv2
  • y'2 mv2 = y0. mv2 - dmv2
  • wobei drehen rechts: der Prozeß des Drehens der Bereichsteilungslinie im Urzeigersinn
  • drehen links: der Prozeß des Drehens der Bereichsteilungslinie entgegengesetzt dem Urzeigersinn
  • dmv1, dmv2: kleine Vektoren.
  • Als nächstes werden die individuellen Bereiche klassifiziert, davon abhängig, ob die entsprechenden Bereichsformen und Bewegungsvektoren näher an y'1 oder y'2 liegen. Der Schwerpunkt wird für jede Klasse berechnet, und der berechnete Schwerpunkt wird als nächstes Codebuch bestimmt. Die Anzahl von Codebüchern wird durch Wiederholung des oben genannten Prozesses erhöht. Der Prozeß endet, wenn die Anzahl von Codebüchern eine spezifische Anzahl erreicht hat. Das letzte erhaltene Codebuch wird als Anfangscodebuch festgelegt.
  • Wenn das so erhaltene Anfangscodebuch bei Schritt S1 ein vorübergehendes Codebuch ist, dann wird ein Codevektor, für den die Größe des Bewegungskompensationsfehlers am kleinsten ist, gesucht (Schritt S2). Falls bei Schritt S3 der durchschnittliche Bewegungskompensationsfehler kleiner ist als der Schwellenwert, wird der Schwerpunkt für jeden der Codevektoren, die in Schritt S2 gesucht werden, berechnet (Schritt S4). Der berechnete Schwerpunkt wird als nächstes vorübergehendes Codebuch bestimmt, und es erfolgt eine Aktualisierung (Schritt S5).
  • Die Prozesse des Codebuchsuchens (Schritt S2), der Schwerpunktberechnung (Schritt S4), der Aktualisierung des vorübergehenden Codebuches (Schritt S5) werden wiederholt. Das Codebuchlernen wiederholt sich bis der Durchschnitt der Größen der Bewegungskompensationsfehler, die auf dem vorübergehenden Codebuch basieren, kleiner ist als ein vorbestimmter Wert in Schritt S4.
  • Wenn die Größe eines Vorhersagefehlers, der bei der segmentbasierten Kompensation unter Verwendung des temporären Codebuchs verwendet wird, größer ist als die Größe eines vorbestimmten Fehlers in der nicht segmentbasierten Kompensation, kann der Bereich von der Schwerpunktberechnung beim Codebuchlernen ausgeschlossen werden. Der Grund hierfür liegt darin, daß selbst wenn ein Codebuch mit einem großen Bewegungskompensationsfehler in den anderen Codebüchern enthalten ist, eine große Wahrscheinlichkeit dafür besteht, daß er nicht bei der Suche nach einem Bewegungsvektor in der Codiervorrichtung ausgewählt wird, da die Videocodiervorrichtung gemäß dem siebten Ausführungsbeispiel sowohl die nichtsegmentbasierte Kompensation als auch die segmentbasierte Kompensation durch Vektorquantisierung durchführt, und dasjenige auswählt, für das der Kompensationsvorhersagefehler kleiner ist.
  • Beim Codebuchlernen, wenn die Bewegungsvektoren in zwei Bereichen, die als Schwerpunkte berechnet sind, gleich sind, werden sie nicht in das aktuelle Codebuch mit aufgenommen. Darüber hinaus, wenn die Bewegungsvektoren in zwei Bereichen sehr nahe aneinander liegen, können sie nicht für eine Codebuchaktualisierung verwendet werden. Der Grund hierfür liegt darin, daß wenn die Bewegungsvektoren in den individuell geteilten Bereichen sich stark voneinander unterscheiden, die segmentbasierte Kompensation einen größeren Beitrag zur Verbesserung der Codierungseffizienz liefert, als die nichtsegmentbasierte Kompensation, und das wenn zwei Bewegungsvektoren im Wert sehr nahe beieinander liegen, die segmentbasierte Kompensation nicht zu einer erheblichen Verbesserung des Codierungswirkungsgrades beiträgt.
  • Bei der Suche nach der Bereichsform und dem Bewegungsvektor, und beim Codebuchlernen kann ein derartiger Kriterium für die Evaluierungsvorhersagefehler verwendet werden, das eine einfache Auswahl eines Bewegungsvektors = (0,0) erlaubt.
  • Der Grund hierfür liegt darin, daß die visuelle Qualität des rekonstruierten Videosignals verbessert wird, indem eine segmentbasierte Kompensation für einen stillstehenden Bereich erfolgt (Bewegungsvektor = (0,0), wie etwa ein Hintergrund, wo die Verteilung der Codierung dazu neigt, auffällig zu sein, oder die Grenze einer Person und der Grenzbereich eines sich bewegenden Objekts.
  • Obwohl mit der Videocodier/-decodier-Vorrichtung gemäß dem siebten Ausführungsbeispiel die Codebuchindizes der vektorquantisierten Bereichsform und die Bewegungsvektorinformation direkt mit fester Länge codiert sind, können sie auch mit variabler Länge codiert sein. Dadurch reduziert sich die Fehlerwiderstandsfähigkeit etwas, jedoch wird die Codierungseffizienz größer.
  • Mit den im vierten bis siebten Ausführungsbeispiel erklärten Videocodiervorrichtungen kann der maximale Wert des Index der Bewegungsvektorinformation erhalten werden, indem ein Suchen basierend auf einem Rahmen erhalten wird, oder basierend auf einer Bereichseinheit beim Codieren der Bewegungsvektorinformation in dem Bewegungsvektorcodierer 131, codiert werden und in der Codefolge 127 enthalten sein, und ein Code, der ein notwendiges Minimum an Bits enthält, kann bei der Codierung des maximalen Werts des Index verwendet werden. Dadurch reduziert sich die Codemenge um so mehr, je mehr Indizes kleine Werte aufweisen. Folglich können mit der adaptiven Bewegungskompensationsvorhersageschaltung 101 Bewegungsvektoren gesucht werden, indem ein derartiges Kriterium verwendet wird, das ein einfaches Auswählen von Bewegungsvektoren, deren Indizes kleine Werte aufweisen, erlaubt. Andererseits wird mit der Videodecodiervorrichtung zuerst der maximale Wert des Bewegungsvektorindex decodiert, und die individuellen Bewegungsvektorindizes werden unter der Annahme decodiert, daß das notwendige Minimum an Code bei der Codierung des maximalen Werts verwendet worden ist. Darüber hinaus, falls der decodierte Index den maximalen Wert überschreitet, kann der Index aufgrund des Einmischens eines Fehlers als fehlerhaft decodiert bestimmt werden, und nicht für die Bildrekonstruktion verwendet werden.
  • Der oben genannte Ansatz kann für Bewegungsvektorindizes in segmentbasierter Kompensation und für Codebuchindizes in segmentbasierter Kompensation gemäß dem fünften und siebten Ausführungsbeispiel verwendet werden. In diesem Fall kann das Codebuch für segmentbasierte Kompensation derart sein, daß kleinere Werte als Codebuchindizes Differenzbewegungsvektoren näher an (0,0) zugewiesen werden. Der Grund hierfür liegt darin, daß ein derartiges Indizieren kleine Codebuchindizes erlaubt, die häufiger auftreten, da die Bewegungsvektoren nahe am Differenzvektor (0,0) eine größere Auftrittshäufigkeit aufweisen, wodurch das Indexmaximum kleiner wird, und folglich die Anzahl der Bits, die zur Repräsentierung der Indizes erforderlich ist, reduziert wird, mit dem Ergebnis, daß die Codemenge reduziert wird.
  • Mit der adaptiven Bewegungskompensationsvorhersageschaltung 101 in der Videocodiervorrichtung gemäß dem siebten Ausführungsbeispiel und der adaptiven Bewegungskompensationsvorhersageschaltung 301 in der Videodecodiervorrichtung gemäß dem siebten Ausführungsbeispiel kann anstelle des Addierens des repräsentativen Bewegungsvektors in dem großen Bereich, der den kleinen Bereich enthält, direkt zu dem Kleinbereichsdifferenzbewegungsvektor bei der Kleinbereichsbewegungskompensation, ein Kleinbereichsvorhersagebewegungsvektor zur Vorhersage eines Bewegungsvektors in dem kleinen Bereich von dem repräsentativen Großbereichsbewegungsvektor um den kleinen Bereich herum erzeugt werden, und das was durch Addieren des Kleinbereichsvorhersagebewegungsvektor zu dem Differenzbewegungsvektor erhalten wird, kann als Bewegungsvektor in dem kleinen Bereich bestimmt werden.
  • Die Fig. 33A und 33B zeigen Zeichnungen zur Erklärung wie Kleinbereichsvorhersagevektoren gefunden werden. Zum Beispiel wird ein Kleinbereichsvorhersagebewegungsvektor 1301 in Fig. 33A auf der Basis der benachbarten repräsentativen Großbereichsbewegungsvektoren 1302, 1303, 1304, 1305 gefunden, indem zum Beispiel deren Durchschnitt genommen wird, oder der gewichtete Durchschnitt im Verhältnis zum Abstand zwischen dem Mittelpunkt des kleinen Bereichs und dem Mittelpunkt jedes großen Bereichs, oder indem ein Medianfilter verwendet wird.
  • In der segmentbasierten Kompensation können die Bereichsdivisionsvorhersagebewegungsvektoren zur Vorhersage des Bewegungsvektors in jedem unterteilten Bereich auf der Basis des Großbereichsbewegungsvektors gefunden werden, die benachbart zu jedem unterteilten Bereich sind. Wie die Bereichsdivisionsvorhersagevektoren 1311 und 1312, die zu den jeweiligen unterteilten Bereichen in Fig. 33B korrespondieren, gefunden werden, wird beschrieben. Ein Bereichsdivisionsvorhersagebewegungsvektor 1311 wird auf der Basis der Großbereichsbewegungsvektoren 1213, 1314, 1315, 1316 benachbart zu dem Bereich gefunden, und der andere Bereichsdivisionsvorhersagebewegungsvektor 1311 wird auf der Basis der Großbereichsbewegungsvektoren 1314, 1316 gefunden. Wenn der Bereich eines unterteilten Bereichs ausreichend größer ist als der des anderen unterteilten Bereichs, wie in Fig. 33B gezeigt, kann der Bereichsdivisionsvorhersagebewegungsvektor 1312 in dem Bereich, der den größeren Bereich einnimmt, durch den repräsentativen Bewegungsvektor 1316 in dem großen Bereich, der den Bereich enthält, ersetzt werden, und der Bereichsdivisionsvorhersagebewegungsvektor 1313 in dem anderen Bereich kann durch den repräsentativen Bewegungsvektor 1315 in dem großen Bereich, der an den Bereich angrenzt, ersetzt werden.
  • Der Vorhersagebewegungsvektor, der so erhalten wird, hat üblicherweise eine kleinere Differenz von dem Bewegungsvektor in dem Bereich als repräsentativer Großbereichsbewegungsvektor. Entsprechend wird die Wahrscheinlichkeit, daß die Differenzbewegungsvektoren mit kleinen Werten nahe (0,0) auftreten, groß, wodurch die Codiereffizienz verbessert wird.
  • Gemäß dem siebten Ausführungsbeispiel kann eine Mehrzahl von Codebüchern für Bereichsformen und Differenzbewegungsvektoren in segmentbasierter Kompensation durch Vektorquantisierung vorbereitet werden, und die Codebücher können auf der Basis der benachbarten repräsentativen Großbereichsbewegungsvektoren geschaltet werden.
  • Wenn zum Beispiel die repräsentativen Großbereichsbewegungsvektoren 1411 und 1412, benachbart zu der rechten und linken Seite des kleinen Bereichs 1401 sich stark unterscheiden, wie in Fig. 34 gezeigt, besteht eine hohe Wahrscheinlichkeit dafür, daß der kleine Bereich 1401 zwei Objekte enthält, die unterschiedliche Bewegungen ausführen. Folglich wird die Genauigkeit der Bewegungskompensation durch Teilen des kleinen Bereichs mit einer Teilungslinie 142 verbessert, die den kleinen Bereich in einen rechten und linken Unterbereich aufteilt, und indem eine Bewegungskompensation erfolgt, die dann die Codiereffizienz verbessert. Folglich wird ein Codebuch ausgewählt, das mehr Bereichsformen enthält, die den Bereich in einen rechten und linken Unterbereich aufsplittet, und eine segmentbasierte Kompensation erfolgt durch Vektorquantisierung.
  • Obwohl weder der Intraframe-Vorhersagemodus noch der nichtcodierte Modus, in dem das lokal decodierte Bild des vorangegangenen Rahmens direkt als das rekonstruierte Bild verwendet wird, erklärt worden sind, ist es in dem sechsten und siebten Ausführungsbeispiel möglich, zwischen dem Bewegungskompensationsvorhersagemodus und diesen Modi geeignet umzuschalten. Das Modusschalten kann entweder basierend auf einen kleinen Bereich oder einem großen Bereich erfolgen, oder basierend auf einer geeigneten Basis, die sich von diesen unterscheidet. Wenn das Modusschalten auf der Basis eines kleinen Bereichs erfolgt, muß die Kleinbereichsbewegungsinformation nicht codiert werden, wenn der kleine Bereich in den Intraframe-Codiermodus oder den nichtcodierten Modus gesetzt ist. Darüber hinaus, wenn alle kleinen Bereiche in einem großen Bereich in den Intraframe-Codiermodus oder den nicht codierten Modus gesetzt sind, muß auch der Großbereichsbewegungsvektor nicht codiert werden. In dem Fall, wo das Modusschalten auf der Basis eines großen Bereiches erfolgt, wenn der große Bereich im Intraframe-Codiermodus oder dem nichtcodierten Modus ist, muß weder der repräsentative Großbereichsbewegungsvektor noch die Kleinbereichsbewegungsinformation codiert werden.
  • Beim Suchen nach Bewegungsvektoren in der adaptiven Bewegungskompensationsvorhersageschaltung 101 in der Videocodiervorrichtung gemäß dem fünften, sechsten oder siebten Ausführungsbeispiel, wie in den Fig. 22, 26 oder 28 gezeigt, kann das Codieren derart erfolgen, daß der Bewegungsvektor = (0,0) mit einer kleinen Codemenge ausgedrückt wird, indem ein derartiges Kriterium für die Größe des Bewegungskompensationsvorhersagefehlers verwendet wird, das eine einfache Auswahl des Bewegungsvektors = (0,0) erlaubt. Da der Bewegungsvektor = (0,0) normalerweise häufiger auftritt, resultiert das Ausdrücken durch eine kleinere Codemenge in einer Verbesserung der Codiereffizienz. Wenn zum Beispiel die Quadratsumme MSE der Vorhersagefehler als Kriterium verwendet wird, erlaubt die Verwendung von dem was durch Subtraktion eines spezifischen Werts von MSE erhalten wird, nur wenn der Bewegungsvektor = (0,0) ist, eine leichte Auswahl des Bewegungsvektors = (0,0).
  • Fig. 35 zeigt ein Blockdiagramm der adaptiven Bewegungskompensationsvorhersageschaltung 101 in einer Videocodiervorrichtung gemäß einem achten Ausführungsbeispiel der Erfindung. Der gesamte Aufbau der Videocodiervorrichtung gemäß dem achten Ausführungsbeispiel ist der gleiche wie der der Videocodiervorrichtung gemäß dem sechsten Ausführungsbeispiel nach Fig. 25, mit der Ausnahme, daß die adaptive Bewegungskompensationsvorhersageschaltung 101 teilweise zu der adaptiven Bewegungskompensationsvorhersageschaltung in der Videocodiervorrichtung gemäß dem siebten Ausführungsbeispiel von Fig. 28 korrespondiert.
  • Speziell enthält die adaptive Bewegungskompensationsvorhersageschaltung 101, die in dem achten Ausführungsbeispiel verwendet wird, eine erste Vorhersageschaltung 2001, die ein lokal decodiertes Bildsignal 125 empfängt, einen ersten Fehlerrechner 2003, der das Vorhersagesignal 2010 von der Vorhersageschaltung 2001 und ein Eingangsbildsignal 121 empfängt, und eine erste Steuerung 2002, die das Fehlerpegelsignal 2012 von dem Fehlerrechner 2003 empfängt, und gibt vorbestimmte Kleinbereichsbewegungsvektoren 2013 und vorbestimmte Kleinbereichsbewegungsvektorkandidaten 2011 aus. Die adaptive Bewegungskompensationsvorhersageschaltung 101 enthält fernen eine zweite Vorhersageschaltung 701, einen zweiten Fehlerrechner 702, eine zweite Steuerung 2005, ein erstes bis drittes Codebuch 712, 713, 714, und Addierer 718, 719, 720. Diese Komponententeile haben grundsätzlich die gleichen Funktionen wie die in Fig. 28. Speziell empfängt die zweite Vorhersageschaltung 701 von der Steuerung 2005 ein lokal decodiertes Bildsignal 125, die Marke 725, die anzeigt, ob die Kleinbereichsbewegungskompensation basierend auf der Bereichsdivision oder der Nichtbereichsdivision erfolgt, den Kandidaten 721 für den Kleinbereichsbewegungsvektor von dem Addierer 718, die Bewegungsvektorkandidaten 723, 724 von den Addierern 719, 720, und den Kandidaten für die Bereichsform von dem Codebuch 712 und gibt ein Vorhersagesignal aus. Der Fehlerrechner 702 erzeugt ein Vorhersagefehlersignal aus dem Vorhersagesignal und Eingangsbildsignal 121.
  • In dem gegenwärtigen Ausführungsbeispiel wird die erste Vorhersageschaltung 2001, die erste Steuerung 2002 und der Fehlerrechner 2003 für die Suche von Kleinbereichsbewegungsvektoren verwendet. Ein Großbereichs-MV-Rechner 2004 berechnet einen Großbereichsbewegungsvektor aus dem Kleinbereichsvektor, nach dem gesucht wird. Wenn speziell ein repräsentativer Großbereichsbewegungsvektor gefunden wird, erfolgt ein vorläufiges Suchen nach einem kleinen Bereich, um die vorbestimmten Bewegungsvektoren in den kleinen Bereichen zu finden, die in dem großen Bereich enthalten sind, und basierend auf dem Suchergebnis wird ein repräsentativer Großbereichsbewegungsvektor bestimmt. In diesem Fall erzeugt die erste Steuerung 2002 für die Suche nach einem vorbestimmten Bewegungsvektor für den kleinen Bereich, zuerst nacheinander vorbestimmte Bewegungsvektorkandidaten 2011 für den kleinen Bereich. Die erste Vorhersageschaltung 2001 erzeugt ein erstes Vorhersagesignal 2010, das zu dem vorbestimmten Kleinbereichsbewegungsvektorkandidaten 2011 korrespondiert, auf der Basis des lokal decodierten Bildsignals 125 von dem codierten Rahmen vom Rahmenspeicher 102 nach Fig. 25. Außerdem berechnet der erste Vorhersagefehlerrechner 2003 die Größe der Differenz (Fehler) zwischen dem Eingangsbildsignal 121 in dem großen Bereich und dem ersten Vorhersagesignal 2010, und erzeugt ein erstes Fehlerpegelsignal 2012, das die Größe anzeigt. Das Kriterium für die Größe des Fehlers kann zum Beispiel die absolute Summe oder die Quadratsumme der Fehler sein, oder die Quadratfehlersumme mit gewichteten Tieffrequenzband. Das Kriterium kann gemäß der Größe des Bewegungsvektors derart gewichtet sein, daß zum Beispiel der Evaluierungswert für den Bewegungsvektor = (0,0) als Größe des Fehlers minus einen spezifischen Wert bestimmt wird. Die erste Steuerung 2002 erhält einen Vektor, für den die Größe des Fehlers, der durch das Fehlerpegelsignal 2012 gegeben ist, von den vorbestimmten Kleinbereichsbewegungsvektorsuchkandidaten 2011 als vorbestimmter Kleinbereichsbewegungsvektor 2013, und gibt den Vektor aus.
  • Dann berechnet der Großbereichsbewegungsvektorrechner 2004 einen repräsentativen Großbereichsbewegungsvektor 128 auf der Basis des vorbestimmten Kleinbereichsbewegungsvektors 2013, der folglich erhalten wird, und gibt diesen aus.
  • Fig. 36 zeigt eine Zeichnung zur Erklärung eines Suchverfahrens für Großbereichsbewegungsvektoren gemäß dem gegenwärtigen Ausführungsbeispiel. Die Bereiche, die mit durchgezogenen Linien gekennzeichnet sind, sind große Bereiche, und die Bereiche, die mit unterbrochene Linien gekennzeichnet sind, sind kleine Bereiche. Es wird angenommen, daß für jeden kleinen Bereich die vorbestimmten Kleinbereichsbewegungsvektoren 2101 bis 2104, die mit gestrichelte Pfeile gekennzeichnet sind, durch das oben genannte Verfahren gefunden werden. Der repräsentative Großbereichsbewegungsvektor 2100 wird durch die folgenden Gleichungen berechnet, indem die vorbestimmten Kleinbereichsbewegungsvektoren 2101 bis 2104 in dem großen Bereich verwendet werden, und der Medianwert des Durchschnittswerts von diesen:
  • RMVx = Median (mv1x, mv2x, mv3x, mv4x, amvx)
  • RMVy = Median (mv1y, mv2y, mv3y, mv4y, amvy)
  • wobei RMVx: die x-Komponente des repräsentativen Großbereichsbewegungsvektors ist,
  • RMVy: die y-Komponente des repräsentativen Großbereichsbewegungsvektors
  • Median(): der Medianwert
  • mv1x, mv2x, mv3x, mv4x: die x-Komponenten der vorbestimmten Bewegungsvektoren 2101 bis 2104 für den kleinen Bereich
  • mv1y, mv2y, mv3y, mv4y: die y-Komponenten der vorbestimmten Bewegungsvektoren 2101 bis 2104 für den kleinen Bereich
  • amvx: der Durchschnittswert von mv1x bis mv4x
  • amvy: der Durchschnittswert von mv1y bis mv4y
  • Wie oben beschrieben, wird durch Bestimmen des Großbereichsbewegungsvektors aus den vorbestimmten Kleinbereichsbewegungsvektoren die Ähnlichkeit zwischen den Kleinbereichsbewegungsvektoren und dem Großbereichsbewegungsvektor groß.
  • In der Kleinbereichsbewegungskompensation in den nachfolgenden Ebenen, wie später beschrieben, erfolgt die Vektorquantisierung der Bewegungsinformation durch Berechnung der Differenz vom Großbereichsbewegungsvektor. Wenn die Wahrscheinlichkeit, daß der Großbereichsbewegungsvektor dem Kleinbereichsbewegungsvektor ähnelt, größer wird, wird die Wahrscheinlichkeit, daß die Differenz der Bewegungsinformation kleiner wird, größer, mit dem Ergebnis, daß die Effizienz der Bewegungskompensation verbessert wird, und folglich die Codierungseffizienz.
  • Es wird dann die Bewegungskompensationsvorhersage für den kleinen Bereich gemacht.
  • Zuerst erzeugt die zweite Steuerung 2005 nacheinander Kandidaten 715 für Differenzbewegungsvektoren ohne Bereichsdivision. Der Addierer 718 addiert diese Kandidaten zu dem zuvor erhaltenen repräsentativen Großbereichsbewegungsvektor 128, um die Kandidaten 721 für die Kleinbereichsbewegungsvektoren zu erzeugen. Die zweite Vorhersageschaltung 701 erzeugt ein erstes Vorhersagesignal 122, das zu den Kandidaten 721 korrespondiert, für einen Kleinbereichsbewegungsvektor auf der Basis des lokal decodierten Bildsignals 125 des vorangegangenen Rahmens vom Rahmenspeicher 102 nach Fig. 25. Der zweite Fehlerrechner 702 berechnet dann die Größe der Differenz (Fehler) zwischen dem Eingangsbildsignal 121 und dem Vorhersagesignal 122 und erzeugt ein Fehlerpegelsignal 710, das die Größe des Fehlers anzeigt. Die zweite Steuerung 703 erhält einen Bewegungsvektor, für den die Größe des Fehlers, die durch das Fehlerpegelsignal 710 gegeben ist, am kleinsten ist.
  • Für den Kleinbereichsbewegungsvektorkandidaten, der mit den vorbestimmten Kleinbereichsbewegungsvektorkandidaten 201 identisch ist, um einen repräsentativen Großbereichsbewegungsvektor zu erhalten, ist es nicht erforderlich, zusätzlich den Fehlerpegel 710 zu berechnen, da er als Fehlerpegel 2012 berechnet ist.
  • Ein Suchverfahren für die Kleinbereichsbewegungsvektoren ohne Bereichsdivision wird unter Bezugnahme auf Fig. 37 beschrieben. In Fig. 37 ist der Bereich, in dem ein vorbestimmter Bewegungsvektor gesucht wird, schräg gestrichelte Bereich, und der Bereich, in dem ein Kleinbereichsbewegungsvektor gesucht wird, ist der Bereich um den repräsentativen Großbereichsbewegungsvektor 2150 herum, der mit Backslashlinien schraffiert ist.
  • In diesem Fall wird in dem Bereich 2153, wo sich diese zwei Bereiche 2151 und 2152 überlagern, ein Kleinbereichsbewegungsvektor, für den das erste Vorhersagefehlerpegelsignal 201 am kleinsten ist, als ein erster ausgewählter Wert von denen im Überlagerungsbereich 2153 der Kandidaten für den vorbestimmten Kleinbereichsbewegungsvektor ausgewählt.
  • In dem Bereich, wo der Bereich 2152 den Bereich 2151 nicht überlagert oder in dem Bereich mit Ausnahme des Bereichs 2153, werden dann die Kandidaten 715 für Bewegungsvektoren nacheinander erzeugt und ein Kleinbereichsbewegungsvektor, für den das zweite Fehlerpegelsignal 710 am kleinsten ist, wird als ein zweiter ausgewählter Wert ausgewählt.
  • Von dem ersten und zweiten ausgewählten Wert wird derjenige als ein Kleinbereichsbewegungsvektor ohne Bereichsdivision ausgewählt, dessen Fehlerpegel kleiner ist.
  • Wie oben beschrieben, kann durch Teilsuche nach einem Kleinbereichsbewegungsvektor ohne Bereichsdivision unter Verwendung des Suchergebnisses des vorbestimmten Bewegungsvektors, der Rechenaufwand für die Suche nach einem Kleinbereichsbewegungsvektor reduziert werden.
  • Wenn der vorbestimmte Kleinbereichsbewegungsvektor 2153, mit einem gestrichelten Pfeil dargestellt, in dem Bereich 2153 liegt, wo sich der Bereich 2153 und der Bereich 2152 überlagern, muß der erste ausgewählte Wert nicht erneut berechnet werden, und der vorbestimmte Kleinbereichsbewegungsvektor 2154 wird als der zuerst ausgewählte Wert bestimmt, da der vorbestimmte Kleinbereichsbewegungsvektor 2154 ein Bewegungsvektor ist, für den das zweite Fehlerpegelsignal in dem Bereich 2153 am kleinsten ist. Durch das Wegfallen der erneuten Berechnung des Werts erfolgt eine weitere Reduzierung des Rechenaufwands.
  • Danach wird der Codebuchindex für die Bereichsdivisionskompensation gesucht. Dann wird das Vorhersagesignal 122 und die Bewegungsvektorinformation 129, die den Codebuchindex enthält und Information, die anzeigt ob Bereichsdivision durchgeführt wurde oder nicht, ausgegeben. Die Operation ist die gleiche wie in der adaptiven Bewegungskompensationsvorhersageschaltung 101 gemäß dem siebten Ausführungsbeispiel nach Fig. 28.
  • Das gegenwärtige Ausführungsbeispiel ist ein Ausführungsbeispiel der adaptiven Bewegungskompensationsvorhersageschaltung 101 in der Videocodiervorrichtung nach Fig. 25. Es kann für das Suchen von Bewegungsvektoren in einer adaptiven Bewegungskompensationsvorhersageschaltung verwendet werden, die eine adaptive Bewegungskompensationsvorhersage in hierarchischer Weise durchführt. Selbst mit der in den Fig. 9 und 22 gezeigten adaptiven Bewegungskompensationsvorhersageschaltung wird zum Beispiel zuerst nach einem vorbestimmten Bewegungsvektor für einen kleinen Bereich gesucht, gefolgt von der Bestimmung des typischen Großbereichsvektors und der Suche eines Kleinbereichsbewegungsvektors, wodurch eine Verbesserung der Codiereffizienz erzielt und der Rechenaufwand reduziert wird.
  • Letztendlich wird ein Ausführungsbeispiel eines Videoübertragungssystems unter Bezugnahme auf Fig. 38 erklärt, für das eine Videocodier/-decodier-Vorrichtung gemäß der Erfindung verwendet wird. Das über eine Kamera 1002, die auf einem Computer (PC) 101 bereitgestellt ist, eingegebene Videosignal wird durch eine im PC 1001 enthaltene Videocodiervorrichtung codiert. Nachdem die von der Videocodiervorrichtung ausgegebenen codierten Daten mit anderer Audioinformation und Daten multigeplext sind, werden die multigeplexten Daten von einer Funkeinheit 1003 über Funk gesendet und von einer anderen Funkeinheit 1004 empfangen. Das von der Funkeinheit 1004 empfangene Signal wird in codierte Daten des Videosignals, die Audioinformation und Daten getrennt. Von diesen werden die codierten Daten des Videosignals durch eine Videodecodiervorrichtung, die in einer Workstation (EWS) 1005 enthalten ist, decodiert, und das decodierte Signal kann auf einer Anzeige des EWS 1005 erscheinen.
  • Andererseits wird das Videosignal, das von einer Kamera 1006, die auf der EWS 1005 bereitgestellt ist, geliefert wird, in der gleichen oben beschriebenen Weise codiert, indem eine in dem EWS 1005 enthaltene Videocodiervorrichtung verwendet wird. Die codierten Daten des Videosignals werden mit anderer Audioinformation und Daten multigeplext. Dann werden die multigeplexten Daten von der Funkeinheit 1004 über Funk gesendet und von einer anderen Funkeinheit 1003 empfangen. Das von der Funkeinheit 1003 empfangene Signal wird in die codierten Daten des Videosignals, in die Audioinformation und in Daten getrennt. Von diesen werden die codierten Daten des Videosignals durch die in dem PC 1001 enthaltene Videodecodiervorrichtung decodiert, und das decodierte Signal kann auf einer Anzeige des PC 1001 erscheinen.
  • Fig. 39 zeigt ein schematisches Blockdiagramm der Videocodiervorrichtung und der Videodecodiervorrichtung, die in den PC 1001 und der EWS 1005 nach Fig. 38 enthalten sind.
  • Die Videocodiervorrichtung nach Fig. 39 enthält einen Informationsquellencodierer 1102, der ein Videosignal von einem Videoeingangsabschnitt 1101 empfängt, wie etwa einer Kamera, und hat einen Fehlerwiderstandsprozessor 1103, und einen Übertragungskanalcodierer 1104. Der Informationsquellencodierer 1101 führt eine diskrete Cosinustransformation (DCT) von Vorhersagefehlersignalen durch, und eine Quantisierung der erzeugten DCT-Koeffizienten. Der Übertragungskanalcodierer 1104 führt eine Codierung variabler Länge durch, eine Fehlererkennung der codierten Daten und eine Fehlerkorrektur/detektions-Codierung. Die codierten Daten, die von dem Übertragungskanalcodierer 1104 ausgegeben werden, werden an eine Funkeinheit 1105 gesendet, die diese überträgt.
  • Andererseits enthält die Videodecodiervorrichtung nach Fig. 40 einen Übertragungskanaldecoder 1202, der die codierten Daten aufnimmt, die von der Funkeinheit 1201 empfangen werden, und führt die entgegengesetzte Prozedur durch, wie der Übertragungscodierer 1104, und einen Informationsquellendecoder 1203, der das empfangene Ausgangssignal von dem Übertragungskanaldecodierer 1201 empfängt und einen Fehlerwiderstandsprozessor 1204 aufweist, der den entgegengesetzten Prozeß durchführt, wie der Informationsquellencodierer 1102. Das Bild, das in dem Informationsquellendecoder 1203 decodiert wird, wird durch einen Videoausgangsabschnitt 1025 ausgegeben, wie etwa ein Display.
  • Die Fig. 41 und 42 zeigen eine Videocodier/-decodier-Vorrichtung gemäß der Erfindung, die Videosignale auf einem Aufzeichnungsmedium aufzeichnet und die Videosignale von dem Aufzeichnungsmedium rekonstruiert. Speziell in der Aufnahmevorrichtung nach Fig. 41 wird das Videosignal von einem Videoeingangsabschnitt 1101, wie etwa einer Kamera, an einen Informationsquellencodierer 1102 geliefert, der einen Fehlerwiderstandsprozessor 1103 aufweist, und codiert. In diesem Fall führt der Informationsquellencodierer 1101 eine diskrete Cosinustransformation (DCT) der Vorhersagefehlersignale durch und eine Quantisierung der erzeugten DCT-Koeffizienten. Der Übertragungskanalcodierer 1104 führt eine Codierung variabler Länge durch, eine Fehlerdetektion der codierten Daten und ein Fehlerkorrektur/-detektions-Codieren. Eine Schreibeinheit 1106 schreibt die codierten Daten, die von dem Übertragungskanalcodierer 1104 ausgegeben werden, auf ein Aufzeichnungsmedium 1107.
  • Andererseits werden in der Rekonstruktionsvorrichtung die codierten Daten, die auf dem Aufzeichnungsmedium 1107 aufgenommen sind, durch eine Leseeinheit 1206 gelesen, die diese an einen Informationsquellendecoder 1203 liefert, der einen Fehlerwiderstandsprozessor 1204 aufweist, der den entgegengesetzten Prozeß durchführt, wie der Informationsquellencodierer 1102. Das Bild, das im Informationsquellendecoder 1203 decodiert wird, wird durch einen Videoausgangsabschnitt 1025 ausgegeben, wie etwa ein Display.
  • Wie oben beschrieben, ist es mit der Erfindung möglich, eine Videocodier/-decodier- Vorrichtung mit hoher Fehlerwiderstandsfähigkeit bereitzustellen, die Bildqualität des rekonstruierten Bildes ist also weniger anfällig für eine Verschlechterung aufgrund eines Fehlers, der bei der Übertragung und Speicherung der Codefolgen auftritt.
  • Mit Durchführung der Vorhersage des Eingangsvideosignals in hierarchischer Weise über soviel Bereiche wie möglich, und durch Codieren der Vorhersageinformation, die bei individuellen Ebenen erhalten wird, die nicht nur die unterste Ebene sondern auch die höheren Ebenen umfassen, kann die Videodecodiervorrichtung ein Vorhersagesignal aus der Vorhersageinformation erzeugen, vorausgesetzt, daß kein Fehler in der Vorhersageinformation bei höheren Ebenen vorliegt, selbst wenn ein Fehler in der Vorhersageinformation in einer bestimmten Ebene aufgetreten ist. Folglich ist es möglich, die Verschlechterung der Bildqualität des decodierten Bildes zu reduzieren, wenn ein Fehler in der Vorhersageinformation vorliegt. Wenn Codefolgen, die durch Codevorhersagefehlersignale erhalten werden, und Codefolgen, die durch Codieren von Vorhersageinformation bei den jeweiligen Leveln erhalten werden, in der Form von hierarchischen Codefolgen ausgegeben werden, kann der Nachteil, daß Information von allen Vorhersagen in Codefolgen in oberen Schichten enthalten ist und ausgegeben wird, dadurch überwunden werden, daß Codefolgen von Vorhersageinformation, die bei höheren Ebenen als Codefolgen in oberen Schichten erhalten werden, ausgegeben werden, und ferner kann eine Reduzierung der Fehlerwiderstandsfähigkeit vermieden werden, indem Information über die Vorhersagen als Codefolgen in unteren Schichten ausgegeben wird.
  • Wenn Information über die Vorhersage bei jeder Ebene einer hierarchischen Vorhersage gemäß der Erfindung decodiert wird, und das Vorhersagefehlersignal nicht korrekt decodiert wird, da ein Fehler in der Information über die Vorhersage bei einer bestimmten Ebene aufgetreten ist, kann darüber hinaus die Verschlechterung der Bildqualität des decodierten Bildes verhindert werden, indem ein Vorhersagesignal erzeugt wird, indem Information über die Vorhersage einer höheren Ebene verwendet wird, und indem dann das Videosignal decodiert wird.
  • Da die Bestimmung, ob die decodierte Information eine mögliche Information bei der Codierung von sich bewegenden Bildern ist, die Wahrscheinlichkeit reduziert, daß fehlerhafte Information, die zu korrigieren ist, erkannt wird, ist es, als Ergebnis der Verwendung der fehlerhaften Information bei der Decodierung von sich bewegenden Bildern möglich, die Verschlechterung der Bildqualität des decodierten Bildes zu unterdrücken.
  • Durch Umwandlung der codierten Information in Codefolgen derart, daß Codewörter in absteigender Reihenfolge ihrer Wichtigkeit nach angeordnet sind, wird gemäß der Erfindung verhindert, daß ein Fehler sich von weniger wichtiger Information bis zu wichtigerer Information streut, wodurch eine ernsthafte Verschlechterung der Bildqualität des decodierten Bildes verhindert wird.
  • Da eine Bewegungskompensationsvorhersage für das Videosignal unter Verwendung von vektorquantisierter Bewegungsinformation durchgeführt wird, ist es darüber hinaus möglich, eine effiziente Bewegungskompensationsvorhersage zu treffen, während die Codemenge in der Bewegungsinformation reduziert wird, indem die Bewegungsinformation durch Codebuchindizes, die Codevektoren in dem Codebuch spezifizieren, repräsentiert wird. Da die vektorquantisierte Bewegungsinformation einen kleineren Fehlerbereich in der erzeugten Information aufweist, ermöglicht selbst die Verwendung einer Codierung variabler Länge ein Codieren der Bewegungsinformation mit relativ hoher Codiereffizienz. In der Videodecodiervorrichtung wird verhindert, daß ein Fehler sich über einen breiten Bereich aufgrund eines Synchronisationsfehlers streut, im Gegensatz zu einer Codierung variabler Länge, wenn ein Fehler im Übertragungskanal oder dergleichen auftritt. Als Ergebnis wird die Qualität des rekonstruierten Bildes zum Zeitpunkt des Auftretens eines Fehlers erheblich verbessert, wodurch die Fehlerwiderstandsfähigkeit erhöht wird, während die hohe Codiereffizienz beibehalten wird.
  • Durch Anordnen von Kandidaten für Bewegungsvektoren, die in dem Codebuch gespeicherten Codevektoren entsprechen, derart, daß Kandidaten für Bewegungsvektoren mit kleiner Bewegung mit höherer Pixelgenauigkeit angeordnet werden, wird darüber hinaus das Vorhersagefehlersignal der Bewegungskompensationsvorhersage kleiner. Durch Anordnen von Kandidaten für Bewegungsvektoren mit großer Bewegung, die weniger häufig auftreten, mit geringer Pixelgenauigkeit, wodurch folglich die Anzahl von Bewegungsvektorkandidaten, nach denen gesucht werden muß, reduziert wird, kann die Codiereffizienz weiter verbessert werden.
  • Darüber hinaus erfolgt eine Bewegungskompensationsvorhersage in hierarchischer Weise. Das Vorhersagefehlersignal bei unterster Ebene wird codiert, und die Bewegungsinformation, die in der Bewegungskompensationsvorhersage bei höchster Ebene verwendet wird, wird codiert. In der Bewegungskompensationsvorhersage für einen Teil oder alle Ebenen mit Ausnahme des höchsten Levels, wird die Summe eines Teils der Differenzbewegungsinformation, die von den Differenzbewegungsvektoren ausgewählt wird, die durch Vektorquantisierung der Differenz zwischen den Kandidaten der Bewegungsinformation, die für die Ebenen verwendet werden, und den Kandidaten für die Bewegungsinformation, bei höheren Ebenen und der Bewegungsinformation, die bei einer höheren Ebene verwendet wird, ausgewählt wird, wird als Bewegungsinformation verwendet. Die Bewegungsinformation in der hierarchischen Bewegungskompensationsvorhersage korreliert stark mit Bewegungsinformation, die in der Bewegungskompensationsvorhersage bei einer höheren Ebene verwendet wird. Wenn die Differenz zwischen der Bewegungsinformation bei einer speziellen Ebene und der Bewegungsinformation bei einer höheren Ebene gefunden wird, sammeln sich deren Komponenten nahe 0. Die Vektorquantisierung liefert von Natur aus eine hohe Codiergenauigkeit für ein Signal mit einem großen Fehlerbereich. Durch Verwendung dieser zwei Merkmale kann ein sehr viel größere Codiereffizienz erzielt werden.
  • Wenn darüber hinaus die hierarchische Bewegungskompensationsvorhersage mit einer Mehrschichtcodierung kombiniert wird, kann ein großer Spielraum für die Zuweisung der Codemenge für jede Schicht erlaubt werden, indem die Art der Zuweisung von Teilen der Bewegungsinformation bei individuellen Ebenen an die Schichten gesteuert wird. Dadurch kann ein Fall behandelt werden, bei dem Restriktionen bezüglich der Codemenge in jeder Schicht aufgrund von Grenzen des Übertragungskanals gegeben sind. Da die vektorquantisierte Bewegungsinformation eine große Fehlerwiderstandsfähigkeit aufweist, ist es weniger wahrscheinlich, daß die Qualität des rekonstruierten Bildes in der Decodiervorrichtung verschlechtert wird, selbst beim Codieren in einer unteren Schicht, wodurch eine hohe Fehlerwiderstandsfähigkeit erhalten wird.
  • Darüber hinaus wird das Videosignal in eine Mehrzahl von Bereiche gemäß den Inhalten des Bildes unterteilt, und eine Bewegungskompensationsvorhersage erfolgt unter Verwendung der Bewegungsinformation, die durch Vektorquantisierung einer Kombination von Bereichsforminformation und dem Bewegungsvektor für jeden unterteilten Bereich erhalten wird. Selbst in einem Bereich, in dem Objekte mit unterschiedlichen Bewegungen miteinander in Kontakt sind, ist es folglich möglich, den Vorhersagebereich entlang der Grenzen zu teilen und eine Vorhersage unter Verwendung unterschiedlicher Bewegungsinformation für jedes Objekt durchzuführen. Dies verbessert die Vorhersageeffizienz der Bewegungskompensationsvorhersage und erhöht folglich die Qualität der Codierung. In den Bereichen, wo eine Bereichsdivisionsvorhersage durchgeführt wird, erfolgt eine Bewegungskompensationsvorhersage unter Verwendung der Bewegungsinformation, die durch Vektorquantisierung einer Kombination von Bereichsforminformation und Vektorinformation erhalten wird, so daß die Bewegungsinformation, die die Bereichsforminformation enthält, effizient in einer kleinen Codemenge ausgedrückt werden kann. Dies verhindert einen Anstieg der Codemenge, aufgrund der Verwendung von Bereichsforminformation, was ein Nachteil bei herkömmlichen segmentbasierten Kompensationsvorhersagesystemen ist. Darüber hinaus kann die vektorquantisierte Information mit hoher Codiereffizienz mit variabler Länge codiert werden, wodurch die Verschlechterung der Bildqualität des rekonstruierten Bildes aufgrund des Synchronisationsfehlers beim Auftreten eines Fehlers verhindert wird, was ein Problem bei der weitverbreiteten Codierung mit variabler Länge ist. Wenn die Ausgangscodefolgen von der Videocodiervorrichtung zusätzlich über ein Medium übertragen und gespeichert werden, in dem ein Fehler auftreten kann, kann die Verschlechterung der Bildqualität aufgrund des Fehlers minimiert werden.
  • Durch Verwendung von Codewörtern, die eine Korrelation mit dem Euklidabstand zwischen dem Bewegungsvektoren und dem Hammingabstand zwischen Codewörtern beim Codieren der Bewegungsvektorinformation aufweisen, kann die Abweichung von dem fehlerhaft decodierten Bewegungsvektor auf ein Minimum gedrückt werden, selbst wenn ein Fehler in dem Codewort der Bewegungsvektorinformation auftritt. Im Fall eines herkömmlichen Übertragungskanals und Speichermediums, deren Fehlerrate pro Codewort ein Bit oder kleiner ist, werden Fehler im Bewegungsvektor auf ein Minimum gedrückt, mit dem Ergebnis, daß bei Vorliegen eines Fehlers eine höhere Qualität des rekonstruierten Videosignals erhalten werden kann.
  • Mit Durchführen der Bewegungskompensationsvorhersage des Videosignals, indem die vektorquantisierte Bewegungsinformation verwendet wird, wird der Bereich des Codebuchs bestimmt, in dem die erhaltene Bewegungsinformation existiert, und darauf basierend wird ein Codewort, das beim Codieren der Codeinformation verwendet wird, bestimmt. Dies reduziert die Codemenge, die zur Codierung der Bewegungsinformation notwendig ist, selbst wenn die Codebuchgröße groß ist, verglichen mit dem Fall, bei dem Codewörter verwendet werden, die zur Codierung aller Codebuchindizes notwendig sind, mit dem Ergebnis, daß die Codiereffizienz verbessert werden kann.
  • Darüber hinaus erfolgt die Bewegungskompensationsvorhersage in hierarchischer Weise. Das Vorhersagefehlersignal bei der untersten Ebene wird codiert, und die Bewegungsinformation, die in der Bewegungskompensationsvorhersage bei der höchsten Ebene verwendet wird, wird codiert. Bei der Bewegungskompensationsvorhersage für einen Teil oder alle Ebenen mit Ausnahme der höchsten Ebene, wird die Summe von Teilen der Differenzbewegungsinformation, die von den Differenzbewegungsvektoren ausgewählt wird, die durch Vektorquantisierung der Differenz von der Bewegungsinformation, die von der Bewegungsinformation bei einem höheren Level vorhergesagt ist und der Bewegungsinformation, die bei dem höheren Level verwendet wird, erhalten werden, als Bewegungsinformation verwendet. Wenn hierarchische Bewegungskompensationsvorhersage mit einer Mehrschichtcodierung kombiniert wird, kann für die Zuweisung der Codemenge für jede Schicht ein großer Spielraum erlaubt werden, indem die Art der Zuweisung der Teile der Bewegungsinformation bei individuellen Ebenen zu den Schichten gesteuert wird. Dadurch kann ein Fall behandelt werden, bei dem Restriktionen bezüglich der Codemenge in jeder Schicht, aufgrund der Grenzen des Übertragungskanals, gegeben sind. Da die vektorquantisierte Bewegungsinformation eine hohe Fehlerwiderstandsfähigkeit aufweist, ist es weniger wahrscheinlich, daß die Qualität des rekonstruierten Bildes in der Decodiervorrichtung verschlechtert wird, selbst beim Codieren einer unteren Schicht, wodurch eine hohe Fehlerwiderstandsfähigkeit erzielt wird. Darüber hinaus wird die Bewegungsinformation bei der Bewegungskompensationsvorhersage bei einer unteren Ebene von der Bewegungsinformation bei einer höheren Ebene vorhergesagt und die Differenz von der vorhergesagten Bewegungsinformation wird berechnet, wodurch die Größe der Differenz der Bewegungsinformation kleiner wird als die Differenz von der Bewegungsinformation bei der höheren Ebene mit dem Ergebnis, daß die Codemenge, die zur Codierung der Differenzbewegungsinformation erforderlich ist, reduziert werden kann.
  • Da von der Bewegungsinformation, die durch vorläufiges Suchen nach Bewegungsinformation zumindest bei einer Ebene mit Ausnahme der höchsten Ebene erhalten wird, Bewegungsinformation bei mindestens einer der Ebene und einer höheren Ebene bestimmt wird, wird die Wahrscheinlichkeit, daß die Bewegungsinformation, die der Bewegungsinformation bei einer niedrigeren Schicht ähnlich ist, als Bewegungsinformation bei einer höheren Schicht erhalten wird, groß. Wenn die Wahrscheinlichkeit, daß die Bewegungsinformation bei einer hohen Ebene der Bewegungsinformation bei einer niedrigen Ebene ähnelt, größer wird, wird die Wahrscheinlichkeit, daß die Differenz in der Bewegungsinformation kleiner wird, größer, da bei der Bewegungskompensation bei einer unteren Ebene eine Vektorquantisierung der Bewegungsinformation erfolgt, indem die Differenz von der Bewegungsinformation bei einer höheren Ebene berechnet wird, mit dem Ergebnis, daß die Effizienz der Bewegungskompensation und entsprechend der Codierwirkungsgrad verbessert wird. Durch teilweises Suchen nach Bewegungsinformation bei niedrigeren Ebenen ohne Bereichsdivision, indem das vorläufige Suchergebnis verwendet wird, kann das Ausmaß der Berechnungen für die Suche nach Bewegungsinformation bei niedrigeren Ebenen reduziert werden.
  • Mit einer Codebucherzeugungsvorrichtung für vektorquantisierte segmentbasierte Kompensationsvorhersage, ist es möglich, ein Codebuch zu erzeugen, das für die Durchführung der Bewegungskompensationsvorhersage mit hoher Genauigkeit am besten geeignet ist, um einen Vorhersagefehler zu reduzieren und folglich die Codiereffizienz zu vergrößern, indem ein Bewegungskompensationsvorhersagefehler als Kriterium beim Codebuchlernen verwendet wird.
  • Mit einer segmentbasierten Kompensationssuchvorrichtung gemäß der Erfindung kann darüber hinaus ein Bewegungsvektor mit geringem Rechenaufwand gesucht werden, indem nach nichtsegmentbasierten Vektoren gesucht wird, um grobe Bereichsformen und Bewegungsvektoren zu erhalten, diese korrigiert werden und nach Bereichsformen und Bewegungsvektoren gesucht wird.

Claims (16)

1. Videocodiervorrichtung, mit:
einem Vorhersagesignalerzeugungsmittel (1) zum Auswählen eines Intraframe- Vorhersagecodierungsverfahrens oder eines Interframe-Vorhersagecodierungsverfahrens zum Codieren eines Eingangsvideosignals, das in eine Mehrzahl von Bereichen unterteilt ist, zum selektiven Erzeugen eines Intraframe-Vorhersagesignals mit dem Intraframe- Vorhersagecodierungsverfahren und eines Satzes aus einem Interframe-Vorhersagesignal und einem Bewegungsvektor mit dem Interframe-Vorhersagecodierungsverfahren, einem ersten Codierungsmittel (3) zum Codieren von Codierungsmodusinformation für jeden der Bereiche zum Anzeigen von einem, dem Intraframe- oder dem Interframe- Vorhersagecodierungsverfahren, und zum Erhalten von mehreren codierten Codierungsmodusinformationen,
einem zweiten Codierungsmittel (3) zum Codieren des Bewegungsvektors, der für jeden der Bereiche durch das Vorhersagesignalerzeugungsmittel in dem Interframe- Vorhersagecodierungsverfahren erhalten worden ist, zum Erhalten von mehreren codierten Bewegungsvektoren,
einem Vorhersagefehlererzeugungsmittel (2) zum Erzeugen eines Vorhersagefehlersignals für jeden der Bereiche basierend auf einem, dem Intraframe-Vorhersagesignal oder dem Interframe-Vorhersagesignal, das durch das Vorhersagesignalerzeugungsmittel (1) erzeugt worden ist, und dem Eingangsvideosignal (11),
einem dritten Codierungsmittel (3, 4) zum Codieren des Fehlervorhersagesignals für jeden der Bereiche zum Erhalten von mehreren codierten Vorhersagefehlersignalen, und einem Codefolgenerzeugungsmittel (30) zum Ausgeben einer Codefolge, die einen Synchronisationscode (PSC), eine Gruppe von mehreren codierten Codierungsmodusinformationen, und eine Gruppe von codierten Vorhersagefehlersignalen, die alle in dieser Reihenfolge entsprechend einer absteigenden Reihenfolge der Wichtigkeit beim Decodieren angeordnet sind, enthält.
2. Videocodiervorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das dritte Codierungsmittel (3, 4) ein Mittel zum Unterwerfen der Vorhersagemodusinformation und der Bewegungsvektorinformation unter eine Codierung mit variabler Wortlänge enthält.
3. Videocodiervorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Codefolgenerzeugungsmittel (30) eine Codefolge ausgibt, die eine Gruppe der mehreren codierten Bewegungsvektoren ebenso wie den Synchronisationscode, die Gruppe der mehreren codierten Codierungsmodusinformationen und die Gruppe der mehreren codierten Vorhersagefehlersignale, die alle in dieser Reihenfolge entsprechend einer absteigenden Reihenfolge der Wichtigkeit beim Decodieren angeordnet sind, enthält.
4. Videocodiervorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß
das Codefolgenerzeugungsmittel
ein Vorhersagemittel (1), das das Eingangsvideosignal (11) auf den entsprechenden Vorhersagepegeln in die Mehrzahl von Bereichen derart unterteilt, daß die ersten und zweiten Bereiche erhalten werden, und zum Vorhersagen von jedem aus einer Mehrzahl von ersten Bereichen und jedem aus einer Mehrzahl von zweiten Bereichen, die kleiner als die ersten Bereiche sind, auf den entsprechenden Vorhersagepegeln, die von einem ersten Vorhersagepegel, bei dem die Bewegungsvorhersage mit einer ersten Genauigkeit bewirkt wird, zu einem zweiten Vorhersagepegel, bei dem die Bewegungsvorhersage mit einer zweiten Genauigkeit, die höher als die erste Genauigkeit ist, bewirkt wird, rangieren, zum Erzeugen des Satzes aus einem Interframe-Vorhersagesignal und einem Bewegungsvektor entsprechend den ersten und zweiten Vorhersagepegeln.
5. Videocodiervorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß das dritte Codierungsmittel (4) ein Mittel zum Unterwerfen der Differenz der Bewegungsvektoren für die Bereiche, die den ersten Bereichen benachbart sind, unter eine Codierung mit variabler Wortlänge enthält.
6. Videocodiervorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß das dritte Codierungsmittel (4) ein Mittel zum Unterwerfen der Differenz zwischen den Bewegungsvektoren für die ersten Bereiche und den Bewegungsvektoren für die zweiten Bereiche unter eine Codierung mit variabler Wortlänge aufweist.
7. Videodecodiervorrichtung, mit
einem Empfangsmittel (43) zum Empfangen eines codierten Videostroms, der eine Codefolge enthält, die einen Synchronisationscode, eine Gruppe von codierten Codierungsmodusinformationen und eine Gruppe von codierten Vorhersagefehlerinformationen, die in dieser Reihenfolge entsprechend einer absteigenden Reihenfolge der Wichtigkeit beim Decodieren angeordnet sind, enthält,
einem Erhaltungsmittel (43) zum Erhalten der Codefolge der Gruppe von codierten Codierungsmodusinformationen und der Gruppe von codierten Vorhersagefehlerinformationen,
einem Erzeugungsmittel (47, 53, 54) zum Erzeugen eines Vorhersagefehlersignals für ein Bild unter Verwendung von einer aus der Gruppe der codierten Vorhersagefehlerinformationen, und
einem Kombinierungsmittel (56) zum Kombinieren des Vorhersagefehlersignals mit einem Vorhersagesignal für das Bild und zum Erzeugen eines rekonstruierten Videosignals.
8. Videodecodiervorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß
das Empfangsmittel (43) ein Mittel zum Empfangen der Codefolge, die eine Gruppe von codierten Codierungsmodusinformationen für Blöcke einer ersten Größe und eine Gruppe von codierten Codierungsmodusinformationen für Blöcke einer zweiten Größe, die in den Blöcken der ersten Größe enthalten sind und die kleiner als der Block der ersten Größe sind, die in dieser Reihenfolge entsprechend einer absteigenden Reihenfolge der Wichtigkeit beim Decodieren angeordnet sind, aufweist,
das Erhaltungsmittel (43) ein Mittel zum Erhalten der Codefolge der Gruppe von codierten Codierungsmodusinformationen für die Blöcke der ersten Gruppe und die Gruppe der codierten Codierungsmodusinformationen für die Blöcke der zweiten Größe aufweist, und
das Erzeugungsmittel (47, 53, 54) ein Mittel zum Erzeugen eines Vorhersagefehlersignals für das Bild unter Verwendung der codierten Codierungsmodusinformation für den Block der ersten Größe und unter Verwendung der codierten Codierungsmodusinformation für den Block der zweiten Größe aufweist.
9. Videodecodiervorrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß das Empfangsmittel (43) angepaßt ist zum Empfangen eines codierten Videostroms, der eine Codefolge enthält, die zusätzlich eine Gruppe von codierten Bewegungsvektoren enthält.
10. Videodecodiervorrichtung nach Anspruch 9, bei der das Erzeugungsmittel zum Erzeugen eines Vorhersagefehlersignals ein Mittel (301) zum Vergleichen eines zuvor rekonstruierten Videosignals mit einem Videosignal, das unter Verwendung des Bewegungsvektors, der dem Bild entspricht, vorhergesagt wurde, aufweist.
11. Vorrichtung nach Anspruch 9 oder 10, bei der
das Empfangsmittel ein Mittel zum Empfangen der Codefolge, die eine Gruppe von codierten Codierungsmodusinformationen für Blöcke einer ersten Größe, eine Gruppe von codierten Bewegungsvektoren für die Blöcke der ersten Größe, eine Gruppe von codierten Codierungsmodusinformationen für Blöcke einer zweiten Größe, die in den Blöcken der ersten Größe enthalten sind und die kleiner als die Blöcke der ersten Größe sind, und eine Gruppe von codierten Bewegungsvektoren für die Blöcke der zweiten Größe, die in dieser Reihenfolge entsprechend einer absteigenden Reihenfolge der Wichtigkeit beim Decodieren angeordnet sind, enthält, aufweist,
das Erhaltungsmittel ein Mittel (310) zum Erhalten der Gruppe der codierten Codierungsmodusinformationen für die Blöcke der ersten Größe, der Gruppe der codierten Bewegungsvektoren für die Blöcke der ersten Größe, der Gruppe der codierten Codierungsmodusinformationen für die Blöcke der zweiten Größe, und der Gruppe der codierten Bewegungsvektoren für die Blöcke der zweiten Größe aus der Codefolge aufweist, und
das Erzeugungsmittel ein Mittel (331) zum Erzeugen eines Vorhersagefehlersignals für das Bild unter Verwendung eines Bewegungsvektors für einen Block der ersten Größe und eines Bewegungsvektors für einen Block der zweiten Größe aufweist.
12. Videodecodierverfahren, das die Schritte des Empfangens eines codierten Videostroms, der eine Codefolge enthält, die einen Synchronisationscode, eine Gruppe von codierten Codierungsmodusinformationen und eine Gruppe von codierten Vorhersagefehlerinformationen, die in dieser Reihenfolge entsprechend einer absteigenden Reihenfolge der Wichtigkeit beim Decodieren angeordnet sind, enthält,
Erhaltens der Gruppe der codierten Codierungsmodusinformationen und der Gruppe der codierten Vorhersagefehlerinformationen aus der Codefolge,
Erzeugens eines Vorhersagefehlersignals für ein Bild unter Verwendung von einer aus der Gruppe der codierten Vorhersagefehlerinformationen, und
Kombinierens des Vorhersagefehlersignals mit einem Vorhersagesignal für das Bild und Erzeugens eines rekonstruierten Videosignals, aufweist.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß
der Schritt des Empfangens das Empfangen der Codefolge, die eine Gruppe der codierten Codierungsmodusinformationen für Blöcke einer ersten Größe und eine Gruppe von codierter Codierungsmodusinformation für Blöcke einer zweiten Größe, die in den Blöcken der ersten Größe enthalten sind und die kleiner als die Blöcke der ersten Größe sind, die in dieser Reihenfolge in einer absteigenden Reihenfolge der Wichtigkeit beim Decodieren angeordnet sind, enthält, aufweist,
der Schritt des Erhaltens das Erhalten der Gruppe der codierten Codierungsmodusinformationen für die Blöcke der ersten Größe und der Gruppe der codierten Codierungsmodusinformationen für die Blöcke der zweiten Größe aus der Codefolge aufweist, und der Schritt des Erzeugens das Erzeugen des Vorhersagefehlersignals für das Bild unter Verwendung der codierten Codierungsmodusinformation für den Block der ersten Größe und unter Verwendung der codierten Codierungsmodusinformation für den Block der zweiten Größe aufweist.
14. Videodecodierverfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß der Schritt des Empfangens der Codefolge zusätzlich eine Gruppe von codierten Bewegungsvektoren enthält.
15. Videodecodierverfahren nach Anspruch 14, bei dem der Schritt des Erzeugens eines Vorhersagefehlersignals das Vergleichen eines zuvor rekonstruierten Videosignals mit einem Videosignal, das unter Verwendung des Bewegungsvektors, der dem Bild entspricht, vorhergesagt wurde, enthält.
16. Videodecodierverfahren nach Anspruch 14 oder 15, bei dem der Schritt des Empfangens das Empfangen einer Codefolge, die eine Gruppe von codierten Codierungsmodusinformationen für Blöcke einer ersten Größe, eine Gruppe von codierten Bewegungsvektoren für die Blöcke der ersten Größe, eine Gruppe von codierter Codierungsmodusinformation für Blöcke einer zweiten Größe, die in den Blöcken der ersten Größe enthalten sind und die kleiner als die Blöcke der ersten Größe sind, und eine Gruppe von codierten Bewegungsvektoren für die Blöcke der zweiten Größe, die in dieser Reihenfolge entsprechend einer absteigenden Reihenfolge der Wichtigkeit beim Decodieren angeordnet sind, enthält, aufweist, der Schritt des Erhaltens das Erhalten der Gruppe der codierten Codierungsmodusinformationen für die Blöcke der ersten Größe, der Gruppe der codierten Bewegungsvektoren für die Blöcke der ersten Größe, der Gruppe der codierten Codierungsmodusinformationen für die Blöcke der zweiten Größe und der Gruppe der codierten Bewegungsvektoren für die Blöcke der zweiten Größe aus der Codefolge aufweist, und der Schritt des Erzeugens das Erzeugen eines Vorhersagefehlersignals für das Bild unter Verwendung eines Bewegungsvektors für einen Block der ersten Größe und eines Bewegungsvektors für einen Block der zweiten Größe aufweist.
DE69619002T 1995-03-10 1996-03-08 Bildkodierungs-/-dekodierungsvorrichtung Expired - Lifetime DE69619002T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP05099395A JP3415319B2 (ja) 1995-03-10 1995-03-10 動画像符号化装置及び動画像符号化方法
JP13440695 1995-05-31
JP27718095 1995-09-29
JP28044395A JPH09154138A (ja) 1995-05-31 1995-10-27 動画像符号化/復号化装置

Publications (2)

Publication Number Publication Date
DE69619002D1 DE69619002D1 (de) 2002-03-21
DE69619002T2 true DE69619002T2 (de) 2002-11-21

Family

ID=27462569

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69619002T Expired - Lifetime DE69619002T2 (de) 1995-03-10 1996-03-08 Bildkodierungs-/-dekodierungsvorrichtung

Country Status (3)

Country Link
US (7) US5731840A (de)
EP (1) EP0731614B1 (de)
DE (1) DE69619002T2 (de)

Families Citing this family (204)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69619002T2 (de) 1995-03-10 2002-11-21 Kabushiki Kaisha Toshiba, Kawasaki Bildkodierungs-/-dekodierungsvorrichtung
GB9517436D0 (en) * 1995-08-25 1995-10-25 Eidos Plc Video processing for storage or transmission
JP4054391B2 (ja) * 1995-12-28 2008-02-27 キヤノン株式会社 映像復号化装置及び映像伝送システム
FR2743247B1 (fr) * 1995-12-29 1998-01-23 Thomson Multimedia Sa Dispositif d'estimation de mouvement par appariement de blocs
DE19615492A1 (de) * 1996-04-19 1997-10-23 Philips Patentverwaltung Verfahren zur Bildsegmentierung
EP0840982B1 (de) * 1996-05-24 2002-02-13 Koninklijke Philips Electronics N.V. Bewegungsschätzung
MY119560A (en) * 1996-05-27 2005-06-30 Nippon Telegraph & Telephone Scheme for detecting captions in coded video data without decoding coded video data
JP3294510B2 (ja) * 1996-09-27 2002-06-24 シャープ株式会社 動画像符号化装置及び動画像復号装置
US6047088A (en) * 1996-12-16 2000-04-04 Sharp Laboratories Of America, Inc. 2D mesh geometry and motion vector compression
EP0856995B1 (de) * 1997-01-31 2006-09-13 Victor Company Of Japan, Ltd. Vorrichtung zur Videocodierung und -decodierung mit Bewegungskompensation
US6173317B1 (en) 1997-03-14 2001-01-09 Microsoft Corporation Streaming and displaying a video stream with synchronized annotations over a computer network
US6639945B2 (en) 1997-03-14 2003-10-28 Microsoft Corporation Method and apparatus for implementing motion detection in video compression
US6728775B1 (en) * 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
SG65064A1 (en) * 1997-04-09 1999-05-25 Matsushita Electric Industrial Co Ltd Image predictive decoding method image predictive decoding apparatus image predictive coding method image predictive coding apparatus and data storage media
US6040879A (en) * 1997-04-21 2000-03-21 Samsung Electronics Co., Ltd. Method for decoding video data corrupted by channel noise
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
JPH118856A (ja) * 1997-06-17 1999-01-12 Mitsubishi Electric Corp 画像符号化方法及びその装置
JP2897763B2 (ja) * 1997-07-28 1999-05-31 日本ビクター株式会社 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
KR100249223B1 (ko) * 1997-09-12 2000-03-15 구자홍 엠팩(mpeg)-4의움직임벡터코딩방법
US6546405B2 (en) 1997-10-23 2003-04-08 Microsoft Corporation Annotating temporally-dimensioned multimedia content
US5969772A (en) * 1997-10-30 1999-10-19 Nec Corporation Detection of moving objects in video data by block matching to derive a region motion vector
US6285796B1 (en) * 1997-11-03 2001-09-04 Intel Corporation Pseudo-fixed length image compression scheme
JPH11243551A (ja) * 1997-12-25 1999-09-07 Mitsubishi Electric Corp 動き補償装置と動画像符号化装置及び方法
JP3132456B2 (ja) * 1998-03-05 2001-02-05 日本電気株式会社 階層的画像符号化方式、及び階層的画像復号方式
FR2776459B1 (fr) * 1998-03-19 2000-04-28 France Telecom Procede de detection des objets en mouvement dans une sequence d'images video
JP3888597B2 (ja) * 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
US6249548B1 (en) * 1998-07-10 2001-06-19 U.S. Phillips Corporation Motion vector processing
US6587505B1 (en) * 1998-08-31 2003-07-01 Canon Kabushiki Kaisha Image processing apparatus and method
KR100377939B1 (ko) * 1998-09-01 2003-06-12 삼성전자주식회사 이동통신시스템에서서브프레임전송을위한프레임구성장치및방법
US6754277B1 (en) * 1998-10-06 2004-06-22 Texas Instruments Incorporated Error protection for compressed video
KR100363162B1 (ko) * 1998-11-02 2003-01-24 삼성전자 주식회사 영상신호의전송/복원방법및장치
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6404931B1 (en) * 1998-12-14 2002-06-11 Microsoft Corporation Code book construction for variable to variable length entropy encoding
US6377930B1 (en) 1998-12-14 2002-04-23 Microsoft Corporation Variable to variable length entropy encoding
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US6598188B1 (en) * 1999-05-10 2003-07-22 Texas Instruments Incorporated Error-corrected codeword configuration and method
FI117533B (fi) * 2000-01-20 2006-11-15 Nokia Corp Menetelmä digitaalisten videokuvien suodattamiseksi
US6539059B1 (en) * 2000-03-02 2003-03-25 Sun Microsystems, Inc. Apparatus and method for efficiently scalable digital video decoding
GB2362532B (en) * 2000-05-15 2004-05-05 Nokia Mobile Phones Ltd Video coding
JP2004504756A (ja) * 2000-07-17 2004-02-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データストリームの符号化
US6925249B1 (en) * 2000-07-28 2005-08-02 Microsoft Corporation System and method for storing compressed data onto a storage medium
US6683980B1 (en) * 2000-07-28 2004-01-27 Microsoft Corporation System and method for compressing data
JP4224662B2 (ja) * 2000-08-09 2009-02-18 ソニー株式会社 画像符号化装置および方法、画像復号装置および方法、ならびに画像処理装置
EP1189169A1 (de) * 2000-09-07 2002-03-20 STMicroelectronics S.r.l. Eine VLSI Architektur, insbesondere für Bewegungsbestimmunsapplikationen
US7295614B1 (en) * 2000-09-08 2007-11-13 Cisco Technology, Inc. Methods and apparatus for encoding a video signal
JP4525878B2 (ja) * 2000-10-02 2010-08-18 日本電気株式会社 動画像符号化方法
EP1327360A1 (de) * 2000-10-11 2003-07-16 Koninklijke Philips Electronics N.V. Skalierbare kodierung von multimedia-objekten
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US20030012287A1 (en) * 2001-03-05 2003-01-16 Ioannis Katsavounidis Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream
US6700934B2 (en) * 2001-03-14 2004-03-02 Redrock Semiconductor, Ltd. Error detection using a maximum distance among four block-motion-vectors in a macroblock in a corrupted MPEG-4 bitstream
US7929610B2 (en) * 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
US7450641B2 (en) 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
US6931063B2 (en) 2001-03-26 2005-08-16 Sharp Laboratories Of America, Inc. Method and apparatus for controlling loop filtering or post filtering in block based motion compensationed video coding
GB2375673A (en) * 2001-05-14 2002-11-20 Salgen Systems Ltd Image compression method using a table of hash values corresponding to motion vectors
CN101409838B (zh) * 2001-09-14 2011-01-12 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置、图象处理系统
EP2819411B1 (de) * 2001-09-14 2018-08-29 NTT DoCoMo, Inc. Kodierungs- und Dekodierungsverfahren
ES2610430T3 (es) 2001-12-17 2017-04-27 Microsoft Technology Licensing, Llc Codificación por omisión de macrobloques
JP2003299103A (ja) * 2002-03-29 2003-10-17 Toshiba Corp 動画像符号化方法と装置及び動画像復号化方法と装置
US7693220B2 (en) * 2002-01-03 2010-04-06 Nokia Corporation Transmission of video information
AU2003201077A1 (en) * 2002-01-18 2003-07-30 Koninklijke Philips Electronics N.V. Robust signal coding
EP1469682A4 (de) * 2002-01-24 2010-01-27 Hitachi Ltd Signalkodierungsverfahren für bewegliche bilder, dekodierungsverfahren, kodierungsvorrichtung und dekodierungsvorrichtung
US8175159B2 (en) * 2002-01-24 2012-05-08 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
US6952450B2 (en) * 2002-02-15 2005-10-04 Koninklijke Philips Electronics, N.V. Unequal error protection of video based on motion vector characteristics
US8300690B2 (en) * 2002-07-16 2012-10-30 Nokia Corporation Method for random access and gradual picture refresh in video coding
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
KR100548316B1 (ko) * 2002-11-08 2006-02-02 엘지전자 주식회사 동영상 에러 보정 방법 및 장치
EP1593270A1 (de) * 2003-02-04 2005-11-09 Koninklijke Philips Electronics N.V. Prädiktive codierung von bewegungsvektoren miteinem flag, das die anwesenheit codierter restbewegungsvektordaten anzeigt
US8824553B2 (en) 2003-05-12 2014-09-02 Google Inc. Video compression method
ITMI20031079A1 (it) * 2003-05-29 2004-11-30 St Microelectronics Srl Metodo ed apparato per dedificare immagini digitali
US7453940B2 (en) * 2003-07-15 2008-11-18 Lsi Corporation High quality, low memory bandwidth motion estimation processor
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
TWI226803B (en) * 2003-07-30 2005-01-11 Mediatek Inc Method for using memory to store motion vectors of decoded macroblocks
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7577198B2 (en) * 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
US7623574B2 (en) 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7577200B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US7616692B2 (en) 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US8085844B2 (en) * 2003-09-07 2011-12-27 Microsoft Corporation Signaling reference frame distances
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7685500B2 (en) * 2003-11-25 2010-03-23 Intel Corporation Forward error correction coding in communication networks
JP4522199B2 (ja) * 2003-11-27 2010-08-11 キヤノン株式会社 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
KR100601935B1 (ko) * 2003-12-02 2006-07-14 삼성전자주식회사 디지탈 동영상 처리 방법 및 장치
US20050201458A1 (en) * 2004-03-12 2005-09-15 Pinnacle Systems, Inc. Image encoding system and method
KR100800772B1 (ko) * 2004-05-26 2008-02-01 마츠시타 덴끼 산교 가부시키가이샤 움직임 벡터 부호화 장치, 방법, 프로그램 및 매체
JP4655191B2 (ja) * 2004-09-02 2011-03-23 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
CN101061725B (zh) * 2004-11-19 2010-08-11 松下电器产业株式会社 运动图像编码方法以及运动图像解码方法
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
US9204167B2 (en) * 2005-01-24 2015-12-01 Thomson Licensing Video error detection technique using a CRC parity code
KR100704626B1 (ko) * 2005-02-07 2007-04-09 삼성전자주식회사 다 계층 기반의 모션 벡터를 압축하는 방법 및 장치
WO2006083107A1 (en) * 2005-02-07 2006-08-10 Samsung Electronics Co., Ltd. Method and apparatus for compressing multi-layered motion vector
JP4500213B2 (ja) * 2005-05-20 2010-07-14 オリンパスイメージング株式会社 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
JP4427003B2 (ja) * 2005-05-23 2010-03-03 オリンパスイメージング株式会社 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
EP1732331A1 (de) * 2005-06-08 2006-12-13 BRITISH TELECOMMUNICATIONS public limited company Videokodierung
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
CN103096078B (zh) * 2006-01-09 2015-10-21 Lg电子株式会社 用于视频信号的层间预测方法和装置
KR20070074452A (ko) * 2006-01-09 2007-07-12 엘지전자 주식회사 영상신호의 엔코딩/디코딩시의 레이어간 예측 방법
KR101055741B1 (ko) * 2006-01-09 2011-08-11 엘지전자 주식회사 영상신호의 레이어간 예측 방법
JP4384130B2 (ja) * 2006-03-28 2009-12-16 株式会社東芝 動画像復号方法及び装置
US7958434B1 (en) * 2006-07-26 2011-06-07 Marvell International Ltd. Method for synchronizing to a digital signal
JP4853199B2 (ja) * 2006-09-25 2012-01-11 株式会社ニコン 画像圧縮方法、装置、電子カメラ、およびプログラム
US8532190B2 (en) 2006-10-30 2013-09-10 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs
JP4908180B2 (ja) * 2006-12-20 2012-04-04 株式会社東芝 動画像符号化装置
US8457410B2 (en) * 2007-02-14 2013-06-04 Technion Research And Development Foundation Ltd. Over-parameterized variational optical flow method
US20130101023A9 (en) * 2007-03-12 2013-04-25 Vixs Systems, Inc. Video encoder with video decoder reuse and method for use therewith
US20080247465A1 (en) * 2007-04-05 2008-10-09 Jun Xin Method and System for Mapping Motion Vectors between Different Size Blocks
JP4788649B2 (ja) 2007-04-27 2011-10-05 株式会社日立製作所 動画像記録方法及びその装置
US20080279281A1 (en) * 2007-05-08 2008-11-13 Draper Stark C Method and System for Compound Conditional Source Coding
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
KR20100099723A (ko) * 2008-01-09 2010-09-13 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 및 화상 복호 방법
JP5286805B2 (ja) * 2008-01-31 2013-09-11 沖電気工業株式会社 動きベクトル検出装置及び方法、動画像符号化装置及び方法、並びに、動画像復号化装置及び方法
US9055301B2 (en) * 2008-03-18 2015-06-09 Texas Instruments Incorporated Changing motion estimation precision to maintain encoding within desired time
US8451907B2 (en) 2008-09-02 2013-05-28 At&T Intellectual Property I, L.P. Methods and apparatus to detect transport faults in media presentation systems
US8326075B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
WO2010041857A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for decoding a video signal
KR101479011B1 (ko) * 2008-12-17 2015-01-13 삼성전자주식회사 다중 대역 스케쥴링 방법 및 이를 이용한 방송 서비스 시스템
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
WO2010131903A2 (en) 2009-05-12 2010-11-18 Lg Electronics Inc. Method and apparatus for processing a video signal
AU2014280909B2 (en) * 2009-08-13 2016-03-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image by using large transformation unit
KR20110017302A (ko) * 2009-08-13 2011-02-21 삼성전자주식회사 움직임 벡터의 정확도 조절을 이용한 영상 부호화, 복호화 방법 및 장치
KR101474756B1 (ko) * 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101418101B1 (ko) 2009-09-23 2014-07-16 에스케이 텔레콤주식회사 저주파수 성분을 고려한 영상 부호화/복호화 방법 및 장치
KR101703327B1 (ko) * 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
JP6523494B2 (ja) * 2010-01-19 2019-06-05 サムスン エレクトロニクス カンパニー リミテッド 縮小された予測動きベクトルの候補に基づいて、動きベクトルを符号化/復号化する方法及び装置
US9596439B2 (en) 2010-01-19 2017-03-14 Amimon Ltd. Circuit, device, method and system for transmitting video data between a video source and a video sink
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US8938013B2 (en) * 2010-03-16 2015-01-20 Cleversafe, Inc. Dispersal of priority data in a dispersed storage network
KR101444691B1 (ko) * 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
JP2011259204A (ja) * 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号装置およびその方法とプログラム
JP2012023597A (ja) * 2010-07-15 2012-02-02 Sony Corp 画像処理装置及び画像処理方法
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US20120082228A1 (en) 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US8611415B1 (en) 2010-11-15 2013-12-17 Google Inc. System and method for coding using improved motion estimation
US8838680B1 (en) 2011-02-08 2014-09-16 Google Inc. Buffer objects for web-based configurable pipeline media processing
JP2012169762A (ja) 2011-02-10 2012-09-06 Sony Corp 画像符号化装置と画像復号化装置およびその方法とプログラム
JP5717886B2 (ja) * 2011-03-09 2015-05-13 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft デジタル画像のシーケンスを符号化する方法
US8891626B1 (en) 2011-04-05 2014-11-18 Google Inc. Center of motion for encoding motion fields
US8693547B2 (en) 2011-04-06 2014-04-08 Google Inc. Apparatus and method for coding using motion vector segmentation
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
US8780971B1 (en) 2011-04-07 2014-07-15 Google, Inc. System and method of encoding using selectable loop filters
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8781004B1 (en) 2011-04-07 2014-07-15 Google Inc. System and method for encoding video using variable loop filter
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US8804819B1 (en) 2011-04-19 2014-08-12 Google Inc. Method and apparatus for encoding video using data frequency
US9749638B1 (en) 2011-04-28 2017-08-29 Google Inc. Method and apparatus for encoding video with dynamic quality improvement
US8705620B1 (en) 2011-04-28 2014-04-22 Google Inc. Method and apparatus for encoding anchor frame by encoding features using layers
US8681866B1 (en) 2011-04-28 2014-03-25 Google Inc. Method and apparatus for encoding video by downsampling frame resolution
US9106787B1 (en) 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
US8989256B2 (en) 2011-05-25 2015-03-24 Google Inc. Method and apparatus for using segmentation-based coding of prediction information
CN103797795B (zh) 2011-07-01 2017-07-28 谷歌技术控股有限责任公司 用于运动矢量预测的方法和设备
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
CN104041041B (zh) 2011-11-04 2017-09-01 谷歌技术控股有限责任公司 用于非均匀运动向量栅格的运动向量缩放
US9490850B1 (en) 2011-11-28 2016-11-08 Google Inc. Method and apparatus for decoding packetized data
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US9014265B1 (en) 2011-12-29 2015-04-21 Google Inc. Video coding using edge detection and block partitioning for intra prediction
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
WO2013162980A2 (en) 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US9014266B1 (en) 2012-06-05 2015-04-21 Google Inc. Decimated sliding windows for multi-reference prediction in video coding
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
US10034023B1 (en) 2012-07-30 2018-07-24 Google Llc Extended protection of digital video streams
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
JP5997545B2 (ja) * 2012-08-22 2016-09-28 キヤノン株式会社 信号処理方法及び信号処理装置
US9288484B1 (en) 2012-08-30 2016-03-15 Google Inc. Sparse coding dictionary priming
WO2014038330A1 (ja) * 2012-09-06 2014-03-13 ソニー株式会社 画像処理装置及び画像処理方法
US9407915B2 (en) 2012-10-08 2016-08-02 Google Inc. Lossless video coding with sub-frame level optimal quantization values
US9210432B2 (en) 2012-10-08 2015-12-08 Google Inc. Lossless inter-frame video coding
US9369732B2 (en) 2012-10-08 2016-06-14 Google Inc. Lossless intra-prediction video coding
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9756346B2 (en) 2012-10-08 2017-09-05 Google Inc. Edge-selective intra coding
US9819965B2 (en) * 2012-11-13 2017-11-14 Intel Corporation Content adaptive transform coding for next generation video
US9172740B1 (en) 2013-01-15 2015-10-27 Google Inc. Adjustable buffer remote access
US9311692B1 (en) 2013-01-25 2016-04-12 Google Inc. Scalable buffer remote access
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
US9210424B1 (en) 2013-02-28 2015-12-08 Google Inc. Adaptive prediction block size in video coding
US9300906B2 (en) 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
CN104104961B (zh) * 2013-04-10 2018-09-21 华为技术有限公司 一种视频编码方法、解码方法和装置
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US9330171B1 (en) * 2013-10-17 2016-05-03 Google Inc. Video annotation using deep network architectures
US9286653B2 (en) 2014-08-06 2016-03-15 Google Inc. System and method for increasing the bit depth of images
US9153017B1 (en) 2014-08-15 2015-10-06 Google Inc. System and method for optimized chroma subsampling
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
US9807416B2 (en) 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding
KR20180059444A (ko) 2015-09-24 2018-06-04 엘지전자 주식회사 영상 코딩 시스템에서 amvr 기반한 영상 코딩 방법 및 장치
CN110049339B (zh) * 2018-01-16 2023-02-17 腾讯科技(深圳)有限公司 图像编码中的预测方向选取方法、装置和存储介质
CN108769674B (zh) * 2018-06-27 2019-11-12 北京大学深圳研究生院 一种基于自适应层次化运动建模的视频预测方法
EP4635186A1 (de) * 2023-01-24 2025-10-22 Google LLC Pyramidengittervektorquantisierung zur codierung von bewegungsvektorunterschieden

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821119A (en) * 1988-05-04 1989-04-11 Bell Communications Research, Inc. Method and apparatus for low bit-rate interframe video coding
USRE35414E (en) * 1988-08-11 1996-12-31 Mitsubishi Denki Kabushiki Kaisha Picture coding and decoding apparatus using vector quantization
US5124477A (en) * 1988-12-14 1992-06-23 Kawasaki Steel Corporation Process for preparing para-hydroxybenzoic acid
FR2651399B1 (fr) * 1989-08-29 1996-05-15 Thomson Consumer Electronics Procede et dispositif d'estimation et de codage hierarchise du mouvement de sequences d'images.
JPH043684A (ja) 1990-04-20 1992-01-08 Matsushita Electric Ind Co Ltd 可変レート動画像符号化装置
US5068724A (en) * 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
JPH04177992A (ja) * 1990-11-09 1992-06-25 Victor Co Of Japan Ltd 階層性を有する画像符号化装置
JPH0813138B2 (ja) * 1990-11-28 1996-02-07 松下電器産業株式会社 画像符号化装置
US5128756A (en) * 1990-12-11 1992-07-07 At&T Bell Laboratories High definition television coding arrangement with graceful degradation
GB9102220D0 (en) * 1991-02-01 1991-03-20 British Telecomm Method and apparatus for decoding video signals
US5151784A (en) * 1991-04-30 1992-09-29 At&T Bell Laboratories Multiple frame motion estimation
US5392037A (en) * 1991-05-21 1995-02-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding and decoding
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
US5231384A (en) 1991-08-26 1993-07-27 General Electric Company Apparatus for splitting video signal between two channels
JP3263960B2 (ja) * 1991-10-22 2002-03-11 ソニー株式会社 動きベクトル符号器および復号器
JPH05122685A (ja) 1991-10-28 1993-05-18 Sanki Syst Eng Kk 動画像フレーム間符号化装置
JP3134424B2 (ja) * 1991-10-31 2001-02-13 ソニー株式会社 可変長符号化方法及び装置
US5534927A (en) * 1991-11-12 1996-07-09 Nippon Hoso Kyokai Method of performing high efficiency coding of image signal and system therefor
JPH05137131A (ja) * 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
JPH05217300A (ja) 1991-12-10 1993-08-27 Sony Corp 映像信号の伝送方式
US5253058A (en) * 1992-04-01 1993-10-12 Bell Communications Research, Inc. Efficient coding scheme for multilevel video transmission
JP2697479B2 (ja) * 1992-04-17 1998-01-14 国際電信電話株式会社 可逆可変長符号化方式
JP2666662B2 (ja) * 1992-06-29 1997-10-22 日本ビクター株式会社 階層型符号化装置及び復号化装置
JP3545000B2 (ja) * 1992-11-02 2004-07-21 ソニー株式会社 画像信号符号化装置、画像信号復号化装置
US5444489A (en) * 1993-02-11 1995-08-22 Georgia Tech Research Corporation Vector quantization video encoder using hierarchical cache memory scheme
FR2703802A1 (fr) * 1993-04-07 1994-10-14 Philips Electronique Lab Dispositif d'estimation de mouvement entre des images successives d'une séquence d'images animées subdivisées en blocs bidimensionnels d'éléments d'image.
US5442400A (en) * 1993-04-29 1995-08-15 Rca Thomson Licensing Corporation Error concealment apparatus for MPEG-like video data
JPH0730896A (ja) * 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
JPH0787448A (ja) * 1993-06-30 1995-03-31 Victor Co Of Japan Ltd デジタル映像信号の符号化回路及び復号化回路
JPH0795584A (ja) * 1993-07-30 1995-04-07 Matsushita Electric Ind Co Ltd 画像符号化装置
JP3340532B2 (ja) * 1993-10-20 2002-11-05 株式会社日立製作所 ビデオの検索方法および装置
JP3089941B2 (ja) * 1994-02-28 2000-09-18 日本ビクター株式会社 画像間予測符号化装置
KR970003024B1 (ko) * 1994-02-28 1997-03-13 한국전기통신공사 병렬처리 패턴매칭을 이용한 가변부호길이에서 고속 재동기방법
US5563593A (en) * 1994-03-18 1996-10-08 Lucent Technologies Inc. Video coding with optimized low complexity variable length codes
US5457495A (en) * 1994-05-25 1995-10-10 At&T Ipm Corp. Adaptive video coder with dynamic bit allocation
US5594504A (en) * 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
US5608458A (en) * 1994-10-13 1997-03-04 Lucent Technologies Inc. Method and apparatus for a region-based approach to coding a sequence of video images
DE69619002T2 (de) * 1995-03-10 2002-11-21 Kabushiki Kaisha Toshiba, Kawasaki Bildkodierungs-/-dekodierungsvorrichtung
EP1802139A2 (de) * 1995-03-15 2007-06-27 Kabushiki Kaisha Toshiba Kodier- und/oder Dekodiersysteme für Bewegtbilder
US5777678A (en) * 1995-10-26 1998-07-07 Sony Corporation Predictive sub-band video coding and decoding using motion compensation

Also Published As

Publication number Publication date
US6229854B1 (en) 2001-05-08
US6128342A (en) 2000-10-03
EP0731614A2 (de) 1996-09-11
US5731840A (en) 1998-03-24
EP0731614B1 (de) 2002-02-06
DE69619002D1 (de) 2002-03-21
US5912706A (en) 1999-06-15
EP0731614A3 (de) 1998-06-24
US6052150A (en) 2000-04-18
US6025881A (en) 2000-02-15
US6148028A (en) 2000-11-14

Similar Documents

Publication Publication Date Title
DE69619002T2 (de) Bildkodierungs-/-dekodierungsvorrichtung
DE69223560T2 (de) Einrichtung zur Verminderung von Quantisierungsstörungen in einem Zwischenbild-Hybrid-Kodierungssystem mit Bewegungskompensation
DE69130214T2 (de) Bilddatenkompression mit adaptiver Blockgrössenauswahl
DE69221191T2 (de) Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation
DE69131257T2 (de) Verfahren zur Kompression von bewegten Bildsignalen nach dem Zeilensprungverfahren
DE69606441T2 (de) Videodatenkodierer und -dekodierer
DE69933483T2 (de) Vorrichtung und Verfahren zum Codieren mit bewegungskompensierter Vorhersage
DE69324958T2 (de) Kompression und Dekompression von Bildern
DE69805099T2 (de) Verbesserte videocodierung und decodierung unter verwendung von adaptiven blockparametern für codierte/uncodierte blöcke
DE69129595T2 (de) Systeme und Verfahren zur Kodierung alternierender Halbbilder in Zeilensprungbildsequenzen
DE69323986T2 (de) Vorrichtung und Verfahren zur Bildverarbeitung
DE69709914T2 (de) Vorrichtung zur Bildvorhersage und -decodierung
DE19503571B4 (de) Bildkompressionsverfahren und -vorrichtung unter Verwendung eines bedingten Viergruppenbaumunterteilungssystems
DE69810670T2 (de) Verfahren zur rechnerischen Feindegradierung in einem audio-visuellen Kompressionssystem
DE69824896T2 (de) Prediktives Bilddekodierungsverfahren
DE69716037T2 (de) Verfahren zur kodierung und dekodierung von digitalen bildern
DE69530336T2 (de) Bewegungskompensation für digitale Videosignale mit Zeilensprung
DE60015566T2 (de) Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes
DE69125199T2 (de) Geometrische Vektorquantifizierung
DE69419842T2 (de) Vorrichtungen zur Bildkodierung und -Dekodierung mit einer verbesserten Bewegungsvektorkodierungsmethode
DE69635369T2 (de) Videokodierungsvorrichtung
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE69222838T2 (de) Einrichtung zum kodieren und dekodieren eines sich zeitlich ändernden bildes
DE69320430T2 (de) Vorrichtung zur Dekodierung von digitalen Bildsignalen und Methode zur Berechnung des vermuteten Bewegungsvektors
DE69713923T2 (de) System und Verfahren zur digitalen Bildkompression mit Bewegungsschätzung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: KRAMER - BARSKE - SCHMIDTCHEN, 81245 MUENCHEN