DE60318758T2 - Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder - Google Patents

Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder Download PDF

Info

Publication number
DE60318758T2
DE60318758T2 DE2003618758 DE60318758T DE60318758T2 DE 60318758 T2 DE60318758 T2 DE 60318758T2 DE 2003618758 DE2003618758 DE 2003618758 DE 60318758 T DE60318758 T DE 60318758T DE 60318758 T2 DE60318758 T2 DE 60318758T2
Authority
DE
Germany
Prior art keywords
data
maximum number
pixels
image
coding
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
DE2003618758
Other languages
English (en)
Other versions
DE60318758D1 (de
Inventor
Kiyofumi Osaka-shi Abe
Shinya Osaka-shi Kadono
Makoto Hagai
Satoshi Kondo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE60318758D1 publication Critical patent/DE60318758D1/de
Application granted granted Critical
Publication of DE60318758T2 publication Critical patent/DE60318758T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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

Description

  • Gebiet der Technik
  • Die vorliegende Erfindung betrifft ein Bewegtbildkodierungsverfahren, eine zugehörige Vorrichtung und einen Datenträger, der ein Programm zur Ausführung des Kodierungsverfahrens enthält.
  • Stand der Technik
  • Ein Bewegtbild besteht aus mehreren Bildern, von denen jedes aus einer bestimmten Anzahl von Pixeln besteht. Beim Kodieren eines Bewegtbildes wird jedes Einzelbild kodiert, wobei das Kodieren in der Weise erfolgt, dass ein Block, der durch Unterteilung des Bildes erhalten wird, als Einheit genommen wird.
  • Beim Kodieren eines Bewegtbildes wird dieses grundsätzlich komprimiert, indem zeitliche und räumliche Redundanz ausgeschaltet werden.
  • Beim prädiktiven Interbildkodieren beispielsweise, das auf die Ausschaltung zeitlicher Redundanz abzielt, werden eine Bewegungsabschätzung und ein Bewegungsausgleich für das in Blockeinheiten zu kodierende Zielbild vorgenommen, wobei auf Bilder Bezug genommen wird, die zeitlich vor oder nach dem Zielbild kommen, um Vorhersagedaten zu erhalten, woraufhin die Differenz zwischen den Vorhersagedaten und den Zielbilddaten kodiert wird. Ein Bild, das zeitlich vor dem Zielbild kommt, ist ein vorhergehendes Bild, das früher gezeigt wird als das Zielbild, während ein Bild, das zeitlich nach dem Zielbild kommt, ein Folgebild ist, das später als das Zielbild gezeigt wird.
  • Das Kodiersystem H.264, das die heutige Bewegtbild-Kodiernorm ist, nimmt den Bewegungsausgleich für das Zielbild vor, indem auf zwei beliebige Bilder Bezug genommen wird, die zeitlich vor und nach dem Zielbild kommen. Die Norm H.264 wurde als Empfehlungsnummer von der ITU-T (International Telecommunication Union – Telecommunication Standardization Sector) festgelegt.
  • Das Kodieren mit dem Ziel der Ausschaltung räumlicher Redundanz erfolgt unter Verwendung von Kodierdaten von bereits kodierten Blöcken, die um den Zielblock herum angeordnet sind.
  • Wenn eine Kodiervorrichtung und eine Dekodiervorrichtung nach dem H.264-System entwickelt werden, ergibt sich jedoch das Problem, dass es nicht möglich ist, die Größe des jeweils benötigten Speicherbereichs in geeigneter Weise festzulegen. Das hat seinen Grund darin, dass der Freiheitsgrad für die Anzahl der Referenzbilder, auf die beim prädiktiven Interbildkodieren Bezug genommen wird, außerordentlich groß ist.
  • Grundsätzlich wird beim Kodierverfahren für Bewegtbilder, die aus mehreren Bildern bestehen, jedes einzelne dieser Bilder kodiert, wobei ein Block, der durch Unterteilung des Bildes in Blöcke erhalten wird (im folgenden als Makroblock bezeichnet) als Einheit genommen wird.
  • Beispielsweise erfolgt das Kodieren eines Bildes P, indem nacheinander alle Makroblöcke MB, die das Bild P bilden, in Richtung des Pfeils B kodiert werden, wie in 24(a) gezeigt. Außerdem erfolgt das Kodieren des Makroblocks MB12 als Zielblock durch Vorhersage von Daten wie dem Bewegungsvektor, d. h. von Kodierdaten, für den Zielmakroblock unter Bezugnahme auf die Kodierdaten der Makroblöcke MB3, MB4, MB5 und MB11, die oberhalb und seitlich des Zielmakroblocks MB12 liegen.
  • Deshalb müssen die Kodierdaten der genannten Makroblöcke MB3 bis MB11, die oberhalb und seitlich des Zielmakroblocks MB12 liegen, zur Vorhersage von Kodierdaten beim Kodieren von Makroblöcken, die zuletzt vor dem Makroblock 12 kodiert wurden, so lange gespeichert werden, bis der Kodiervorgang für den Zielmakroblock MB12 abgeschlossen ist. Beim Kodieren eines jeden Bildes werden mit anderen Worten die Kodierdaten der Makroblöcke von etwa einer Reihe stets gespeichert. Wenn das Zielbild ein Bild ist, das in horizontaler Richtung eine große Länge aufweist, ergibt sich daher eine große Anzahl kodierter Daten, die beim Kodieren zu speichern sind. Bei der Entwicklung einer Vorrichtung, die ein Bild mit großer horizontaler Seitenlänge kodieren kann, muss daher ein großer Speicherbereich zum Speichern der Kodierdaten vorgesehen werden. Dabei wird beim Kodieren eines Makroblocks, der in der Kodierreihenfolge nach dem Makroblock MB12 kommt, nicht auf die in 24(b) gezeigten Makroblöcke MB1 und MB2 Bezug genommen.
  • Selbstverständlich muss wie bei der Entwicklung einer Kodiervorrichtung auch bei der Entwicklung einer Dekodiervorrichtung, mit der ein Bild dekodiert werden kann, das eine größere Breitseite hat, ein größerer Speicherbereich zum Speichern der Kodierdaten vorgesehen werden.
  • Beim H.264-Kodiersystem jedoch gibt es derzeit keine Vorschriften für die Anzahl der Pixel eines Bildes in horizontaler und vertikaler Richtung. Das führt zu der Situation, dass die Mindestgröße des Speicherbereichs, die für die ordnungsgemäße Kodierung oder Dekodierung eines Bildes nach der H.264-Norm erforderlich ist, nicht festgelegt ist.
  • Wenn die prädiktive Interbildkodierung oder -dekodierung nach der H.264-Norm vorgenommen wird, ist es außerdem erforderlich, alle vorhergehenden und nachfolgenden Bilder, auf die wahrscheinlich Bezug genommen wird, in einem Bildspeicher zu speichern.
  • Kurz, beim herkömmlichen MPEG-2 oder MPEG-4-Verfahren (MPEG, Moving Picture Experts Group), werden Bilder, auf die beim prädiktiven Interbildkodieren oder -dekodieren Bezug genommen werden kann, d. h. mögliche Referenzbilder, von allen Blöcken des zu kodierenden bzw. zu dekodierenden Zielbilds geteilt. Wenn das Zielbild beispielsweise ein B-Bild ist, das auf maximal zwei andere verarbeitete Bilder Bezug nehmen kann, werden Bilder, auf die beim Kodieren oder Dekodieren der einzelnen Blöcke Bezug genommen wird, d. h. Referenzbilder, unter zwei möglichen Referenzbildern ausgewählt, die für das Zielbild festgelegt wurden. Wenn das Zielbild ein P-Bild ist, das nur auf ein verarbeitetes Bild Bezug nehmen kann, wird nur ein Referenzbild, das für das Zielbild festgelegt wird, als Bild verwendet, auf welches beim Kodieren oder Dekodieren der einzelnen Blöcke Bezug genommen wird.
  • Eine Beschreibung der Referenzbilder findet sich im folgenden Teil der MPEG-4-Norm:
    ISO/IEC 14496-2: 1999 (E)
    Information technology – coding of audio-visual objects
    Part 2: Visual
    (1999-12-01)
    S. 328, 329, Annex N
  • Andererseits wird beim H.264-Kodierverfahren ein Bild, auf welches beim prädiktiven Interbildkodieren oder -dekodieren Bezug genommen wird, d. h. ein Referenzbild, für jeden Block eines zu kodierenden oder zu dekodierenden Zielbildes, unter mehreren verarbeiteten Bildern ausgewählt, deren Bilddaten in einem Bildspeicher gespeichert sind. Wenn das Zielbild beispielsweise ein B-Bild ist, bei dem jeder Block unter Bezugnahme auf maximal zwei andere verarbeitete Bilder kodiert oder dekodiert wird, wird beim Kodieren oder Dekodieren eines jeden Blocks Bezug genommen auf maximal zwei Bilder als Referenzbilder, die unter mehreren verarbeiteten Bildern ausgewählt wurden, deren Bilddaten in einem Bildspeicher gespeichert sind. Wenn das Zielbild ein P-Bild ist, bei dem jeder Block unter Bezugnahme auf nur ein verarbeitetes Bild kodiert oder dekodiert wird, wird ein Bild, das unter mehreren verarbeiteten Bildern ausgewählt wurde, deren Bilddaten im Bildspeicher gespeichert sind, als Bild verwendet, auf das beim Kodieren oder Dekodieren der einzelnen Blöcke als Referenzbild Bezug genommen wird.
  • Wie oben zum MPEG-2- oder MPEG-4-Verfahren ausgeführt, sind bei einem P-Bild als Zielbild ein verarbeitetes Bild ein mögliches Referenzbild und bei einem B-Bild als Zielbild zwei verarbeitete Bilder mögliche Referenzbilder, während nach dem H.264-Verfahren sowohl bei einem P-Bild als auch bei einem B-Bild als Zielbild mehrere verarbeitete Bilder, deren Bilddaten im Bildspeicher gespeichert sind, mögliche Referenzbilder sind.
  • 25 ist eine Darstellung zur Erläuterung einer bestimmten Steuerung eines Bildspeichers nach dem H.264-System. 25 zeigt den Fall, dass ein Bildspeicher die Bilddaten von vier Bildern aufnehmen kann. In diesem Fall sind also drei dieser vier Bilder außer dem zu verarbeitenden Zielbild mögliche Referenzbilder, auf die Bezug genommen werden kann.
  • Wenn beispielsweise die prädiktive Interbildkodierung oder die prädiktive Interbilddekodierung vorgenommen wird, wobei das Bild P5 als zu verarbeitendes Zielbild genommen wird, wie in 25 gezeigt, werden die Bilder P2 bis P4, deren Bilddaten in einem Bildspeicher Mpt gespeichert sind, als mögliche Referenzbilder genommen. Dabei sind die Bilder P1 bis P5 in der Kodierungsreihenfolge (bzw. in der Dekodierungsreihenfolge) angeordnet und werden in der Reihenfolge ihrer Anordnung kodiert oder dekodiert. Diejenigen Bilder unter den möglichen Referenzbildern P2 bis P4, die früher dargestellt werden als das Zielbild P5, sind somit dem Zielbild P5 vorausgehende Bilder, und diejenigen Bilder unter den möglichen Referenzbildern P2 bis P4, die später dargestellt werden als das Zielbild P5, sind bezüglich des Zielbilds P5 nachfolgende Bilder.
  • Bei einer Dekodiervorrichtung müssen selbst dann, wenn ein zuvor dekodiertes Bild keines der möglichen Referenzbilder ist, auf die beim prädiktiven Interbilddekodieren des Zielbilds Bezug genommen wird, d. h. wenn es ein nicht als Referenzbild verwendetes dekodiertes Bild ist, die Bilddaten des dekodierten Bildes in einem Bildspeicher als auf die Darstellung wartendes Bild gespeichert werden, bis es in der Darstellungsreihenfolge an der Reihe ist.
  • 26 zeigt schematische Darstellungen der auf die Darstellung wartenden Bilder. 26(a) zeigt mehrere Bilder, die ein Bewegtbild bilden und als Referenzbilder verwendet werden können (mögliche Referenzbilder) [verwendet], sowie Bilder, die nicht als Referenzbilder verwendet werden [nicht verwendet]. 26(b) zeigt die Beziehung zwischen Dekodierungszeitpunkt und Darstellungszeitpunkt der einzelnen Bilder.
  • Zum Zweck der Erläuterung zeigen 26 den Fall, in dem Referenzbilder [verwendet], die beim Kodieren oder Dekodieren eines jeden Blocks eines B-Bilds verwendet werden, zwei oder eines von zwei möglichen Referenzbildern sind, die gewöhnlich für alle Blöcke dieses B-Bilds verwendet werden, und Referenzbilder [verwendet], die beim Kodieren oder Dekodieren der einzelnen Blöcke eines P-Bilds verwendet werden und ein mögliches Referenzbild sind, das für alle Blöcke dieses P-Bilds verwendet wird. Beim H.264-Verfahren jedoch wird ein Bild, auf das beim Kodieren oder Dekodieren von Bildern Bezug genommen wird, d. h. ein Referenzbild, für jeden Block eines zu kodierenden oder zu dekodierenden Zielbildes unter mehreren verarbeiteten Bildern, deren Bilddaten im Bildspeicher gespeichert sind, ausgewählt. Daher sind die beim Kodieren oder Dekodieren eines B-Bildes verwendeten möglichen Referenzbilder nicht auf zwei bestimmte Bilder für jedes B-Bild beschränkt, wie in 26(a) gezeigt, und ist das beim Kodieren oder Dekodieren eines P-Bilds verwendete mögliche Referenzbild nicht auf ein bestimmtes Bild für jedes P-Bild beschränkt, wie in 26(a) gezeigt.
  • Nach 26(a) sind mögliche Referenzbilder für das B-Bild B1 das I-Bild I0 und das B-Bild B2 und für das B-Bild B2 das I-Bild I0 und das P-Bild P4. Außerdem sind mögliche Referenzbilder für das B-Bild B3 das B-Bild B2 und das P-Bild P4 sowie für das P-Bild P8 das P-Bild P4.
  • 26(b) zeigt, dass die einzelnen in 26(a) gezeigten Bilder in der Bildreihenfolge I0, P4, B2, B1, B3, P8, B6, B5, B7 dekodiert und dann in der Bildreihenfolge I0, B1, B2, B3, P4, B5, B6, B7, P8 dargestellt werden.
  • In 26(b) zeigt Tdec die Zeitachse zur Darstellung der Dekodierungszeit der entsprechenden Bilder und Tdsp die Zeitachse zur Darstellung der Wiedergabezeit der entsprechenden Bilder. Zusätzlich zeigen tdec(0), tdec(1), tdec(2), tdec(3), tdec(4), tdec(5), tdec(6), tdec(7) und tdec(8) die Zeitabschnitte an, in denen die Bilder I0 bzw. B1 bzw. B2 bzw. B3 bzw. P4 bzw. B5 bzw. B6 bzw. B7 bzw. P8 dekodiert werden. Außerdem zeigen tdsp(0), tdsp(1), tdsp(2), tdsp(3), tdsp(4), tdsp(5), tdsp(6), tdsp(7) und tdsp(8) die Zeitabschnitte an, in denen die Bilder I0 bzw. B1 bzw. B2 bzw. B3 bzw. P4 bzw. B5 bzw. B6 bzw. B7 bzw. P8 dargestellt werden.
  • In diesem Fall fallen die Dekodierungszeiten der Bilder B2, B1, B3, P8, B6, B5 und B7 grob mit der Darstellungszeit der Bilder I0 bzw. B1 bzw. B2 bzw. B3 bzw. P4 bzw. B5 bzw. B6 zusammen, wie in 26(b) gezeigt. Zusätzlich wird der Bildspeicher so gesteuert, dass die Bilddaten der dekodierten Bilder im Bildspeicher gespeichert werden und die Bilddaten der Bilder, die bereits dargestellt wurden, nacheinander gelöscht werden.
  • In diesem Fall wird beispielsweise das I-Bild I0 nach Abwarten der Dekodierung des B-Bildes B2 dargestellt.
  • Die Bilddaten der möglichen Referenzbilder werden im Bildspeicher gespeichert, und diese Bilder werden als Referenzbilder verwendet, bis sie später dargestellt werden. Jedoch müssen auch die Bilddaten von Bildern, auf die nicht Bezug genommen wird, erhalten bleiben, bis die Bilder nach dem Dekodieren dargestellt worden sind. Die Bilddaten dieser dekodierten Bilder, die nicht als Referenzbilder verwendet werden, werden in einem vorgegebenen Speicher als auf die Darstellung wartende Bilder gespeichert, bis die Bilder dargestellt worden sind.
  • In 26(a) ist das B-Bild B1, das nach dem Dekodieren des I-Bilds I0 dekodiert wird, ein Bild, das nicht als Referenzbild verwendet und nach dem I-Bild I0 dargestellt wird, so dass es unmittelbar nach dem Dekodieren dargestellt werden kann, während das B-Bild B3, das nach dem Dekodieren des B-Bilds B1 dekodiert wird, ein Bild ist, das nach dem B-Bild B2 dargestellt wird, das auf das B-Bild B1 folgt, so dass es dargestellt wird, nachdem es die Darstellungsdauer eines Bildes, nämlich des B-Bildes B2, nach dem Dekodieren des B-Bildes B1 abgewartet hat.
  • In diesem Fall beträgt die Anzahl der auf die Darstellung wartenden Bilder zu Beginn der Dekodierung des P-Bildes P8 nur eins – das B-Bild B3.
  • Außerdem gibt es kein Problem dadurch, dass die Bilddaten von Bildern, die nicht als Referenzbilder verwendet werden, unmittelbar nach dem Ende der Darstellung dieser Bilder gelöscht werden müssen. Die Bilddaten dieser Bilder können jedoch auch später als unmittelbar nach dem Ende der Darstellung der Bilder gelöscht werden.
  • In diesem Fall bleiben die Bilddaten der Bilder, die nicht als Referenzbilder verwendet werden, auch nach der Darstellung dieser Bilder im Speicher gespeichert, und die Bilder, deren Bilddaten im Bildspeicher bleiben, werden ebenfalls als auf die Darstellung wartende Bilder behandelt.
  • Wenn die Steuerung des Bildspeichers beispielsweise so erfolgt, dass die Bilddaten eines im Bildspeicher gespeicherten, aber nicht als Referenzbildes verwendeten Bildes nach Ablauf der Darstellung eines Bildes nach Darstellung des betreffenden Bildes aus dem Bildspeicher gelöscht werden, beträgt die Anzahl der auf die Darstellung wartenden Bilder zu Beginn des Dekodierens des P-Bildes P8 zwei, wobei es sich um das B-Bild B2 und das B-Bild B3 handelt.
  • Wie vorstehend ausgeführt, sind im Bildspeicher einer Dekodiervorrichtung oder einer Kodiervorrichtung mehrere dekodierte bzw. kodierte Bilder gespeichert, während beim Kodiersystem H.264 derzeit keine Beschränkung der maximalen Anzahl möglicher Referenzbilder, die beim prädiktiven Interbildkodieren oder -dekodieren verwendet werden, d. h. der maximalen Anzahl der Referenzbilder, besteht.
  • Deshalb kann bei der Entwicklung einer Kodiervorrichtung oder einer Dekodiervorrichtung nach dem H.264-System die maximale Anzahl der im Bildspeicher zu speichernden dekodierten oder kodierten Bilder nicht angegeben werden, so dass die in der Vorrichtung vorzusehende Speicherkapazität nicht festgestellt werden kann.
  • Die vorliegende Erfindung wurde zur Lösung der genannten Probleme gemacht und hat die Aufgabe, ein Bewegtbildkodierungsverfahren zur Verfügung zu stellen, bei dem die Möglichkeit/Unmöglichkeit des Kodierens eines Bewegtbildes korrekt beurteilt und der in der Kodiervorrichtung vorgesehene Speicherbereich effizient genutzt werden können, so dass es möglich wird, den Speicherbereich einer Kodiervorrichtung entsprechend einem Kodierverfahren, bei dem keine Begrenzung der Speicherkapazität gegeben ist, festzulegen.
  • Offenbarung der Erfindung
  • Gemäß der vorliegenden Erfindung werden das in Anspruch 1 definierte Verfahren zum Kodieren eines Bewegtbilds und die in Anspruch 2 definierte Vorrichtung zum Kodieren eines Bewegtbilds zur Verfügung gestellt.
  • Mit der vorliegenden Erfindung wird außerdem ein Datenträger zur Verfügung gestellt, der ein Programm zur Durchführung eines Verfahrens zum Kodieren eines Bewegtbilds, enthält, wobei das Programm einen Computer veranlasst, die Kodierung gemäß dem Bewegtbild-Kodierungsverfahren nach Anspruch 1 auszuführen. Durch Laden eines Programms zur Durchführung der Kodierung eines Bewegtbilds in einen Computer ist es somit möglich, den Speicherbereich in der Kodiervorrichtung effizient zu handhaben, so dass die Gestaltung der Vorrichtung erleichtert wird.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Blockschaltbild zur Erläuterung der Bewegtbild-Kodiervorrichtung 10a, die ein erstes Ausführungsbeispiel der Erfindung ist.
  • 2 ist ein Blockschaltbild zur Erläuterung eines bestimmten Aufbaus der Kodierbarkeitsbeurteilungseinheit 108a im ersten Ausführungsbeispiel 10a der erfindungsgemäßen Bewegtbildkodiervorrichtung.
  • 3 ist ein Blockschaltbild, das einen bestimmten Aufbau der Einheit 109a zur Berechnung der maximalen Anzahl der Referenzbilder im ersten Ausführungsbeispiel 10a der erfindungsgemäßen Bewegtbildkodiervorrichtung zeigt.
  • 4 ist ein Blockschaltbild zur Erläuterung eines zweiten erfindungsgemäßen Ausführungsbeispiels 10b der Bewegtbild-Kodiervorrichtung.
  • 5 ist ein Blockschaltbild zur Erläuterung eines bestimmten Aufbaus der Kodierbarkeitsbeurteilungseinheit 108b beim zweiten erfindungsgemäßen Ausführungsbeispiel 10b der Bewegtbildkodiervorrichtung.
  • 6 ist ein Blockschaltbild zur Erläuterung eines dritten Ausführungsbeispiels 10c der erfindungsgemäßen Bewegtbildkodiervorrichtung.
  • 7 ist ein Blockschaltbild zur Erläuterung eines bestimmten Aufbaus der Kodierbarkeitsbeurteilungseinheit 108c beim dritten Ausführungsbeispiel 10c der Bewegtbildkodiervorrichtung.
  • 8 ist ein Blockschaltbild zur Erläuterung eines vierten Ausführungsbeispiels 10d der erfindungsgemäßen Bewegtbildkodiervorrichtung. 9 ist ein Blockschaltbild zur Erläuterung eines bestimmten Aufbaus der Einheit 109d zur Berechnung der maximalen Anzahl der Referenzbilder beim vierten Ausführungsbeispiel 10d der Bewegtbildkodiervorrichtung.
  • 10 ist ein Blockschaltbild zur Erläuterung eines fünften Ausführungsbeispiels 50a der erfindungsgemäßen Bewegtbilddekodiervorrichtung.
  • 11 ist ein Blockschaltbild zur Erläuterung des sechsten Ausführungsbeispiels 50b der erfindungsgemäßen Bewegtbild-Dekodiervorrichtung.
  • 12 ist ein Blockschaltbild zur Erläuterung des siebten Ausführungsbeispiels 50c der erfindungsgemäßen Bewegtbilddekodiervorrichtung.
  • 13 ist ein Blockschaltbild zur Erläuterung des achten Ausführungsbeispiels 50d der erfindungsgemäßen Bewegtbilddekodiervorrichtung.
  • 14 sind Diagramme zur Erläuterung der Datenstruktur von Bitströmen, die von den genannten Ausführungsbeispielen der Bewegtbildkodiervorrichtung erzeugt werden, wobei 14(a), 14(b) und 14(c) die Bitströme Bsa bzw. Bsb bzw. Bsc zeigen, die von der Bewegtbildkodiervorrichtung 10a bzw. 10b bzw. 10c gemäß dem ersten, zweiten und dritten Ausführungsbeispiel erzeugt werden.
  • 15 zeigt die Tabelle T1, in der die Entsprechung zwischen dem Levelidentifikator und dem Paar maximale Anzahl der Intra-Frame-Pixel/maximale Anzahl der Speicherpixel, die in der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel verwendet werden, angegeben ist.
  • 16 zeigt Tabellen, die in der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel verwendet werden, wobei 16(a) die Tabelle T1a zeigt, in der die Entsprechung zwischen dem Levelidentifikator und der maximalen Anzahl der Intra-Frame-Pixel angegeben ist, und 16(b) die Tabelle T1b zeigt, in der die Entsprechung zwischen dem Levelidentifikator und der maximalen Anzahl der Speicherpixel angegeben ist.
  • 17 zeigt Tabellen, die beim zweiten Ausführungsbeispiel verwendet werden, wobei 17(a) die Tabelle T2 zeigt, in der die Entsprechung zwischen der Kennnummer und dem Paar Vertikalpixelzahl-Berechnungskoeffizient/Horizontalpixelzahl-Berechnungskoeffizient angegeben ist, 17(b) die Tabelle T2a zeigt, in der die Entsprechung zwischen der Kennnummer und dem Berechnungskoeffizienten für die Anzahl der horizontalen Pixel angegeben ist, und 17(c) die Tabelle T2b zeigt, in der die Entsprechung zwischen der Kennnummer und dem Berechnungskoeffizienten für die Anzahl der vertikalen Pixel angegeben ist.
  • 18 zeigt Tabellen, die beim dritten Ausführungsbeispiel verwendet werden, wobei 18(a) die Tabelle T3 zeigt, in der die Entsprechung zwischen der Kennnummer und dem Paar maximale Anzahl der vertikalen Pixel/maximale Anzahl der horizontalen Pixel angegeben ist, 18(b) die Tabelle T3a zeigt, in der die Entsprechung zwischen der Kennnummer und der maximalen Anzahl der horizontalen Pixel angegeben ist und 18(c) die Tabelle T3b zeigt, in der die Entsprechung zwischen der Kennummer und der maximalen Anzahl der vertikalen Pixel angegeben ist.
  • 19 zeigt schematische Darstellungen zur Erläuterung eines Datenträgers, der ein Programm zur Ausführung der Bewegtbildkodiervorrichtung bzw. der Bewegtbilddekodiervorrichtung nach einem der obigen Ausführungsbeispiele durch ein Computersystem enthält (19(a) und 19(b)), sowie des Computersystems (19(c)).
  • 20 ist eine schematische Darstellung zur Erläuterung einer Anwendung der Bewegtbildkodiervorrichtung und der Bewegtbilddekodiervorrichtung nach einem der obigen Ausführungsbeispiele und zeigt ein Informationsbereitstellungssystem 1100 zur Bereitstellung von Informationsverteildiensten.
  • 21 ist eine schematische Darstellung zur Erläuterung eines Mobiltelefons 1200, in dem die Bewegtbildkodiervorrichtung und die Bewegtbilddekodiervorrichtung nach einem der obigen Ausführungsbeispiele Anwendung finden.
  • 22 ist ein Blockschaltbild, das einen speziellen Aufbau des Mobiltelefons 1200 von 21 zeigt.
  • 23 ist eine schematische Darstellung eines digitalen Rundfunksystems 1400, in dem die Bewegtbildkodiervorrichtung oder die Bewegtbilddekodiervorrichtung nach einem der obigen Ausführungsbeispiele Anwendung finden.
  • 24 zeigt Diagramme zur Erläuterung eines herkömmlichen Kodierverfahrens, wobei 24(a) die Reihenfolge der Kodierung von Makroblöcken eines zu kodierenden Zielbildes und 24(b) die umgebenden Makroblöcke, auf die beim Kodieren eines zu kodierenden Zielmakroblocks Bezug genommen wird, zeigen.
  • 25 ist eine schematische Darstellung zur Erläuterung eines Kodierverfahrens und eines Dekodierverfahrens, die bereits bekannt sind, und zeigt andere Bilder, deren Bilddaten beim Kodieren (oder Dekodieren) eines Zielbildes in einem Bildspeicher gespeichert werden.
  • 26 zeigt schematische Darstellungen der Steuerung von auf die Darstellung wartenden Bildern beim bereits bekannten Kodier- und Dekodierverfahren, wobei 26(a) Bilder, auf die Bezug genommen wird ([verwendet]), und Bilder, auf die nicht Bezug genommen wird ([nicht verwendet]) zeigt und 26(b) die Beziehung zwischen den Dekodierungszeiten und den Kodierungszeiten der einzelnen Bilder zeigt.
  • Beste Art der Ausführung der Erfindung
  • Im folgenden werden Ausführungsbeispiele der Erfindung beschrieben.
  • Ausführungsbeispiel 1
  • 1 ist ein Blockschaltbild zur Erläuterung des ersten Ausführungsbeispiels 10a der erfindungsgemäßen Bewegtbildkodiervorrichtung.
  • Die Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel unterteilt mehrere Bilder, die ein Bewegtbild bilden, in vorgegebene Datenverarbeitungseinheiten bzw. Blöcke und kodiert die Bilddaten eines jeden Bildes Block für Block. In diesem Zusammenhang wird davon ausgegangen, dass der Block ein Makroblock ist, der sich aus 16 vertikalen Pixeln × 16 horizontalen Pixeln zusammensetzt.
  • Im einzelnen enthält diese Bewegtbildkodiervorichtung 10a einen Bildspeicher 101, der Eingangsdaten Id eines eingegebenen Bewegtbildes, die Bild für Bild eingegeben wurden, speichert und die gespeicherten Daten Sld blockweise ausgibt, einen Differenzkalkulator 113, der die Differenz zwischen den Bilddaten Sld eines zu kodierenden Zielblocks, die aus dem Bildspeicher 101 ausgegeben wurden und prädiktiven Daten Pd des Zielblocks berechnet und prädiktive Restdaten Dd des Zielblocks ausgibt, und einen prädiktiven Restkodierer 102, der die Bilddaten Sld oder die prädiktiven Restdaten Dd des Zielblocks kodiert und dabei komprimiert. Dabei wird im Bildspeicher 101 auf der Basis der Beziehung zwischen dem Zielbild und einem Referenzbild, auf das beim prädiktiven Kodieren Bezug genommen werden soll, eine Umstellung der Bilddaten von Bildern, die in Darstellungsreihenfolge eingegeben werden, vorgenommen, um sie in die Bildkodierreihenfolge zu bringen. Der Bildspeicher 101 gibt Daten aus, die die Größe des Eingabebildes anzeigen, d. h. die Eingabebildgrößendaten Ipx, und diese Eingabebildgrößendaten Ipx setzen sich zusammen aus den Vertikalpixelzahl-Daten Ihpx, die die Anzahl (h) der vertikalen Pixel im Eingabebild angeben, und den Horizontalpixelzahl-Daten Iwpx, die die Anzahl (w) der horizontalen Pixel im Eingabebild angeben.
  • Die Bewegtbildkodiervorrichtung 10a enthält einen prädiktiven Restdekodierer 104, der die vom prädiktiven Restkodierer 102 ausgegebenen kodierten Daten Cd dekodiert und dabei dekomprimiert und Differenzdaten PDd des Zielblocks (im folgenden als dekodierte Differenzdaten bezeichnet) ausgibt; eine Additionsschaltung 114, die die dekodierten Differenzdaten PDd der Zieldaten und die prädiktiven Daten Pd des Zielblocks addiert und Bilddaten des Zielblocks (im folgenden als dekodierte Daten bezeichnet) Rd ausgibt; und einen Bildspeicher 105, der die dekodierten Daten Rd speichert und entsprechend einem Bildkennungssignal CSpd die gespeicherten dekodierten Daten Rd als CRd-Daten eines möglichen Referenzbildes ausgibt, auf das beim Kodieren des Zielblocks Bezug genommen werden soll.
  • Die Bewegtbildkodiervorrichtung 10a enthält eine Bewegungsabschätzeinheit 106, die auf der Grundlage der vom Bildspeicher 101 ausgegebenen Daten, d. h. der Bilddaten des Zielblocks Sld, und der vom Bildspeicher 105 ausgegebenen Daten, d. h. der Daten eines möglichen Referenzbildes CRd, einen Bewegungsvektor MV für den Zielblock abschätzt und auf der Basis des geschätzten Bewegungsvektors prädiktive Daten Pd für den Zielblock erzeugt, und eine Bewegungsvektorspeichereinheit 107, die den Bewegungsvektor MV für den Zielblock, der von der Bewegungsvektorabschätzeinheit 106 geschätzt worden ist, speichert. Die Bewegungsabschätzeinheit 106 nimmt die Bewegungsschätzung zur Abschätzung eines Bewegungsvektors für den Zielblock vor, indem sie auf das optimale Bild unter den verschiedenen möglichen Referenzbildern sowie auf Bewegungsvektoren von verarbeiteten Blöcken, die um den Zielblock herum angeordnet sind, Bezug nimmt. Dabei wird das optimale Bild unter den verschiedenen möglichen Referenzbildern auf der Grundlage der Kodierungseffizienz oder dergleichen festgelegt.
  • Die Bewegtbildkodierungsvorrichtung 10a enthält einen Wählschalter 111, der entweder die Ausgangsdaten Sld des Bildspeichers 101 oder die Ausgangsdaten Dd des Differenzkalkulators 113 auswählt und die gewählten Daten CEd ausgibt, sowie einen AUS/EIN-Schalter 112, der zwischen der Bewegungsvektorab schätzeinheit 106 und der Additionsschaltung 114 angeordnet ist. Der Wählschalter 111 hat die zwei Eingänge Ta1 und Ta2 und einen Ausgang Tb. Der Ausgang Tb wird je nach dem Schaltersteuersignal mit einem der beiden Eingänge Ta1 und Ta2 verbunden.
  • Die Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel enthält einen Levelanalysator 100a, der auf der Basis eines Levelidentifikatorsignals, das den Kodierlevel angibt, d. h. des Levelsignals Lst, das vom Benutzer eingegeben wird, Daten, die die maximale Anzahl der kodierbaren Intra-Frame-Pixel (Nfpx) angeben (im folgenden als Daten Ifpx der maximalen Anzahl der Intra-Frame-Pixel bezeichnet) sowie Daten Ispx, die die maximale Anzahl der Speicherpixel (Nspx), die im Bildspeicher einer Dekodiervorrichtung gespeichert werden können (im folgenden als Daten der maximalen Anzahl der Speicherpixel bezeichnet), ausgibt. Der Levelanalysator 100a hat die Daten der in 15 stehenden Tabelle T1. Die Tabelle T1 gibt die Entsprechung zwischen den Werten des Levelidentifikators und der maximalen Anzahl der Intra-Frame-Pixel sowie der maximalen Anzahl der Speicherpixel an.
  • Die Bewegtbildkodiervorrichtung 10a enthält eine Beurteilungseinheit, nämlich die Kodierbarkeitsbeurteilungseinheit 108a, die auf der Basis der Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel aus dem Levelanalysator 100a und den Eingabebildgrößendaten Ipx aus dem Bildspeicher 101 beurteilt, ob das eingegebene Bild kodiert werden kann, und als Beurteilungsergebnis das Beurteilungsergebnissignal CSjd ausgibt. Die Bewegtbildkodiervorrichtung 10a enthält einen Kalkulator, nämlich den Kalkulator 109a für die maximale Anzahl der Referenzbilder, der auf der Basis der Ispx-Daten der maximalen Anzahl der Speicherpixel und der Eingabebildgrößendaten Ipx die Anzahl der möglichen Referenzbilder, also die maximale Anzahl Nrpn der Referenzbilder, auf die bei der prädiktiven Interbildkodierung Bezug genommen werden kann, berechnet und Daten ausgibt, nämlich die Irpn-Daten der maximalen Anzahl der Referenzbilder, die die berechnete Anzahl Nrpn angeben.
  • Die Bewegtbildkodiervorrichtung 10a enthält außerdem einen Bitstromgenerator 103, der die aus dem prädiktiven Restkodierer 102 ausgegebenen kodierten Daten Cd lauflängenkodiert und dann zu dem durch Lauflängenkodierung erhalte nen Bitstrom Codes für den Bewegungsvektor MV, das Modussignal Ms und das Levelsignal Lst hinzufügt und den dabei erhaltenen Bitstrom Bsa ausgibt.
  • Die Bewegtbildkodiervorrichtung 10a enthält außerdem eine Steuereinheit 110, die auf der Basis des Beurteilungsergebnissignals CSjd und der Bilddaten Sld aus dem Bildspeicher 101 mit Steuersignalen Sct1, Sct2, ..., Sctn die Funktionen der verschiedenen Komponenten der Bewegtbildkodiervorrichtung 10a steuert. Die Steuereinheit 110 legt entsprechend den Bilddaten Sld aus dem Bildspeicher 101 den Kodiermodus fest und gibt ein Modussignal Ms aus, das den festgelegten Modus angibt, und steuert nach dem festgelegten Kodiermodus mit vorgegebenen Signalen die Schalter 111 und 112. Außerdem steuert die Steuereinheit 110 mit den Steuersignalen Sct1, Sct2, ..., Sctn entsprechend dem Beurteilungsergebnissignal CSjd die Funktionen des prädiktiven Restkodierers 102, des prädiktiven Restdekodierers 104, des Bitstromgenerators 103, der Bewegungsvektorabschätzeinheit 106 und dergleichen. Die Steuereinheit 110 steuert also den prädiktiven Restkodierer 102, den prädiktiven Restdekodierer 104, den Bitstromgenerator 103, die Bewegungsvektorabschätzeinheit 106 und dergleichen so, dass das Eingabebild kodiert wird, wenn das Beurteilungsergebnissignal CSjd besagt, dass das Eingabebild kodierbar ist, während sie den prädiktiven Restkodierer 102, den prädiktiven Restdekodierer 104, den Bitstromgenerator 103, die Bewegungsvektorabschätzeinheit 106 und dergleichen so steuert, dass das Eingabebild nicht kodiert wird, wenn das Beurteilungsergebnissignal CSjd anzeigt, dass das Eingabebild nicht kodierbar ist.
  • 14(a) zeigt die Datenstruktur eines Bitstroms Bsa, der einem Eingabebild entspricht.
  • Der Bitstrom Bsa setzt sich aus einem Kopfabschnitt Ha, der verschiedene Kopfdaten enthält, und einem Datensequenzabschnitt Dsq, der kodierte Daten enthält, d. h. einem Bitstrom, der den Bilddaten der Einzelbilder entspricht, zusammen.
  • Ein Code H1, der dem Levelidentifikatorsignal entspricht, nämlich dem Levelsignal Lst, ist im Kopfabschnitt Ha des Bitstroms Bsa als Teil der Kopfdaten enthalten. Außerdem ist im Sequenzdatenabschnitt Dsp des Bitstroms Bsa der Se quenzkopf Sh enthalten, der die Größe eines Eingabebildes, d. h. die Anzahl (h) der vertikalen Pixel des Eingabebildes (im folgenden als Anzahl der vertikalen Pixel des Eingabebildes bezeichnet) und die Anzahl (w) der horizontalen Pixel des Eingabebildes (im folgenden als Anzahl der horizontalen Pixel des Eingabebildes bezeichnet) angibt.
  • 2 ist ein Blockschaltbild, das den speziellen Aufbau der Kodierbarkeitsbeurteilungseinheit 108a zeigt.
  • Die Kodierbarkeitsbeurteilungseinheit 108a enthält eine Multiplikationsschaltung 206, die auf der Basis der Ihpx-Daten der Anzahl der eingegebenen vertikalen Pixel und der Iwpx-Daten der Anzahl der eingegebenen vertikalen Pixel das Produkt Phw aus der Anzahl (h) der vertikalen Pixel des Eingabebildes und der Anzahl (w) der horizontalen Pixel des Eingabebildes berechnet und ein Multiplikationssignal Shw ausgibt, das das Multiplikationsergebnis anzeigt. Außerdem enthält sie einen ersten Komparator 203, der auf der Basis des Multiplikationssignals Shw und der Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel das Produkt Phw und die maximale Anzahl Nfpx der Intra-Frame-Pixel miteinander vergleicht und ein erstes Vergleichsergebnissignal Scm1 ausgibt, welches das Vergleichsergebnis anzeigt.
  • Die Kodierbarkeitsbeurteilungseinheit 108a enthält einen Kalkulator, nämlich den Kalkulator 201 für die maximale Anzahl der vertikalen Pixel/die maximale Anzahl der horizontalen Pixel, der die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel, die verarbeitet werden können, auf der Basis der Ihpx-Daten der Anzahl der vertikalen Pixel des Eingabebildes und der Iwpx-Daten der Anzahl der horizontalen Pixel des Eingabebildes berechnet und die Daten Op3a und Op3b ausgibt, die das Rechenergebnis anzeigen, sowie einen 16-fach-Konverter 202, der eine Rundungsoperation vornimmt und dabei die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel auf der Basis der Rechenergebnisdaten Op3a und Op3b aus dem Kalkulator 201 auf ein Vielfaches von 16 rundet und die Rundungsdaten Trnd1, die das Vielfache von 16 anzeigen, auf das die maximale Anzahl (H) der vertikalen Pixel gerundet wurde (round1(H)), und die Rundungsdaten Trnd2, die das Vielfache von 16 anzeigen, auf das die maximale Anzahl (W) der horizontalen Pixel gerundet wurde (round2(H)), ausgibt.
  • Die Kodierbarkeitsbeurteilungseinheit 108a enthält einen zweiten Komparator 204, der auf der Basis der Pixelzahldaten Ihpx und Iwpx sowie der Rundungsdaten Trnd1 und Trnd2 einen Vergleich zwischen der Vertikalpixelzahl (h) des Eingabebildes und der maximalen Anzahl (H) der vertikalen Pixel (Vertikalpixelzahlvergleich) sowie einen Vergleich zwischen der Horizontalpixelzahl (w) des Eingabebildes und der maximalen Anzahl (W) der horizontalen Pixel (Horizontalpixelzahlvergleich) vornimmt und das Vergleichsergebnissignal Scm2a, welches das Vertikalpixelzahlvergleichsergebnis anzeigt, und das Vergleichsergebnissignal Scm2b, welches das Horizontalpixelzahlvergleichsergebnis anzeigt, ausgibt, und eine UND-Einheit 205, die eine UND-Verknüpfung zwischen den drei Vergleichsergebnissignalen Scm1, Scm2a und Scm2b vornimmt und als Ergebnis der UND-Verknüpfung das Operationsergebnissignal CSjd ausgibt.
  • 3 ist ein Blockschaltbild, das den speziellen Aufbau des Kalkulators 109a für die maximale Anzahl der Referenzbilder zeigt.
  • Der Kalkulator 109a für die maximale Anzahl der Referenzbilder enthält eine Multiplikationsschaltung 401, welche auf der Basis der Vertikalpixelzahldaten Ihpx des Eingabebildes und der Horizontalpixelzahldaten Iwpx des Eingabebildes die Gesamtpixelzahl eines Bildes (Phw = h × w), die der Größe des Eingabebildes entspricht, berechnet und das Ausgangssignal Ohw ausgibt, welches das Rechenergebnis angibt, sowie eine Divisionsschaltung 402, welche auf der Basis des Ausgangssignals Ohw und der Daten Ispx für die maximale Anzahl der Speicherpixel die maximale Anzahl Nspx) der Speicherpixel durch die Gesamtpixelzahl (h × w) eines Bildes dividiert und das Signal Dpm ausgibt, welches das Divisionsergebnis (Nspx/(h × w)) anzeigt. Der Kalkulator 109a für die maximale Anzahl der Referenzbilder enthält außerdem eine Dauerspeichereinheit 404, die das Zahlenwertsignal Sn1 speichert, das die Anzahl der zu kodierenden Bilder für ein Bild anzeigt, und das Zahlenwertsignal Sn1 ausgibt, sowie eine Subtraktionsschaltung 403, die das Subtraktionsausgangssignal Sd1 ausgibt, das den Wert angibt, der durch Subtrahieren von 1 vom Divisionsergebnis Nspx/(hxw), also Nspx/(hxw) – 1, erhalten wird.
  • Im folgenden wird die Funktionsweise beschrieben.
  • Bei der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel wird vor der Kodierung eines Eingabebildes auf der Basis des Aufbaus des Speichers oder dergleichen der Bewegtbildkodiervorrichtung 10a und der Bewegtbilddekodiervorrichtung, der die kodierten Daten zugeführt werden, unter mehreren vorab festgelegten und als Kodierbedingung verwendeten Kodierleveln der benötigte Level ausgewählt. Genauer gesagt, wird die Kodierlevelauswahl vom Benutzer unter Bezugnahme auf die Tabelle T1 vorgenommen, und das Levelsignal Lst, das den Levelidentifikator anzeigt, der dem gewählten Level entspricht, vom Benutzer in die Bewegtbildkodiervorrichtung 10a eingegeben.
  • In diesem Fall sind für jeden Kodierlevel eine bestimmte maximale Anzahl der Intra-Frame-Pixel (Nfpx) und eine bestimmte maximale Anzahl der Speicherpixel (Nspx) festgelegt. Die Tabelle T1 in 15 gibt acht Kodierlevel an, die den Werten 1 bis 8 des Levelidentifikators entsprechen. Außerdem sind die Werte 1 bis 8 des Levelidentifikators mit bestimmten Werten der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel bzw. bestimmten Werten der maximalen Anzahl (Nspx) der Speicherpixel korreliert.
  • Die maximale Anzahl (Nfpx) der Intra-Frame-Pixel gibt die Größe eines Bildes an, das Teil eines Eingabebildes, d. h. eines Bewegtbildes, ist, das von der Bewegtbildkodiervorrichtung 10a kodiert bzw. von einer Bewegtbilddekodiervorrichtung, der die kodierten Daten zugeführt werden, dekodiert werden kann, und entspricht dem maximal möglichen Wert des Produkts aus der Anzahl (h) der vertikalen Pixel und der Anzahl (w) der horizontalen Pixel des Bildes. Genauer gesagt, gibt die maximale Anzahl der Intra-Frame-Pixel die maximale Anzahl der Pixel pro Bild an.
  • Die maximale Anzahl (Nspx) der Speicherpixel gibt die Anzahl der Pixel an, die der Datenmenge entspricht, die im Bildspeicher einer der Bewegtbildkodiervorrichtung 10a zugeordneten Dekodiervorrichtung gespeichert werden können. Die maximale Anzahl (Nspx) der Speicherpixel ist mit anderen Worten die Anzahl Pixel, die der maximalen Bilddatenmenge entspricht, die im Bildspeicher gespei chert werden kann. Beispielsweise werden die Daten von Bildern wie möglichen Referenzbildern, dekodierten Bildern, die auf die Darstellung warten, und eines zu dekodierenden Bildes im Bildspeicher der Bewegtbilddekodiervorrichtung, die einen Bitstrom aus der Bewegtbildkodiervorrichtung 10 dekodiert, gespeichert, und die maximale Anzahl der Speicherpixel entspricht der Gesamtzahl der Pixel dieser Bilder.
  • Bei dieser Bewegtbildkodiervorrichtung 10a wird das Levelwahlsignal Lst in den Levelanalysator 100a eingespeist, wenn der Benutzer den Kodierlevel wählt. Dann nimmt der Levelanalysator 100a Bezug auf die darin enthaltene Tabelle T1 (siehe 15) und gibt die Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel und die Ispx-Daten der maximalen Anzahl der Speicherpixel entsprechend dem durch das Levelsignal Lst angezeigten, vom Benutzer ausgewählten Kodierlevel aus. Die Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel werden in die Kodierbarkeitsbeurteilungseinheit 108a eingespeist, und die Ispx-Daten der maximalen Anzahl der Speicherpixel werden in den Kalkulator 109a für die maximale Anzahl der Referenzbilder eingespeist.
  • Wenn Bilddaten Id eines Bewegtbildes, d. h. eines Eingabebildes, in Bildeinheiten in der Reihenfolge der Darstellungszeit in den Bildspeicher 101 eingespeist werden, werden die Bilddaten der einzelnen Bilder nacheinander im Bildspeicher 101 gespeichert, und die gespeicherten Bilddaten Sld werden in Blockeinheiten, d. h. in Makroblöcken, die das Bild bilden, in der Kodierungsreihenfolge vom Bildspeicher 101 ausgegeben. Dabei werden die Daten der Eingabebildgröße, d. h. die Größendaten Ipx des Eingabebildes, vom Bildspeicher 101 an die Kodierbarkeitsbeurteilungseinheit 108a und den Kalkulator 109a für die maximale Anzahl der Referenzbilder ausgegeben.
  • Dabei ist der Makroblock beispielsweise ein Block, bei dem die Anzahl der horizontalen Pixel und die Anzahl der vertikalen Pixel jeweils 16 beträgt (ein Block von 16 × 16 Pixeln). Dann wird die Kodierung in der Bewegtbildkodiervorrichtung in Blockeinheiten vorgenommen. Wie oben beschrieben, setzen sich die Eingabebildgrößendaten Ipx außerdem aus den Ihpx-Daten, die die Anzahl (h) der vertikalen Pixel des Eingabebildes angeben, und den Iwpx-Daten, die die Anzahl (w) der horizontalen Pixel des Eingabebildes angeben, zusammen.
  • Dann beurteilt die Kodierbarkeitsbeurteilungseinheit 108a auf der Basis der Ihpx-Daten der Anzahl der vertikalen Pixel und der Iwpx-Daten der Anzahl der horizontalen Pixel des Eingabebildes, die in den Eingabebildgrößendaten Ipx enthalten sind, die vom Bildspeicher 101 ausgegeben werden, und der Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel, die vom Levelanalysator 100a ausgegeben werden, ob das Eingabebild kodierbar ist, und gibt als Beurteilungsergebnis ein Signal, nämlich das Beurteilungsergebnissignal CSjd, an die Steuereinheit 110 aus.
  • Die Steuereinheit 110 steuert die verschiedenen Einheiten der Bewegtbildkodiervorrichtung 10a mit den Steuersignalen Sct1, Sct2, ..., Sctn so, dass die Bilddaten Sld aus dem Bildspeicher 101 kodiert werden, wenn das Beurteilungsergebnissignal CSjd anzeigt, dass das Eingabebild kodierbar ist, und so, dass die Bilddaten Sld aus dem Bildspeicher 101 nicht kodiert werden, wenn das Beurteilungsergebnissignal CSjd anzeigt, dass das Eingabebild nicht kodiert werden kann.
  • Außerdem schaltet die Steuereinheit 110 auf der Basis der Bilddaten Sld aus dem Bildspeicher 101 zwischen dem Modus prädiktives Inter-Bild-Kodieren von Bilddaten und dem Modus prädiktives Intra-Bild-Kodieren von Bilddaten um, wenn das Beurteilungsergebnissignal CSjd anzeigt, dass das Eingabebild kodierbar ist. Wenn die Steuereinheit 110 den Modus prädiktives Inter-Bild-Kodieren der Bilddaten wählt, betätigt sie den Schalter 111 mit einem vorgegebenen Steuersignal so, dass der Ausgang Tb mit dem zweiten Eingang Ta2 verbunden wird, und den Schalter 112 so, dass er den Stromkreis schließt. Wählt die Steuereinheit 110 dagegen den Modus prädiktives Intra-Bild-Kodieren der Bilddaten, betätigt die Steuereinheit 110 den Schalter 111 mit einem vorgegebenen Steuersignal so, dass der Ausgang Tb mit dem ersten Eingang Tal verbunden wird, und den Schalter 112 so, dass der Stromkreis unterbrochen wird.
  • Der Kalkulator 109a für die maximale Anzahl der Referenzbilder berechnet die Anzahl Nrpn der möglichen Referenzbilder, auf die beim prädiktiven Interbildkodieren Bezug genommen werden kann, auf der Basis der Ispx-Daten der maximalen Anzahl der Speicherpixel, der Ihpx-Daten der maximalen Anzahl der verti kalen Pixel des Eingabebildes und der Iwpx-Daten der Anzahl der horizontalen Pixel des Eingabebildes und gibt Daten aus, die die berechnete Anzahl (Nrpn), d. h. die Iren-Daten der maximalen Anzahl der Referenzbilder, angeben.
  • Im folgenden wird die Arbeitsweise für den Fall beschrieben, dass das prädiktive Inter-Bild-Kodieren gewählt wurde.
  • Die Bilddaten Sld eines Makroblocks, der aus dem Bildspeicher 101 ausgelesen wurde, werden in die Bewegungsvektorabschätzeinheit 106 eingespeist. Dabei werden die dekodierten Bilddaten Rd, die kodierten Bildern entsprechen, im Bildspeicher 105 als Bilddaten möglicher Referenzbilder gespeichert, und unter den möglichen Referenzbildern im Bildspeicher 105 wird das benötigte Bild durch das Bildkennungssignal CSpd aus der Bewegungsvektorabschätzeinheit 106 als Referenzbild bezeichnet. Die Bewegungsvektorabschätzeinheit 106 verwendet die Bilddaten des bezeichneten möglichen Referenzbildes als Bilddaten CRd des Referenzbildes, um für den zu kodierenden Zielmakroblock einen Bewegungsvektor MV abzuschätzen. Die Bilddaten eines Referenzbildes, die dem Zielmakroblock entsprechen, der durch den erhaltenen Bewegungsvektor MV festgelegt wurde, werden als prädiktive Daten Pd für den Zielmakroblock in den Differenzkalkulator 113 eingespeist.
  • Der Differenzkalkulator 113 berechnet die Differenz zwischen den Bilddaten Sld des Zielmakroblocks und den prädiktiven Daten Pd, um prädiktive Restbilddaten Dd zu erzeugen, woraufhin der prädiktive Restkodierer 102 die prädiktiven Restbilddaten Dd kodiert und die kodierten prädiktiven Restdaten Cd ausgibt.
  • Dann dekodiert der prädiktive Restdekodierer 104 die prädiktiven kodierten Restdaten Cd und gibt die beim Dekodieren erhaltenen prädiktiven Restbilddaten PDd an die Additionsschaltung 114 aus. Die Additionsschaltung 114 addiert die prädiktiven Restbilddaten PDd aus dem prädiktiven Restdekodierer 104 und die prädiktiven Daten Pd aus der Bewegungsvektorabschätzeinheit 106, woraufhin die durch die Addition erhaltenen Bilddaten Rd im Bildspeicher 105 gespeichert werden.
  • Der Bitstromgenerator 103 erzeugt einen Bitstrom, der den prädiktiv kodierten Restdaten Cd entspricht, die vom prädiktiven Restkodierer 102 ausgegeben wurden, und gibt den erzeugten Bitstrom zusammen mit einem Code, der dem Bewegungsvektor MV aus der Bewegungsvektorabschätzeinheit 106 entspricht, einem Code, der dem Modussignal Ms aus der Steuereinheit 110 entspricht, und einem Code, der dem Levelsignal Lst entspricht, als Bitstrom Bsa aus. Wie in 14(a) gezeigt, ist der Code H1, der dem Levelsignal Lst entspricht, im Kopfabschnitt Ha des Bitstroms Bsa enthalten, während die Bilddaten, die durch das Kodieren in Makroblockeinheiten erzeugt wurden, der dem Bewegungsvektor entsprechende Code und der dem Modussignal entsprechende Code zusammen mit dem Sequenzkopf Sh im Sequenzdatenabschnitt Dsp enthalten sind. Der Sequenzkopf Sh enthält einen Code, der den Ipx-Daten entspricht, die die Anzahl (h) der vertikalen Pixel und die Anzahl (w) der horizontalen Pixel des Eingabebildes anzeigen.
  • Anschließend wird die Funktionsweise für den Fall, dass das prädiktive Intra-Bild-Kodieren gewählt wurde, kurz beschrieben.
  • In diesem Fall werden die vom Bildspeicher 101 ausgegebenen Bilddaten Sld über den Schalter 111 in den prädiktiven Restkodierer 102 eingespeist und dann vom Kodierer 102 kodiert, um in den Bitstromgenerator 103 eingespeist zu werden.
  • Der Bitstromgenerator 103 erzeugt einen Bitstrom, der den vom Kodierer 102 ausgegebenen kodierten Daten Cd entspricht, und gibt den erzeugten Bitstrom zusammen mit dem Code, der dem Modussignal Ms aus der Steuereinheit 110 entspricht, und dem Code, der dem Levelsignal Lst entspricht, als Bitstrom Bsa aus (siehe 14(a)).
  • Der prädiktive Restdekodierer 104 dekodiert die vom prädiktiven Restkodierer 102 ausgegebenen kodierten Daten Cd und speichert die durch das Dekodieren erhaltenen prädiktiven Restbilddaten PDd, wie sie sind, über die Additionsschaltung 114 als Bilddaten Rd im Bildspeicher 105.
  • Es folgt eine Beschreibung der Arbeitsweise der Kodierbarkeitsbeurteilungseinheit 108a der Bewegtbildkodiervorrichtung 10a unter Bezugnahme auf 2.
  • Die Kodierbarkeitsbeurteilungseinheit 108a der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel beurteilt die Kodierbarkeit eines Eingabebildes nach folgenden Bedingungsformeln: Formel 1, Formel 2a, Formel 2b, Formel 3a und Formel 3b. Die Bedingungsformeln 1, 2a und 2b sind in Anspruch 3 definiert und die Bedingungsformeln 3a und 3b sind in Anspruch 7 definiert. h × w ≤ Nfpx Formel 1 h ≤ round1 (H) Formel 2a w ≤ round2 (W) Formel 2b H = sqrt (h × w × N) Formel 3a W = sqrt (h × w × N) Formel 3b
  • Dabei gibt Nfpx die maximale Anzahl der Intra-Frame-Pixel an, h die Anzahl der vertikalen Pixel des zu kodierenden Zielbildes, w die Anzahl der horizontalen Pixel des Zielbildes, H die maximale Anzahl der vertikalen Pixel eines Eingabebildes, das von der Bewegtbildkodiervorrichtung 10a kodiert werden kann, W die maximale Anzahl der horizontalen Pixel eines Eingabebildes, das von der Bewegtbildkodiervorrichtung 10a kodiert werden kann, und N eine beliebige natürliche Zahl. Außerdem ist round1() ein Zeichen, das das Ergebnis einer Rundungsoperation, bei der der Wert eines in Klammern stehenden Arguments auf ein Vielfaches der Anzahl der vertikalen Pixel eines Makroblocks, d. h. der Kodierungseinheit, gerundet wird, angibt, round2() ein Zeichen, das das Ergebnis einer Rundungsoperation, bei der der Wert eines in Klammern stehenden Arguments auf ein Vielfaches der Anzahl der horizontalen Pixel des Makroblocks, d. h. der Kodierungseinheit, gerundet wird, angibt, und sqrt() ein Zeichen, das die Quadratwurzel eines in Klammern stehenden Arguments angibt.
  • Zunächst führt die Kodierbarkeitsbeurteilungseinheit 108a auf der Basis der Ihpx-Daten der Anzahl der vertikalen Pixel und der Iwpx-Daten der Anzahl der horizontalen Pixel des Eingabebildes, die in den Eingabebildgrößendaten Ipx enthalten sind, die vom Bildspeicher 101 ausgegeben werden, die durch die Formel 1 ausgedrückte Operation aus. Im einzelnen wird von der Multiplikationsschaltung 206 eine Multiplikation vorgenommen, um das Produkt (h × w) aus der Anzahl (h) der vertikalen Pixel und der Anzahl (w) der horizontalen Pixel des Eingabebildes zu erhalten, und dann vom ersten Komparator 203 auf der Basis des Signals Shw, das das Ergebnis der Multiplikation anzeigt, und der Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel ein Vergleich zwischen dem Multiplikationsergebnis (h × w) und der maximalen Anzahl der Intra-Frame-Pixel (Nfpx) vorgenommen. Das Vergleichsergebnissignal Scm1, welches das Ergebnis des Vergleichs anzeigt, wird vom ersten Komparator 203 an die UND-Einheit 205 ausgegeben.
  • Dann berechnet der Kalkulator 201 für die maximale Anzahl der vertikalen Pixel/die maximale Anzahl der horizontalen Pixel in der Kodierbarkeitsbeurteilungseinheit 108a die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel nach Formel 3a und 3b auf der Basis der Ihpx-Daten der Anzahl der vertikalen Pixel und der Iwpx-Daten der Anzahl der horizontalen Pixel für das Eingabebild.
  • Dabei zeigen die Formel 3a und die Formel 3b, dass sowohl die maximale Anzahl (H) der vertikalen Pixel als auch die maximale Anzahl (W) der horizontalen Pixel die positive Quadratwurzel eines Wertes sind, der durch Multiplizieren des Produkts aus der Anzahl (h) der vertikalen Pixel und der Anzahl (w) der horizontalen Pixel des Eingabebildes mit N erhalten wird. Wenn beispielsweise N = 8, besagt die Formel 3a, dass die maximale Anzahl (H) der vertikalen Pixel so festgelegt ist, dass das Verhältnis zwischen der Anzahl der vertikalen Pixel und der Anzahl der horizontalen Pixel kleiner 8:1 ist, während Formel 3b besagt, dass die maximale Anzahl (W) der horizontalen Pixel so festgelegt ist, dass das Verhältnis zwischen der Anzahl der vertikalen Pixel und der Anzahl der horizontalen Pixel kleiner 1:8 ist.
  • Die Signale Op3a und Op3b für das Operationsergebnis, die die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel anzeigen, die vom Kalkulator 201 für die maximale Anzahl der vertikalen Pixel und die maximale Anzahl der horizontalen Pixel erhalten wurden, werden in den 16-fach-Konverter 202 eingespeist, der die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel durch eine Operation wie Abrunden, Aufrunden oder maschinelles Runden auf ein Vielfaches von 16 rundet. Der 16-fach-Konverter 202 gibt die Rundungsdaten Trnd1, die einen Wert angeben, nämlich round1(H), der durch Runden der maximalen Anzahl (H) der vertikalen Pixel auf ein Vielfaches von 16 erhalten wurde, und Trnd2, der den Wert (round2(H)) angibt, der durch Runden der maximalen Anzahl (W) der horizontalen Pixel auf ein Vielfaches von 16 erhalten wurde, an den zweiten Komparator 204 aus. Dann nimmt der zweite Komparator 204 auf der Basis der Pixelzahldaten Ihpx und Iwpx und der Rundungsdaten Trnd1 und Trnd2 einen Vergleich zwischen der Anzahl (h) der vertikalen Pixel des Eingabebildes und der maximalen Anzahl (H) der vertikalen Pixel vor (im folgenden als Vertikalpixelzahlvergleich bezeichnet) sowie einen Vergleich zwischen der Anzahl (w) der horizontalen Pixel des Eingabebildes und der maximalen Anzahl (W) der horizontalen Pixel (im folgenden als Horizontalpixelzahlvergleich bezeichnet) vor und gibt das Vergleichsergebnissignal Scm2a, das das Ergebnis des Vertikalpixelzahlvergleichs angibt, und das Vergleichsergebnissignal Scm2b, das das Ergebnis des Horizontalpixelzahlvergleichs angibt, an die UND-Einheit 205 aus.
  • Bei diesem ersten Ausführungsbeispiel ist die Rundungsoperation des 16-fach-Konverters 202 für die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel eine Operation, bei der diese Pixelzahlen auf ein Vielfaches von 16 gerundet werden. Jedoch entspricht der Wert „16" bei der Rundungsoperation der Anzahl der Pixel, die eine Seite eines Makroblocks als Kodierungseinheit bilden, so dass dann, wenn die Anzahl der Pixel, die eine Seite eines Makroblocks bilden, nicht 16 ist, die Rundungsoperation die maximale Anzahl der vertikalen Pixel und die maximale Anzahl der horizontalen Pixel auf ein Vielfaches eines Wertes rundet, der der Anzahl der Pixel entspricht, die eine Seite eines Makroblocks bilden, wobei dieser Wert von 16 verschieden ist. Wenn bei der Rundungsoperation die maximale Anzahl der vertikalen Pixel und die maximale Anzahl der horizontalen Pixel auf ein Vielfaches eines Wertes gerundet werden, der der Anzahl der Pixel entspricht, die eine Seite eines Makroblocks bilden, d. h. eines von 16 verschiedenen Wertes, wird die Anzahl der Makroblöcke eines Bildes, das einem kodierbaren Eingabebild entspricht, oder die Anzahl der Makroblöcke in horizontaler oder vertikaler Richtung des Bildes eindeutig festgelegt, so dass die Abbildung der Bilddaten im Bildspeicher oder dergleichen effizient erfolgen kann.
  • Dann nimmt die UND-Einheit 205 eine UND-Verknüpfung des vom ersten Komparator 203 ausgegebenen Vergleichsergebnissignals Scm1 und der vom zweiten Komparator 204 ausgegebenen Vergleichsergebnissignale Scm2a und Scm2b vor und gibt ein Signal aus, nämlich das Beurteilungsergebnissignal CSjd, welches das Endergebnis der Kodierbarkeitsbeurteilung angibt.
  • Es folgt unter Bezugnahme auf 3 eine Beschreibung der speziellen Funktionsweise des Kalkulators 109a für die maximale Anzahl der Referenzbilder in der Bewegtbildkodiervorrichtung 10a.
  • Der Kalkulator 109a für die maximale Anzahl der Referenzbilder in der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel berechnet die maximale Anzahl der möglichen Referenzbilder, die beim prädiktiven Interbildkodieren zu verwenden sind, auf der Basis einer Operation, die durch folgende Formel 4 ausgedrückt wird. Die Formel 4 ist in Anspruch 5 definiert. Nrpn = Nspx ÷ (h × w) – 1 Formel 4
  • Dabei bedeutet h die Anzahl der vertikalen Pixel eines Eingabebildes, d. h. des zu kodierenden Zielbildes, und w die Anzahl der horizontalen Pixel des Eingabebildes, d. h. des zu kodierenden Zielbildes. Nrpn bedeutet die maximale Anzahl der Referenzbilder, und Nspx bedeutet die maximale Anzahl der Speicherpixel. Bei diesem ersten Ausführungsbeispiel ist die maximale Anzahl Nspx der Speicherpixel der Maximalwert der Gesamtzahl der Pixel der Referenzbilder und eines zu dekodierenden Zielbildes, deren Bilddaten im Bildspeicher einer Bewegtbilddekodiervorrichtung gespeichert sind, die den von der Bewegtbildkodiervorrichtung 10a ausgegebenen Bitstrom Bsa dekodiert.
  • Der Kalkulator 109a für die maximale Anzahl der Referenzbilder berechnet die Gesamtzahl der Pixel (h × w) eines Bildes wie die Größe des Eingabebildes auf der Basis der Ihpx-Daten der Anzahl der vertikalen Pixel des Eingabebildes und der Iwpx-Daten der Anzahl der horizontalen Pixel des Eingabebildes. Die Multiplikationsschaltung 401 multipliziert also die Anzahl (h) der vertikalen Pixel des Eingabebildes, die durch die Ihpx-Daten der Anzahl der vertikalen Pixel des Eingabebildes angegeben wird, mit der Anzahl (w) der horizontalen Pixel, die durch die Iwpx-Daten der Anzahl der horizontalen Pixel des Eingabebildes angegeben wird, und gibt das Operationsergebnis Ohw aus, welches für das Multiplikationsergebnis (h × w) steht.
  • Dann teilt die Divisionsschaltung 402 die maximale Anzahl (Nspx) der Speicherpixel durch das Multiplikationsergebnis (h × w) auf der Basis des Operationsergebnisses Ohw aus der Multiplikationsschaltung 401 und der Ispx-Daten für die maximale Anzahl der Speicherpixel aus dem Levelanalysator 100a und gibt als Operationsergebnis das Signal Dpm aus, das für das Divisionsergebnis steht (Nspx/(h × w)).
  • Die Subtraktionsschaltung 403 subtrahiert 1 vom Divisionsergebnis (Nspx/(h × w) auf der Basis des Operationsausgangssignals Dpn aus der Divisionsschaltung 402 und der Zahlenwertdaten Sn1 aus der Konstantspeichereinheit 404 und gibt das Subtraktionsausgangssignal Sd1 aus, welches für das Subtraktionsergebnis (Nspx/(h × w) – 1) steht.
  • Die Subtraktionsschaltung 403 subtrahiert deshalb 1 vom Divisionsergebnis (Nspx/(h × w)), weil die dekodierten Bilddaten eines zu dekodierenden Bildes zusätzlich zu den Bilddaten der möglichen Referenzbilder, die beim prädiktiven Interbildkodieren in der Dekodiervorrichtung verwendet werden, im Bildspeicher der Dekodiervorrichtung gespeichert werden müssen.
  • Wie oben beschrieben, enthält die Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel den Levelanalysator 100a, der auf der Basis des Levelsignals Lst, das den vom Benutzer vorgegebenen Kodierlevel anzeigt, die maximale Anzahl der kodierbaren Intra-Frame-Pixel (Nfpx) und die maximale Anzahl der Speicherpixel (Nspx), die im Bildspeicher der Dekodiervorrichtung gespeichert werden können, festlegt, wonach er auf der Basis der maximalen Anzahl der Intra-Frame-Pixel (Nfpx) und der Eingabebildgröße, d. h. der Anzahl Nhpx der vertikalen Pixel und der Anzahl Nwpx der horizontalen Pixel, beurteilt, ob das Eingabebild kodierbar ist, und die Anzahl der möglichen Referenzbilder, d. h. die maximale Anzahl Nrpn der Referenzbilder, auf die beim prädiktiven Interbildkodieren Bezug genommen werden kann, berechnet. Damit kann eine Dekodiervorrichtung, in die ein Bitstrom aus der Bewegtbildkodiervorrichtung 10a eingespeist wird, den Bitstrom stets zufriedenstellend dekodieren, wodurch die prädiktive Interbilddekodierung vorgenommen wird, die der prädiktiven Interbildkodierung auf Kodierungsseite entspricht. Folglich kann in der Kodiervorrichtung wie in der Dekodiervorrichtung ein Speicherbereich festgelegt werden, der einem Kodierverfahren angemessen ist, bei dem keine Beschränkung der Speicherkapazität gegeben ist.
  • Bei diesem ersten Ausführungsbeispiel wird als Tabelle, in der die Entsprechung zwischen den verschiedenen Kodierleveln, d. h. Werten des Levelidentifikators, und der maximalen Anzahl der Intra-Frame-Pixel sowie der maximalen Anzahl der Speicherpixel festgelegt ist, die Tabelle T1 verwendet, in der die Kodierlevel, d. h. Werte des Levelidentifikators, in Korrelation mit je einem Paar maximale Anzahl der Intra-Frame-Pixel/maximale Anzahl der Speicherpixel (siehe 15) gesetzt sind. Jedoch können auch die Tabelle T1a, in der Werte des Levelidentifikators in Korrelation gesetzt sind mit der maximalen Anzahl der Intra-Frame-Pixel (16(a)), und die Tabelle T1b, in der Werte des Levelidentifikators in Korrelation gesetzt sind mit der maximalen Anzahl der Speicherpixel (16(b)), verwendet werden.
  • Außerdem erfolgt bei diesem ersten Ausführungsbeispiel die Festlegung des Kodierlevels, d. h. des Wertes des Levelidentifikators, durch den Benutzer unter Bezugnahme auf die Tabelle T1 von 15, während die Festlegung des Kodierlevels durch den Benutzer statt durch Anwendung der Tabelle T1 von 15 auch durch Anwendung der folgenden Formel 5 erfolgen kann. (Levelidentifikatorwert) = transA (maximale Anzahl der Intra-Frame-Pixel, maximale Anzahl der Speicherpixel) Formel 5
  • Dabei ist transA() ein Zeichen für die Operation, bei der dem Levelidentifikator ein Wert zugeordnet wird, wobei die maximale Anzahl der Intra-Frame-Pixel und die maximale Anzahl der Speicherpixel als Argumente verwendet werden. Wenn der Benutzer die maximale Anzahl der Intra-Frame-Pixel und die maximale Anzahl der Speicherpixel des von der Bewegtbildkodiervorrichtung 10a zu kodierenden Eingabebildes festlegt, wird der entsprechende Wert des Levelidentifikators nach Formel 5 ermittelt.
  • Außerdem können anstelle der Tabelle T1a, die die Entsprechung zwischen dem Levelidentifikatorwert und der maximalen Anzahl der Intra-Frame-Pixel (16(a)) angibt, und der Tabelle T1b, die die Entsprechung zwischen dem Levelidentifikatorwert und der maximalen Anzahl der Speicherpixel (16(b)) angibt, die folgenden Formeln 6a und 6b verwendet werden: Levelidentifikatorwert = transAa (maximale Anzahl der Intra-Frame-Pixel) Formel 6a Levelidentifikatorwert = transAb (maximale Anzahl der Speicherpixel) Formel 6b
  • Dabei ist transAa() ein Zeichen für die Operation, bei der dem Levelidentifikator ein Wert zugeordnet wird, wobei die maximale Anzahl der Intra-Frame-Pixel als Argument verwendet wird. Wenn der Benutzer die maximale Anzahl der Intra-Frame-Pixel des Eingabebildes, die von der Bewegtbildkodiervorrichtung kodiert werden kann, festlegt, wird der entsprechende Wert des Levelidentifikators nach Formel 6a ermittelt.
  • Außerdem ist transAb() ein Zeichen für die Operation, bei der dem Levelidentifikator ein Wert zugeordnet wird, wobei die maximale Anzahl der Speicherpixel als Argument verwendet wird. Wenn der Benutzer die maximale Anzahl der Speicherpixel des Eingabebildes, die von der Bewegtbildkodiervorrichtung kodiert werden können, festlegt, wird der entsprechende Wert des Levelidentifikators nach Formel 6b ermittelt.
  • Beim ersten Ausführungsbeispiel der Bewegtbildkodiervorrichtung ist die maximale Anzahl der Speicherpixel die Gesamtzahl der Pixel von Bildern, was der größten Bilddatenmenge entspricht, die im Bildspeicher der Dekodiervorrichtung, in die ein Bitstrom eingespeist wird, gespeichert werden kann. Anstelle der maximalen Anzahl der Speicherpixel kann jedoch auch die Speicherkapazität selbst, welche der Bildspeicher der Dekodiervorrichtung haben muss, verwendet werden.
  • Bei diesem ersten Ausführungsbeispiel ist die maximale Anzahl Nspx der Speicherpixel der Maximalwert der Gesamtzahl der Pixel aller Speicherbilder, deren Bilddaten im Bildspeicher der Bewegtbilddekodiervorrichtung gespeichert sind, die einen Bitstrom dekodiert, den sie aus der Bewegtbildkodiervorrichtung 10a erhält. Bei der Beschreibung wurde das Beispiel genommen, dass die Referenzbilder und das zu dekodierende Zielbild die Speicherbilder sind, jedoch kann als maximale Anzahl der Speicherpixel auch eine Anzahl festgelegt sein, die die Anzahl der Pixel des zu dekodierenden Zielbilds nicht einschließt.
  • In diesem Fall wird anstelle obiger Formel 4 die nachstehende Formel 7a verwendet: Nrpn = Nspx ÷ (h × w) Formel 7a
  • Dabei bedeutet h die Anzahl der vertikalen Pixel eines zu kodierenden Zielbildes, w die Anzahl der horizontalen Pixel des Zielbildes, Nrpn die maximale Anzahl der Referenzbilder und Nspx die maximale Anzahl der gespeicherten Pixel.
  • Bei dem in 3 gezeigten Kalkulator 109a für die maximale Anzahl der Referenzbilder wird die maximale Anzahl der Referenzbilder festgelegt, ohne dass vom Divisionsergebnis (Nspx/(h × w)) 1 subtrahiert wird.
  • Ausführungsbeispiel 2
  • 4 ist ein Blockschaltbild zur Erläuterung des zweiten Ausführungsbeispiels 10b der erfindungsgemäßen Bewegtbildkodiervorrichtung.
  • Die Bewegtbildkodiervorrichtung 10b gemäß dem zweiten Ausführungsbeispiel hat anstelle des Levelanalysators 100a und der Kodierbarkeitsbeurteilungseinheit 108a der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel einen Levelanalysator 100b, der auf der Basis des Levelsignals Lst und eines Kennungssignals Cid, die eingegeben werden, Pixelanzahl-Berechnungskoeffizientendaten αpx sowie die maximale Anzahl Ifpx der Intra-Frame-Bilder und die maximale Anzahl Ispx der Speicherpixel ausgibt. Sie hat außerdem die Kodierbarkeitsbeurteilungseinheit 108b, die auf der Basis der Ifpx- Daten der maximalen Anzahl der Intra-Frame-Pixel, der Pixelanzahl-Berechnungskoeffizientendaten αpx und der Eingabebildgrößendaten Ipx beurteilt, ob das Eingabebild kodierbar ist. Dabei gibt die Kennnummer Cid den Wert der Kennummer an, der vom Benutzer festgelegt wurde, und diese Kennummer wird verwendet, um einen bestimmten Wert des Pixelanzahlberechnungskoeffizienten als zusätzliche Kodierungsbedingung festzulegen. Der Levelanalysator 100b enthält die Daten der Tabelle T1 von 15 und der Tabelle T2 von 17(a). Die Tabelle T1 gibt die Entsprechung zwischen dem Wert des Levelidentifikators und der maximalen Anzahl der Intra-Frame-Pixel sowie der maximalen Anzahl der Speicherpixel an. Die Tabelle T2 gibt die Entsprechung zwischen dem Wert der Kennzahl und dem Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) sowie dem Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) an. Außerdem setzen sich die Pixelzahl-Berechnungskoeffizientendaten αpx aus Daten, die den Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) angeben (im folgenden als Vertikalpixelzahl-Berechnungskoeffizientendaten bezeichnet), und Daten, die den Horizontalpixelzahl-Berechnungskoeffizienten (Nαwps) angeben (im folgenden als Horizontalpixelzahl-Berechnungskoeffizientendaten bezeichnet), zusammen. Der Bitstromgenerator 103 der Bewegtbildkodiervorrichtung 10b unterwirft die ausgegebenen Daten, d. h. die kodierten Daten Cd aus der prädiktiven Restkodiereinheit 102, der Lauflängenkodierung und gibt den Bitstrom Bsb aus, der erhalten wird, wenn dem Bitstrom, der durch Lauflängenkodierung erhalten wurde, Codes angefügt werden, die dem Bewegungsvektor MV, dem Modussignal Ms, dem Levelsignal Lst und dem Kennummersignal Cid entsprechen.
  • Abgesehen von der Bewegtbildkodiervorrichtung 10b gemäß dem zweiten Ausführungsbeispiel haben die übrigen Komponenten den gleichen Aufbau wie bei der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel.
  • 14(b) zeigt die Datenstruktur des Bitstroms Bsb, der einem Eingabebild entspricht.
  • Der Bitstrom Bsb setzt sich zusammen aus einem Kopfabschnitt Hb, der verschiedene Arten von Kopfdaten enthält, und einem Sequenzdatenabschnitt Dsq, der kodierte Daten, d. h. einen Bitstrom, der den Bilddaten der Einzelbilder entspricht, enthält.
  • Im Kopfabschnitt Hb des Bitstroms Bsb sind als Kopfdaten der Code H1, der dem Signal des Levelidentifikators, d. h. dem Levelsignal Lst, entspricht, und der Code H2, der dem Kennummersignal Cid entspricht, enthalten. Außerdem ist im Sequenzdatenabschnitt Dsq des Bitstroms Bsb ein Sequenzkopf Sh, der die Größe des Eingabebildes, d. h. die Vertikalpixelzahl (h) und die Horizontalpixelzahl (w) des Eingabebildes, angibt, enthalten. Genauer gesagt, wird der Code H2 erhalten, indem das Kennnummersignal Cid, das den Wert der Kennnummer zur Kennzeichnung des Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) und des Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) angibt, wie in 17(a) gezeigt, kodiert wird.
  • 5 ist ein Blockschaltbild, das den speziellen Aufbau der Kodierbarkeitsbeurteilungseinheit 108b zeigt.
  • Die Kodierbarkeitsbeurteilungseinheit 108b hat anstelle des Kalkulators 201 für die maximale Anzahl der vertikalen Pixel/die maximale Anzahl der horizontalen Pixel der Kodierbarkeitsbeurteilungseinheit 108a gemäß dem ersten Ausführungsbeispiel einen Kalkulator, nämlich den Kalkulator 301 für die maximale Anzahl der vertikalen Pixel/die maximale Anzahl der horizontalen Pixel, der auf der Basis der Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel, der αhpx-Daten für den Vertikalpixelzahl-Berechnungskoeffizienten und der αwpx-Daten für den Horizontalpixelzahl-Berechnungskoeffizienten die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel, die verarbeitet werden können, berechnet und die Daten Op3a und Op3b ausgibt, die die Berechnungsergebnisse angeben. Daher sind die Multiplikationsschaltung 306, der erste Komparator 303, der zweite Komparator 304, der 16-fach-Konverter 302 und die UND-Einheit 305 der Kodierbarkeitsbeurteilungseinheit 108b die gleichen wie die Multiplikationsschaltung 208, der erste Komparator 203, der zweite Komparator 204, der 16-fach-Konverter 202 und die UND-Einheit 205 bei der Kodierbarkeitsbeurteilungseinheit 108a gemäß dem ersten Ausführungsbeispiel.
  • Es folgt eine Beschreibung der Funktionsweise.
  • Die Funktionsweise der Bewegtbildkodiervorrichtung 10b gemäß dem zweiten Ausführungsbeispiel unterscheidet sich von der der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel nur beim Levelanalysator 100b, bei der Kodierbarkeitsbeurteilungseinheit 108b und beim Bitstromgenerator 103.
  • Somit wird nachstehend hauptsächlich die Funktionsweise des Levelanalysators 100b, der Kodierbarkeitsbeurteilungseinheit 108b und des Bitstromgenerators 103 beschrieben.
  • Bei der Bewegtbildkodiervorrichtung 10b gemäß dem zweiten Ausführungsbeispiel wird vor dem Kodieren eines Eingabebildes auf der Basis des Aufbaus des Speichers und dergleichen der Bewegtbildkodiervorrichtung 10b und des Aufbaus des Speichers und dergleichen der Bewegtbilddekodiervorrichtung, in die kodierte Daten eingespeist werden, unter mehreren voreingestellten Kodierleveln, die als Kodierbedingungen verwendet werden, der erforderliche Level ausgewählt und dann unter mehreren Kennnummern, die als zusätzliche Kodierbedingungen verwendet werden, der erforderliche Level ausgewählt. Genauer gesagt, erfolgt die Wahl des Kodierlevels durch den Benutzer unter Bezugnahme auf die Tabelle T1, und das Levelsignal Lst, das den Levelindikator anzeigt, der dem gewählten Level entspricht, wird vom Benutzer in die Bewegtbildkodiervorrichtung 10b eingegeben. Außerdem erfolgt die Wahl des Levels der Kennnummer durch den Benutzer unter Bezugnahme auf die Tabelle T2, und das Kennnummersignal Cid, das die dem gewählten Level entsprechende Kennnummer anzeigt, wird vom Benutzer in die Bewegtbildkodiervorrichtung 10b eingegeben.
  • Dabei sind der Kodierlevel, die maximale Anzahl der Intra-Frame-Pixel und die maximale Anzahl der Speicherpixel die gleichen wie beim ersten Ausführungsbeispiel. Die Tabelle T2 von 17(a) legt vier Level für die Kennnummer fest, und die Level der Kennnummer entsprechen jeweils einem der Werte 1–4 der Kennummer. Die Werte 1–4 der Kennummer korrelieren mit bestimmten Werten des Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) bzw. des Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx).
  • Wenn bei der Bewegtbildkodiervorrichtung 10b das Levelsignal Lst und das Kennnummersignal Cid, die vom Benutzer eingegeben wurden, in den Levelana lysator 100b eingespeist werden, nimmt dieser auf die darin enthaltenen Tabellen T1 (15) und T2 (17(a)) Bezug und gibt die Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel und die Ispx-Daten der maximalen Anzahl der Speicherpixel, die dem durch das Levelsignal Lst angezeigten Kodierlevel entsprechen, der vom Benutzer ausgewählt wurde, sowie die αpx-Daten des Pixelzahl-Berechnungskoeffizienten, die dem Level der Kennnummer entsprechen, der durch das Kennnummersignal Cid angezeigt wird und vom Benutzer gewählt wurde, aus. Die Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel und die Pixelzahl-Berechnungskoeffizientendaten αpx werden in die Kodierbarkeitsbeurteilungseinheit 108b eingegeben, und die Ispx-Daten der maximalen Anzahl der Speicherpixel werden in den Kalkulator 109a für die maximale Anzahl der Referenzbilder eingegeben.
  • Wenn die Bilddaten Id eines Bewegtbildes (Eingabebild) in Bildeinheiten in Darstellungsreihenfolge in den Bildspeicher 101 eingegeben werden, werden die den einzelnen Bildern entsprechenden Bilddaten nacheinander im Bildspeicher 101 gespeichert, und die gespeicherten Bilddaten Sld werden vom Bildspeicher 101 in Blockeinheiten, d. h. in Makroblöcken, die das Bild ergeben, in der Kodierreihenfolge ausgegeben. Dabei werden Daten, die die Größe des Eingabebildes angeben, d. h. die Eingabebildgrößendaten Ipx vom Bildspeicher 101 ausgegeben und in die Kodierbarkeitsbeurteilungseinheit 108b und den Kalkulator 109a für die maximale Anzahl der Referenzbilder eingegeben.
  • Die Kodierbarkeitsbeurteilungseinheit 108b beurteilt dann auf der Basis der Eingabebildgrößendaten Ipx aus dem Bildspeicher 101, der Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel und der Pixelanzahl-Berechnungskoeffizientendaten αpx aus dem Levelanalysator 100b, ob das Eingabebild kodierbar ist, und gibt an die Steuereinheit 110 ein Signal aus, welches das Beurteilungsergebnis anzeigt, nämlich das Beurteilungsergebnissignal CSjd.
  • Wenn das Beurteilungsergebnissignal CSjd besagt, dass das Eingabebild kodierbar ist, schaltet die Steuereinheit 110 auf der Basis der Eingabebilddaten Sld aus dem Bildspeicher 101 auf den Modus prädiktives Interbildkodieren von Bilddaten oder den Modus prädiktives Intra-Bild-Kodieren von Bilddaten und gibt an die jeweiligen Einheiten Steuersignale aus. Die jeweiligen Einheiten der Bewegt bildkodiervorrichtung 10b werden wie beim ersten Ausführungsbeispiel entsprechend dem Beurteilungsergebnissignal CSjd mit den Steuersignalen Sct1, Sct2, Sctn aus der Steuereinheit 110 gesteuert.
  • Der Kalkulator 109a für die maximale Anzahl der Referenzbilder berechnet die maximale Anzahl der Referenzbilder (Nrpn) auf der Basis der Ispx-Daten für die maximale Anzahl der Speicherpixel, der Ihpx-Daten für die maximale Anzahl der vertikalen Pixel des Eingabebildes und der Iwpx-Daten für die maximale Anzahl der horizontalen Pixel des Eingabebildes und gibt Daten aus, die die berechnete Anzahl anzeigen (Nrpn), nämlich die Irpn-Daten für die maximale Anzahl der Referenzbilder.
  • Wenn bei diesem zweiten Ausführungsbeispiel der Modus prädiktives Interbildkodieren gewählt wird, erfolgt das prädiktive Interbildkodieren des Eingabebildes auf die gleiche Weise wie beim ersten Ausführungsbeispiel, und wenn der Modus prädiktives Intra-Bild-Kodieren gewählt wird, erfolgt das prädiktive Intra-Bild-Kodieren auf die gleiche Weise wie beim ersten Ausführungsbeispiel.
  • Wenn jedoch bei diesem zweiten Ausführungsbeispiel der Modus prädiktives Interbildkodieren gewählt wird, erzeugt der Bitstromgenerator 103 einen Bitstrom, der den prädiktiv kodierten Restdaten Cd entspricht, die vom prädiktiven Restkodierer 102 ausgegeben wurden, und gibt den erzeugten Bitstrom zusammen mit einem Code, der dem Bewegungsvektor MV aus der Bewegungsvektorabschätzeinheit 106 entspricht, einem Code, der dem Modussignal Ms aus der Steuereinheit 110 entspricht, einem Code, der dem Levelsignal Lst entspricht, und einem Code, der dem Kennnummersignal Cid entspricht, als Bitstrom Bsb (siehe 14(b)) aus. Wird der Modus prädiktives Intra-Bild-Kodieren gewählt, erzeugt der Bitstromgenerator 103 einen Bitstrom, der den kodierten Daten Cd, die vom Kodierer 102 ausgegeben wurden, entspricht, und gibt den erzeugten Bitstrom zusammen mit dem Code, der dem Modussignal Ms aus der Steuereinheit 110 entspricht, dem Code, der dem Levelsignal Lst entspricht, und dem Code, der dem Kennnummersignal Cid entspricht, als Bitstrom Bsb (siehe 14(b)) aus.
  • Es folgt eine Beschreibung der spezifischen Arbeitsweise der Kodierbarkeitsbeurteilungseinheit 108b der Bewegtbildkodiervorrichtung 10b unter Bezugnahme auf 5.
  • Bei der Kodierbarkeitsbeurteilungseinheit 108b der Bewegtbildkodiervorrichtung 10b gemäß dem zweiten Ausführungsbeispiel wird die Kodierbarkeit eines Eingabebildes auf der Basis folgender Bedingungsformeln beurteilt: Formel 1, Formel 2a, Formel 2b, Formel 8a und Formel 8b.
  • Die Bedingungsformeln 1, 2a und 2b sind in Anspruch 3 definiert, und die Bedingungsformeln 8a und 8b sind in Anspruch 9 definiert. H = Nfpx ÷ Nαhpx Formel 8a W = Nfpx ÷ Nαwpx Formel 8b
  • Dabei bezeichnet Nfpx die maximale Anzahl der Intra-Frame-Pixel, H die maximale Anzahl der vertikalen Pixel eines Eingabebildes, das von der Bewegtbildkodiervorrichtung 10b kodiert werden kann, und W die maximale Anzahl der horizontalen Pixel des Eingabebildes, das von der Bewegtbildkodiervorrichtung 10b kodiert werden kann. Nαhpx bezeichnet den Vertikalpixelzahl-Berechnungskoeffizienten, und Nαwpx bezeichnet den Horizontalpixelzahl-Berechnungskoeffizienten.
  • Zunächst führt die Kodierbarkeitsbeurteilungseinheit 108b wie die Kodierbarkeitsbeurteilungseinheit 108a beim ersten Ausführungsbeispiel auf der Grundlage der Vertikalpixelzahldaten Ihpx des Eingabebildes und der Horizontalpixelzahldaten Iwpx, die in den Eingabebildgrößendaten Ipx enthalten sind, die vom Bildspeicher 101 ausgegeben werden, die durch die Formel 1 ausgedrückte Operation aus. Im einzelnen werden von der Multiplikationsschaltung 306 eine Multiplikation vorgenommen, um das Produkt (h × w) aus der Anzahl (h) der vertikalen Pixel und der Anzahl (w) der horizontalen Pixel des Eingabebildes zu erhalten, und vom ersten Komparator 303 ein Vergleich zwischen dem Multiplikationsergebnis (h × w) und der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel vorgenommen. Der erste Komparator 303 gibt das Vergleichsergebnissignal Scm1, welches das Ergebnis des Vergleichs anzeigt, an die UND-Einheit 305 aus.
  • Dann berechnet der Kalkulator 301 für die maximale Anzahl der vertikalen Pixel/die maximale Anzahl der horizontalen Pixel in der Kodierbarkeitsbeurteilungseinheit 108b die maximale Anzahl (H) der vertikalen Pixel nach Formel 8a und die maximale Anzahl der horizontalen Pixel nach Formel 8b auf der Basis der Ifpx-Daten der maximalen Anzahl der Intra-Frame-Pixel, der Vertikalpixelzahl-Berechnungskoeffizientendaten αhpx und der Horizontalpixelzahl-Berechnungskoeffizientendaten αwpx.
  • Dabei besagen Formel 8a und Formel 8b, dass die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel erhalten werden, indem die maximale Anzahl (Nfpx) der Intra-Frame-Pixel durch den Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) bzw. den Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) geteilt wird.
  • Die Operationsergebnissignale Op3a und Op3b, die die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel anzeigen, die vom Kalkulator 301 für die maximale Anzahl der vertikalen Pixel/maximale Anzahl der horizontalen Pixel erhalten wurden, werden in den 16-fach-Konverter 302 eingespeist, der in gleicher Weise wie der 16-fach-Konverter 202 beim ersten Ausführungsbeispiel die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel einer Rundungsoperation unterwirft. Dann gibt der 16-fach-Konverter 302 die Rundungsdaten Trnd1, die den Wert (round1(H)) angeben, der durch Runden der maximalen Anzahl (H) der vertikalen Pixel auf ein Vielfaches von 16 erhalten wurde, und die Rundungsdaten Trnd2, die den Wert (round2(H)) angeben, der durch Runden der maximalen Anzahl (W) der horizontalen Pixel auf ein Vielfaches von 16 erhalten wurde, an den zweiten Komparator 304 aus.
  • Dann nimmt der zweite Komparator 304 auf der Basis der Pixelzahldaten Ihpx und Iwpx den Vergleich zwischen der Anzahl (h) der vertikalen Pixel des Eingabebildes und der maximalen Anzahl (H) der vertikalen Pixel (Vertikalpixelzahlvergleich) und den Vergleich zwischen der Anzahl (w) der horizontalen Pixel des Eingabebildes und der maximalen Anzahl (W) der horizontalen Pixel (Horizontalpixelzahlvergleich) sowie die Rundung Trnd1 und Trnd2 vor und gibt das Vergleichsergebnissignal Scm2a, das das Ergebnis des Vertikalpixelzahlvergleichs angibt, und das Vergleichsergebnissignal Scm2b, das das Ergebnis des Horizontalpixelzahlvergleichs angibt, an die UND-Einheit 305 aus.
  • Die UND-Einheit 305 nimmt dann die UND-Verknüpfung der Vergleichsergebnissignale Scm1, Scm2 und Scm2b vor, die von den Komparatoren 303 und 304 ausgegeben wurden, und gibt das Signal CSjd aus, das das Endergebnis der Kodierbarkeitsbeurteilung angibt.
  • Wie vorstehend angegeben, enthält die Bewegtbildkodiervorrichtung 10b gemäß dem zweiten Ausführungsbeispiel den Levelanalysator 100b, der entsprechend dem Levelsignal (Signal des Levelidentifikators) Lst, das vom Benutzer eingegeben wird, die maximale Anzahl der kodierbaren Intra-Frame-Pixel (Nfpx) und die maximale Anzahl der Speicherpixel (Nspx), die im Bildspeicher einer Dekodiervorrichtung gespeichert werden können, festlegt, und außerdem auf der Basis des Kennnummersignals Cid, das vom Benutzer eingegeben wird, die Pixelberechnungskoeffizientendaten αpx, die den Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) und den Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) angeben, festlegt, wodurch er beurteilt, ob ein Eingabebild kodiert werten kann, und auf der Basis der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel, des Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx), des Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) und der Eingabebildgröße (Anzahl (h) der vertikalen Pixel und Anzahl (w) der horizontalen Pixel) die Anzahl Nrpn der möglichen Referenzbilder berechnet, auf die beim prädiktiven Interbildkodieren Bezug genommen werden kann. Damit kann eine Dekodiervorrichtung, in die ein Bitstrom aus der Bewegtbildkodiervorrichtung 10b eingespeist wird, diesen Bitstrom stets zufriedenstellend dekodieren, so dass das prädiktive Bilddekodieren in Abhängigkeit vom prädiktiven Bildkodieren auf Kodierungsseite vorgenommen werden kann. Dadurch wird es möglich, in der Kodiervorrichtung und in der Dekodiervorrichtung einen Speicherbereich festzulegen, der einem Kodierverfahren entspricht, bei dem die Kapazität des Speicherbereichs nicht begrenzt ist.
  • Dann werden bei diesem zweiten Ausführungsbeispiel die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel ermittelt, indem die maximale Anzahl (Nfpx) der Intra-Frame-Pixel durch den Vertikalpixel zahl-Berechnungskoeffizienten (Nαhpx) bzw. den Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) geteilt wird. Somit sind die Abläufe zur Ermittlung der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel gegenüber dem ersten Ausführungsbeispiel vereinfacht.
  • Bei diesem zweiten Ausführungsbeispiel sind der Levelidentifikator, der der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel und der maximalen Anzahl (Nspx) der Speicherpixel entspricht, und die Kennnummer, die dem Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) und dem Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) entspricht, Parameter, die jeweils voneinander unabhängige Kodierungsbedingungen anzeigen, während die Kennnummer mit dem Wert des Levelidentifikators korreliert sein kann.
  • Dabei werden bei der Festlegung des Kodierlevels auf der Basis des Werts des Levelidentifikators, der den festgelegten Level anzeigt, bestimmte Zahlenwerte für den Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) und den Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) sowie für die maximale Anzahl (Nfpx) der Intra-Frame-Pixel und die maximale Anzahl (Nspx) der Speicherpixel festgelegt. Im einzelnen ist es so, dass der Levelanalysator 100b, wenn das Levelsignal Lst, das den Kodierlevel anzeigt, der vom Benutzer festgelegt wurde, in den Levelanalysator 100b eingespeist wird, gemäß dem Levelsignal (Levelidentifikator) Lst die Daten Ifps und Ispx ausgibt, die die maximale Anzahl (Nfpx) der Intra-Frame-Pixel und die maximale Anzahl (Nspx) der Speicherpixel angeben, und außerdem auf der Basis des Kennnummersignals, das dem Levelidentifikator entspricht, die Pixelzahlberechnungskoeffizientendaten αpx ausgibt. Außer dem enthält der Bitstrom Bsb nur den Code H1, der dem Levelsignal Lst entspricht, so dass der Code H2, der dem Kennnummersignal Cid entspricht, nicht zur Dekodierungsseite übertragen wird.
  • Bei diesem zweiten Ausführungsbeispiel überträgt die Bewegtbildkodiervorrichtung den vom Benutzer gewählten Code H1 des Levelsignals Lst, der der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel und der maximalen Anzahl (Nspx) der Speicherpixel entspricht, und den vom Benutzer gewählten Code H2 des Kennnummersignals Cid, der dem Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) und dem Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) entspricht, zur Dekodierungsseite. Jedoch kann die Bewegtbildkodierungsvorrichtung die Pixelzahl-Berechnungskoeffizientendaten αpx, die einen Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) und einen Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx), die vom Benutzer willkürlich festgelegt wurden, angeben, kodieren und anstelle des Codes H2 für das Kennnummersignal Cid die kodierten Pixelzahl-Berechnungskoeffizientendaten αpx zur Dekodierungsseite ausgeben.
  • Dabei werden auf der Basis der Tabelle T1 die maximale Anzahl (Nfpx) der Intra-Frame-Pixel und die maximale Anzahl (Nspx) der Speicherpixel auf bestimmte Werte gesetzt, die dem Levelidentifikator entsprechen, der den gewählten Kodierlevel anzeigt, während bestimmte Werte für den Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) und den Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) willkürlich vom Benutzer festgelegt werden. Wenn also das Levelsignal Lst, das den festgelegten Kodierlevel anzeigt, vom Benutzer in den Levelanalysator 100b eingespeist wird, gibt dieser an die Kodierbarkeitsbeurteilungseinheit 108b die Ifpx-Daten, die die maximale Anzahl (Nfpx) der Intra-Frame-Pixel anzeigen, die auf der Basis der Tabelle T1 entsprechend dem Levelsignal Lst festgelegt wurde, und an den Kalkulator 109a für die maximale Anzahl der Referenzbilder die Ispx-Daten, die die maximale Anzahl (Nspx) der Speicherpixel, die auf der Basis der Tabelle T1 festgelegt wurde, anzeigen, aus. Der Bitstrom Bsb enthält den Code H1, der dem Levelsignal Lst entspricht, und den Code, der den Pixelzahl-Berechnungskoeffizientendaten αpx entspricht, so dass der Code H1, der dem Levelsignal Lst entspricht, und der Code, der den Pixelzahl-Berechnungskoeffizientendaten αpx entspricht, zur Dekodierungsseite übertragen werden.
  • Außerdem wird bei diesem zweiten Ausführungsbeispiel die Tabelle T2, in der mehrere Kennnummern in Korrelation mit je einem Paar Vertikalpixelzahl-Berechnungskoeffizient/Horizontalpixelzahl-Berechnungskoeffizient gesetzt sind (17(a)), als die Tabelle verwendet, in der die Entsprechung zwischen mehreren Kennnummern und dem Vertikalpixelzahl-Berechnungskoeffizienten sowie dem Horizontalpixelzahl-Berechnungskoeffizienten festgelegt ist. Anstelle der Tabelle T2 können jedoch auch die Tabelle T2a, in der die Kennnummerwerte in Korrelation mit dem Vertikalpixelzahl-Berechnungskoeffizienten gesetzt sind (17(b)), und die Tabelle T2b, in der die Kennnummerwerte in Korrelation mit dem Horizontalpixelzahl-Berechnungskoeffizienten gesetzt sind (17(c)), verwendet werden.
  • Außerdem erfolgt bei diesem zweiten Ausführungsbeispiel die Festlegung der Kennnummer durch den Benutzer anhand von Tabelle T2 (17(a)), während die Festlegung der Kennnummer durch den Benutzer statt anhand der Tabelle T2 von 17(a) auch mittels der folgenden Formel 9 erfolgen kann: (Kennnummer) = transB (Vertikalpixelzahl-Berechnungskoeffizient, Horizontalpixelzahl-Berechnungskoeffizient) Formel 9
  • Dabei ist transB() ein Zeichen für eine Rechenoperation, mit der man den Wert der Kennnummer erhält, indem man den Vertikalpixelzahl-Berechnungskoeffizienten und den Horizontalpixelzahl-Berechnungskoeffizienten als Argument verwendet.
  • Außerdem können anstelle der Tabelle T2a, in der die Entsprechung zwischen den Kennnummerwerten und dem Vertikalpixelzahl-Berechnungskoeffizienten festgelegt ist (17(b)), und der Tabelle T2b, in der die Entsprechung zwischen den Werten der Kennnummer und dem Horizontalpixelzahl-Berechnungskoeffizienten festgelegt ist (17(c)), auch die nachstehenden Formeln 9a und 9b verwendet werden: Kennnummerwert = transBa (Vertikalpixelzahl-Berechnungskoeffizient) Formel 9a Kennnummerwert = transBb (Horizontalpixelzahl-Berechnungskoeffizient) Formel 9b
  • Dabei ist transBa() ein Zeichen für eine Rechenoperation, mit der man einen Kennnummerwert erhält, indem der Vertikalpixelzahl-Berechnungskoeffizient als Argument verwendet wird. Wenn der Benutzer den Vertikalpixelzahl-Berechnungskoeffizienten für das Eingabebild, das von der Bewegtbildkodiervorrichtung kodiert werden kann, angibt, wird der entsprechende Kennnummerwert nach Formel 9a festgelegt.
  • Außerdem ist transBb() ein Zeichen für eine Rechenoperation, mit der ein Kennnummerwert erhalten wird, indem der Horizontalpixelzahl-Berechnungskoeffizient als Argument verwendet wird. Wenn der Benutzer den Horizontalpixelzahl-Berechnungskoeffizienten für das Eingabebild, das von der Bewegtbildkodiervorrichtung kodiert werden kann, angibt, wird der entsprechende Kennnummerwert nach Formel 9b festgelegt.
  • Beim obigen ersten Ausführungsbeispiel werden die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel nach Formel 1, Formel 2a, Formel 2b, Formel 3a und Formel 3b ermittelt, während beim hier beschriebenen zweiten Ausführungsbeispiel die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel nach Formel 1, Formel 2a, Formel 2b, Formel 8a und Formel 8b ermittelt werden. Jedoch ist das Verfahren zur Ermittlung der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel nicht auf die beim ersten und zweiten Ausführungsbeispiel beschriebenen Verfahren beschränkt.
  • Ausführungsbeispiel 3
  • 6 ist ein Blockschaltbild zur Erläuterung der Bewegtbildkodiervorrichtung 10c gemäß einem dritten Ausführungsbeispiel der vorliegenden Erfindung.
  • Die Bewegtbildkodiervorrichtung 10c gemäß dem dritten Ausführungsbeispiel hat anstelle des Levelanalysators 100a und der Kodierbarkeitsbeurteilungseinheit 108a der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel den Levelanalysator 100c, der entsprechend dem eingegebenen Levelsignal Lst und dem Kennnummersignal Sid die Impx-Daten, die die maximale Bildgröße (Maximalbildgrößedaten) angeben, zusammen mit den Ifpx-Daten für die maximale Anzahl der Intra-Frame-Pixel und den Ispx-Daten für die maximale Anzahl der Speicherpixel ausgibt, sowie die Kodierbarkeitsbeurteilungseinheit 108c, die auf der Basis der Ifpx-Daten für die maximale Anzahl der Intra-Frame- Pixel, der Impx-Daten für die maximale Bildgröße und der Eingabebildgrößendaten Ipx beurteilt, ob das Eingabebild kodiert werden kann.
  • Dabei gibt das Kennnummersignal Sid einen Kennnummerwert an, der vom Benutzer festgelegt wurde, und die Kennnummer steht für einen bestimmten Wert der maximalen Bildgröße als zusätzliche Kodierbedingung. Der Levelanalysator 100c enthält die Daten der Tabelle T1 von 15 und die Daten der Tabelle T3 von 18(a). Die Tabelle T1 gibt die Entsprechung zwischen Kennnummerwert und der maximalen Anzahl der Intra-Frame-Pixel sowie der maximalen Anzahl der Speicherpixel an. Die Tabelle T3 gibt die Entsprechung zwischen dem Kennnummeriert und der maximalen Anzahl (H) der vertikalen Pixel sowie der maximalen Anzahl (W) der horizontalen Pixel an. Außerdem setzen sich die Maximalbildgrößendaten Impx aus den Imhpx-Daten, die die maximale Anzahl (H) der vertikalen Pixel (Vertikalpixelzahldaten) angeben, und den Imwpx-Daten, die die maximale Anzahl (W) der horizontalen Pixel angeben, zusammen. Der Bitstromgenerator 103 der Bewegtbildkodiervorrichtung 10c kodiert die Ausgabedaten (kodierten Daten) Cd aus dem prädiktiven Restkodierer 102 nach Lauflänge und gibt den Bitstrom Bsc aus, der erhalten wird, indem ein Code für den Bewegungsvektor MV, ein Code für das Modussignal Ms, ein Code für das Levelsignal Lst und ein Code für das Kennnummersignal Sid dem Bitstrom angefügt werden, der bei der Lauflängenkodierung erhalten wurde.
  • Der Aufbau der übrigen Komponenten der Bewegtbildkodiervorrichtung 10c gemäß dem dritten Ausführungsbeispiel ist der gleiche wie bei der Bewegtbildkodiervorrichtung 10a des ersten Ausführungsbeispiels.
  • 14(c) zeigt die Datenstruktur des Bitstroms Bsc, der einem Eingabebild entspricht.
  • Der Bitstrom Bsc setzt sich zusammen aus einem Kopfabschnitt Hc, der verschiedene Arten von Kopfdaten enthält, und einem Sequenzdatenabschnitt Dsq, der kodierte Daten (einen Bitstrom) enthält, die den Bilddaten der einzelnen Bilder entsprechen.
  • Als Kopfdaten sind im Kopfabschnitt Hc des Bitstroms Bsc der Code H1, der dem Levelidentifikator entspricht, und der Code H3, der dem Kennnummersignal Sid entspricht, enthalten. Daneben ist im Sequenzdatenabschnitt Dsq des Bitstroms Bsc der Sequenzkopf Sh enthalten, der die Größe des Eingabebildes angibt, d. h. die Anzahl der vertikalen Pixel und die Anzahl der horizontalen Pixel des Eingabebildes. Im einzelnen wird der Code H3 durch Kodieren des Kennnummersignals Sid, das den Kennnummerwert zur Anzeige der maximalen Anzahl der vertikalen Pixel und der maximalen Anzahl der horizontalen Pixel (18(a)) anzeigt, erhalten.
  • 7 ist ein Blockschaltbild, das den speziellen Aufbau der Kodierbarkeitsbeurteilungseinheit 108c zeigt.
  • Die Kodierbarkeitsbeurteilungseinheit 108c besteht nur aus der Multiplikationsschaltung 206, dem ersten Komparator 203, dem zweiten Komparator 204 und der UND-Einheit 205 der Kodierbarkeitsbeurteilungseinheit 108a gemäß dem ersten Ausführungsbeispiel. Statt der Ausgaben Trnd1 und Trnd2 aus dem 16-fach-Konverter 202 bei der Kodierbarkeitsbeurteilungseinheit 108a des ersten Ausführungsbeispiels werden die Imhpx-Daten der maximalen Anzahl (H) der vertikalen Pixel und die Imwpx-Daten der maximalen Anzahl (W) der horizontalen Pixel vom Levelanalysator 100c als Maximalbildgrößendaten Impx in den zweiten Komparator 204 eingegeben.
  • Es folgt eine Beschreibung der Funktionsweise.
  • Die Funktionsweise der Bewegtbildkodiervorrichtung 10c gemäß dem dritten Ausführungsbeispiel unterscheidet sich von der Funktionsweise der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel nur beim Levelanalysator 100c, bei der Kodierbarkeitsbeurteilungseinheit 108c und beim Bitstromgenerator 103.
  • Bei der Bewegtbildkodiervorrichtung 10c gemäß dem dritten Ausführungsbeispiel wird vor dem Kodieren eines Eingabebildes auf der Basis des Aufbaus des Speichers oder dergleichen in der Bewegtbildkodiervorrichtung 10c und des Aufbaus des Speichers oder dergleichen in der Bewegtbilddekodiervorrichtung, in die die kodierten Daten eingespeist werden, unter mehreren voreingestellten Kodierle veln, die als Kodierbedingungen zu verwenden sind, der benötigte Level ausgewählt; außerdem wird unter mehreren Kennnummerleveln, die als zusätzliche Kodierbedingungen verwendet werden, ein vorgegebener Level ausgewählt. Genauer gesagt, erfolgt die Wahl des Kodierlevels durch den Benutzer unter Bezugnahme auf die Tabelle T1, und wird das Levelsignal (der Levelidentifikator) Lst, das den gewählten Level anzeigt, vom Benutzer in die Bewegtbildkodiervorrichtung 10c eingespeist. Die Wahl des Kennnummerlevels erfolgt durch den Benutzer anhand der Tabelle T3, und das Kennnummersignal Sid, das die Kennnummer anzeigt, die dem gewählten Level entspricht, wird vom Benutzer in die Bewegtbildkodiervorrichtung 10c eingespeist.
  • Dabei sind der Kodierlevel, die maximale Anzahl der Intra-Frame-Pixel und die maximale Anzahl der Speicherpixel dieselben wie beim ersten Ausführungsbeispiel. Zusätzlich sind in Tabelle T3 von 18(a) vier Kennnummerlevel festgelegt, die den Werten (1)–(4) der Kennnummer entsprechen. Die Werte (1)–(4) der Kennnummer korrelieren mit bestimmten Werten der maximalen Anzahl (H) der vertikalen Pixel bzw. der maximalen Anzahl (W) der horizontalen Pixel.
  • Wenn bei der Bewegtbildkodiervorrichtung 10c das Levelsignal Lst und das Kennnummersignal Sid, die vom Benutzer eingegeben werden, in den Levelanalysator 100c eingespeist sind, nimmt dieser auf die Tabelle T1 (15) und die Tabelle T3 (18(a)) Bezug, die in ihm enthalten sind, und gibt die Ifpx-Daten für die maximale Anzahl der Intra-Frame-Pixel und die Ispx-Daten für die maximale Anzahl der Speicherpixel, die dem Kodierlevel entsprechen, der durch das Levelsignal Lst angezeigt wird, das vom Benutzer ausgewählt wurde, aus, ebenso wie die Maximalbildgrößendaten Imps, die dem Level der Kennnummer entsprechen, die durch das Kennnummersignal Sid angezeigt wird, das vom Benutzer ausgewählt worden ist. Die Ifpx-Daten für die maximale Anzahl der Intra-Frame-Pixel und die Maximalbildgrößendaten Impx werden in die Kodierbarkeitsbeurteilungseinheit 108c eingespeist, und die Ispx-Daten für die maximale Anzahl der Speicherpixel werden in den Kalkulator 109a für die maximale Anzahl der Referenzbilder eingespeist.
  • Wenn Bilddaten Id des Bewegtbilds (Eingabebild) in Bildeinheiten in Darstellungsreihenfolge in den Bildspeicher 101 eingespeist werden, werden Bilddaten, die den einzelnen Bildern entsprechen, nacheinander im Bildspeicher 101 gespeichert, und die gespeicherten Bilddaten Sld werden vom Bildspeicher 101 in Kodierungsreihenfolge in Blockeinheiten (Makroblöcken), die das Bild ergeben, ausgegeben. Dabei werden die Ipx-Daten für die Größe des Eingabebildes vom Bildspeicher 101 an die Kodierbarkeitsbeurteilungseinheit 108c und den Kalkulator 109a für die maximale Anzahl der Referenzbilder ausgegeben.
  • Dann beurteilt die Kodierbarkeitsbeurteilungseinheit 108c auf der Basis der Eingabebildgrößendaten Ipx, die vom Bildspeicher 101 ausgegeben wurden, sowie der Ifpx-Daten für die maximale Anzahl der Intra-Frame-Bilder und der Impx-Daten für die maximale Bildgröße, die vom Levelanalysator 100c ausgegeben wurden, ob das Eingabebild kodiert werden kann, und gibt ein Signal, das das Beurteilungsergebnis anzeigt, nämlich das Beurteilungsergebnissignal CSjd, an die Steuereinheit 110 aus.
  • Wenn das Beurteilungsergebnissignal CSjd besagt, dass das Eingabebild kodierbar ist, schaltet die Steuereinheit 110 auf der Basis der Bilddaten Sld aus dem Bildspeicher 101 auf den Modus prädiktives Interbildkodieren von Bilddaten oder den Modus prädiktives Intra-Bild-Kodieren von Bilddaten und gibt an die entsprechenden Komponenten Steuersignale aus. Die entsprechenden Komponenten der Bewegtbildkodiervorrichtung 10c werden wie beim ersten Ausführungsbeispiel entsprechend dem Beurteilungsergebnissignal CSjd mit den Steuersignalen Sct1, Sct2, ..., Sctn von der Steuereinheit 110 gesteuert.
  • Außerdem berechnet der Kalkulator 109a für die maximale Anzahl der Referenzbilder die maximale Anzahl (Nrpn) der Referenzbilder auf der Basis der Ispx-Daten für die maximale Anzahl der Speicherpixel, der Ihpx-Daten für die Anzahl der vertikalen Pixel des Eingabebildes und der Iwpx-Daten für die Anzahl der horizontalen Pixel des Eingabebildes und gibt die Irpn-Daten aus, die die errechnete Anzahl Nrpn (die maximale Anzahl der Referenzbilder) anzeigen.
  • Wenn bei diesem dritten Ausführungsbeispiel der Modus prädiktives Interbildkodieren gewählt wird, erfolgt die prädiktive Interbildkodierung des Eingabebildes auf dieselbe Weise wie beim ersten Ausführungsbeispiel, ebenso wie das prädik tive Intra-Bild-Kodieren des Eingabebildes wie beim ersten Ausführungsbeispiel erfolgt, wenn der Modus prädiktives Intra-Bild-Kodieren gewählt wurde.
  • Wenn jedoch beim dritten Ausführungsbeispiel der Modus prädiktives Interbildkodieren gewählt wird, erzeugt der Bitstromgenerator 103 einen Bitstrom, der den prädiktiv kodierten Restdaten Cd entspricht, die vom prädiktiven Restkodierer 102 ausgegeben wurden, und gibt den erzeugten Bitstrom zusammen mit einem Code, der dem Bewegungsvektor MV aus der Bewegungsvektorschätzeinheit 106 entspricht, einem Code, der dem Modussignal Ms aus der Steuereinheit 110 entspricht, einem Code, der dem Levelsignal Lst entspricht, und einem Code, der dem Kennnummersignal Sid entspricht, als Bitstrom Bsc (siehe 14(c)) aus. Wenn der Modus prädiktives Intra-Bild-Kodieren gewählt wird, erzeugt der Bitstromgenerator 103 einen Bitstrom, der den kodierten Daten Cd entspricht, die vom Kodierer 102 ausgegeben werden, und gibt den erzeugten Bitstrom zusammen mit einem Code, der dem Modussignal Ms aus der Steuereinheit 110 entspricht, einem Code, der dem Levelsignal Lst entspricht, und einem Code, der dem Kennnummersignal Sid entspricht, als Biststrom Bsc (siehe 14(c)) aus.
  • Es folgt eine Beschreibung der Funktionsweise der Kodierbarkeitsbeurteilungseinheit 108c der Bewegtbildkodiervorrichtung 10c unter Bezugnahme auf 7.
  • Die Kodierbarkeitsbeurteilungseinheit 108c der Bewegtbildkodiervorrichtung 10c gemäß dem dritten Ausführungsbeispiel beurteilt auf der Basis der obengenannten Bedingungsformeln (Formel 1, Formel 2a und Formel 2b), ob ein Eingabebild kodiert werden kann. Die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel werden mit anderen Worten auf der Basis von Formel 1, Formel 2a, Formel 2b und der Daten aus der Tabelle T3 von 18(a) ermittelt. Dabei sind die Formel 1, die Formel 2a und die Formel 2b in Anspruch 3 definiert.
  • Im einzelnen enthält der Levelanalysator 100c bei diesem dritten Ausführungsbeispiel die Tabelle T3 von 18(a) und werden in der Kodierbarkeitsbeurteilungseinheit 108c des dritten Ausführungsbeispiels die Daten Imhpx und Imwpx, die die maximale Anzahl (H) der vertikalen Pixel bzw. die maximale Anzahl (W) der horizontalen Pixel anzeigen, die vom Levelanalysator 100c auf der Basis der Tabelle T3 ausgegeben werden, unmittelbar in den zweiten Komparator 204 eingegeben.
  • Der zweite Komparator 204 nimmt dann den Vergleich zwischen der Anzahl (h) der vertikalen Pixel des Eingabebildes und der maximalen Anzahl (H) der vertikalen Pixel (d. h. den Vertikalpixelzahlvergleich) und den Vergleich zwischen der Anzahl (w) der horizontalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel (d. h. den Horizontalpixelzahlvergleich) vor und gibt das Vergleichsergebnissignal Scm2a, welches das Ergebnis des Vertikalpixelzahlvergleichs anzeigt, und das Vergleichsergebnissignal Scm2b, welches das Ergebnis des Horizontalpixelzahlvergleichs anzeigt, an die UND-Einheit 205 aus.
  • Wie vorstehend beschrieben, enthält die Bewegtbildkodiervorrichtung 10c gemäß dem dritten Ausführungsbeispiel den Levelanalysator 100c, der die maximale Anzahl der kodierbaren Intra-Frame-Pixel (Nfpx) und die maximale Anzahl der Speicherpixel (Nspx), die im Bildspeicher der Dekodiervorrichtung gespeichert werden kann, entsprechend dem Levelsignal (Levelidentifikatorsignal) Lst, das vom Benutzer eingegeben wird, und die maximale Anzahl (H) der vertikalen Pixel sowie die maximale Anzahl (W) der horizontalen Pixel entsprechend dem Kennnummersignal Sid, das vom Benutzer eingegeben wird, festlegt und dadurch auf der Basis der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel, der maximalen Anzahl (H) der vertikalen Pixel, der maximalen Anzahl (W) der horizontalen Pixel und der Eingabebildgröße (Anzahl (h) der vertikalen Pixel und Anzahl (w) der horizontalen Pixel) beurteilt, ob das Eingabebild kodiert werden kann, und die Anzahl der möglichen Referenzbilder (maximale Anzahl der Referenzbilder) Nrpn, auf die beim prädiktiven Interbildkodieren Bezug genommen werden kann, berechnet. Somit kann die Dekodiervorrichtung, in die ein Bitstrom aus der Bewegtbildkodiervorrichtung 10c eingespeist wird, diesen stets zufriedenstellend dekodieren, so dass eine prädiktive Bilddekodierung, die der prädiktiven Bildkodierung auf Kodierungsseite entspricht, erfolgen kann. Folglich können Speicherbereiche in der Kodiervorrichtung und in der Dekodiervorrichtung entsprechend einem Kodierverfahren festgelegt werden, bei dem die Kapazität des Speicherbereichs nicht begrenzt ist.
  • Bei diesem dritten Ausführungsbeispiel werden die Werte, die durch die Impx-Daten angezeigt werden, die aus dem Levelanalysator 100c kommen, als die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel verwendet. Dadurch ist der Vorgang der Ermittlung der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel im Vergleich zum ersten Ausführungsbeispiel vereinfacht.
  • Bei diesem dritten Ausführungsbeispiel werden der Levelidentifikator, der der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel und der maximalen Anzahl (Nspx) der Speicherpixel entspricht, und die Kennnummer, die der maximalen Anzahl (H) der vertikalen Pixel sowie der maximalen Anzahl (W) der horizontalen Pixel entspricht, als Parameter verwendet, die unabhängige Kodierbedingungen anzeigen. Jedoch können die Werte der Kennnummer mit den Werten des Levelidentifikators korreliert werden.
  • In diesem Fall sind bestimmte Werte der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel und der maximalen Anzahl (Nspx) der Speicherpixel Werte, die auf der Basis von Tabelle T1 entsprechend dem Levelidentifikator, der den gewählten Kodierlevel angibt, festgelegt werden, während bestimmte Werte der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel Werte sind, die auf der Basis von Tabelle T3 entsprechend der Kennnummer, die mit dem gewählten Kodierlevel korreliert, festgelegt werden. Wenn also das Levelsignal Lst, das den festgelegten Kodierlevel anzeigt, vom Benutzer in den Levelanalysator 100c eingespeist wird, gibt dieser entsprechend dem Levelsignal Lst die Daten Ifpx und Ispx aus, welche die maximale Anzahl (Nfpx) der Intra-Frame-Pixel und die maximale Anzahl (Nspx) der Speicherpixel anzeigen, und gibt außerdem auf der Basis der Kennnummer, die dem Levelidentifikator entspricht, die Maximalbildgrößendaten Impx aus. Daneben enthält der Bitstrom Bsc nur den Code H1, der dem Levelsignal Lst entspricht, so dass der Code H3, der dem Kennnummersignal Sid entspricht, nicht zur Dekodierungsseite übertragen wird.
  • Bei diesem dritten Ausführungsbeispiel überträgt die Bewegtbildkodiervorrichtung den Code des Levelsignals Lst, der der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel und der maximalen Anzahl (Nspx) der Speicherpixel entspricht, die vom Benutzer gewählt wurden, und den Code H3 des Kennnummersignals Sid, der der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel entspricht, die vom Benutzer gewählt worden sind, zur Dekodierungsseite. Jedoch kann die Bewegtbildkodiervorrichtung die Impx-Daten der maximalen Bildgröße, die die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel angeben, die vom Benutzer willkürlich festgelegt worden sind, kodieren, um anstelle des Codes H3 des Kennnummersignals Sid die kodierten Daten der maximalen Pixelanzahl zur Dekodierungsseite zu übertragen.
  • Dabei sind bestimmte Werte der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel und der maximalen Anzahl (Nspx) der Speicherpixel Werte, die auf der Basis von Tabelle T1 entsprechend dem Levelidentifikator festgelegt werden, der den gewählten Kodierlevel anzeigt, während bestimmte Werde der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel willkürlich vom Benutzer festgelegt werden. Wenn also das Levelsignal Lst, das den festgelegten Kodierlevel anzeigt, vom Benutzer in den Levelanalysator 100c eingespeist wird, gibt dieser die Ifpx-Daten, die die maximale Anzahl (Nfpx) der Intra-Frame-Pixel anzeigen, die entsprechend dem Levelsignal Lst aus der Tabelle T1 ausgewählt wurde, an die Kodierbarkeitsbeurteilungseinheit 108c und die Ispx-Daten, die die maximale Anzahl (Nspx) der Speicherpixel angeben, die aus der Tabelle T1 ausgewählt wurde, an den Kalkulator 109a für die maximale Anzahl der Referenzbilder aus. Außerdem werden die Impx-Daten der maximalen Bildgröße, die bestimmte Werte der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel angeben, die vom Benutzer festgelegt wurden, unmittelbar von außerhalb in die Kodierbarkeitsbeurteilungseinheit 108c eingespeist. Daneben enthält der Bitstrom Bsc den Code H1, der dem Levelsignal Lst entspricht, und den Code, der den Impx-Daten für die maximale Bildgröße entspricht, so dass der Code H1, der dem Levelsignal Lst entspricht, und der Code, der den Impx-Daten für die maximale Bildgröße entspricht, zur Dekodierungsseite übertragen werden.
  • Außerdem wird bei diesem dritten Ausführungsbeispiel die Tabelle T3, in der mehrere Werte der Kennnummer in Korrelation gesetzt sind zu jeweils einem Paar maximale Anzahl der vertikalen Pixel/maximale Anzahl der horizontalen Pixel (18(a)) als Tabelle verwendet, in der die Entsprechung zwischen verschiedenen Werten der Kennnummer und der maximalen Anzahl der vertikalen Pixel bzw. der maximalen Anzahl der horizontalen Pixel festgelegt ist. Anstelle der Tabelle T3 können jedoch auch die Tabelle T3a, in der Werte der Kennnummer in Korrelation gesetzt sind zur maximalen Anzahl (H) der vertikalen Pixel (18(b)) und die Tabelle T3b, in der Werte der Kennnummer in Korrelation gesetzt sind zur maximalen Anzahl (W) der horizontalen Pixel (18(c)), verwendet werden. Außerdem ist die Anzahl der Kombinationen der maximalen Anzahl der vertikalen Pixel und der maximalen Anzahl der horizontalen Pixel in den Tabellen T3, T3a und T3b und ihrer Werte selbstverständlich nicht auf die in 18(a) bis 18(c) ausgewiesenen beschränkt.
  • Außerdem sind bei der Beschreibung der Ausführungsbeispiele 1 bis 3 durch die Formel 2a und die Formel 2b Beschränkungen bei der Anzahl der vertikalen Pixel und der Anzahl der horizontalen Pixel eines kodierbaren Eingabebildes gegeben, während die Größenbeschränkung des kodierbaren Eingabebildes festgelegt werden kann, indem entweder nur die Anzahl der vertikalen Pixel oder nur die Anzahl der horizontalen Pixel begrenzt wird.
  • Außerdem kann die Kodierbarkeit eines Eingabebildes auch nur auf Basis des Vergleichs zwischen der maximalen Anzahl der Intra-Frame-Pixel und der durch die Formel 1 angezeigten Anzahl der vertikalen und der horizontalen Pixel des Eingabebildes und ohne Anwendung von Formel 2a, Formel 2b, Formel 3a, Formel 3b, Formel 8a und Formel 8b, die bei den vorgenannten Ausführungsbeispielen angewendet worden sind, beurteilt werden.
  • Beim dritten Ausführungsbeispiel wird der Wert der Kennnummer vom Benutzer anhand der Tabelle T3 von 18(a) festgelegt, jedoch kann die Festlegung durch den Benutzer statt anhand der Tabelle T3 von 18(a) auch anhand der nachstehenden Formel 10 erfolgen. (Kennnummer) = transC (maximale Anzahl der vertikalen Pixel, maximale Anzahl der horizontalen Pixel) Formel 10
  • Dabei ist transC ein Zeichen für eine Operation zur Ermittlung einer Kennnummer, bei der die maximale Anzahl der vertikalen Pixel und die maximale Anzahl der horizontalen Pixel als Argumente verwendet werden. Wenn die maximale Anzahl der vertikalen Pixel und die maximale Anzahl der horizontalen Pixel des Eingabebildes, das von der Bewegtbildkodiervorrichtung kodiert werden kann, durch den Benutzer festgelegt werden, wird der entsprechende Wert der Kennnummer nach Formel 10 festgelegt.
  • Außerdem können anstelle der Tabelle T3a, in der die Entsprechung zwischen Kennnummerwerten und der maximalen Anzahl der vertikalen Pixel (18(b)) angegeben ist, und der Tabelle T3b, in der die Entsprechung zwischen Kennnummerwerten und der maximalen Anzahl der horizontalen Pixel (18(c)) angegeben ist, auch die nachstehenden Formeln 10a und 10b angewendet werden: (Kennnummer) = transCa (maximale Anzahl der vertikalen Pixel) Formel 10a (Kennnummer) = transCb (maximale Anzahl der horizontalen Pixel) Formel 10b
  • Dabei ist transCa() ein Zeichen für eine Operation zur Ermittlung eines Werts der Kennnummer unter Verwendung der maximalen Anzahl der vertikalen Pixel als Argument. Wenn der Benutzer die maximale Anzahl der vertikalen Pixel des Eingabebildes, das von der Bewegtbildkodiervorrichtung kodiert werden kann, festlegt, wird der entsprechende Wert der Kennnummer nach Formel 10a ermittelt.
  • Außerdem ist transCb() ein Zeichen für eine Operation zur Ermittlung eines Kennnummerwertes unter Verwendung der maximalen Anzahl der horizontalen Pixel als Argument. Wenn der Benutzer die maximale Anzahl der horizontalen Pixel des Eingabebildes festlegt, das von der Bewegtbildkodiervorrichtung kodiert werden kann, wird der entsprechende Kennnummerwert nach Formel 10b ermittelt.
  • Ausführungsbeispiel 4
  • 8 ist ein Blockschaltbild zur Erläuterung der Bewegtbildkodiervorrichtung 10d gemäß dem vierten Ausführungsbeispiel der Erfindung.
  • Die Bewegtbildkodiervorrichtung 10d gemäß dem vierten Ausführungsbeispiel hat anstelle des Kalkulators 109a für die maximale Anzahl der Referenzbilder der Bewegtbildkodiervorrichtung 10a des ersten Ausführungsbeispiels den Kalkulator 109d für die maximale Anzahl der Referenzbilder, der die maximale Anzahl (Nrpn) der Referenzbilder auf der Basis der Größendaten Ipx eines Eingabebildes (Vertikalpixelzahldaten Ihpx und Horizontalpixelzahldaten Iwpx des Eingabebildes), der Ispx-Daten für die maximale Anzahl der Speicherpixel und der Idwp-Daten für die auf die Darstellung wartende Anzahl von Pixeln berechnet und Daten ausgibt, die den berechneten Wert anzeigen (Nrpn), nämlich die Daten Iren für die maximale Anzahl der Referenzbilder.
  • Dabei sind die Idwp-Daten für die auf die Darstellung wartende Anzahl der Pixel Daten, welche die Anzahl der auf die Darstellung wartenden Bilder angeben. Die auf die Darstellung wartenden Bilder sind zuvor dekodierte Bilder, die nicht als Referenzbilder verwendet werden, wie oben unter Bezugnahme auf 26 beschrieben, und die Bilddaten dieser Bilder werden bis zu ihrer Darstellung im Bildspeicher der Dekodiervorrichtung gespeichert. Außerdem wird der Bildspeicher gemäß dem vierten Ausführungsbeispiel entsprechend dem Bildspeicher der Dekodiervorrichtung gesteuert, so dass die Bilddaten eines Bildes, das nicht als Referenzbild verwendet wird, aus dem Bildspeicher gelöscht werden, sobald das Bild dargestellt worden ist.
  • Der Aufbau der übrigen Komponenten der Bewegtbildkodiervorrichtung 10d gemäß dem vierten Ausführungsbeispiel ist derselbe wie bei der Bewegtbildkodiervorrichtung 10a des ersten Ausführungsbeispiels.
  • 9 ist ein Diagramm, das den speziellen Aufbau des Kalkulators 109d für die maximale Anzahl der Referenzbilder zeigt.
  • Der Kalkulator 109d für die maximale Anzahl der Referenzbilder besitzt zusätzlich zur Multiplikationsschaltung 401, der Divisionsschaltung 402, der Subtraktionsschaltung 403 und der Konstantspeichereinheit 404 des Kalkulators 109a für die maximale Anzahl der Referenzbilder beim ersten Ausführungsbeispiel die Subtraktionsschaltung 405, die auf der Basis der Bildanzahldaten Idwp aus dem Bildspeicher 105 die Anzahl der auf die Darstellung wartenden Bilder (Ndwp) im Bildspeicher von der Anzahl der Bilder subtrahiert, die durch das Rechenausgangssignal Sd1 aus der Subtraktionsschaltung 403 angezeigt wird, und das Ausgangssignal Sd2 als die Irpn-Daten der maximalen Anzahl der Referenzbilder ausgibt.
  • Es folgt eine Beschreibung der Funktionsweise.
  • Die Funktionsweise der Bewegtbildkodiervorrichtung 10d gemäß dem vierten Ausführungsbeispiel unterscheidet sich von derjenigen der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel nur in Bezug auf die Funktionsweise des Kalkulators 109d für die maximale Anzahl der Referenzbilder. Daher wird im folgenden nur die Funktionsweise des Kalkulators 109d für die maximale Anzahl der Referenzbilder unter Bezugnahme auf 9 beschrieben.
  • Der Kalkulator 109d für die maximale Anzahl der Referenzbilder der Bewegtbildkodiervorrichtung 10d gemäß dem vierten Ausführungsbeispiel berechnet die maximale Anzahl der möglichen Referenzbilder, die beim prädiktiven Interbildkodieren verwendet werden, nach der nachstehenden Formel 11. Die Formel 11 ist in Anspruch 6 definiert. Nrpn = Nspx ÷ (h × w) – 1 – Ndwp Formel 11
  • Dabei bedeutet h die Anzahl der vertikalen Pixel des Eingabebildes (des zu kodierenden Zielbildes) und w die Anzahl der horizontalen Pixel des Eingabebildes (des Zielbildes). Nrpn gibt die maximale Anzahl der Referenzbilder an, Nspx die maximale Anzahl der Speicherpixel und Ndwp die Anzahl der auf die Darstellung wartenden dekodierten Bilder. Bei diesem vierten Ausführungsbeispiel ist die maximale Anzahl Nspx der Speicherpixel der Maximalwert der Gesamtpixelzahl, die allen Speicherbildern entspricht, deren Bilddaten im Bildspeicher einer Bewegtbilddekodiervorrichtung gespeichert sind, die einen Bitstrom aus der Bewegtbildkodiervorrichtung 10d dekodiert. Die Speicherbilder sind Referenzbilder, ein zu dekodierendes Zielbild und auf die Darstellung wartende dekodierte Bilder.
  • Der Kalkulator 109d für die maximale Anzahl der Referenzbilder berechnet die Gesamtzahl der Pixel eines Bildes (h × w), die der Größe des Eingabebildes entspricht, auf der Basis der Vertikalpixelzahldaten Ihpx des Eingabebildes und der Horizontalpixelzahldaten Iwpx des Eingabebildes. Im einzelnen multipliziert die Multiplikationsschaltung 401 die Anzahl (h) der vertikalen Pixel des Eingabebildes, die durch die Vertikalpixelzahldaten Ihpx des Eingabebildes angegeben wird, mit der Anzahl (w) der horizontalen Pixel, die durch die Horizontalpixelzahldaten Iwpx angegeben wird, und gibt das Signal Shw aus, welches das Multiplikationsergebnis (h × w) anzeigt.
  • Die Divisionsschaltung 402 dividiert die maximale Anzahl (Nspx) der Speicherpixel durch das Multiplikationsergebnis (h × w) auf der Basis des Ausgangssignals Shw der Multiplikationsschaltung 401 und der Maximalspeicherpixelzahldaten Ispx aus dem Levelanalysator 100a und gibt das Ausgangssignal Dpm aus, welches das Divisionsergebnis (Nspx/(h × w)) anzeigt.
  • Die Subtraktionsschaltung 403 subtrahiert auf der Basis des Ausgangssignals Dpm der Divisionsschaltung 402 und der Zahlenwertdaten Sn1 aus der Konstantspeichereinheit 404 1 vom Divisionsergebnis (Nspx/(h × w)) und gibt das Subtraktionsausgangssignal Sd1 aus, welches das Subtraktionsergebnis (Nspx/(h × w) – 1) anzeigt.
  • Außerdem subtrahiert die Subtraktionsschaltung 405 die Anzahl (Ndwp) der auf die Darstellung wartenden Bilder vom Subtraktionsergebnis (Nspx/(h × w) – 1) auf der Basis des Subtraktionsausgangssignals Sd1 und der Bildanzahldaten Idwp aus dem Bildspeicher, wodurch die maximale Anzahl der Referenzbilder festgelegt ist.
  • Die Subtraktionsschaltungen 403 und 405 subtrahieren deshalb 1 bzw. die Anzahl (Ndwp) der auf die Darstellung wartenden Bilder vom Divisionsergebnis (Nspx/(h × w)), weil die dekodierten Bilddaten eines zu dekodierenden Zielbildes und die auf die Darstellung wartenden Bilder sowie die Bilddaten der möglichen Referenzbilder, die beim prädiktiven Interbilddekodieren verwendet werden, im Bildspeicher der Dekodiervorrichtung gespeichert werden müssen.
  • Wie oben beschrieben, enthält die Bewegtbildkodiervorrichtung 10d gemäß dem vierten Ausführungsbeispiel den Levelanalysator 100a, der auf der Basis des Levelsignals LSt, das den vom Benutzer vorgegebenen Kodierlevel anzeigt, die maximale Anzahl der Intraframepixel (Nfpx), die kodiert werden können, und die maximale Anzahl der Speicherpixel (Nspx), die im Bildspeicher der Dekodiervorrichtung gespeichert werden können, festlegt und damit auf der Basis der maximalen Anzahl (Nfpx) der Intraframepixel und der Eingabebildgröße (der Anzahl Nhpx der vertikalen Pixel und der Anzahl (Nwpx) der horizontalen Pixel) die Beurteilung vornimmt, ob das Eingabebild kodiert werden kann, und die Anzahl Nrpn der möglichen Referenzbilder berechnet, auf die beim prädiktiven Interbildkodieren Bezug genommen werden kann. Damit kann eine Dekodiervorrichtung, in die ein Bitstrom aus der Bewegtbildkodiervorrichtung 10b eingespeist wird, diesen stets zufriedenstellend dekodieren, so dass eine prädiktive Bilddekodierung, die der prädiktiven Bildkodierung auf Kodierungsseite entspricht, ausgeführt werden kann. Folglich kann für die Kodiervorrichtung und für die Dekodiervorrichtung jeweils ein Speicherbereich festgelegt werden, der zu einem Kodierverfahren passt, bei dem die Kapazität des Speicherbereichs nicht beschränkt ist.
  • Bei diesem vierten Ausführungsbeispiel wird die maximale Anzahl der Referenzbilder, die im Bildspeicher gespeichert werden, in Anbetracht der Anzahl (Ndwp) der auf die Darstellung wartenden Bilder festgelegt, so dass der Bildspeicher, in dem die Bilddaten der möglichen Referenzbilder gespeichert sind, entsprechend dem Verarbeitungsstand der Bilddaten effizient genutzt werden kann.
  • Beim vierten Ausführungsbeispiel ist die maximale Anzahl Nspx der Speicherpixel der maximale Wert der Gesamtpixelzahl, die allen Speicherbildern entspricht, deren Bilddaten im Bildspeicher der Bewegtbilddekodiervorrichtung gespeichert sind, die einen Bitstrom aus der Bewegtbildkodiervorrichtung 10d dekodiert, wobei die Speicherbilder Referenzbilder, ein zu dekodierendes Zielbild und die auf die Darstellung wartenden dekodierten Bilder sind. Jedoch kann die maximale Anzahl der Speicherpixel auch so festgelegt werden, dass sie die Anzahl der dem zu dekodierenden Zielbild entsprechenden Pixel nicht enthält.
  • In diesem Fall wird anstelle der Formel 11 die nachstehende Formel 11a verwendet: Nrpn = Nspx = (h × w) – Ndwp Formel 11a
  • Somit legt der in 9 dargestellte Kalkulator 109d für die maximale Anzahl der Referenzbilder die maximale Anzahl der Referenzbilder fest, ohne vom Divisionsergebnis (Nspx/(h × w)) 1 zu subtrahieren.
  • Dabei ist mit h die Anzahl der vertikalen Pixel des zu kodierenden Zielbildes, mit w die Anzahl der horizontalen Pixel des Zielbildes, mit Nrpn die maximale Anzahl der Referenzbilder, mit Nspx die maximale Anzahl der Speicherpixel und mit Ndwp die Anzahl der auf die Darstellung wartenden Bilder angegeben.
  • Bei diesem vierten Ausführungsbeispiel erfolgt die Steuerung des Bildspeichers an die Steuerung des Bildspeichers der Dekodiervorrichtung angepasst, um die Bilddaten von Bildern, die nicht als Referenzbilder verwendet werden, gleich nach deren Darstellung aus dem Bildspeicher zu löschen. Jedoch können die Bilddaten von Bildern, die nicht als Referenzbilder verwendet werden, auch zu einem anderen Zeitpunkt als unmittelbar nach der Darstellung der Bilder gelöscht werden, wie beim vierten Ausführungsbeispiel beschrieben.
  • Beispielsweise kann die Steuerung des Bildspeichers beim vierten Ausführungsbeispiel an die Steuerung des Bildspeichers der Dekodiervorrichtung angepasst erfolgen, um Bilddaten eines Bildes, das im Bildspeicher bespeichert ist, aber nicht als Referenzbild verwendet wird, nach Ablauf der Dauer der Darstellung eines Bildes aus dem Bildspeicher zu löschen.
  • Ausführungsbeispiel 5
  • 10 ist ein Blockschaltbild zur Erläuterung der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel der Erfindung.
  • Die Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel empfängt einen Bitstrom, der mehreren Bildern entspricht, die ein Bewegtbild bilden, und dekodiert den Bitstrom in vorgegebenen Datenverarbeitungseinheiten, d. h. in Blockeinheiten. Genauer gesagt, dekodiert diese Bewegtbilddekodiervorrichtung 50a einen Bitstrom Bsa (siehe 14(a)), der von der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel erzeugt wird. Dabei ist ein Block ein Makroblock, der sich aus 16 vertikalen Pixeln × 16 horizontalen Pixeln zusammensetzt.
  • Die Bewegtbilddekodiervorrichtung 50a enthält also einen Bitstromanalysator 501, der den eingespeisten Bitstrom Bsa analysiert und verschiedene Arten von Kopfdaten, die im Kopfteil Ha des Bitstroms Bsa gespeichert sind, sowie Daten, die im Sequenzdatenteil Dsq des Bitstroms Bsa gespeichert sind, ausgibt. Dabei ist im Kopfteil Ha als Kopfdaten beispielsweise der Levelidentifikator H1 enthalten. Daneben enthält der Sequenzdatenteil Dsq den Sequenzkopf Sh und zusätzlich die Daten Ms für den Kodierungsmodus, kodierte Daten Cd, die Daten MV für den Bewegungsvektor und dergleichen, die den einzelnen Makroblöcken entsprechen. Außerdem sind im Sequenzkopf Sh die Daten Ipx (Eingabebildgrößendaten) enthalten, die die Größe des Eingabebildes angeben, das Gegenstand des Kodierungsvorgangs auf Kodierungsseite war. Diese Eingabebildgrößendaten Ipx setzen sich aus den Daten Ihpx für die Anzahl der vertikalen Pixel (Nhpx) des Eingabebildes und den Daten Iwpx für die Anzahl der horizontalen Pixel (Nwpx) des Eingabebildes zusammen.
  • Die Bewegtbilddekodiervorrichtung 50a enthält einen prädiktiven Restdekoder 502, der kodierte Daten Cd aus dem Bitstromanalysator 501 dekodiert und dabei dekomprimiert und die dekodierten Restdaten Dd des Zielblocks ausgibt, eine Additionsschaltung 511, die die dekodierten Restdaten Dd des Zielblocks und die prädiktiven Daten Pd des Zielblocks addiert und die Bilddaten Rd des Zielblocks (im folgenden als dekodierte Daten bezeichnet) ausgibt, und einen Bildspeicher 503, der entweder die Ausgangsdaten Dd des prädiktiven Restdekoders 502 oder die Ausgangsdaten Rd der Additionsschaltung 511 vorübergehend speichert und die gespeicherten dekodierten Daten Ed als Daten DRd eines Bildes, auf das beim Dekodieren des Zielblocks Bezug genommen werden soll, entsprechend einem Bildkennungssignal DSpd ausgibt. Dabei werden im Bildspeicher 503 die Bilddaten dekodierter Bilder, die in der Dekodierungsreihenfolge angeordnet sind, in die Darstellungsreihenfolge umgeordnet. Die in die Darstellungs reihenfolge gebrachten Bilddaten der dekodierten Bilder werden vom Bildspeicher 503 in Bildeinheiten als die Bilddaten Od des Ausgabebildes ausgegeben.
  • Die Bewegtbilddekodiervorrichtung 50a enthält einen Bewegungsausgleichsdekoder 504, der auf der Basis des Bewegungsvektors MV aus dem Bitstromanalysator 501 und der Ausgangsdaten DRd (Daten der möglichen Referenzbilder) aus dem Bildspeicher 503 prädiktive Daten Pd für den Zielblock erzeugt, und eine Bewegungsvektorspeichereinheit 505, die den Bewegungsvektor MV eines Blocks, der in den Bewegungsausgleichsdekoder 504 eingespeist worden ist, speichert.
  • Die Bewegtbilddekodiervorrichtung 50a enthält einen Wählschalter 508, der entweder die Ausgangsdaten Dd des prädiktiven Restdekoders 502 oder die Ausgangsdaten Rd der Additionsschaltung 511 auswählt und die gewählten Daten als gewählte Daten Ed ausgibt. Dabei hat der Wählschalter 508 die zwei Eingänge Tc1 und Tc2 und den Ausgang Td. Je nach dem Schaltersteuersignal wird der Ausgang Td mit dem Eingang Tc1 oder dem Eingang Tc2 verbunden.
  • Die Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel enthält den Levelanalysator 509a, der die Daten Ifpx für die maximale Anzahl der dekodierbaren Intra-Frame-Pixel (Nfpx) (d. h. die Angabe der maximalen Anzahl der Intra-Frame-Pixel) und die Daten Ispx für die maximale Anzahl der Bilddaten, die im Bildspeicher der Dekodiervorrichtung gespeichert werden können (d. h. die maximale Anzahl der Speicherpixel (Nspx), entsprechend dem Levelsignal (Levelidentifikator) Lst aus dem Bitstromanalysator 501, der den Kodierlevel angibt, ausgibt. Diese Levelanalysatoreinheit 509 enthält die Daten der Tabelle T1 von 15. In der Tabelle T1 ist die Entsprechung zwischen dem Levelidentifikatorwert und der maximalen Anzahl der Intra-Frame-Pixel sowie der maximalen Anzahl der Speicherpixel festgelegt.
  • Die Bewegtbilddekodiervorrichtung 50a enthält eine Beurteilungseinheit 506a (Dekodierbarkeitsbeurteilungseinheit), die auf der Basis der Daten Ifpx für die maximale Anzahl der Intra-Frame-Pixel, die vom Levelanalysator 509a ausgegeben werden, und der Daten (Eingabebildgrößendaten) Ipx für die Anzahl (h) der vertikalen Pixel und die Anzahl (w) der horizontalen Pixel des Eingabebildes, die vom Bitstromanalysator 501 ausgegeben werden, beurteilt, ob der eingespeiste Bitstrom dekodiert werden kann, und als Beurteilungsergebnis das Signal DSjd (Beurteilungsergebnissignal) ausgibt. Die Bewegtbilddekodiervorrichtung 50a enthält außerdem einen Kalkulator 507a (Kalkulator für die maximale Anzahl der Referenzbilder), der auf der Basis der Daten Ispx für die maximale Anzahl der Speicherpixel und der Eingabebildgrößendaten Ipx die Anzahl Nrpn der möglichen Referenzbilder (die maximale Anzahl der Referenzbilder), auf die beim prädiktiven Interbilddekodieren Bezug genommen werden kann, berechnet und für die berechnete Anzahl (maximale Anzahl der Referenzbilder) die Daten Iren ausgibt.
  • Die Bewegtbilddekodiervorrichtung 50a enthält außerdem die Steuereinheit 510, welche mit den Steuersignalen Dct1, Dct2, ..., Dctn auf der Basis des Beurteilungsergebnissignals DSjd und der Kodiermodusangabe Ms aus dem Bitstromanalysator 501 die einzelnen Komponenten der Bewegtbilddekodiervorrichtung 50a steuert. Diese Steuereinheit 510 steuert den Schalter 508 mit einem festgelegten Steuersignal entsprechend dem Kodiermodus, der durch das Modussignal Ms aus dem Bitstromanalysator 501 angezeigt wird. Die Steuereinheit 510 steuert außerdem auf der Basis des Beurteilungsergebnissignals DSjd den prädiktiven Restdekoder 501, den Bewegungsausgleichsdekoder 504 und dergleichen mit den Steuersignalen Dct1, Dct2, ..., Dctn. Wenn also das Beurteilungsergebnissignal DSjd besagt, dass der eingespeiste Bitstrom Bsa dekodiert werden kann, steuert die Steuereinheit 510 den prädiktiven Restdekoder 502, den Bewegungsausgleichsdekoder 504 und dergleichen so, dass der eingespeiste Bitstrom Bsa dekodiert wird. Besagt das Beurteilungsergebnissignal DSjd dagegen, dass der eingespeiste Bitstrom Bsa nicht dekodierbar ist, steuert die Steuereinheit 510 den prädiktiven Restdekoder 502, den Bewegungsausgleichsdekoder 504 und dergleichen so, dass die Dekodierung des eingespeisten Bitstroms Bsa nicht erfolgt.
  • Die Dekodierbarkeitsbeurteilungseinheit 506a der Bewegtbilddekodierungsvorrichtung 50a entsprechend dem fünften Ausführungsbeispiel hat den gleichen Aufbau wie die Kodierbarkeitsbeurteilungseinheit 108a der Bewegtbildkodiervorrichtung 10a entsprechend dem in 2 dargestellten ersten Ausführungsbeispiel.
  • Der Kalkulator 507a für die maximale Anzahl der Referenzbilder der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel hat den gleichen Aufbau wie der Kalkulator 109a für die maximale Anzahl der Referenzbilder bei der Bewegtbildkodiervorrichtung 10a entsprechend dem in 3 dargestellten Ausführungsbeispiel.
  • Es folgt eine Beschreibung der Funktionsweise.
  • Wenn der Bitstrom Bsa in die Bewegtbilddekodiervorrichtung 50a eingespeist ist, analysiert zunächst der Bitstromanalysator 501 den Bitstrom Bsa zur Ermittlung verschiedener Informationen wie des Kodiermodus Ms, des Bewegungsvektors MV und der kodierten Daten Cd aus dem Bitstrom Bsa. Gleichzeitig entnimmt der Bitstromanalysator 501 verschiedene Kopfdaten aus dem Kopfteil Ha des Bitstroms Bsa und gibt die Kopfdaten an den Levelanalysator 509a, die Dekodierbarkeitsbeurteilungseinheit 506 und den Kalkulator 507a für die maximale Anzahl der Referenzbilder aus.
  • Der Levelanalysator 509a bestimmt die maximale Anzahl der Intra-Frame-Pixel (Nfpx) und die maximale Anzahl der Speicherpixel (Nspx) unter Bezugnahme auf die in ihm enthaltene Tabelle T1 (15) entsprechend dem Levelsignal Lst, das bestimmten Kopfdaten H1 entspricht, die im Kopfabschnitt Ha enthalten sind, und gibt die Daten Ifpx für die maximale Anzahl der Intra-Frame-Pixel und die Daten Ispx für die maximale Anzahl der Speicherpixel aus. Die Daten Ifpx für die maximale Anzahl der Intra-Frame-Pixel werden in die Dekodierbarkeitsbeurteilungseinheit 506a eingespeist, und die Daten Ispx für die maximale Anzahl der Speicherpixel werden in den Kalkulator 507a für die maximale Anzahl de Referenzbilder eingespeist.
  • Dann beurteilt die Dekodierbarkeitsbeurteilungseinheit 506a auf der Basis der Daten Ifpx für die maximale Anzahl der Intra-Frame-Pixel aus dem Levelanalysator 509a und der Eingabebildgrößendaten Ipx (Vertikalpixelzahldaten Ihpx und Horizontalpixelzahldaten Iwpx), die der Bitstromanalysator 501 aus dem Sequenzkopf Sh des Bitstroms Bsa entnommen hat, ob der eingespeiste Bitstrom Bsa dekodierbar ist, und gibt als Beurteilungsergebnis das Signal (Beurteilungsergebnissignal) DSjd an die Steuereinheit 510 aus.
  • Wenn das Beurteilungsergebnissignal DSjd besagt, dass der eingespeiste Bitstrom Bsa dekodierbar ist, steuert die Steuereinheit 510 die entsprechenden Komponenten der Bewegtbilddekodiervorrichtung mit den Steuersignalen Dct, Dct2, ..., Dctn so, dass der eingespeiste Bitstrom Bsa dekodiert wird, wohingegen dann, wenn das Beurteilungsergebnissignal DSjd besagt, dass der eingespeiste Bitstrom Bsa nicht dekodierbar ist, die Steuereinheit die entsprechenden Komponenten der Bewegtbilddekodiervorrichtung 50a mit den Steuersignalen Dct1, Dct2, ..., Dctn so steuert, dass die Dekodierung des eingespeisten Bitstroms Bsa nicht ausgeführt wird.
  • Wenn das Beurteilungsergebnissignal DSjd besagt, dass der eingespeiste Bitstrom Bsa dekodierbar ist, schaltet die Steuereinheit 510 entsprechend dem durch das Modussignal Ms aus dem Bitstromanalysator 501 angezeigten Kodiermodus entweder auf den Modus prädiktives Interbilddekodieren oder den Modus prädiktives Intra-Bild-Dekodieren des Bitstroms Bsa.
  • Wenn von der Steuereinheit 510 der Modus prädiktives Interbilddekodieren gewählt wurde, wird der Schalter 508 durch ein vorgegebenes Steuersignal der Steuereinheit 510 so gesteuert, dass der Ausgang Td mit dem zweiten Eingang Tc2 verbunden wird. Hat die Steuereinheit 510 jedoch den Modus prädiktives Intra-Bild-Dekodieren gewählt, wird der Schalter 508 durch ein vorgegebenes Steuersignal der Steuereinheit 510 so gesteuert, dass der Ausgang Td mit dem ersten Eingang Tc1 verbunden wird.
  • Außerdem berechnet der Kalkulator 507a für die maximale Anzahl der Referenzbilder auf der Basis der Daten Ispx für die maximale Anzahl der Speicherpixel und der Vertikalpixelzahldaten Ihpx sowie der Horizontalpixelzahldaten Iwpx des Eingabebildes die Anzahl Nrpn der möglichen Referenzbilder (maximale Anzahl der Referenzbilder), auf die beim prädiktiven Interbilddekodieren Bezug genommen werden kann, und gibt an den Bewegungsausgleichsdekoder 504 die Daten Iren aus, die die errechnete Anzahl Nrpn (maximale Anzahl der Referenzbilder) anzeigen.
  • Im folgenden wird zunächst der Funktionsablauf für den Fall beschrieben, dass der Modus prädiktives Interbilddekodieren gewählt wurde.
  • Wenn die Bewegungsvektordaten MV, die der Bitstromanalysator 501 aus dem Bitstrom Bsa entnommen hat, in den Bewegungsausgleichsdekoder 504 eingespeist sind, nimmt dieser auf der Basis der Daten Iren für die maximale Anzahl der Referenzbilder aus dem Kalkulator 507a für die maximale Anzahl der Referenzbilder, der Bewegungsvektoren MV der dekodierten Makroblöcke und des Bewegungsvektors MV des Zielmakroblocks, die in der Bewegungsvektorspeichereinheit 505 gespeichert wurden, den Bewegungsausgleich für den Zielmakroblock vor, wobei er auf ein vorgegebenes Referenzbild Bezug nimmt, und gibt die prädiktiven Daten Pd, die dem Zielblock entsprechen, an die Additionsschaltung 511 aus. Dabei werden die dekodierten Bilddaten Ed, die den dekodierten Bildern entsprechen, als Bilddaten der möglichen Referenzbilder im Bildspeicher 503 gespeichert, und es wird im Bildspeicher 503 entsprechend dem Bildkennnungssignal DSpd aus dem Bewegungsausgleichsdekoder 504 unter den möglichen Referenzbildern das benötigte Bild als Referenzbild festgelegt.
  • Die kodierten Daten Cd, die vom Bitstromanalysator 501 aus den Bitstrom Bsa entnommen worden sind, werden vom prädiktiven Restdekoder 502 dekodiert, und die prädiktiven Restbilddaten Dd, die beim Dekodieren erhalten wurden, werden an die Additionsschaltung 511 ausgegeben.
  • Die Additionsschaltung 511 addiert die prädiktiven Restbilddaten Dd aus dem prädiktiven Restdekoder 502 und die prädiktiven Daten Pd aus dem Bewegungsausgleichsdekoder 504 und gibt über den Schalter 508 die durch die Addition erhaltenen Bilddaten Rd an den Bildspeicher 503 aus. Dann werden die Bilddaten Rd des zu dekodierenden Zielbildes als dekodierte Daten in Makroblockeinheiten in den Bildspeicher 503 geschrieben.
  • Dann werden die Bilddaten der dekodierten Bilder, die in der Dekodierungsreihenfolge stehen, in die Darstellungsreihenfolge gebracht und als Bilddaten Od eines Ausgabebildes in Bildeinheiten vom Bildspeicher 503 ausgegeben.
  • Es folgt eine kurze Beschreibung des Funktionsablaufs für den Fall, dass der Modus prädiktives Intra-Bild-Dekodieren gewählt wurde.
  • In diesem Fall werden die kodierten Daten Cd, die der Bitstromanalysator 501 dem Bitstrom Bsa entnommen hat, vom prädiktiven Restdekoder 502 dekodiert, und die beim Dekodieren erhaltenen prädiktiven Restbilddaten Dd werden über den Schalter 508 unverändert als dekodierte Daten Rd im Bildspeicher 503 gespeichert.
  • Nachstehend werden bestimmte Funktionsabläufe der Dekodierbarkeitsbeurteilungseinheit 506a und des Kalkulators 507a für die maximale Anzahl der Referenzbilder der Bewegtbilddekodiervorrichtung 50a kurz beschrieben.
  • Die Dekodierbarkeitsbeurteilungseinheit 506a der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel beurteilt anhand der oben angegebenen Bedingungsformeln (Formel 1), (Formel 2a), (Formel 2b), (Formel 3a) und (Formel 3b), ob der eingespeiste Bitstrom dekodierbar ist, wie es bei der Kodierbarkeitsbeurteilungseinheit 108a der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel geschieht.
  • Im einzelnen führt die Dekodierbarkeitsbeurteilungseinheit 506a auf der Basis der Vertikalpixelzahldaten Ihpx und der Horizontalpixelzahldaten Iwpx, die in den Eingabebildgrößendaten Ipx enthalten sind, die vom Bitstromanalysator 501 ausgegeben wurden, die durch die Formel 1 ausgedrückte Operation aus. Es werden mit anderen Worten die Multiplikation zur Ermittlung des Produkts (h × w) aus der Anzahl (h) der vertikalen Pixel und der Anzahl (w) der horizontalen Pixel des Eingabebildes und dann der Vergleich zwischen dem Multiplikationsergebnis (h × w) und der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel (d. h. der Intra-Frame-Pixelzahl-Vergleich) vorgenommen. Dann berechnet die Dekodierbarkeitsbeurteilungseinheit 506a die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel nach Formel 3a bzw. Formel 3b auf der Basis der Vertikalpixelzahldaten Ihpx und der Horizontalpixelzahldaten Iwps des Eingabebildes.
  • Dabei besagen die Formel 3a und die Formel 3b, dass die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel jeweils die positive Quadratwurzel eines Wertes sind, der erhalten wird, wenn man das Produkt aus der Vertikalpixelzahl (h) und der Horizontalpixelzahl (w) des Eingabebildes mit N multipliziert. Wenn beispielsweise N = 8, ergibt die Formel 3a, dass die maximale Anzahl der vertikalen Pixel so festgelegt ist, dass das Verhältnis zwischen der Anzahl der vertikalen Pixel und der Anzahl der horizontalen Pixel kleiner 8:1 ist, während die Formel 3b ergibt, dass die maximale Anzahl der horizontalen Pixel so festgelegt ist, dass das Verhältnis zwischen der Anzahl der vertikalen Pixel und der Anzahl der horizontalen Pixel kleiner 1:8 ist.
  • Außerdem nimmt die Dekodierbarkeitsbeurteilungseinheit 506a eine Rundungsoperation vor, bei der sie die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel durch Abrunden, Aufrunden oder maschinelles Runden jeweils auf ein Vielfaches von 16 bringt, und nimmt dann den Vergleich zwischen der Vertikalpixelzahl (h) des Eingabebildes und der gerundeten maximalen Anzahl (H) der vertikalen Pixel (Vertikalpixelzahlvergleich) sowie den Vergleich zwischen der Horizontalpixelzahl (w) des Eingabebildes und der gerundeten maximalen Anzahl (W) der horizontalen Pixel (Horizontalpixelzahlvergleich) vor.
  • Auf der Basis der Ergebnisse des Intra-Frame-Pixelzahl-Vergleichs, des Vertikalpixelzahlvergleichs und des Horizontalpixelzahlvergleichs wird dann abschließend die Dekodierbarkeit beurteilt.
  • Der Kalkulator 507a für die maximale Anzahl der Referenzbilder der Bewegtbildkodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel berechnet nach Formel 4 die maximale Anzahl der möglichen Referenzbilder, die beim prädiktiven Interbilddekodieren verwendet werden.
  • Der Kalkulator 507a für die maximale Anzahl der Referenzbilder berechnet auf der Basis der Vertikalpixelzahldaten Ihpx und der Horizontalpixelzahldaten Iwpx des Eingabebildes aus dem Bitstromanalysator 501 die Gesamtzahl der Pixel eines Bildes (h × w) als Größe des Eingabebildes.
  • Außerdem nimmt der Kalkulator 507a für die maximale Anzahl der Referenzbilder eine Division vor, bei der er die maximale Anzahl Nspx der Speicherpixel durch das Multiplikationsergebnis (h × w) teilt, und subtrahiert 1 vom Divisionsergebnis (Nspx/(h × w)), wodurch sich das Subtraktionsergebnis (Nspx/(h × w) – 1) als die maximale Anzahl der Referenzbilder ergibt.
  • Wie oben beschrieben, enthält die Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel den Levelanalysator 509a, der die maximale Anzahl (Nfpx) der dekodierbaren Intra-Frame-Pixel und die maximale Anzahl (Nspx) der Speicherpixel, die im Bildspeicher 503 gespeichert werden können, entsprechend dem Levelsignal Lst, das den Levelidentifikator angibt, der vom Bitstromanalysator 501 aus dem Bitstrom Bsa entnommen wurde, festlegt, und dadurch auf der Basis der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel und der Eingabebildgröße (Vertikalpixelzahl Nfpx und Horizontalpixelzahl Nwpx) beurteilt, ob der eingespeiste Bitstrom Bsa dekodiert werden kann, und die Anzahl Nrpn der möglichen Referenzbilder (maximale Anzahl der Referenzbilder), auf die beim prädiktiven Interbilddekodieren Bezug genommen werden kann, berechnet. Damit kann durch den Levelidentifikator unter den Bitströmen, die von der Kodierungsseite kommen, ein Bitstrom ermittelt werden, der von der Bewegtbilddekodiervorrichtung dekodiert werden kann, so dass eine prädiktive Bilddekodierung, die der prädiktiven Bildkodierung auf Kodierungsseite entspricht, zufriedenstellend vorgenommen werden kann. Damit ist es möglich, in der Dekodiervorrichtung einen Speicherbereich festzulegen, der dem Kodierungsverfahren entspricht, bei dem die Kapazität des Speicherbereichs nicht beschränkt ist.
  • Bei diesem fünften Ausführungsbeispiel wird die Tabelle T1, in der die maximale Anzahl der Intra-Frame-Pixel und die maximale Anzahl der Speicherpixel paarweise in Korrelation gesetzt sind zu den Kodierleveln (Levelidentifikatorwerten) (siehe 15) als Tabelle verwendet, in der die Entsprechung zwischen dem Kodierlevel und der maximalen Anzahl der Intra-Frame-Pixel sowie der maximalen Anzahl der Speicherpixel definiert ist. Anstelle der Tabelle T1 können jedoch auch die Tabelle T1a, in der die Entsprechung zwischen dem Levelidentifikatorwert und der maximalen Anzahl der Intra-Frame-Pixel (16(a)) festgelegt ist, und die Tabelle T1b, in der die Entsprechung zwischen dem Levelidentifikator wert und der maximalen Anzahl der Speicherpixel (16(b)) festgelegt ist, verwendet werden.
  • Ausführungsbeispiel 6
  • 11 ist ein Blockschaltbild zur Erläuterung der Bewegtbilddekodiervorrichtung 50b gemäß dem sechsten Ausführungsbeispiel der Erfindung.
  • Die Bewegtbilddekodiervorrichtung 50b gemäß dem sechsten Ausführungsbeispiel empfängt einen Bitstrom, der mehreren Bildern, die ein Bewegtbild bilden, entspricht, und dekodiert den Bitstrom in festgelegten Datenverarbeitungseinheiten, d. h. in Blockeinheiten. Genauer gesagt, dekodiert die Bewegtbilddekodiervorrichtung 50b einen Bitstrom Bsb, der von der Bewegtbildkodiervorrichtung 10b gemäß dem zweiten Ausführungsbeispiel (siehe 14(b)) erzeugt wird. Bei diesem sechsten Ausführungsbeispiel analysiert daher der Bitstromanalysator 501 die Kopfdaten H1 und H2, um den Levelidentifikator Lst und das Kennnummersignal Cid zu entnehmen, und den Sequenzdatenabschnitt Dsq, um die Angabe Ms des Kodiermodus, die kodierten Daten Cd, die Angabe Mb des Bewegungsvektors, die Eingabebildgrößendaten Ipx und dergleichen für jeden Makroblock zu entnehmen.
  • Außerdem enthält der Levelanalysator 509b der Bewegtbilddekodiervorrichtung 50b gemäß dem sechsten Ausführungsbeispiel die Tabellen T1 und T2 und gibt auf der Basis des Levelsignals Lst aus dem Bitstromanalysator 501 die maximale Anzahl Ifpx der Intra-Frame-Pixel und die maximale Anzahl Ispx der Speicherpixel sowie auf der Basis des Kennnummersignals Cid aus dem Bitstromanalysator 501 den Pixelzahlberechnungskoeffizienten αpx aus. Die Dekodierbarkeitsbeurteilungseinheit 506b beim sechsten Ausführungsbeispiel beurteilt auf der Basis der Daten Ifpx der maximalen Anzahl der Intra-Frame-Pixel und der Pixelzahl-Berechnungskoeffizientendaten αpx aus dem Levelanalysator 509b sowie der Eingabebildgrößendaten Ipx aus dem Bitstromanalysator 501, ob der eingespeiste Bitstrom Bsb dekodiert werden kann. Dabei setzen sich die Pixelzahl-Berechnungskoeffizientendaten αpx aus den Daten αhpx für den Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) und den Daten αwpx für den Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) zusammen.
  • Die übrigen Komponenten der Bewegtbilddekodiervorrichtung 50b gemäß dem sechsten Ausführungsbeispiel haben denselben Aufbau wie diejenigen der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel.
  • Der spezielle Aufbau der Dekodierbarkeitsbeurteilungseinheit 506b der Bewegtbilddekodiervorrichtung 50b gemäß dem sechsten Ausführungsbeispiel ist identisch mit dem der Kodierbarkeitsbeurteilungseinheit 108b der Bewegtbildkodiervorrichtung 100b gemäß dem in 5 gezeigten zweiten Ausführungsbeispiel.
  • Es folgt eine Beschreibung der Funktionsweise.
  • Die Funktionsweise der Bewegtbilddekodiervorrichtung 50b gemäß dem sechsten Ausführungsbeispiel unterscheidet sich von der Funktionsweise der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel nur beim Bitstromanalysator 501, bei der Dekodierbarkeitsbeurteilungseinheit 506b und beim Levelanalysator 509b.
  • Im folgenden wird daher hauptsächlich die Funktionsweise des Bitstromanalysators 501, der Dekodierbarkeitsbeurteilungseinheit 506b und des Levelanalysators 509b beschrieben.
  • Wenn der Bitstrom Bsb in die Bewegtbilddekodiervorrichtung 50b eingespeist wird, analysiert der Bitstromanalysator 501 den Bitstrom Bsb und entnimmt ihm verschiedene Daten wie den Kodierungsmodus Ms, den Bewegungsvektor MV und die kodierten Daten Cd. Dabei werden gleichzeitig verschiedene Kopfdaten aus dem Kopfabschnitt Hb des Bitstroms Bsb entnommen und in den Levelanalysator 509b, die Dekodierbarkeitsbeurteilungseinheit 506b und den Kalkulator 507a für die maximale Anzahl der Referenzbilder eingespeist.
  • Der Levelanalysator 509b gibt entsprechend dem Levelidentifikator (Levelsignal) Lst, der den Kopfdaten (dem Code) H1 im Kopfabschnitt Hb entspricht, die Daten Ifpx für die maximale Anzahl der Intra-Frame-Pixel und die Daten Ispx für die maximale Anzahl der Speicherpixel aus, wobei er auf die in ihm enthaltene Tabelle T1 (15) Bezug nimmt. Der Levelanalysator 509b gibt entsprechend dem Kennnummersignal Cid, das den Kopfdaten (dem Code) H2 im Kopfab schnitt Hb entspricht, die Pixelzahlberechnungskoeffizientendaten αpx (Vertikalpixelzahl-Berechnungskoeffizientendaten αhpx und Horizontalpixelzahl-Berechnungskoeffizientendaten αwpx) aus, wobei er auf die in ihm enthaltene Tabelle T2 (17(a)) Bezug nimmt. Die Daten Ifpx für die maximale Anzahl der Intra-Frame-Pixel und die Pixelzahl-Berechnungskoeffizientendaten αpx werden in die Dekodierbarkeitsbeurteilungseinheit 506b eingespeist, während die Daten Ispx für die maximale Anzahl der Speicherpixel in den Kalkulator 507a für die maximale Anzahl der Referenzbilder eingespeist werden.
  • Die Dekodierbarkeitsbeurteilungseinheit 506b beurteilt dann auf der Basis der Daten Ifpx für die maximale Anzahl der Intra-Frame-Pixel und der Daten αpx (Vertikalpixelzahl-Berechnungskoeffizientendaten αhpx und Horizontalpixelzahl-Berechnungskoeffizientendaten αwpx) aus dem Levelanalysator 509b und der vom Bitstromanalysator 501 aus dem Sequenzkopf Sh entnommenen Eingabebildgrößendaten Ipx (Vertikalpixelzahldaten Ihpx und Horizontalpixelzahldaten Iwpx des Eingabebildes), ob der eingespeiste Bitstrom Bsb dekodierbar ist, und gibt als Beurteilungsergebnis das Signal DSjd (Beurteilungsergebnissignal) an die Steuereinheit 510 aus.
  • Bei diesem sechsten Ausführungsbeispiel erfolgt die Dekodierung des eingespeisten Bitstroms Bsb auf dieselbe Weise wie bei der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel entsprechend dem Beurteilungsergebnissignal DSjd.
  • Es folgt eine kurze Beschreibung der Funktionsweise der Dekodierbarkeitsbeurteilungseinheit 506b bei der Bewegtbilddekodiervorrichtung 50b.
  • Die Dekodierbarkeitsbeurteilungseinheit 506b der Bewegtbilddekodiervorrichtung 50b gemäß dem sechsten Ausführungsbeispiel beurteilt die Dekodierbarkeit des eingespeisten Bitstroms Bsb nach den obengenannten Bedingungsformeln Formel 1, Formel 2a, Formel 2b, Formel 8a und Formel 8b.
  • Zunächst führt die Dekodierbarkeitsbeurteilungseinheit 506b wie die Dekodierbarkeitsbeurteilungseinheit 506a gemäß dem fünften Ausführungsbeispiel auf der Basis der Eingabebildgrößendaten Ipx (Vertikalpixelzahldaten Ihpx und Horizon talpixelzahldaten Iwpx des Eingabebildes), die vom Bitstromanalysator 501 ausgegeben werden, die durch die Formel 1 ausgedrückte Operation aus. Es werden mit anderen Worten eine Multiplikation zur Ermittlung des Produkts (h × w) aus der Anzahl (h) der vertikalen Pixel und der Anzahl (w) der horizontalen Pixel des Eingabebildes und dann ein Vergleich zwischen dem Multiplikationsergebnis (h × w) und der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel (d. h. der Intra-Frame-Pixelzahl-Vergleich) vorgenommen.
  • Dann berechnet die Dekodierbarkeitsbeurteilungseinheit 506b die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel nach Formel 8a und Formel 8b auf der Basis der Ifpx-Daten für die Anzahl der Intra-Frame-Pixel und der Pixelberechnungskoeffizientendaten αpx (Vertikalpixelzahl-Berechnungskoeffizientendaten αhpx und Horizontalpixelzahl-Berechnungskoeffizientendaten αwpx).
  • Dabei besagen die Formel 8a und die Formel 8b, dass die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel erhalten werden, indem die maximale Anzahl (Nfpx) der Intra-Frame-Pixel durch den Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) bzw. den Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) geteilt wird.
  • Außerdem rundet die Dekodierbarkeitsbeurteilungseinheit 506b die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel jeweils auf ein Vielfaches von 16 durch Abrunden, Aufrunden oder maschinelles Runden und vergleicht die Vertikalpixelzahl (h) des Eingabebildes mit der gerundeten Vertikalpixelzahl (H) sowie die Horizontalpixelzahl (w) des Eingabebildes mit der gerundeten maximalen Horizontalpixelzahl (W) (Horizontalpixelzahlvergleich).
  • Dann wird auf der Basis der Ergebnisse des Intra-Frame-Pixelzahl-Vergleichs, des Vertikalpixelzahlvergleichs und des Horizontalpixelzahlvergleichs die Dekodierbarkeit abschließend beurteilt.
  • Wie oben beschrieben, enthält die Bewegtbilddekodiervorrichtung 50b gemäß dem sechsten Ausführungsbeispiel die Levelanalysatoreinheit 509b, welche die maximale Anzahl Nfpx der dekodierbaren Intra-Frame-Pixel und die maximale Anzahl Nspx der im Bildspeicher 503 speicherbaren Speicherpixel sowie den Pixelzahl-Berechnungskoeffizienten Nαpx festlegt, und zwar auf der Basis des Levelidentifikators (Levelsignal) Lst und des Kennnummersignals Cid, die vom Bitstromanalysator 501 aus dem Bitstrom Bsb entnommen worden sind, wodurch sie auf der Basis der maximalen Anzahl Nfpx der Intra-Frame-Pixel und des Pixelzahlberechnungskoeffizienten Nαpx, die mit dem Levelanalysator 509b festgelegt wurden, sowie der im Bitstrom Bsb enthaltenen Eingabebild-Größendaten Ipx beurteilt, ob der eingespeiste Bitstrom dekodierbar ist, und die Anzahl der möglichen Referenzbilder Nrpn (maximale Anzahl der Referenzbilder), auf die beim prädiktiven Interbilddekodieren Bezug genommen werden kann, berechnet. Somit wird auf der Basis des Levelidentifikators unter den von Kodierungsseite zugeführten Bitströmen ein von der Bewegtbilddekodiervorrichtung dekodierbarer Bitstrom ermittelt, so dass ein prädiktives Bilddekodieren, das dem prädiktiven Bildkodieren auf Kodierungsseite entspricht, zufriedenstellend erfolgen kann. Somit kann für die Dekodiervorrichtung ein Speicherbereich festgelegt werden, welcher zu dem Kodierverfahren passt, bei dem die Kapazität des Speicherbereichs nicht beschränkt ist.
  • Bei diesem sechsten Ausführungsbeispiel werden die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel erhalten, indem die maximale Anzahl Nfpx der Intra-Frame-Pixel durch den Vertikalpixelzahl-Berechnungskoeffizienten Nαhpx bzw. den Horizontalpixelzahl-Berechnungskoeffizienten Nαwpx geteilt wird, so dass der Vorgang der Ermittlung der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel im Vergleich zum fünften Ausführungsbeispiel vereinfacht ist.
  • Dabei sind beim sechsten Ausführungsbeispiel der Levelidentifikator, der der maximalen Anzahl Nfpx der Intra-Frame-Pixel und der maximalen Anzahl Nspx der Speicherpixel entspricht, und die Kennnummer, die dem Vertikalpixelzahl-Berechnungskoeffizienten (Nαhpx) und dem Horizontalpixelzahl-Berechnungskoeffizienten (Nαwpx) entspricht, jeweils Parameter, die voneinander unabhängige Kodierungsbedingungen anzeigen. Jedoch kann der Wert der Kennnummer mit dem Wert des Levelidentifikators korrelieren.
  • In diesem Fall werden bestimmte Werte des Vertikalpixelzahl-Berechnungskoeffizienten Nαhpx und des Horizontalpixelzahl-Berechnungskoeffizienten Nαwpx zusammen mit bestimmten Werten der maximalen Anzahl Nfpx der Intra-Frame-Pixel und der maximalen Anzahl Nspx der Speicherpixel auf der Basis des Levelsignals Lst, das den Levelidentifikator angibt, unter Bezugnahme auf die Tabellen T1 und T2 festgelegt. Wenn also das Levelsignal Lst aus dem Bitstromanalysator 501 in den Levelanalysator 509b eingespeist wird, gibt dieser bezugnehmend auf die Tabelle T1 auf der Basis des Levelsignals Lst die Daten Ifpx und Ispx, welche die maximale Anzahl Nfpx der Intra-Frame-Pixel bzw. die maximale Anzahl Nspx der Speicherpixel anzeigen, sowie bezugnehmend auf die Tabelle T2 auf der Basis der Kennnummer, die dem Levelidentifikator entspricht, die Pixelzahl-Berechnungskoeffizientendaten αpx aus. In diesem Fall enthält der Bitstrom Bsb nur den Code H1, der dem Levelsignal Lst entspricht, so dass der Bitstromanalysator 501 kein Kennnummersignal Cid, das dem Code H2 entspricht, an den Levelanalysator 509b ausgibt.
  • Gemäß dem sechsten Ausführungsbeispiel analysiert die Bewegtbilddekodiervorrichtung den Code H1 des Levelidentifikators, der der maximalen Anzahl Nfpx der Intra-Frame-Pixel und der maximalen Anzahl Nspx der Speicherpixel entspricht, und den Code H2 der Kennnummer, der dem Vertikalpixelzahl-Berechnungskoeffizienten Nαhpx und dem Horizontalpixelzahl-Berechnungskoeffizienten Nαwpx entspricht, ermittelt dann anhand der Tabelle T1 auf der Basis des Levelidentifikators, der durch Analyse des Codes H1 erhalten wurde, die maximale Anzahl Nfpx der Intra-Frame-Pixel und die maximale Anzahl Nspx der Speicherpixel und außerdem anhand der Tabelle T2 auf der Basis des Kennnummersignals Cid, das durch Analyse des Codes H2 erhalten wurde, den Vertikalpixelzahl-Berechnungskoeffizienten Nαhpx und den Horizontalpixelzahl-Berechnungskoeffizienten Nαwpx. Jedoch kann die Bewegtbilddekodiervorrichtung einen Code analysieren, der erhalten wird, indem Pixelzahl-Berechnungskoeffizientendaten αpx, welche einen beliebigen Vertikalpixelzahl-Berechnungskoeffizienten Nαhpx und einen beliebigen Horizontalpixelzahl-Berechnungskoeffizienten Nαwpx anzeigen, die vom Benutzer festgelegt wurden, kodiert werden, und die Pixelzahl-Berechnungskoeffizientendaten αpx unmittelbar durch Analyse des Codes erhalten.
  • In diesem Fall erfolgt die Festlegung bestimmter Werte für die maximale Anzahl Nfpx der Intra-Frame-Pixel und die maximale Anzahl Nspx der Speicherpixel unter Bezugnahme auf Tabelle T1, während die Festlegung bestimmter Werte für den Vertikalpixelzahl-Berechnungskoeffizienten Nαhpx und den Horizontalpixelzahl-Berechnungskoeffizienten Nαwpx ohne Bezugnahme auf die Tabelle durch Analyse des Codes erfolgt, der den Pixelzahl-Berechnungskoeffizientendaten αpx entspricht.
  • Wenn also das Levelsignal Lst aus dem Bitstromanalysator 501 in den Levelanalysator 509b eingespeist wird, gibt dieser an die Dekodierbarkeitsbeurteilungseinheit 506b die Daten Ifpx, welche die maximale Anzahl Nfpx der Intra-Frame-Pixel angeben, die unter Bezugnahme auf die Tabelle T1 festgelegt wurde, und an den Kalkulator 507a für die maximale Anzahl der Referenzbilder entsprechend dem Levelsignal Lst die Daten Ispx, welche die maximale Anzahl Nspx der Speicherpixel angeben, die unter Bezugnahme auf die Tabelle T1 festgelegt wurde, aus. Außerdem werden die Pixelzahl-Berechnungskoeffizientendaten αpx, welche bestimmte Werte des Vertikalpixelzahl-Berechnungskoeffizienten Nαhpx und des Horizontalpixelzahl-Berechnungskoeffizienten Nαwpx anzeigen, die durch Analyse des Codes durch den Bitstromanalysator 501 erhalten wurden, unmittelbar in die Dekodierbarkeitsbeurteilungseinheit 506b eingespeist.
  • Ausführungsbeispiel 7
  • 12 ist ein Blockschaltbild zur Erläuterung des siebten Ausführungsbeispiels 50c der erfindungsgemäßen Bewegtbilddekodiervorrichtung.
  • Die Bewegtbilddekodiervorrichtung 50c gemäß dem siebten Ausführungsbeispiel empfängt einen Bitstrom, der mehreren Bildern entspricht, die ein Bewegtbild bilden, und dekodiert den Bitstrom in vorgegebenen Datenverarbeitungseinheiten, nämlich in Blockeinheiten. Im einzelnen dekodiert die Bewegtbilddekodiervorrichtung 50c einen Bitstrom Bsc (14(c)), der von der Bewegtbildkodiervorrichtung 10c gemäß dem dritten Ausführungsbeispiel erzeugt wurde. Daher analysiert der Bitstromanalysator 501 gemäß dem siebten Ausführungsbeispiel die Kopfdaten H1 und H3, um den Levelidentifikator Lst und das Kennnummersignal Sid zu entnehmen, und die Daten im Sequenzdatenabschnitt Dsq, um die Daten für die einzelnen Makroblöcke wie die Kodiermodusdaten Ms, die kodierten Daten Cd, die Bewegungsvektordaten MV und die Eingabebildgrößendaten Ipx zu entnehmen.
  • Der Levelanalysator 509c der Bewegtbilddekodiervorrichtung 50c gemäß dem siebten Ausführungsbeispiel enthält die Tabellen T1 und T3 und gibt auf der Basis des Levelsignals Lst, das vom Bitstromanalysator 501 ausgegeben wird, die Daten Ifpx für die maximale Anzahl der Intra-Frame-Pixel sowie auf der Basis des Kennnummersignals Sid, das vom Bitstromanalysator 501 ausgegeben wird, die Maximalbildgrößendaten Impx aus. Außerdem beurteilt die Dekodierbarkeitsbeurteilungseinheit 506c beim siebten Ausführungsbeispiel auf der Basis der Ifpx-Daten für die maximale Anzahl der Intra-Frame-Pixel und der Maximalbildgrößendaten Ipx aus dem Levelanalysator 509c sowie der Eingabebildgrößendaten Ipx aus dem Bitstromanalysator 501, ob der eingespeiste Bitstrom Bsc dekodierbar ist. Dabei setzen sich die Maximalbildgrößendaten Impx aus den Imhpx-Daten für die maximale Anzahl (H) der vertikalen Pixel und den Imwpx-Daten für die maximale Anzahl (W) der horizontalen Pixel zusammen.
  • Die übrigen Komponenten der Bewegtbilddekodiervorrichtung 50c gemäß dem siebten Ausführungsbeispiel haben denselben Aufbau wie die diejenigen der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel
  • Außerdem ist der Aufbau der Dekodierbarkeitsbeurteilungseinheit 506c der Bewegtbilddekodiervorrichtung 50c gemäß dem siebten Ausführungsbeispiel identisch mit dem der Kodierbarkeitsbeurteilungseinheit 108c der Bewegtbildkodiervorrichtung 10c gemäß dem in 7 gezeigten dritten Ausführungsbeispiel.
  • Es folgt eine Beschreibung der Funktionsweise.
  • Wenn der Bitstrom Bsc in die Bewegtbilddekodiervorrichtung 50c eingespeist wird, analysiert der Bitstromanalysator 501 zunächst den Bitstrom Bsc und entnimmt ihm verschiedene Daten wie den Kodiermodus Ms, den Bewegungsvektor MV und die kodierten Daten Cd. Dabei werden gleichzeitig verschiedene Arten von Kopfdaten aus dem Kopfabschnitt Hc des Bitstroms Bsc entnommen und an den Levelanalysator 509c, die Dekodierbarkeitsbeurteilungseinheit 506c und den Kalkulator 507a für die maximale Anzahl der Referenzbilder ausgegeben.
  • Der Levelanalysator 509c nimmt Bezug auf die in ihm enthaltene Tabelle T1 (15) und gibt entsprechend dem Levelsignal (Levelidentifikatorsignal) Lst, welches den Kopfdaten (dem Code) H1 im Kopfabschnitt Hc entspricht, die Daten Ifpx für die maximale Anzahl der Intra-Frame-Pixel und die Daten Ispx für die maximale Anzahl der Speicherpixel aus. Außerdem nimmt der Levelanalysator 509c Bezug auf die in ihm enthaltene Tabelle T3 (18(a)) und gibt entsprechend dem Kennnummersignal Sid, das den Kopfdaten (einem Code) H3 im Kopfabschnitt Hc entspricht, die Maximalbildgrößendaten Impx (Imhpx-Daten für die maximale Vertikalpixelzahl und Imwpx-Daten für die maximale Horizontalpixelzahl) aus. Die Ifpx-Daten für die maximale Anzahl der Intra-Frame-Pixel und die Impx-Daten für die maximale Bildgröße werden in die Dekodierbarkeitsbeurteilungseinheit 506c eingespeist, während die Ispx-Daten für die maximale Anzahl der Speicherpixel in den Kalkulator 507a für die maximale Anzahl der Referenzbilder eingespeist werden.
  • Dann beurteilt die Dekodierbarkeitsbeurteilungseinheit 506c, ob der eingespeiste Bitstrom Bsc dekodiert werden kann, auf der Basis der Ifpx-Daten für die maximale Anzahl der Intra-Frame-Pixel und der Impx-Daten für die maximale Bildgröße (maximale Anzahl Imhpx der vertikalen Pixel und maximale Anzahl Imwpx der horizontalen Pixel) aus dem Levelanalysator 509c und der Eingabebildgrößendaten Ipx (Vertikalpixelzahldaten Ihpx und Horizontalpixelzahldaten Iwpx des Eingabebildes), die vom Bitstromanalysator 501 aus dem Sequenzkopf entnommen worden sind, und gibt an die Steuereinheit 510 das Signal DSjd (Beurteilungsergebnissignal) aus, welches das Beurteilungsergebnis anzeigt.
  • Bei diesem siebten Ausführungsbeispiel erfolgt die Dekodierung des Bitstroms Bsc entsprechend dem Beurteilungsergebnissignal DSjd auf dieselbe Weise wie bei der Bewegtbilddekodiervorrichtung 50a des fünften Ausführungsbeispiels.
  • Es folgt eine kurze Beschreibung der Funktionsweise der Dekodierbarkeitsbeurteilungseinheit 506c der Bewegtbild-Dekodiervorrichtung 50c.
  • In der Dekodierbarkeitsbeurteilungseinheit 506c der Bewegtbilddekodiervorrichtung 50a gemäß dem siebten Ausführungsbeispiel wird nach den Bedingungsformeln 1, 2a und 2b beurteilt, ob der eingespeiste Bitstrom Bsc dekodierbar ist.
  • Zunächst nimmt die Dekodierbarkeitsbeurteilungseinheit 506c auf dieselbe Weise wie die Dekodierbarkeitsbeurteilungseinheit 506a gemäß dem fünften Ausführungsbeispiel auf der Basis der Eingabebildgrößendaten Ipx (Vertikalpixelzahldaten Ihpx und Horizontalpixelzahldaten Iwpx), die vom Bitstromanalysator 501 ausgegeben werden, die Operation nach Formel 1 vor. Es erfolgen also die Multiplikation zur Ermittlung des Produkts (h × w) aus der Anzahl (h) der vertikalen Pixel und der Anzahl (w) der horizontalen Pixel des Eingabebildes und der Vergleich zwischen dem Multiplikationsergebnis (h × w) und der maximalen Anzahl Nfpx der Intra-Frame-Pixel (Intra-Frame-Pixelzahl-Vergleich).
  • Dann nimmt die Dekodierbarkeitsbeurteilungseinheit 506c auf der Basis der Daten Impx für die maximale Bildgröße (Daten Imhpx für die maximale Anzahl der vertikalen Pixel und Daten Imwpx für die maximale Anzahl der horizontalen Pixel) den Vergleich zwischen der Anzahl (h) der vertikalen Pixel des Eingabebildes und der maximalen Anzahl (H) der vertikalen Pixel, die durch die Daten Imhpx für die maximale Anzahl der vertikalen Pixel angegeben werden (den Vertikalpixelzahlvergleich) sowie den Vergleich zwischen der Anzahl (w) der horizontalen Pixel des Eingabebildes und der durch die Daten Imwpx für die maximale Anzahl der horizontalen Pixel angegebenen maximalen Anzahl (W) der horizontalen Pixel (den Horizontalpixelzahlvergleich) vor.
  • Dann wird auf der Basis der Ergebnisse des Intra-Frame-Pixelzahl-Vergleichs, des Vertikalpixelzahlvergleichs und des Horizontalpixelzahlvergleichs endgültig beurteilt, ob Dekodierbarkeit gegeben ist.
  • Wie oben beschrieben, enthält die Bewegtbilddekodiervorrichtung 50c gemäß dem siebten Ausführungsbeispiel den Levelanalysator 509c, der die maximale Anzahl Nfpx der Intra-Frame-Pixel, die dekodiert werden können, und die maximale Anzahl Nspx der Speicherpixel, die im Bildspeicher 503 gespeichert werden können, festlegt und auf der Basis des Levelidentifikators (Levelsignals) Lst und des Kennnummersignals Sid, die dem Bitstrom Bsc vom Bitstromanalysator 501 entnommen wurden, die maximale Bildgröße Nmpx festlegt, wodurch auf der Basis der maximalen Anzahl Nfpx der Intra-Frame-Pixel und der maximalen Bildgröße Nmpx, die durch den Levelanalysator 509c festgelegt sind, sowie der Eingabebildgrößendaten Ipx, die im Bitstrom Bsc enthalten sind, beurteilt wird, ob der eingespeiste Bitstrom Bsc dekodierbar ist, und die Anzahl Nrpn der möglichen Referenzbilder, auf die beim prädiktiven Interbilddekodieren Bezug genommen werden kann (maximale Anzahl der Referenzbilder), berechnet wird. Somit können auf der Basis des Levelidentifikators unter den von Kodierungsseite kommenden Bitströmen diejenigen festgestellt werden, die von der Bewegtbilddekodiervorrichtung dekodiert werden können, so dass eine prädiktive Bilddekodierung, die der prädiktiven Bildkodierung auf Kodierungsseite entspricht, zufriedenstellend erfolgen kann. Folglich kann für die Dekodierungsvorrichtung ein Speicherbereich, der dem Kodierverfahren angepasst ist, bei dem die Kapazität des Speicherbereichs nicht beschränkt ist, festgelegt werden.
  • Bei diesem siebten Ausführungsbeispiel werden die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel auf der Basis der im Bitstrom Bsc enthaltenen Impx-Daten für die maximale Bildgröße ermittelt. Dadurch ist der Vorgang der Ermittlung der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel gegenüber dem fünften Ausführungsbeispiel vereinfacht.
  • Bei diesem siebten Ausführungsbeispiel sind der Levelidentifikator, der der maximalen Anzahl Nfpx der Intra-Frame-Pixel und der maximalen Anzahl Nspx der Speicherpixel entspricht, und die Kennnummer, die der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel entspricht, Parameter, die jeweils voneinander unabhängige Kodierbedingungen anzeigen. Jedoch können Kennnummerwerte mit Levelidentifikatorwerten korreliert sein.
  • In diesem Fall werden bestimmte Werte der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel zusammen mit bestimmten Werten der maximalen Anzahl Nfpx der Intra-Frame-Pixel und der maximalen Anzahl Nspx der Speicherpixel entsprechend dem Levelsignal Lst, welches den Levelidentifikator anzeigt, anhand der Tabellen T1 und T3 festgelegt. Wenn also das Levelsignal Lst aus dem Bitstromanalysator 501 in den Levelana lysator 509c eingespeist wird, gibt dieser bezugnehmend auf die Tabelle T1 auf der Basis des Levelsignals Lst die Daten Ifpx und Ispx, die die maximale Anzahl Nfpx der Intra-Frame-Pixel bzw. die maximale Anzahl Nspx der Speicherpixel angeben, sowie bezugnehmend auf die Tabelle T3 auf der Basis der Kennnummer, die dem Levelidentifikator entspricht, die Impx-Daten für die maximale Bildgröße aus. In diesem Fall enthält der Bitstrom Bsc nur den Code Hc, der dem Levelsignal Lst entspricht, so dass das Kennnummersignal Sid, das dem Code H3 entspricht, vom Bitstromanalysator 501 nicht an den Levelanalysator 509c ausgegeben wird.
  • Außerdem analysiert die Bewegtbilddekodiervorrichtung gemäß dem siebten Ausführungsbeispiel den Code H1 des Levelidentifikators, der der maximalen Anzahl Nfpx der Intra-Frame-Pixel und der maximalen Anzahl Nspx der Speicherpixel entspricht, und den Code H3 der Kennnummer, der der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel entspricht, ermittelt dann auf der Basis des Levelidentifikators, der durch die Analyse des Codes H1 erhalten wurde, aus der Tabelle T1 die maximale Anzahl Nfpx der Inter-Frame-Pixel und die maximale Anzahl Nspx der Speicherpixel und auf der Basis des Kennnummersignals Sid, das durch die Analyse des Codes H3 gewonnen wurde, aus der Tabelle T3 die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel. Jedoch kann die Bewegtbilddekodiervorrichtung auch einen Code analysieren, der durch Kodieren der Impx-Daten für die maximale Bildgröße, die eine maximale Anzahl (H) der vertikalen Pixel und eine maximale Anzahl (W) der horizontalen Pixel angeben, die vom Benutzer willkürlich festgelegt wurden, erhalten wurde, und die Impx-Daten für die maximale Bildgröße unmittelbar durch Analyse des Codes erhalten.
  • In diesem Fall erfolgt die Festlegung bestimmter Werte der maximalen Anzahl Nfpx der Intra-Frame-Pixel und der maximalen Anzahl Nspx der Speicherpixel auf der Basis von Tabelle T1, während die Festlegung bestimmter Werte der maximalen Anzahl (H) der vertikalen Pixel und der maximalen Anzahl (W) der horizontalen Pixel ohne Rückgriff auf eine Tabelle durch Analyse des Codes erfolgt, der den Impx-Daten für die maximale Bildgröße entspricht.
  • Wenn also das Levelsignal Lst aus dem Bitstromanalysator 501 in den Levelanalysator 509c eingespeist wird, gibt dieser die Ifpx-Daten für die maximale Anzahl Nfpx der Intra-Frame-Pixel, die anhand von Tabelle T1 festgelegt wurde, an die Dekodierbarkeitsbeurteilungseinheit 506c sowie die Ispx-Daten für die maximale Anzahl Nspx der Speicherpixel, die anhand von Tabelle T1 festgelegt wurde, entsprechend dem Levelsignal Lst an den Kalkulator 507a für die maximale Anzahl der Referenzbilder aus. Außerdem werden die Impx-Daten für die maximale Bildgröße, die bestimmte Werte für die maximale Anzahl (H) der vertikalen Pixel und die maximale Anzahl (W) der horizontalen Pixel angeben und durch Analyse des Codes im Bitstromanalysator 501 erhalten wurden, unmittelbar in die Dekodierbarkeitsbeurteilungseinheit 506c eingespeist.
  • Ausführungsbeispiel 8
  • 13 ist ein Blockschaltbild zur Erläuterung der Bewegtbilddekodiervorrichtung 50d gemäß dem achten Ausführungsbeispiel der Erfindung.
  • Die Bewegtbilddekodiervorrichtung 50d gemäß dem achten Ausführungsbeispiel empfängt einen Bitstrom, der mehreren Bildern entspricht, die ein Bewegtbild bilden, und dekodiert ihn in vorgegebenen Datenverarbeitungseinheiten, d. h. in Blockeinheiten. Genauer gesagt, dekodiert die Bewegtbilddekodiervorrichtung 50d einen Bitstrom Bsa (14(a)), der von der Bewegtbildkodiervorrichtung 10d gemäß dem vierten Ausführungsbeispiel erzeugt wurde. Jedoch hat der von der Bewegtbildkodiervorrichtung 10d gemäß dem vierten Ausführungsbeispiel erzeugte Bitstrom dieselbe Datenstruktur wie der Bitstrom, der von der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel erzeugt wird, so dass die Bewegtbilddekodiervorrichtung 50d auch den von der Bewegtbildkodiervorrichtung 10a gemäß dem ersten Ausführungsbeispiel erzeugten Bitstrom dekodieren kann.
  • Die Bewegtbilddekodiervorrichtung 50d gemäß dem achten Ausführungsbeispiel hat anstelle des Kalkulators 507a für die maximale Anzahl der Referenzbilder bei der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel den Kalkulator 507d für die maximale Anzahl der Referenzbilder, der die maximale Anzahl Nrpn der Referenzbilder auf der Basis der Eingabebildgrößendaten Ipx (Vertikalpixelzahldaten Ihpx und Horizontalpixelzahldaten Iwpx des Eingabebildes), der Ispx-Daten für die maximale Anzahl der Speicherpixel und der Idwp-Daten für die Anzahl der auf die Darstellung wartenden Bilder berechnet und die Daten Iren ausgibt, die den berechneten Wert Nrpn (die maximale Anzahl der Referenzbilder) angeben.
  • Dabei sind die Idwp-Daten für die Anzahl der auf die Darstellung wartenden Bilder Daten, die die Anzahl der auf die Darstellung wartenden Bilder angeben, und die auf die Darstellung wartenden Bilder sind dekodierte Bilder, die nicht als Referenzbilder verwendet werden, deren Bilddaten jedoch im Bildspeicher der Dekodiervorrichtung verbleiben, bis die Bilder dargestellt worden sind, wie unter Bezugnahme auf 26 beschrieben worden ist. Außerdem wird der Bildspeicher beim achten Ausführungsbeispiel so gesteuert, dass die Bilddaten eines Bildes, das nicht als Referenzbild verwendet wird, sofort nach Darstellung des Bildes aus dem Bildspeicher gelöscht werden.
  • Die übrigen Komponenten der Bewegtbilddekodiervorrichtung 50d gemäß dem achten Ausführungsbeispiel haben denselben Aufbau wie diejenigen der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel.
  • Der spezielle Aufbau des Kalkulators 507d der Bewegtbilddekodiervorrichtung 50d gemäß dem achten Ausführungsbeispiel ist identisch mit demjenigen des Kalkulators 109d für die maximale Anzahl der Referenzbilder bei der Bewegtbildkodiervorrichtung 10d gemäß dem vierten Ausführungsbeispiel, wie in 9 gezeigt.
  • Es folgt eine Beschreibung der Funktionsweise.
  • Die Funktionsweise der Bewegtbilddekodiervorrichtung 50d gemäß dem achten Ausführungsbeispiel unterscheidet sich von der Funktionsweise der Bewegtbilddekodiervorrichtung 50a gemäß dem fünften Ausführungsbeispiel nur hinsichtlich des Kalkulators 507d für die maximale Anzahl der Referenzbilder.
  • Im folgenden wird nur die Funktionsweise des Kalkulators 507d für die maximale Anzahl der Referenzbilder beschrieben.
  • Der Kalkulator 507d für die maximale Anzahl der Referenzbilder der Bewegtbilddekodiervorrichtung 50d gemäß dem achten Ausführungsbeispiel berechnet die maximale Anzahl der möglichen Referenzbilder, die beim prädiktiven Interbilddekodieren verwendet werden, nach Formel 11.
  • Im Kalkulator 507d für die maximale Anzahl der Referenzbilder wird also die Gesamtzahl der Pixel eines Bildes (h × w) als Eingabebildgröße auf der Basis der Vertikalpixelzahldaten Ihpx und der Horizontalpixelzahldaten Iwpx des Eingabebildes berechnet.
  • Dann wird die maximale Anzahl Nspx der Speicherpixel durch das Multiplikationsergebnis (h × w) dividiert und vom Divisionsergebnis (Nspx/(h × w)) 1 subtrahiert.
  • Dann wird die maximale Anzahl der Referenzbilder ermittelt, indem die Anzahl Ndwp der auf die Darstellung wartenden Bilder vom Subtraktionsergebnis (Nspx/(h × w) – 1) subtrahiert wird.
  • Wie oben beschrieben, enthält die Bewegtbilddekodiervorrichtung 50d gemäß dem achten Ausführungsbeispiel den Levelanalysator 509a, der auf der Basis des Levelidentifikators, der vom Levelsignal Lst angezeigt wird, das vom Bitstromanalysator 501 aus dem Bitstrom Bsa entnommen wird, die maximale Anzahl Nfpx der dekodierbaren Intra-Frame-Pixel sowie die maximale Anzahl Nspx der Speicherpixel, die im Bildspeicher 503 gespeichert werden können, festlegt, wodurch er auf der Basis der maximalen Anzahl (Nfpx) der Intra-Frame-Pixel und der Eingabebildgröße (Anzahl Nhpx der vertikalen Pixel und Anzahl Nwpx der horizontalen Pixel) beurteilt, ob der eingespeiste Bitstrom Bsa dekodiert werden kann, und die Anzahl Nrpn der möglichen Referenzbilder (die maximale Anzahl der Referenzbilder) berechnet, auf die beim prädiktiven Interbilddekodieren Bezug genommen werden kann. Daher kann durch den Level-identifikator unter den von Kodierungsseite kommenden Bitströmen derjenige, der von der Bewegtbilddekodiervorrichtung dekodiert werden kann, ermittelt werden, so dass die prädik tive Bilddekodierung, die der prädiktiven Bildkodierung auf Kodierungsseite entspricht, zufriedenstellend vorgenommen werden kann. Somit kann in der Dekodiervorrichtung ein Speicherbereich festgelegt werden, der dem Kodierverfahren entspricht, bei dem die Kapazität des Speicherbereichs nicht beschränkt ist.
  • Bei diesem achten Ausführungsbeispiel wird die maximale Anzahl der Referenzbilder, die im Bildspeicher gespeichert werden, in Anbetracht der Anzahl (Ndwp) der auf die Darstellung wartenden Bilder festgelegt. Dadurch kann der Bildspeicher, in dem die Bilddaten der möglichen Referenzbilder gespeichert sind, je nach dem Verarbeitungsstand der Bilddaten effizient genutzt werden.
  • Beim achten Ausführungsbeispiel wird der Bildspeicher so gesteuert, dass die Bilddaten eines Bildes, das nicht als Referenzbild verwendet wird, sofort nach Darstellung des Bildes aus dem Bildspeicher gelöscht werden. Jedoch können die Bilddaten eines Bildes, das nicht als Referenzbild verwendet wird, zu einem anderen Zeitpunkt als unmittelbar nach der Darstellung, wie beim achten Ausführungsbeispiel angegeben, gelöscht werden.
  • Beispielsweise kann die Steuerung des Bildspeichers beim achten Ausführungsbeispiel so erfolgen, dass die Bilddaten eines Bildes, das im Bildspeicher gespeichert ist, aber nicht als Referenzbild verwendet wird, nach Ablauf der Darstellungsdauer eines Bildes nach Darstellung des Bildes aus dem Bildspeicher gelöscht werden. In diesem Fall bleiben die Bilddaten des auf die Darstellung wartenden Bildes im Bildspeicher eine bestimmte Zeit lang nach Darstellung des Bildes im Bildspeicher gespeichert.
  • Außerdem sind bei den Ausführungsbeispielen 1 bis 8 die Bewegtbildkodiervorrichtung und die Bewegtbilddekodiervorrichtung in Hardware ausgeführt, während sie auch in Software ausgeführt sein könnten. In diesem Fall kann die Bewegtbildkodiervorrichtung oder die Bewegtbilddekodiervorrichtung in einem unabhängigen Computersystem eingerichtet werden, indem ein Programm zum Ausführen des Kodierungsvorgangs bzw. des Dekodierungsvorgangs, wie sie bei obigen Ausführungsbeispielen beschrieben sind, auf einem Datenträger, beispielsweise einer Diskette, gespeichert wird.
  • 19 zeigt Blockschaltbilder zur Erläuterung eines Systems zur Umsetzung der Bewegtbildkodiervorrichtung gemäß einem der Ausführungsbeispiele 1 bis 4 bzw. der Bewegtbilddekodiervorrichtung gemäß einem der Ausführungsbeispiele 5 bis 8 mit einem Computersystem unter Einsatz einer Diskette, die das Programm enthält.
  • 19(b) zeigt eine Diskette in Vorderansicht, im Querschnitt und als flexible Scheibe, und 19(a) zeigt ein Beispiel für ein physisches Format der Diskette als Datenspeicher. Im einzelnen ist die flexible Scheibe FD im Diskettengehäuse F aufgenommen. Auf der Oberfläche der flexiblen Scheibe sind ausgehend vom Außenumfang zum Innenumfang hin mehrere Spuren Tr konzentrisch ausgebildet. Jede der Spuren Tr ist in Winkelrichtung in 16 Sektoren Se unterteilt. Folglich sind bei der Diskette, auf der das vorstehend angegebene Programm gespeichert ist, die Programmdaten in den Sektoren der flexiblen Scheibe FD aufgezeichnet.
  • 19(c) zeigt ein Gerät zum Aufzeichnen des Programms auf der Diskette bzw. zu seiner Wiedergabe von der Diskette. Wenn das Programm auf der Diskette FD aufgezeichnet wird, werden die aus einem Computersystem Cs kommenden Programmdaten über ein Diskettenlaufwerk auf der Diskette FD aufgezeichnet. Wenn die Bewegtbildkodiervorrichtung oder die Bewegtbilddekodiervorrichtung mittels des auf der Diskette aufgezeichneten Programms im Computersystem Cs eingerichtet wird, wird das Programm der Diskette vom Diskettenlaufwerk gelesen und in das Computersystem geladen.
  • Während bei obiger Beschreibung als Datenträger eine Diskette verwendet wird, kann auch eine optische Disk als Datenträger verwendet werden. Auch in diesem Fall kann die Bewegtbildkodiervorrichtung oder die Bewegtbilddekodiervorrichtung durch ein Computersystem umgesetzt werden. Außerdem ist der Datenträger weder auf eine optische Disk noch auf eine Diskette beschränkt. Jedes Trägermedium, auch eine IC-Karte oder eine ROM-Kassette, kann verwendet werden, sofern das Programm auf ihm gespeichert werden kann.
  • Im folgenden werden Anwendungen der Bewegtbildkodiervorrichtung oder der Bewegtbilddekodiervorrichtung gemäß einem der vorgenannten Ausführungsbeispiele sowie Systeme, welche die Anwendungen nutzen, beschrieben.
  • 20 ist ein Blockschaltbild, das den gesamten Aufbau eines Informationsbereitstellungssystems 1100 zeigt, das Informationsdienste bereitstellt.
  • Ein Kommunikationsdienstbereich ist in Bereiche (Zellen) gewünschter Größe und Basisstationen 1107 bis 1110, die jeweils feste Funkstationen in den Zellen sind, unterteilt.
  • Bei diesem Informationsbereitstellungssystem 1100 sind verschiedene Einrichtungen wie ein Computer 1111, ein PDA (personal digital assistant, Minicomputer) 1112, eine Kamera 1113, ein Mobiltelefon 1114 und ein Mobiltelefon mit Kamera 1200 beispielsweise an das Internet 1101 angeschlossen, und zwar über einen Internet Service Provider 1102, ein Telefonnetz 1104 und die Basisstationen 1107 bis 1110.
  • Das Informationsbereitstellungssystem 1100 ist nicht auf ein System beschränkt, das alle in 20 gezeigten Einrichtungen enthält, sondern kann ein System sein, das nur einige davon enthält. Außerdem können die entsprechenden Einrichtungen auch unmittelbar an das Telefonnetz 1104 angeschlossen sein statt über die Basisstationen 1107 bis 1110 als feste Funkstationen
  • Die Kamera 1113 ist eine Einrichtung, die Bewegtbilder von einem Objekt aufnehmen kann, beispielsweise eine digitale Videokamera. Das Mobiltelefon kann ein Mobiltelefon nach einem der folgenden Systeme sein: PDC (Personal Digital Communications), CDMA (Code Division Multiple Access, Codemultiplex-Vielfachzugriff), W-CDMA (Wideband Code Division Multiple Access, Breitband-Codemultiplex-Vielfachzugriff), GSM (Global System for Mobile Communications, Globales Mobilfunksystem), oder PHS (Personal Handyphone System, Individual-Handysystem).
  • Über die Basisstation 1109 und das Telefonnetz 1104 ist ein Streaming-Server 1103 an die Kamera 1113 angeschlossen. Mit diesem System sind mittels der Kamera 1113 auf der Basis kodierter Daten, die vom Benutzer übermittelt werden, Direktübertragungen möglich. Die Kodierung der Daten von aufgenommenen Bildern kann entweder durch die Kamera 1113 oder den Server, der die Daten übermittelt, erfolgen. Bewegtbilddaten, die durch Aufnahme von Bewegtbildern eines Objekts mittels der Kamera 1116 erhalten werden, können über den Computer 1111 zum Streaming-Server 1103 übertragen werden. Die Kamera 1116 ist eine Vorrichtung, die von einem Objekt Standbilder oder Bewegtbilder aufnehmen kann, beispielsweise eine Digitalkamera. In diesem Fall kann das Kodieren der Bewegtbilddaten entweder durch die Kamera 1116 oder den Computer 1111 erfolgen. Außerdem wird das Kodieren durch ein LSI 1117 vorgenommen, das im Computer 1111 oder in der Kamera 1116 enthalten ist.
  • Die Bildkodierungs- bzw. -dekodierungssoftware kann auf einem Datenträger (einer CD-ROM, einer Diskette, einer Festplatte oder dergleichen) gespeichert sein, der der Datenträger ist, der Daten enthält, die vom Computer 1111 oder dergleichen gelesen werden können. Außerdem können die Bewegtbilddaten über das Mobiltelefon mit Kamera 1200 übertragen werden. Die Bewegtbilddaten sind Daten, die von einem LSI kodiert worden sind, das im Mobiltelefon 1200 enthalten ist.
  • Bei diesem Informationsbereitstellungssystem 1100 werden Inhalte, deren Bilder vom Benutzer mit der Kamera 1113 oder der Kamera 1116 aufgenommen worden sind (beispielsweise Videodirektaufnahmen eines Konzerts) auf dieselbe Weise kodiert wie bei den vorgenannten Ausführungsbeispielen und von der Kamera zum Streaming-Server 1103 übertragen. Die Informationen werden der Streamingübermittlung durch den Streaming-Server 1103 an die anfordernde Einrichtung unterworfen.
  • Diese Einrichtung kann entweder der Computer 1111, der PDA 1112, die Kamera 1113, das Mobiltelefon 1114 oder dergleichen sein, die die kodierten Daten dekodieren können.
  • Bei diesem Informationsbereitstellungssystem 1100 können die kodierten Daten auf Kundenseite empfangen und reproduziert werden. Wenn die Daten auf Kun denseite empfangen, dekodiert und in Echtzeit reproduziert werden, kann ein Privatrundfunk eingerichtet werden.
  • Das Kodieren oder Dekodieren in den entsprechenden Einrichtungen, die das System bilden, kann mittels der Bewegtbildkodiervorrichtung bzw. der Bewegtbilddekodiervorrichtung gemäß einem der vorgenannten Ausführungsbeispiele erfolgen.
  • Als Beispiel wird nunmehr ein Mobiltelefon beschrieben.
  • 21 ist eine schematische Darstellung eines Mobiltelefons 1200, das die Bewegtbildkodiervorrichtung und die Bewegtbilddekodiervorrichtung nach einem der vorgenannten Ausführungsbeispiele nutzt.
  • Das Mobiltelefon 1200 besitzt eine Antenne 1201 zum Senden bzw. Empfangen von Funkwellen an die bzw. von der Basisstation 1110, eine Kameraeinheit 1203, die Video- oder Standbilder eines Objekts aufnehmen kann, beispielsweise eine CCD-Kamera, und eine Anzeigeeinheit 1202, beispielsweise ein Flüssigkristalldisplay, zur Darstellung der Daten des von der Kameraeinheit 1203 aufgenommenen Videos oder des über die Antenne 1201 empfangenen Videos.
  • Außerdem besitzt das Mobiltelefon 1200 einen Hauptteil 1204 mit mehreren Bedientasten, eine Sprachausgabeeinheit 1208, beispielsweise einen Lautsprecher, eine Spracheingabeeinheit 1205, beispielsweise ein Mikrophon, ein Speichermedium 1207 zum Speichern kodierter oder dekodierter Daten, beispielsweise der Daten aufgenommener Bewegtbilder oder Standbilder, oder von Daten, Bewegtbilddaten oder Standbilddaten aus empfangener E-Mail, und eine Steckeinheit 1206, über die das Speichermedium 1207 mit dem Mobiltelefon 1200 verbunden werden kann.
  • Das Speichermedium 1207 enthält als Beispiel für ein EEPROM (Electrically Erasable and Programmable Read Only Memory) einen Flash-Speicher, der ein elektrisch programmierbarer und löschbarer nichtflüchtiger Speicher in einem Plastikgehäuse ist, beispielsweise eine SD-Karte.
  • Das Mobiltelefon 1200 wird unter Bezugnahme auf 22 näher beschrieben.
  • Das Mobiltelefon 1200 hat ein Hauptsteuerteil 1241 zur zentralen Steuerung der einzelnen Einheiten des Hauptteils mit der Anzeigeeinheit 1202 und der Bedientastatur 1204.
  • Außerdem besitzt das Mobiltelefon 1200 eine Stromversorgungsschaltung 1240, eine Funktionseingabeeinheit 1234, eine Bildkodiereinheit 1242, eine Kameraschnittstelle 1233, eine LCD-(Flüssigkristallanzeige-)Steuereinheit 1232, eine Bilddekodiereinheit 1239, eine Multiplexing-/Demultiplexing-Einheit 1238, eine Aufzeichnungs-/Wiedergabe-Einheit 1237, eine Modulations-/Demodulations-Einheit 1236 und eine Tonverarbeitungseinheit 1235. Die entsprechenden Einheiten des Mobiltelefons 1200 sind über einen Synchronisationsbus 1250 miteinander verbunden.
  • Die Stromversorgungsschaltung 1240 versorgt die entsprechenden Einheiten mit Strom aus einer Batterie, wenn der Benutzer einen Ruf-/Stromversorgungsschalter auf EIN stellt, wodurch das digitale Mobiltelefon mit Kamera 1200 betriebsbereit geschaltet wird.
  • Bei dem Mobiltelefon 1200 werden die entsprechenden Einheiten von der Hauptsteuereinheit 1241, die von CPU, ROM, RAM oder dergleichen gebildet wird, gesteuert. Im einzelnen wird bei dem Mobiltelefon 1200 ein akustisches Signal, das im Sprachkommunikationsmodus durch Einsprechen in die Spracheingabeeinheit 1205 erhalten wird, von der Tonverarbeitungseinheit 1235 in ein digitales Tonsignal umgesetzt. Die digitalen Tondaten werden von der Modulations-/Demodulationsschaltung 1236 der Spektrumsaufweitung unterworfen, dann von der Sende-/Empfangsschaltung 1231 der D/A-Wandlung und der Frequenztransformation unterworfen und über die Antenne 1201 übertragen.
  • Bei diesem Mobilfunkgerät 1200 wird ein im Sprachkommunikationsmodus über die Antenne 1201 empfangenes Signal verstärkt und dann der Frequenztransformation und der A/D-Wandlung unterworfen. Außerdem wird das empfangene Signal in der Modulations-/Demodulationsschaltung 1236 der inversen Spektrumsspreizung unterworfen, von der Tonverarbeitungseinheit 1235 in ein analo ges Tonsignal gewandelt, und dieses analoge Tonsignal wird über die Sprachausgabeeinheit 1208 ausgegeben.
  • Wenn das Mobiltelefon 1200 im Datenkommunikationsmodus elektronische Post überträgt, werden die Textdaten der E-Mail, die über die Bedientastatur 1204 am Hauptteil eingegeben wird, über die Eingabesteuereinheit 1234 zum Hauptsteuerteil 1241 übertragen. Das Hauptsteuerteil 1241 steuert die entsprechenden Einheiten so, dass die Textdaten in der Modulations-/Demodulationsschaltung 1236 der Spektrumsspreizung unterworfen, dann in der Sende-/Empfangsschaltung 1231 der D/A-Wandlung und der Frequenztransformation unterworfen und anschließend über die Antenne 1201 zur Basisstation 1110 übertragen werden.
  • Wenn dieses Mobiltelefon 1200 im Datenkommunikationsmodus Bilddaten überträgt, werden die Daten eines von der Kameraeinheit 1203 aufgenommenen Bildes über die Kameraschnittstelle 1233 der Bildkodiereinheit 1242 zugeführt. Wenn das Mobiltelefon 1200 die Bilddaten nicht überträgt, können die Daten des von der Kameraeinheit 1203 aufgenommenen Bildes über die Kameraschnittstelle 1233 und die LCD-Steuereinheit 1232 unmittelbar auf der Anzeigeeinheit 1202 dargestellt werden.
  • Die Bildkodiereinheit 1242 enthält die Bewegtbildkodiervorrichtung gemäß einem der obengenannten Ausführungsbeispiele. Diese Bildkodiereinheit 1242 kodiert und komprimiert die von der Kameraeinheit 1203 kommenden Bilddaten nach dem Bewegtbildkodierverfahren gemäß einem der obigen Ausführungsbeispiele und erzeugt so kodierte Bilddaten und gibt die erhaltenen kodierten Bilddaten an die Multiplexierungs-/Demultiplexierungseinheit 1238 aus. Gleichzeitig überträgt das Mobiltelefon 1200 den Ton, der während der Aufnahme des Bildes durch die Kameraeinheit 1203 in die Spracheingabeeinheit 1205 eingesprochen wurde, als digitale Audiodaten über die Tonverarbeitungseinheit 1235 an die Multiplexierungs-/Demultiplexierungseinheit 1238.
  • Die Multiplexierungs-/Demultiplexierungseinheit 1238 multiplexiert die kodierten Bilddaten aus der Bildkodiereinheit 1242 und die Audiodaten aus der Tonverarbeitungseinheit 1235 nach einem vorgegebenen Verfahren. Die dabei entstehen den multiplexierten Daten werden in der Modulations-/Demodulationsschaltung 1236 der Spektrumsspreizung unterworfen, dann in der Sende-/Empfangsschaltung 1231 der D/A-Wandlung und der Frequenztransformation unterworfen, und die erhaltenen Daten werden über die Antenne 1201 übertragen.
  • Wenn das Mobiltelefon 1200 im Datenkommunikationsmodus die Daten einer Bewegtbilddatei empfängt, die mit einer Homepage oder dergleichen verlinkt ist, wird ein von der Basisstation 1110 über die Antenne 1201 empfangenes Signal durch die Modulations-/Demodulationsschaltung 1236 der inversen Spektrumsspreizung unterworfen, und die so gewonnenen multiplexierten Daten werden zur Multiplexierungs-/Demultiplexierungseinheit 1238 übertragen.
  • Wenn die über die Antenne 1201 empfangenen multiplexierten Daten dekodiert werden, demultiplexiert die Multiplexierungs-/Demultiplexierungseinheit 1238 die multiplexierten Daten und teilt sie in einen kodierten Bitstrom, der den Bilddaten entspricht, und einen kodierten Bitstrom, der den Tondaten entspricht, auf, und die kodierten Bilddaten werden über den Synchronisationsbus 1250 der Bilddekodiereinheit 1239 und die Tondaten der Tonverarbeitungseinheit 1235 zugeführt.
  • Die Bilddekodiereinheit 1239 enthält die Bewegtbilddekodiervorrichtung gemäß einem der vorgenannten Ausführungsbeispiele. Die Bilddekodiereinheit 1239 dekodiert den kodierten Bitstrom der Bilddaten nach dem Dekodierungsverfahren, das dem Kodierungsverfahren gemäß einem der vorgenannten Ausführungsbeispiele entspricht, um Bewegtbilddaten zu reproduzieren, und liefert die reproduzierten Daten über die LCD-Steuereinheit 1232 an die Anzeigeeinheit 1202. Dadurch werden beispielsweise die in der Bewegtbilddatei, die mit der Homepage verlinkt ist, enthaltenen Bewegtbilddaten dargestellt. Gleichzeitig wandelt die Tonverarbeitungseinheit 1235 die Tondaten in ein analoges Tonsignal und liefert dieses dann an die Sprachausgabeeinheit 1208. Dadurch erfolgt beispielsweise die Wiedergabe der Tondaten, die in der Bewegtbilddatei enthalten sind, die mit der Homepage verlinkt ist.
  • Das System, in dem das Bewegtbildkodierverfahren und das Bewegtbilddekodierverfahren gemäß einem der vorgenannten Ausführungsbeispiele angewendet werden, ist nicht auf das vorgenannte Informationsbereitstellungssystem beschränkt.
  • In letzter Zeit ist viel vom digitalen Rundfunk über Satelliten oder terrestrische Wellen die Rede, und die Bewegtbildkodiervorrichtung sowie die Bewegtbilddekodiervorrichtung gemäß den obigen Ausführungsbeispielen sind auch in einem digitalen Rundfunksystem 1400 einsetzbar, wie es in 23 dargestellt ist.
  • Im einzelnen wird ein kodierter Bitstrom, der Videodaten entspricht, von einer Rundfunkstation 1409 über Funk zu einem Satelliten 1410, beispielsweise einem Nachrichtensatelliten oder einem Rundfunksatelliten, übertragen. Wenn der Rundfunksatellit 1410 den kodierten Bitstrom, der den Videodaten entspricht, empfängt, sendet er Rundfunkwellen aus, die in einer mit Satellitenrundfunkempfangseinrichtung ausgestatteten Wohnung von einer Antenne 1406 empfangen werden. Beispielsweise dekodiert ein Gerät wie ein Fernsehempfänger 1401 oder ein Aufsatzempfänger (set top box, STB) 1407 den kodierten Bitstrom und reproduziert die Videodaten.
  • Außerdem kann die Bewegtbilddekodiervorrichtung gemäß einem der vorgenannten Ausführungsbeispiele auch in einem Wiedergabegerät 1403 eingerichtet werden, das den auf einem Datenträger 1402, beispielsweise einer CD oder einer DVD, gespeicherten kodierten Bitstrom lesen und dekodieren kann.
  • In diesem Fall wird das reproduzierte Video auf einem Bildschirm 1404 dargestellt. Die Bewegtbilddekodiervorrichtung kann auf dem Aufsatzempfänger 1407 angebracht werden, der an ein Kabel 1405 zum Kabelfernsehen oder eine Antenne 1406 für Satelliten- oder Erdfunkempfang angeschlossen ist, um die Ausgangssignale der Bewegtbilddekodiervorrichtung auf einem Fernsehbildschirm 1408 darzustellen. Dabei kann die Bewegtbilddekodiervorrichtung statt in den Aufsatzempfänger auch in das Fernsehgerät integriert sein. Ein Fahrzeug 1412 mit einer Antenne 1411 kann ein Signal vom Satelliten 1410 oder von der Basisstation 1107 (siehe 20) empfangen und ein auf dem Display eines Fahr zeugnavigationssystems 1413 oder dergleichen, das im Fahrzeug 1412 montiert ist, darzustellendes Bewegtbild reproduzieren.
  • Außerdem kann ein Bildsignal von der Bewegtbildkodiervorrichtung gemäß einem der vorgenannten Ausführungsbeispiele kodiert und auf einem Datenträger aufgezeichnet werden.
  • Ein Beispiel für ein Aufzeichnungsgerät ist ein Rekorder 1420, beispielsweise ein DVD-Rekorder, der Bildsignale auf einer DVD 1421 aufzeichnet, oder ein Diskrekorder, der Bildsignale auf einer Festplatte aufzeichnet. Die Bildsignale können auch auf einer SD-Karte 1422 aufgezeichnet werden. Wenn der Rekorder 1420 die Bewegtbilddekodiervorrichtung gemäß einem der vorgenannten Ausführungsbeispiele enthält, können die auf der DVD 1421 oder der SD-Karte 1422 aufgezeichneten Bildsignale auch vom Rekorder 1420 reproduziert und am Bildschirm 1408 dargestellt werden.
  • Dabei kann das Fahrzeugnavigationssystem 1413 beispielsweise außer der Kameraeinheit 1203, der Kameraschnittstelle 1233 und der Bildkodiereinheit 1242 die Komponenten des in 22 gezeigten Mobiltelefons enthalten. Das Gleiche gilt für den Computer 1111 (siehe 20) und den Fernsehempfänger 1401.
  • Als Endgerät wie das Mobiltelefon 1114 (siehe 20) kommt einer von drei Endgerättypen in Betracht, nämlich ein Sende- und Empfangsgerät mit Kodierer und Dekodierer, ein Sendegerät nur mit Kodierer und ein Empfangsgerät nur mit Dekodierer.
  • Wie oben beschrieben, ist jedes der vorgenannten Ausführungsbeispiele der Bewegtbildkodiervorrichtung oder der Bewegtbilddekodiervorrichtung in jedem der vorgenannten Geräte oder Systeme einsetzbar, womit die bei den obigen Ausführungsbeispielen beschriebenen Effekte erzielt werden können.
  • Außerdem versteht es sich von selbst, dass die Ausführungsbeispiele der Erfindung und ihr Einsatz nicht auf die in der Beschreibung dargestellten beschränkt sind.
  • Gewerbliche Anwendbarkeit
  • Bei dem erfindungsgemäßen Bewegtbildkodierverfahren und dem erfindungsgemäßen Bewegtbilddekodierverfahren kann für die maximale Anzahl der Intra-Frame-Pixel eines kodierbaren bzw. dekodierbaren Bildes der optimale Wert festgelegt werden, der unter mehreren Werten ausgewählt wird, die entsprechend den Spezifikationen der Vorrichtung in Abhängigkeit vom Kodierlevel schrittweise festgelegt wurden, so dass für die Kodiervorrichtung und für die Dekodiervorrichtung ein Speicherbereich festgelegt werden kann, der einem Kodierverfahren angepasst ist, bei dem die Kapazität des Speicherbereichs nicht beschränkt ist, was für die Gestaltung der Bewegtbildkodiervorrichtung und der Bewegtbilddekodiervorrichtung zweckmäßig ist.

Claims (3)

  1. Verfahren zum Kodieren eines Bewegtbildes (Id), das aus mehreren Bildern besteht, die jeweils aus einer vorgegebenen Anzahl von Pixeln bestehen, wobei das Verfahren umfaßt: einen Levelidentifikator-Ausgabeschritt, bei dem ein Kodierlevel ausgewählt wird, der den Level des Kodiervorgangs für das Bewegtbild (Id) anzeigt, und ein Levelidentifikator (Lst) zur Anzeige des gewählten Kodierlevels ausgegeben wird; einen Kodierte-Daten-Erzeugungsschritt, bei dem jedes Bild des Bewegtbilds (Id) entsprechend dem gewählten Kodierlevel kodiert wird, um kodierte Daten (Cd) für das Bewegtbild zu erzeugen; und einen Codesequenz-Erzeugungsschritt, bei dem der Levelidentifikator (Lst) und die kodierten Daten (Cd) multiplexiert werden, um eine Codesequenz (Bra) zu erzeugen, wobei der Levelidentifikator (Lst) ein Identifikator ist, der die maximale Anzahl der Intra-Frame-Pixel (Nfxp) eines Bildes, die dem gewählten Kodierlevel entspricht, und die maximale Anzahl der Speicherpixel (Nspx), die die Datenmenge angibt, die in einem Bildspeicher (101, 105) gespeichert werden kann und dem gewählten Kodierlevel entspricht, angibt; wobei der Kodierte-Daten-Erzeugungsschritt einen prädiktiven Kodierungsschritt enthält, bei dem ein zu kodierendes Bild unter Bezugnahme auf ein bereits kodiertes Bild prädiktiv kodiert wird, und die maximale Anzahl der möglichen Referenzbilder, die in dem Bildspeicher (101, 105) gespeichert werden können, auf der Basis der Anzahl der vertikalen Pixel (Ihpx) und der Anzahl der horizontalen Pixel (Iwpx) eines kodierten Bildes sowie der maximalen Anzahl der Speicherpixel (Nspx), die durch den Levelidentifikator (Lst) angezeigt wird, berechnet wird.
  2. Vorrichtung (10a) zum Kodieren eines Bewegtbildes (Id), das aus mehreren Bildern besteht, die jeweils aus einer vorgegebenen Anzahl von Pixeln bestehen, wobei die Vorrichtung aufweist: ein Levelidentifikator-Ausgabemittel zum Auswählen eines Kodierlevels, der den Kodierlevel des Kodiervorgangs für das Bewegtbild (Id) angibt, und zum Ausgeben eines Levelidentifikators (Lst) zur Angabe des ausgewählten Kodierlevels; ein Kodierte-Daten-Erzeugungsmittel (102) zum Kodieren jedes Bildes des Bewegtbilds (Id) entsprechend dem gewählten Kodierlevel, um kodierte Daten (Cd) des Bewegtbildes zu erzeugen; und ein Codesequenz-Erzeugungsmittel (103) zum Multiplexieren des Levelidentifikators (Lst) und der kodierten Daten (Cd), um eine Codesequenz (Bsa) zu erzeugen, wobei der Levelidentifikator (Lst) ein Identifikator ist, der die maximale Anzahl der Inta-Frame-Pixel (Nfxp) eines Bildes, die dem gewählten Kodierlevel entspricht, und die maximale Anzahl der Speicherpixel (Nspx), die die Datenmenge angibt, die in einem Bildspeicher (101, 105) gespeichert werden kann und dem gewählten Kodierlevel entspricht, wobei das Kodierte-Daten-Erzeugungsmittel (102) ein Mittel zum prädiktiven Kodieren eines unter Bezugnahme auf ein bereits kodiertes Bild zu kodierenden Bildes enthält, und die maximale Anzahl der möglichen Referenzbilder, die in dem Bildspeicher (101, 105) gespeichert werden können, auf der Basis der Anzahl der vertikalen Pixel (Ihpx) und der Anzahl der horizontalen Pixel (Iwpx) eines kodierten Bildes und der maximalen Anzahl der Speicherpixel (Nspx), die durch den Levelidentifikator (Lst) angezeigt wird, berechnet wird.
  3. Datenträger, der ein Programm zur Ausführung eines Verfahrens zum Kodieren eines Bewegtbildes enthält, wobei das Programm einen Computer veranlasst, den Kodiervorgang entsprechend dem Bewegtbildkodierverfahren von Anspruch 1 auszuführen.
DE2003618758 2002-02-01 2003-01-31 Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder Expired - Lifetime DE60318758T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002026197 2002-02-01
JP2002026197 2002-02-01
JP2002334422 2002-11-18
JP2002334422 2002-11-18

Publications (2)

Publication Number Publication Date
DE60318758D1 DE60318758D1 (de) 2008-03-06
DE60318758T2 true DE60318758T2 (de) 2009-01-08

Family

ID=27667487

Family Applications (3)

Application Number Title Priority Date Filing Date
DE2003618757 Expired - Lifetime DE60318757T2 (de) 2002-02-01 2003-01-31 Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder
DE2003618758 Expired - Lifetime DE60318758T2 (de) 2002-02-01 2003-01-31 Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder
DE2003612960 Expired - Lifetime DE60312960T2 (de) 2002-02-01 2003-01-31 Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE2003618757 Expired - Lifetime DE60318757T2 (de) 2002-02-01 2003-01-31 Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE2003612960 Expired - Lifetime DE60312960T2 (de) 2002-02-01 2003-01-31 Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder

Country Status (14)

Country Link
US (6) US7936825B2 (de)
EP (3) EP1475970B1 (de)
JP (5) JP4223544B2 (de)
KR (2) KR100944552B1 (de)
CN (1) CN1271862C (de)
AT (3) ATE384403T1 (de)
AU (1) AU2003208086B2 (de)
BR (2) BRPI0302966B1 (de)
CA (1) CA2442945C (de)
DE (3) DE60318757T2 (de)
ES (2) ES2299170T3 (de)
HK (1) HK1110729A1 (de)
MX (1) MXPA03009131A (de)
WO (1) WO2003065733A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4591657B2 (ja) 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
TWI289997B (en) * 2004-12-02 2007-11-11 Sony Corp Encoding device, method, and program
JP4570532B2 (ja) * 2005-08-02 2010-10-27 パナソニック株式会社 動き検出装置、動き検出方法、集積回路およびプログラム
JP4702943B2 (ja) * 2005-10-19 2011-06-15 キヤノン株式会社 画像処理装置及びその方法
US8295343B2 (en) * 2005-11-18 2012-10-23 Apple Inc. Video bit rate control method
US8233535B2 (en) 2005-11-18 2012-07-31 Apple Inc. Region-based processing of predicted pixels
US7746961B2 (en) * 2006-04-11 2010-06-29 Telefonaktiebolaget L M Ericsson (Publ) Efficient detection of predetermined sequences
EP2034483A1 (de) * 2006-06-26 2009-03-11 Panasonic Corporation Formatumwandler, formatumwandlungsverfahren und system zur dekodierung bewegter bilder
CN101637027B (zh) * 2007-03-20 2011-11-23 富士通株式会社 解码方法、解码器以及解码装置
JP5211530B2 (ja) * 2007-03-30 2013-06-12 富士ゼロックス株式会社 情報提供システム、情報提供装置、及びプログラム
US8259811B2 (en) * 2007-11-30 2012-09-04 Olympus Imaging Corp Method for determining a number of items of encoded data that can be stored in a memory, and method for controlling sizes of items of encoded image data to be stored in a memory
FR2931610B1 (fr) * 2008-05-20 2010-12-17 Canon Kk Procede et un dispositif de transmission de donnees d'images
US9161057B2 (en) * 2009-07-09 2015-10-13 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
US8711930B2 (en) * 2009-07-09 2014-04-29 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding
CA2804762C (en) 2010-07-14 2016-11-08 Ntt Docomo, Inc. Low-complexity intra prediction for video coding
US9736489B2 (en) 2011-09-17 2017-08-15 Qualcomm Incorporated Motion vector determination for video coding
CN107888914B (zh) * 2011-12-28 2020-05-22 Jvc 建伍株式会社 动图像编码装置以及动图像编码方法
KR20160071569A (ko) 2014-12-11 2016-06-22 삼성전자주식회사 비디오 장치에서의 영상 처리 방법 및 그에 따른 비디오 장치
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291281A (en) * 1992-06-18 1994-03-01 General Instrument Corporation Adaptive coding level control for video compression systems
US5515296A (en) 1993-11-24 1996-05-07 Intel Corporation Scan path for encoding and decoding two-dimensional signals
US5959672A (en) * 1995-09-29 1999-09-28 Nippondenso Co., Ltd. Picture signal encoding system, picture signal decoding system and picture recognition system
US6571019B1 (en) * 1995-10-26 2003-05-27 Hyundai Curitel, Inc Apparatus and method of encoding/decoding a coded block pattern
US6208689B1 (en) * 1996-03-04 2001-03-27 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for digital image decoding
ES2190995T3 (es) * 1996-05-17 2003-09-01 Matsushita Electric Ind Co Ltd Decodificador de video con compensacion de movimiento.
JP3628810B2 (ja) 1996-06-28 2005-03-16 三菱電機株式会社 画像符号化装置
JPH1032495A (ja) * 1996-07-18 1998-02-03 Sony Corp データ処理装置および方法
JP3895414B2 (ja) 1996-12-16 2007-03-22 松下電器産業株式会社 映像復号化装置
US6256347B1 (en) * 1996-12-17 2001-07-03 Thomson Licensing S.A. Pixel block compression apparatus in an image processing system
JP3373130B2 (ja) 1997-03-24 2003-02-04 沖電気工業株式会社 画像復号化装置
KR100259136B1 (ko) * 1997-04-19 2000-06-15 김영환 움직임 벡터 검출 장치
US6216157B1 (en) * 1997-11-14 2001-04-10 Yahoo! Inc. Method and apparatus for a client-server system with heterogeneous clients
DE69937816T2 (de) 1998-04-28 2008-12-24 Canon K.K. Datenverarbeitungsgerät und Verfahren
JP3854738B2 (ja) * 1998-11-16 2006-12-06 キヤノン株式会社 データ処理装置及びその方法、及びデータ処理システム
JP3854737B2 (ja) 1998-11-16 2006-12-06 キヤノン株式会社 データ処理装置及びその方法、及びデータ処理システム
JP4224748B2 (ja) 1999-09-13 2009-02-18 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、記録媒体、並びに画像処理装置
GB2381403B (en) 2000-05-10 2004-12-01 Picturetel Corp Video coding using multiple buffers
FI120125B (fi) 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
CA2317870A1 (en) * 2000-09-08 2002-03-08 Jaldi Semiconductor Corp. A system and method for scaling images
US6968082B2 (en) * 2001-09-06 2005-11-22 Hewlett-Packard Development Company L.P. Resolution dependent image compression
US7224731B2 (en) * 2002-06-28 2007-05-29 Microsoft Corporation Motion estimation/compensation for screen capture video

Also Published As

Publication number Publication date
CN1498502A (zh) 2004-05-19
US20100172406A1 (en) 2010-07-08
AU2003208086B2 (en) 2007-11-15
HK1110729A1 (en) 2008-07-18
KR20040077444A (ko) 2004-09-04
MXPA03009131A (es) 2004-02-12
DE60312960D1 (de) 2007-05-16
ATE384404T1 (de) 2008-02-15
DE60318758D1 (de) 2008-03-06
WO2003065733A1 (en) 2003-08-07
CA2442945C (en) 2012-05-08
CN1271862C (zh) 2006-08-23
EP1765019B1 (de) 2008-01-16
DE60318757D1 (de) 2008-03-06
JP2011254535A (ja) 2011-12-15
US20040233995A1 (en) 2004-11-25
JP4860011B2 (ja) 2012-01-25
DE60312960T2 (de) 2007-12-13
KR100926845B1 (ko) 2009-11-13
US20080063058A1 (en) 2008-03-13
JP4220574B2 (ja) 2009-02-04
US7664179B2 (en) 2010-02-16
KR100944552B1 (ko) 2010-02-25
EP1475970A1 (de) 2004-11-10
DE60318757T2 (de) 2009-01-15
JP2008301533A (ja) 2008-12-11
US7664178B2 (en) 2010-02-16
US20080063087A1 (en) 2008-03-13
US8396132B2 (en) 2013-03-12
JP2008289205A (ja) 2008-11-27
KR20070108572A (ko) 2007-11-12
US7715478B2 (en) 2010-05-11
US20080069212A1 (en) 2008-03-20
US8737473B2 (en) 2014-05-27
ATE358946T1 (de) 2007-04-15
JP2012010380A (ja) 2012-01-12
BRPI0302966B1 (pt) 2018-02-14
EP1765019A1 (de) 2007-03-21
JP4860010B2 (ja) 2012-01-25
JP4223544B2 (ja) 2009-02-12
ATE384403T1 (de) 2008-02-15
EP1765018B1 (de) 2008-01-16
ES2299170T3 (es) 2008-05-16
JP2009077452A (ja) 2009-04-09
EP1475970A4 (de) 2006-07-12
US20080063059A1 (en) 2008-03-13
EP1475970B1 (de) 2007-04-04
AU2003208086A2 (en) 2003-09-02
US7936825B2 (en) 2011-05-03
ES2299171T3 (es) 2008-05-16
BR0302966A (pt) 2004-07-06
JP4859936B2 (ja) 2012-01-25
CA2442945A1 (en) 2003-08-07
EP1765018A1 (de) 2007-03-21

Similar Documents

Publication Publication Date Title
DE60318758T2 (de) Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
DE69913990T2 (de) System zum editieren komprimierter bildsequenzen
DE60023576T2 (de) Verfahren und Vorrichtung zur Bewegtbilddatentranscodierung
DE10300529B4 (de) Verfahren zum Kodieren bewegter Bilder
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE69834902T2 (de) Bewegungskompensierte prädiktive bildkodierung und -dekodierung
DE60220106T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE69735756T2 (de) Dynamische steuerung der kodierrate in einem blockbasierten videokodierungssystem
DE69813911T2 (de) VERFAHREN ZUR BESTIMMUNG VON BEWEGUNGSVEKTORFELDERN MIT LOKALER BEWEGUNGSSCHäTZUNG
DE69333896T2 (de) Vorrichtung und Verfahren zum Aufzeichnen/Wiedergeben von Videoinformation
DE69735028T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69815720T2 (de) Kodierung von bewegten bildern mit variabler bitrate in einem durchgang
DE69928010T2 (de) Erhöhte videowiedergabebildfrequenz in videoanwendungen
DE69816875T2 (de) Sequenzadaptive bit-zuordnung zur codierung von bildern
DE69637343T2 (de) Videokodierungs- und -dekodierungsvorrichtung
DE69632232T2 (de) Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion
DE69635369T2 (de) Videokodierungsvorrichtung
DE69921108T2 (de) Verfahren und vorrichtung zur adaptiven codierung eines videodatenstroms
DE60035740T2 (de) Vorrichtung und Verfahren zur Kodierung von Bewegtbildsignalen
DE69633815T2 (de) Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales
DE69834901T2 (de) Bewegungskompensierte prädiktive bildcodierung und -decodierung
DE102004021854A1 (de) Vorrichtung für sowohl eine Block-Matching Motion Compensation als auch eine Global Motion Compensation sowie Verfahren hierfür
DE69806297T3 (de) Bilddekodiergerät

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP