DE19882097B3 - Codiereinrichtung und Codierverfahren - Google Patents

Codiereinrichtung und Codierverfahren Download PDF

Info

Publication number
DE19882097B3
DE19882097B3 DE19882097T DE19882097T DE19882097B3 DE 19882097 B3 DE19882097 B3 DE 19882097B3 DE 19882097 T DE19882097 T DE 19882097T DE 19882097 T DE19882097 T DE 19882097T DE 19882097 B3 DE19882097 B3 DE 19882097B3
Authority
DE
Germany
Prior art keywords
bit
image
rate
picture
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19882097T
Other languages
English (en)
Other versions
DE19882097T1 (de
Inventor
Kanji Mihara
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=18302908&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE19882097(B3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE19882097T1 publication Critical patent/DE19882097T1/de
Application granted granted Critical
Publication of DE19882097B3 publication Critical patent/DE19882097B3/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • 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/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/146Data rate or code amount at the encoder output
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

Bildcodiereinrichtung (2-1, 2-2, ... 2-n) zum Codieren von Videodaten auf der Basis einer bestimmten Bitrate, wobei die Einrichtung umfaßt:
eine Steuerung (3) zum Berechnen einer Zielbitmenge, die jedem Bild zugeteilt wird, das in einer GOP enthalten ist, auf der Basis einer bestimmten Bitrate; und
eine Codiereinrichtung zum Codieren eines Codierzielbilds auf der Basis der Zielbitmenge, die durch die Steuerung (3) gesteuert wird,
wobei die Steuerung (3) die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der Differenz zwischen einer ersten Bitrate und einer zweiten Bitrate korrigiert, wenn die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate geändert wird, in dem Fall, wo die Codierverarbeitung des Codierzielbilds durch die Codiereinrichtung ausgeführt wird,
wobei die Steuerung (3) die Bitmenge von nicht-codierten Bildern gemäß der Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert und die Zielbitmenge des Codierzielbilds auf der Basis der korrigierten Bitmenge...

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf eine Codiereinrichtung und ein Codierverfahren, insbesondere auf eine Codiereinrichtung und ein Codierverfahren, welches eine nahtlose Änderung einer Bitrate an einer auf halbem Wege liegenden Stelle in einer GOP (group of pictures = Bildgruppe) ermöglicht, wobei ein Ratenänderungsalgorithmus verwendet wird, der in TM5 definiert ist, wobei somit eine effektive Nutzung der Kapazität einer Übertragungsleitung ermöglicht wird.
  • Stand der Technik
  • Seit einiger Zeit ist der Digital-Rundfunk zum Übertragen und Empfangen von Bilddaten als Digitaldaten bekannt. Ein Vorteil des Digital-Rundfunks ist der, daß eine größere Menge von Programmdaten (anschließend als Programme bezeichnet) auf der gleichen Übertragungsleitung übertragen werden kann. Dies ist insbesondere der Tatsache zuzuschreiben, daß Bilddaten komprimiert und übertragen werden können. Als ein Verfahren zum Komprimieren von Bilddaten wird oft ein bidirektional-prädiktives Codiersystem, welches beim MPEG-Standard (Moving Picture Experts Group) verwendet wird, verwendet. Bei diesem bidirektional-prädiktiven Codiersystem werden drei Codierarten ausgeführt, nämlich die Intravollbildcodierung, die Zwischenvollbild-Vorwärtsprädiktiv-Codierung und die bidirektional-prädiktive Codierung. Bilder dieser Codierungsarten werden als I-Bild (intracodiertes Bild), P-Bild (prädiktiv-codiertes Bild) bzw. B-Bild (bidirektional-prädiktives codiertes Bild) bezeichnet.
  • Bei der Kompressionscodierung von Bildern beim Digital-Rundfunk ist es notwendig, eine hohe Bildqualität beizubehalten, wobei man die Datenmenge (Bitmenge) nach der Kompressionscodierung auf nicht mehr als die Übertragungskapazität der Übertragungsleitung beschränkt.
  • Als Verfahren zur Übertragung einer großen Anzahl von Programmen zu einer Übertragungsleitung einer vorherbestimmten Übertragungskapazität ist ein Verfahren ”statistisches Multiplexen” bekannt. Das Statistisch-Multiplexverfahren ist ein Verfahren, um die Übertragungsrate eines jeden Programms dynamisch so zu ändern, um eine größere Anzahl von Programmen zu übertragen. Bei diesem statistischen Multiplexen ist die Übertragung einer größeren Anzahl von Programmen möglich, wobei die Übertragungsrate eines Programms so reduziert wird, daß eine Verschlechterung der Bildqualität nicht wahrnehmbar ist, sogar wenn die Übertragungsrate reduziert ist.
  • Mit Hilfe von 1 und 2 wird das statistische Multiplexen ausführlicher beschrieben. 1 zeigt ein Beispiel einer Zuteilungsbitrate für jedes Programm im herkömmlichen Fall, wo das Multiplexen mit einer festen Rate ausgeführt wird. Die Vertikalachse zeigt die Bitzuteilungsrate für jedes Programm und die Horizontalachse zeigt die Zeit. Wie in 1 gezeigt ist, bleibt die Bitzuteilungsrate eines jeden Programms, welches multiplexartig verarbeitet wird, beispielsweise die Wettervorhersage, die Nachrichten oder ein Schauspiel von der Bitrate her, die als Anfangswert zugeteilt ist, konstant und verändert sich nicht mit dem Zeitablauf. Die zugeteilte Bitrate für jedes Programm als Ausgangswert wird so zugeteilt, daß eine Verschlechterung der Bildqualität eines Teils (Zeit), wo die Verschlechterung der Bildqualität eines jeden Programms am meisten wahrnehmbar ist, innerhalb eines erlaubbaren Bereichs fällt. Daher wird eine Bitrate, welche mehr als notwendig ist, nicht Teilen zugeteilt, mit Ausnahme dem Teil, wo die Verschlechterung der Bildqualität wahrnehmbar ist.
  • 2 zeigt ein Beispiel einer Zuteilungsbitrate für jedes Programm in dem Fall, wo das Multiplexen durch dynamisches Ändern der Bitzuteilungsrate für jedes Programm ausgeführt wird, wobei das statistische Multiplexverfahren verwendet wird. Die Vertikalachse zeigt die Bitzuteilungsrate für jedes Programm und die Horizontalachse zeigt die Zeit. Das statistische Multiplexen nützt die Tatsache, daß ein Teil (Zeit), wo die Verschlechterung der Bildqualität für jedes Programm wahrnehmbar ist, selten in der gleichen Zeitzone erzeugt wird. Das heißt, wenn die Verschlechterung der Bildqualität in einem Programm wahrnehmbar ist, ist die Verschlechterung der Bildqualität anderer Programme oft nicht wahrnehmbar, obwohl sogar die Bitrate abgesenkt ist. Daher ist es möglich, die Bitrate der anderen Programme abzusenken und eine höhere Bitrate dem Programm zuzuteilen, welches eine wahrnehmbare Verschlechterung der Bildqualität hat. Im Beispiel von 2 hat im Zeitpunkt t1 das Bild des Schauspiels (1) eine wahrnehmbare Verschlechterung der Bildqualität, wobei jedoch die Bilder von Nachrichten und dem Schauspiel (2) eine nicht wahrnehmbare Verschlechterung der Bildqualität haben. Daher wird die Bitrate der Bilder der Nachrichten und des Schauspiels (2) abgesenkt, und es wird entsprechend eine höhere Bitrate dem Bild des Schauspiels (1) zugeteilt. Unter dieser Verwendung des statistischen Multiplexverfahrens kann eine größere Anzahl von Programmen übertragen werden.
  • Jedoch tritt eine Schwierigkeit mit der Phase der GOP auf. Normalerweise codiert ein Codierer Bilder, während er eine Ratensteuerung auf GOP-Basis ausführt, wie durch TM5 dargestellt ist (Test Model Editing Committee: ”Test Model 5”; ISO/IEC JTC/SC292/WG11/NO400 (April 1993)). Das heißt, daß die Bitrate nicht an einer auf halbem Wege liegenden Stelle der GOP geändert wird. Wenn die Phasen der GOP der jeweiligen Programme zusammenpassen (was im allgemeinen selten vorkommt), gibt es keine Schwierigkeit. Wenn jedoch die Phasen der GOP eine Diskrepanz haben (was in den meisten Fällen üblicher Weise vorkommt), können, wenn die Bitrate des Programms nur am Anfang der GOP geändert wird, die Bitraten aller Programme nicht in einem Zeitpunkt geändert werden. Daher wird ein ungenutzter Raum (ein Bereich, wo die Bitrate keinem Programm zugeteilt wird) erzeugt, wie in 3 gezeigt ist, so daß die gesamte Übertragungskapazität nicht effektiv genutzt werden kann.
  • Somit könnte man auch in Erwägung ziehen, ein Verfahren zum Codieren von Bildern zu verwenden, wobei man die Zielbitmenge für jede Rahmeneinheit (Vollbildeinheit) festlegt, anstelle die Ratensteuerung auf GOP-Basis auszuführen. Beim Digital-Rundfunk ist es jedoch notwendig, streng die Menge von erzeugten Bits zu steuern, um keinen Überlauf oder Unterlauf eines VBV-Puffers (video buffering verifier) eines Empfängers (Decoders) zu erzeugen. Wenn die Zielbitmenge für jede Rahmeneinheit festgelegt ist, ist es schwierig, die Menge von erzeugten Bits so zu steuern, um keinen Überlauf oder Unterlauf des VBV-Puffers zu erzeugen.
  • In dem Dokument ”BALAKRISHNAN, M.; u. a.: BENEFITS OF STATISTICAL MULTIPLEXING IN MULTI-PROGRAM BROADCASTING. In: IEE International Broadcasting Convention, 12–16 September 1997” ist eine Codiereinrichtung zum Codieren von Videodaten beschrieben, die auf dem MPEG-Format basiert. Das Dokument zielt darauf ab, das Statistical Multiplexing von mehreren Videosignalen anzuwenden und die vorhandene Bandbreite dynamisch aufzuteilen. Hierfür wird jedem Bild in einer Gruppe von Bildern eine Zielbitmenge zugewiesen gemäß einer bestimmten Zuordnungsvorschrift.
  • Offenbarung der Erfindung
  • Im Hinblick auf den obigen Stand der Technik ist eine Aufgabe der vorliegenden Erfindung, eine Bitratenänderung sogar an einer auf halbem Wege liegenden Stelle einer GOP zu ermöglichen, wobei der Bitraten-Änderungsalgorithmus von TM5 angewandt wird, um so eine effektive Nutzung der Kapazität der Übertragungsleitung zu ermöglichen.
  • Eine Bildcodiereinrichtung gemäß der vorliegenden Erfindung umfaßt eine Steuerung zum Berechnen einer Zielbitmenge, die jedem Bild zugeteilt wird, das in einer GOP enthalten ist, auf der Basis einer bestimmten Bitrate, und eine Codiereinrichtung zum Codieren eines Codierzielbilds auf der Basis der Zielbitmenge, die durch die Steuerung gesteuert wird. Die Steuerung korrigiert die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der Differenz zwischen einer ersten Bitrate und einer zweiten Bitrate, wenn die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate geändert wird, in dem Fall, wo die Codierverarbeitung des Codierzielbilds durch die Codiereinrichtung ausgeführt wird.
  • Bei dieser Bildcodiereinrichtung korrigiert, wenn die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate in dem Fall geändert wird, wo die Codierverarbeitung des Zielcodierbilds durch die Codiereinrichtung ausgeführt wird, die Steuerung die Zielbitmenge, die dem Zielcodierbild zugeteilt wird, auf der Basis der Differenz zwischen der ersten Bitrate und der zweiten Bitrate.
  • Eine Bildcodiereinrichtung gemäß der vorliegenden Erfindung umfaßt eine Steuerung zum Berechnen einer Zielbitmenge, die einem Codierzielbild zugeteilt ist, auf der Basis einer Bitmenge, die nicht-codierten Bildern in einer GOP zugeteilt sind, und der bestimmten Bitrate, und eine Codiereinrichtung zum Codieren des Codierzielbilds gemäß der Zielbitmenge, die durch die Steuerung berechnet wird. Die Steuerung korrigiert die Zielbitmenge, die für die Codiereinrichtung von einer Zielbitmenge bereitgestellt wird, die einer ersten Bitrate entspricht, bis zu einer Zielbitmenge, die einer zweiten Bitrate entspricht, in dem Fall, wenn die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird.
  • Bei dieser Bildcodiereinrichtung korrigiert in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die Steuerung die Zielbitmenge, die zur Codiereinrichtung geliefert wird, von der Zielbitmenge entsprechend der ersten Bitrate auf die Zielbitmenge entsprechend der zweiten Bitrate.
  • Eine Bildcodiereinrichtung gemäß der vorliegenden Erfindung umfaßt eine Steuerung zum Berechnen einer Zielbitmenge, die einem Codierzielbild zugeteilt ist, von einer Bitmenge, die nicht-codierten Bildern in einer GOP zugeteilt ist, und eine Codiereinrichtung zum Codieren des Codierzielbilds gemäß der Zielbitmenge, die durch die Steuerung berechnet wird. Die Steuerung korrigiert die Bitmenge von nicht-codierten Bildern so, daß der Wert einer Änderung der Bitmenge von nicht-codierten Bildern zum Wert in dem Zeitpunkt, wenn jedes Bild mit einer zweiten Bitrate codiert wird, von einem Anfangsbild der GOP aus in dem Fall wird, wo die bestimmte Bitrate von einer ersten Bitrate auf die zweite Bitrate bei einer auf halbem Wege liegenden Stelle in der GOP geändert wird. Die Steuerung berechnet die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern.
  • Bei dieser Bildcodiereinrichtung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die Bitmenge von nicht-codierten Bildern so korrigiert, daß der Ort einer Änderung der Bitmenge von nicht-codierten Bildern zum Ort in dem Zeitpunkt wird, wann jedes Bild mit der zweiten Bitrate codiert wird, vom Anfangsbild der GOP, und die Zielbitmenge, die dem Codierzielbild zugeteilt wird, wird auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
  • Ein Codierverfahren gemäß der vorliegenden Erfindung umfaßt einen Steuerschritt zum Berechnen einer Zielbitmenge, die jedem Bild zugeteilt wird, welches von einer GOP umfaßt ist, auf der Basis der bestimmten Bitrate, und einen Codierschritt zum Codieren eines Codierzielbilds auf der Basis der Zielbitmenge, die durch den Steuerschritt gesteuert wird. Im Steuerschritt wird, wenn die bestimmte Bitrate von einer ersten Bitrate auf eine zweite Bitrate in dem Fall geändert wird, wo die Codierverarbeitung des Codierzielbilds durch den Codierschritt ausgeführt wird, die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis die Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert.
  • Bei diesem Codierverfahren wird, wenn die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate geändert wird, in dem Fall, wo die Codierverarbeitung des Codierzielbilds durch den Codierschritt ausgeführt wird, die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert.
  • Hierbei ist vorgesehen, dass die Steuerung die Bitmenge von nicht-codierten Bildern gemäß der Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert und die Zielbitmenge des Codierzielbilds auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
  • Kurzbeschreibung der Zeichnungen
  • 1 zeigt das Multiplexen, wobei eine feste Rate verwendet wird;
  • 2 zeigt das Multiplexen, wobei das statistische Multiplexen verwendet wird;
  • 3 zeigt die Änderungen einer Bitzuteilungsrate in dem Fall, wo die Phasen einer GOP beim statistischen Multiplexen nicht zusammenpassen;
  • 4 ist eine Blockdarstellung, die ein Aufbaubeispiel eines Multiplexsystems zeigt, für das die vorliegende Erfindung angewandt wird;
  • 5 ist eine Blockdarstellung, die ein Aufbaubeispiel einer Bildcodiereinrichtung 2-1 von 4 zeigt;
  • 6 ist ein Flußdiagramm, um die Arbeitsweise der Bildcodiereinrichtung 2-1 von 5 zu erklären;
  • 7 ist ein Flußdiagramm, um die Arbeitsweise der Bildcodiereinrichtung 2-1 von 5 zu erklären;
  • 8 zeigt Änderungen der Kapazität eines VBV-Puffers;
  • 9 zeigt Änderungen der Kapazität eines VBV-Puffers;
  • 10 zeigt Änderungen der Kapazität eines VBV-Puffers;
  • 11 zeigt Änderungen der Kapazität eines VBV-Puffers;
  • 12 zeigt Änderungen der Kapazität eines VBV-Puffers;
  • 13 zeigt Änderungen der Kapazität eines VBV-Puffers;
  • 14 zeigt Änderungen der Bitmenge R;
  • 15 zeigt Änderungen der Bitmenge R in dem Fall, wo die Bitrate an einer auf halbem Wege liegenden Stelle der GOP geändert wird;
  • 16 zeigt die Funktion eines Wertes ”e” des Schritts S11 von 7;
  • 17 ist eine Blockdarstellung, die ein weiteres Aufbaubeispiel eines Bildmultiplexsystems zeigt, für das die vorliegende Erfindung angewandt wird;
  • 18 ist eine Blockdarstellung, die ein Aufbaubeispiel einer Bildcodiereinrichtung 2-1 von 17 zeigt;
  • 19 ist ein Flußdiagramm, um die Arbeitsweise der Bildcodiereinrichtung 2-1 von 18 zu erklären;
  • 20 ist ein Flußdiagramm, um die Arbeitsweise der Bildcodiereinrichtung 2-1 von 18 zu erklären;
  • 21 zeigt Änderungen der Bitmenge R';
  • 22 zeigt Änderungen der Bitmenge G;
  • 23 zeigt Änderungen der Bitmenge R' in dem Fall, wo die Bitrate an einer auf halbem Wege liegenden Stelle der GOP geändert wird;
  • 24 zeigt Änderungen der Bitmenge G in dem Fall, wo die Bitrate an einer auf halbem Wege liegenden Stelle der GOP geändert wird;
  • 25 zeigt die Funktion eines Korrelationswerts ”e” in den Schritten S46 und S47 von 20;
  • 26 zeigt ein Umkehrphänomen der Bitmenge R;
  • 27 zeigt einen Fall des Umkehrphänomens der Bitmenge R; und
  • 28 zeigt das Prinzip der Beschränkung des Umkehrphänomens der Bitmenge R.
  • Hauptausführungsbeispiel
  • Bevorzugte Ausführungsformen der Erfindung werden anschließend ausführlich mit Hilfe der Zeichnungen beschrieben. 4 zeigt ein Aufbaubeispiel eines Bildmultiplexsystems 1, für welches die Erfindung angewandt wird. Das Bildmultiplexsystem 1 besitzt mehrere Bildcodiereinrichtungen 2-i zum Liefern und Komprimier-Codieren von Programmen Pi (i = 1, 2, ..., n) als Programmdaten der vorliegenden Erfindung, eine Steuerung 3, um eine rückkopplungsähnliche Steuerung der Bitrate in bezug auf die individuellen Bildcodiereinrichtungen 2-i auszuführen, und einen Multiplexer 4, um die kompressions-codierten Daten sti, die von den Bildcodiereinrichtungen 2-i ausgegeben werden, zu multiplexen und um die Bilddaten Sm an eine Übertragungsleitung auszugeben. Die Bildcodiereinrichtungen 2-i finden die Vielschichtigkeit (globale Vielschichtigkeit) Ci der Programme Pi heraus und liefern die Vielschichtigkeit Ci zur Steuerung 3. Auf der Basis der globalen Vielschichtigkeit Ci von den Bildcodiereinrichtungen 2-i legt die Steuerung 3 die Bitrate bit_rate#i der Bildcodiereinrichtungen 2-i durch statistisches Multiplexen fest und liefert die festgelegte Bitrate zu den Bildcodiereinrichtungen 2-i.
  • In dem Fall, wo das Bildmultiplexsystem 1 als Übertragungssystem verwendet wird, werden die Bilddaten Sm, die vom Multiplexer 4 ausgegeben werden, als Übertragungsdaten an eine Übertragungsleitung ausgegeben. Andererseits werden in dem Fall, wo das Bildmultiplexsystem 1 als Rundfunksystem verwendet wird, die Bilddaten Sm, die vom Multiplexer 4 ausgegeben werden, als Rundfunkdaten an eine Empfangseinrichtung über eine Übertragungsleitung zum Senden übertragen.
  • 5 ist eine Blockdarstellung, die den Aufbau der Bildcodiereinrichtung 2-1 von 4 ausführlich zeigt. (Obwohl es nicht gezeigt ist, sind die Bildcodiereinrichtungen 2-2 bis 2-n ähnlich aufgebaut). Wie in 5 gezeigt ist, besitzt die Bildcodiereinrichtung 2-1 eine Bildumordnungsschaltung 11, an die ein Programm P1 geliefert wird, die die Reihenfolge von Bildern (I-Bild, P-Bild, B-Bild) gemäß der Codierreihenfolge umordnet, und eine Abtastumsetzungs-Makroblock-Bildungsschaltung 12, an die Ausgangsdaten der Bildumordnungsschaltung 11 geliefert werden, um dann zu unterscheiden, ob die Ausgangsdaten eine Vollbildstruktur oder eine Teilbildstruktur haben, um dann eine Abtastumsetzung gemäß dem Unterscheidungsergebnis auszuführen, und um das Makroblockbilden von 16×16 Pixeln auszuführen. Eine Bewegungsermittlungsschaltung 21 sucht nach einem angemerkten Makroblock in einem Bild als Kompressionscodierziel auf der Basis von Ausgangsdaten der Abtastumsetzungs-Makroblock-Bildungsschaltung 12, und sucht weiter nach einem Makroblock (prädiktiver Makroblock) in einem Bild, der eine minimale Absolutwertsumme oder Quadratsumme einer Differenz im Pixelwert hat, aus dem angemerkten Makroblock. Danach ermittelt die Bewegungsermittlungsschaltung 21 einen Bewegungsvektor MV aus diesen Makroblöcken und sendet den Bewegungsvektor MV zu einer Bewegungskompensationsschaltung 22.
  • Ein Subtrahierglied 13 subtrahiert die prädiktiven Bilddaten (prädiktiver Makroblock), die durch die Bewegungskompensationsschaltung 22 erzeugt werden, auf der Basis des Bewegungsvektors MV von der Bewegungsermittlungsschaltung 21 von dem Ausgangssignal der Abtastumsetzungs-Makroblock-Bildungsschaltung 12 und liefert das Subtraktionsergebnis zu einer DCT-Schaltung (Diskrete Kosinustransformationsschaltung) 14. Die DCT-Schaltung 14 führt die DCT der Eingangsdaten aus und liefert das DCT-Ergebnis zu einer Quantisierungsschaltung 15. Die Quantisierungsschaltung 15 quantisiert die Daten, die von der DCT-Schaltung 14 geliefert werden, auf der Basis eines Quantisierungsskalencodes Q1, der von einer Quantisierungsskalencode-Bestimmungsschaltung 33 einer Ratensteuerung 23 geliefert wird, und liefert die quantisierten Daten zu einer Variabel-Längencodierschaltung 16 und einer Invers-Quantisierungsschaltung 18.
  • Die Variabel-Längencodierschaltung 16 führt eine variable Längencodierung in bezug auf die Daten durch, die von der Quantisierungsschaltung 15 geliefert wurden, und liefert die codierten Daten an den Multiplexer 4 über einen Pufferspeicher 17. Die verwendbare Kapazität des Pufferspeichers 17 wird durch eine Steuerung 24 gesteuert.
  • Die Invers-Quantisierungsschaltung 18 führt die inverse Quantisierung der Daten durch, die von der Quantisierungsschaltung 15 geliefert werden, und liefert die invers-quantisierten Daten zu einer Invers-DCT-Schaltung 19. Die Invers-DCT-Schaltung 19 führt eine inverse DCT der Daten aus, die von der inversen Quantisierungsschaltung 18 geliefert werden, und liefert das inverse DCT-Ergebnis zu einem Addierglied 20. Das Addierglied 20 addiert die prädiktiven Bilddaten, die von der Bewegungskompensationsschaltung 22 ausgegeben werden, und die Daten, die von der Invers-DCT-Schaltung 19 ausgegeben werden. Das Addierglied 20 liefert dann zur Bewegungskompensationsschaltung 22 die Originalbilddaten (die lokal-decodierten Bilddaten), die durch Addition erhalten werden, und bewirkt, daß die Bewegungskompensationsschaltung 22 die Bilddaten in ihrem Einbau-Vollbildspeicher speichert.
  • Die Ratensteuerung 23 erzeugt den Quantisierungsskalencode Q1 auf der Basis des Signals bit_rate#1 von der Steuerung 3 von 4 und der Menge von erzeugten Bits S1 vom Pufferspeicher 17 und liefert den Quantisierungsskalencode Q1 an die Quantisierungsschaltung 15. Daher berechnet eine Vielschichtigkeitsberechnungsschaltung 31 der Ratensteuerung 23 die globale Vielschichtigkeit Ci gemäß den folgenden Gleichungen (wobei Xi, Xp und Xb die globale Vielschichtigkeit darstellen). Die globale Vielschichtigkeit C1 ist ein Datenwort, das die Vielschichtigkeit des Musters der komprimierten Bilddaten zeigt, und ihr Wert wird durch Multiplizieren der Menge von erzeugten Bits (Datenmenge) S1 der komprimierten Bilddaten (geliefert vom Pufferspeicher 17) und des Quantisierungsskalencodes Q1 (geliefert von der Quantisierungsskalencode-Ermittlungsschaltung 33) erhalten: Xi = Si × Qi (1) Xp = Sp × Qp (2) Xb = Sb × Qb (3)
  • In den obigen Gleichungen drücken Xi, Xp und Xb die globale Vielschichtigkeit C1 des I-Bilds, des P-Bilds bzw. des B-Bilds aus. Si, Sp und Sb drücken die Menge von erzeugten Bits S1 in dem Fall aus, wo das I-Bild, das P-Bild und das B-Bild durch die variable Längencodierschaltung 16 codiert sind. Qi, Qp und Qb drücken den Quantisierungsskalencode Q1 beim Erzeugen des I-Bilds, des P-Bilds bzw. des B-Bilds aus.
  • Diese globale Vielschichtigkeit C1 fällt notwendigerweise mit der Codierschwierigkeit D1 zusammen, die bei einem Mitkopplungs-Bitraten-Steuersystem verwendet wird, was später mit Hilfe von 17 und 18 beschrieben wird. Hier stimmt sie in etwa mit der Codierschwierigkeit D1 überein, wenn der Quantisierungsskalencode Q1 weder extrem groß oder klein ist.
  • Die Vielschichtigkeitsberechnungsschaltung 31 liefert die Vielschichtigkeit C1 (Xi, Xp, Xb), die durch einen Rechenbetrieb gemäß den Gleichungen (1) bis (3) herausgefunden wird, an die Steuerung 3 von 4. Die Vielschichtigkeitsberechnungsschaltung 31 liefert außerdem die Vielschichtigkeit C1 zusammen mit der Menge von erzeugten Bits S1 (Si, Sp, Sb) zu einer Zielbitmengen-Setzschaltung 32. Die Zielbitmengen-Setzschaltung 32 setzt eine Zielbitmenge T1 auf der Basis des Signals bit_rate#1, welches von der Steuerung 3 geliefert wird, und der Vielschichtigkeit C1 und die Menge von erzeugten Bits S1 (Si, Sp, Sb), was von der Vielschichtigkeitsberechnungsschaltung 31 geliefert wird, und gibt die gesetzte Zielbitmenge T1 an die Quantisierungsskalencode-Bestimmungsschaltung 33 aus. Die Quantisierungsskalencode-Bestimmungsschaltung 33 bestimmt den Quantisierungsskalencode Q1 gemäß der gelieferten Zielbitmenge T1 und liefert den Quantisierungsskalencode Q1 zur Quantisierungsschaltung 15 und zur Vielschichtigkeitsberechnungsschaltung 31.
  • Es wird nun die Arbeitsweise des in 4 gezeigten Bildmultiplexsystems beschrieben. Bei diesem Bildmultiplexsystem 1 wird jeweils ein Programm Pi durch jeweils eine Bildcodiereinheit 2-1 codiert. Die Bildcodiereinrichtung 2-i berechnet die globale Vielfältigkeit Ci, die die Vielfältigkeit des Bilds ausdrückt, welches schon in bezug auf das Programm Pi codiert wurde, und gibt die berechnete globale Vielfältigkeit Ci an die Steuerung 3 aus. Auf der Basis der gelieferten globalen Vielfältigkeit Ci bestimmt die Steuerung 3 die Zielbitrate bit_rate#i als Zielbitrate, welche eine Zielmenge von erzeugten Bits pro Einheitszeit in bezug auf jeweils ein Programm Pi ist, wobei das statistische Multiplexverfahren verwendet wird, und liefert die bestimmte Zielbitrate zur Bildcodiereinrichtung 2-i. Auf der Basis der gelieferten Zielbitrate bit_rate#i kompressions-codiert die Bildcodiereinrichtung 2-1 das Programm Pi und liefert die kompressions-codierten Daten sti zum Multiplexer 4. Der Multiplexer 4 multiplext die gelieferten kompressions-codierten Daten sti, um die Bilddaten Sm zur Ausgabe zu erzeugen, und liefert die Bilddaten Sm an die Übertragungsleitung.
  • Die grundsätzliche Arbeitsweise der in 5 gezeigten Bildcodiereinrichtung 2-1 wird anschließend beschrieben. Zunächst ordnet die Bildumordnungsschaltung 11 der Bildcodiereinrichtung 2-1 die Reihenfolge der Bilder (I-Bild, P-Bild und B-Bild) des Programms P1 gemäß der Codierreihenfolge um. Danach unterscheidet die Abtastumsetzungs-Makroblock-Bildungsschaltung 12, ob die Bilder einen Vollbildaufbau oder einen Teilbildaufbau haben, und führt die Abtastumsetzung und Makroblockbildung gemäß dem Unterscheidungsergebnis aus. Die Ausgangsdaten der Abtastumsetzungs-Makroblock-Bildungsschaltung 12 werden zur Bewegungsermittlungsschaltung 21 und zum Subtrahierglied 13 geliefert.
  • Wenn das gelieferte Bild das I-Bild ist, wird keine Differenz aus den prädiktiven Bilddaten durch das Subtrahierglied 13 erhalten. Die Ausgangsdaten der Abtastumsetzungs-Makroblockbildungsschaltung 12 werden unmittelbar zur DCT-Schaltung 14 geliefert und in einen DCT-Koeffizienten umgesetzt. Der DCT-Koeffizient wird durch die Quantisierungsschaltung 15 auf der Basis des Quantisierungsskalencodes Q1 quantisiert, der durch die Quantisierungsskalencode-Bestimmungsschaltung 33 festgelegt wird, und wird dann durch variable Längencodierung durch die variable Längencodierschaltung 16 codiert. Die Ausgangsdaten der variablen Längencodierschaltung 16 werden vorübergehend durch den Pufferspeicher 17 gehalten und dann an den Multiplexer 4 als kompressions-codierte Daten st1 geliefert, die aus Bitströmen bestehen.
  • Die inverse Quantisierungsschaltung 18 quantisiert die Ausgangsdaten der Quantisierungsschaltung 15 invers. Die inverse DCT-Schaltung 19 führt die inverse DCT der Ausgangsdaten der inversen Quantisierungsschaltung 18 aus und liefert die inversen DCT-Daten zur Bewegungskompensationsschaltung 22 über das Addierglied 20, um so die Daten in der Bewegungskompensationsschaltung 22 zu halten.
  • Wenn das gelieferte Bild das P-Bild ist, erzeugt die Bewegungskompensationsschaltung 22 prädiktive Bilddaten auf der Basis von Bilddaten entsprechend dem vorangegangenen I-Bild oder P-Bild, welches in ihr gehalten ist, und dem Bewegungsvektor MV von der Bewegungsermittlungsschaltung 21, wobei die prädiktiven Bilddaten an das Subtrahierglied 13 und das Addierglied 20 ausgegeben werden. Das Subtrahierglied 13 berechnet die Differenz zwischen den Ausgangsdaten von der Abtastumsetzungs-Makroblock-Bildungsschaltung 12 und den prädiktiven Bilddaten von der Bewegungskompensationsschaltung 22. Diese Differenzdaten werden in einen DCT-Koeffizienten durch die DCT-Schaltung 14 umgesetzt und dann durch die Quantisierungsschaltung 15 quantisiert. Die variable Längencodierschaltung 16 führt eine variable Längencodierung der Ausgangsdaten von der Quantisierungsschaltung 15 aus und liefert die resultierenden Daten als kompressions-codierte Daten st1 über den Pufferspeicher 17 zum Multiplexer 4.
  • Die inverse Quantisierungsschaltung 18 quantisiert die Ausgangsdaten der Quantisierungsschaltung 15 invers. Die inverse DCT-Schaltung 19 führt die inverse DCT der Ausgangsdaten der inversen Quantisierungsschaltung 18 aus. Das Addierglied 20 addiert die Ausgangsdaten der inversen DCT-Schaltung 19 und die prädiktiven Bilddaten, die von der Bewegungskompensationsschaltung 22 ausgegeben werden, und liefert die addierten Daten zur Bewegungskompensationsschaltung 22, in welcher die Daten gehalten werden.
  • Wenn das gelieferte Bild das B-Bild ist, erzeugt die Bewegungskompensationsschaltung 22 prädiktive Bilddaten auf der Basis der beiden Bilddatenwörter entsprechend dem vorangegangenen und zukünftigen I-Bild oder P-Bild, die in ihr gehalten sind, und zweier Bewegungsvektoren MV aus der Bewegungsermittlungsschaltung 21, und die prädiktiven Bilddaten werden zum Subtrahierglied 13 und zum Addierer 20 geliefert. Das Subtrahierglied 13 berechnet die Differenz zwischen den Ausgangsdaten der Abtastumsetzungs-Makroblock-Bildungsschaltung 12 und den prädiktiven Bilddaten von der Bewegungskompensationsschaltung 22. Diese Differenzdaten werden in einen DCT-Koeffizienten durch die DCT-Schaltung 14 umgesetzt und dann durch die Quantisierungsschaltung 15 quantisiert. Die variable Längencodierschaltung 16 führt die variable Längencodierung der Ausgangsdaten der Quantisierungsschaltung 15 aus und liefert die resultierenden Daten als kompressions-codierte Daten st1 über den Pufferspeicher 17 zum Multiplexer 4. Das B-Bild wird durch die Bewegungskompensationsschaltung 22 nicht gehalten.
  • Der Ratensteuerbetrieb der Ratensteuerung 23 und der Steuerung 24 wird nun mit Hilfe der Flußdiagramme von 6 und 7 beschrieben. In der nachfolgenden Beschreibung ist der Index ”i” wie bei der Menge von erzeugten Bits Si, der globalen Vielfältigkeit Ci, der Zielbitmenge Ti, des Quantisierungsskalencodes Qi, der kompressions-codierten Daten (codierter Datenstrom) sti und der Bitrate bit_rate#i entsprechend jedem Programm Pi grundsätzlich ausgelassen, um eine Komplikation von Symbolen zu vermeiden, mit Ausnahme bei dem Fall, wo sie individuell unterschieden werden müssen.
  • In einer GOP (Bildgruppe), die gemäß dem MPEG-Standard festgelegt ist, wird das j-te Bild als Bild (j) ausgedrückt, und das (j + 1)-te Bild wird als Bild (j + 1) ausgedrückt. Die Anzahl von Bildern, die in der GOP enthalten sind, wird mit N bezeichnet.
  • In der folgenden Beschreibung werden Bilder bis zum Bild (j) mit einer ersten Rate bit_rate(j) codiert, und Bilder vom Bild (j + 1) an werden mit einer zweiten Bitrate bit_rate(j + 1) codiert.
  • Im Schritt S1 berechnet die Zielbitmengen-Setzschaltung 33 der Ratensteuerung 23 die Zielbitmengen Ti(j), Tp(j), Tb(j) in bezug auf das Bild (j) als das j-te Bild in der GOP gemäß den folgenden Gleichungen (4) bis (6):
    Figure 00120001
  • In den obigen Gleichungen drückt R(j) die Bitmenge aus, die dem nicht-codierten Bild zugeteilt ist, welches in der GOP (d. h., ein Bild, welches von nun an codiert wird) einschließlich des Bilds (j) als Codierziel nicht codiert wurde. Kurz ausgedrückt ist diese Bitmenge R(j) ein Wert, die durch Addition von Bitmengen erhalten wird, welche dem Bild (j), dem Bild (j + 1), ..., dem Bild (N) zugeteilt werden sollte. Np und Nb drückt die Anzahl von P-Bildern oder B-Bildern aus, die nicht in der GOP codiert wurden. Xi, Xp und Xb drückt die globale Vielfältigkeit C des I-Bilds, des P-Bilds bzw. des B-Bilds aus. Kp und Kb drücken das Verhältnis des Quantisierungsskalencodes des P-Bilds und B-Bilds in bezug auf den Quantisierungsskalencode des I-Bilds aus, und nehmen Werte an, die durch die folgenden Gleichungen ausgedrückt werden: Kp = 1,0 (7) Kb = 1,4 (8)
  • Das heißt, der Quantisierungsskalencode des P-Bilds ist zum einen der Quantisierungsskalencode des I-Bilds, wobei jedoch der Quantisierungsskalencode des B-Bilds konstant das 1,4-fache des Quantisierungsskalencodes des I-Bilds und des P-Bilds ist. Wenn somit das B-Bild relativ grob im Vergleich mit dem I-Bild oder dem P-Bild codiert wird, kann die Bitmenge, die im B-Bild bewahrt werden kann, zur Bitmenge des I-Bilds und P-Bilds hinzugefügt werden. Daher wird das S/N-Verhältnis des I-Bilds und des P-Bilds verbessert, und außerdem wird das S/N-Verhältnis des B-Bilds, welches sich auf das S/N-Verhältnis des I-Bilds und des P-Bilds bezieht, verbessert. Somit wird das gesamte S/N-Verhältnis verbessert.
  • Die Anfangswerte der Vielfältigkeit Xi, Xp, Xb werden bei Werten festgelegt, die durch die folgenden Gleichungen ausgedrückt werden, auf der Basis der Zielbitrate bit_rate(j) (Bits/s): Xi = 160 × bit_rate(j)/115 (9) Xp = 60 × bit_rate(j)/115 (10 Xb = 42 × bit_rate(j)/115 (11)
  • Bit_rate(j) drückt die Bitrate aus, die in bezug auf die Bilder bis zum Bild (j) durch die Steuerung 3 festgelegt wurde. Pic_rate drückt die Bildrate aus. Bei dem NTSC-System beträgt beispielsweise die Bildrate 30 Vollbilder/s. Max{A, B} drückt eine Funktion aus, die das größere A oder B auswählt.
  • Die Werte R(j), Np, Nb, Kp, Kb und pic_rate werden von der Steuerung 24 (5) geliefert, welche in jeder Bildcodiereinrichtung 2-i vorgesehen ist. Die Werte Xi, Xp und Xb werden durch die Vielfältigkeitsberechnungsschaltung 31 gemäß den Gleichungen (1) bis (3) wie oben beschrieben berechnet.
  • Aus den Gleichungen (4) bis (6) wird die Bitmenge, welcher Anzahl von Zuteilungszielbildern, für welche die geschätzte Bitmenge, die für die gesamten nicht-codierten Bilder erzeugt wird, entspricht, herausgefunden.
  • Beispielsweise drückt in der Gleichung (4) NpXp/XiKp des zweiten Ausdrucks des Nenners des ersten Faktors die Bitmenge der Anzahl von I-Bildern aus, der Np-nicht-codierten P-Bilder in der GOP entsprechen, und NbXb/XiKb des dritten Ausdrucks drückt die Bitmenge der Anzahl von I-Bildern aus, der Nb-nicht-codierten B-Bildern in der GOP entsprechen. Der erste Ausdruck ”1” drückt die Anzahl der I-Bilder in der GOP aus. (Die Anzahl von I-Bildern in einer GOP ist konstant 1). Daher drückt der erste Faktor in der Gleichung (4) die Bitmenge pro Bild bei der Annahme aus, daß alle verbleibenden (N – j + 1) Bilder in der GOP I-Bilder sind. N drückt die Anzahl von Bildern aus, die in der GOP enthalten sind.
  • In ähnlicher Weise drückt in der Gleichung (5) NbKpXb/KbXp des zweiten Ausdrucks des Nenners des ersten Faktors die Bitmenge der Anzahl von P-Bildern aus, der Np nicht-codierte B-Bilder in der GOP entsprechen. Daher drückt der erste Faktor in der Gleichung (5) die Bitmenge pro Bild bei der Annahme aus, daß alle verbleibenden (N – j + 1) Bilder in der GOP P-Bilder sind.
  • Außerdem drückt in der Gleichung (6) NpKbXp/KpXb des zweiten Ausdrucks des Nenners des ersten Faktors die Bitmenge der Anzahl von B-Bildern aus, der Np-nicht-codierte P-Bilder in der GOP entsprechen. Daher drückt der erste Faktor die Bitmenge pro Bild bei der Annahme aus, daß alle verbleibenden (N – j + 1) Bilder in der GOP B-Bilder sind.
  • Grundsätzlich sind die Werte der ersten Faktoren in den Gleichungen (4) bis (6) als Zielbitmengen Ti(j), Tp(j) und Tb(j) des I-Bilds, des P-Bilds und des B-Bilds festgelegt. (Anschließend wird, wenn das I-Bild, das P-Bild und das B-Bild nicht unterschieden werden müssen, die Zielmenge einfach als T(j) bezeichnet). Wenn jedoch die Werte, die durch den Rechenbetrieb herausgefunden werden, zu klein sind, besteht die Gefahr, daß der VBV-Puffer der Bildcodiereinrichtung überläuft. Daher wird der Wert bit_rate(j)/(8 × pic_rate), der durch die zweiten Faktoren in den Gleichungen (4) bis (6) vorgeschrieben ist, als Zielbitmenge T(j) ausgewählt.
  • Wenn man annimmt, daß die Datenbelegungsmenge des VBV-Puffers unmittelbar vor der Codierung des Bilds (j) als Codierzielwert gleich B*(j) ist, und daß die Bitmenge des gleichen Werts wie die Zielbitmenge T(j) durch das tatsächliche Codieren des Bilds (j) erzeugt wird, wird die Belegungsmenge B*(j + 1) des VBV-Puffers unmittelbar vor dem Codieren des nächsten Bilds (j + 1) durch die folgende Gleichung ausgedrückt. Im Schritt S2 berechnet die Steuerung 24 diese Belegungsmenge B*(j + 1) gemäß der folgenden Gleichung: B*(j + 1) = B*(j) – T(j) + (tj+1 – tj) × bit_rate(j + 1) (12)
  • In dieser Gleichung (12) drückt tj den Zeittakt aus, mit dem das Bild (j) aus dem VBV-Puffer gelesen wird, und tj+1 drückt den Zeittakt aus, mit dem das Bild (j + 1) aus dem VBV-Puffer gelesen wird. Die bit_rate(j + 1) drückt die Bitrate aus, die in Bezug auf das Bild (j + 1) und den nachfolgenden Bildern neu gewählt wurde.
  • Außerdem bestimmt im Schritt S2 die Steuerung 24 einen nutzbaren Bereich des VBV-Puffers gemäß der folgenden Gleichung: vbv_size(j + 1) = min {τmax × bit_rate(j + 1), vbv_size(0)} (13)
  • In dieser Gleichung drückt vbv_size(0) die Kapazität des VBV-Puffers in dem Fall aus, wo die Verzögerungszeit des VBV-Puffers den Maximalwert τmax erreicht, und min{A, B} drückt eine Funktion aus, die den größeren Wert A oder B auswählt.
  • Das heißt, daß in diesem Fall, wenn der Maximalwert der Verzögerungszeit des VBV-Puffers vorher durch die Bedienungsperson oder dgl. vorgeschrieben wird und wo eine Bitrate, wo die Verzögerungszeit des VBV-Puffers den vorgeschriebenen Maximalwert übersteigt, verwendet wird, die Steuerung 24 den nutzbaren Bereich des VBV-Puffers einengt (entsprechend dem Pufferspeicher 17 von 5), d. h., daß gleichbedeutend die Kapazität des VBV-Puffers reduziert wird, und sie die Verzögerungszeit so steuert, daß sie den Maximalwert nicht übersteigt. Der Maximalwert τmax wird durch die folgende Gleichung ausgedrückt: τmax = vbv_size(0)/bit_rate(0) (14)
  • In dieser Gleichung drückt vbv_size(0) die maximale Kapazität des VBV-Puffers aus (ein vorgegebener Wert im MPEG-Standard), und bit_rate(0) drückt die Bitrate in dem Fall aus, wo die Verzögerungszeit des VBV-Puffers den Maximalwert τmax erreicht.
  • Im Schritt S3 vergleicht die Steuerung 24 den Wert der Belegungsmenge B*(j + 1) des VBV-Puffers, die im Schritt S2 berechnet wurde, mit dem Wert vbv_size(j + 1). Als Ergebnis des Vergleichs, wenn B*(j + 1) gleich oder größer als vbv_size(j + 1) ist, (d. h., wenn die Zielmenge T(j) korrigiert werden muß, da die Verzögerungszeit des VBV-Puffers den Wert τmax übersteigt, wenn vbv_size(j + 1) des VBV-Puffers unverändert verwendet wird), läuft die Verarbeitung weiter zum Schritt S4, und es wird die Zielbitmenge T(j), die im Schritt S1 berechnet wurde, durch den Differenzbetrag zwischen B*(j + 1) und vbv_size(j + 1) gemäß der folgenden Gleichung korrigiert: T(j) = T(j) + B*(j + 1) – vbv_size(j + 1) (15)
  • Wenn im Schritt S3 bestimmt wird, daß B*(j + 1) kleiner als vbv_size(j + 1) ist, wird der nicht-verwendbare Bereich des VBV-Puffers nicht betreten. Daher wird die Verarbeitung des Schritts S4 übersprungen.
  • Anschließend wird im Schritt S5 das Bild (j) auf der Basis der Zielbitmengen Ti(j), Tp(j) und Tb(j), die im Schritt S1 berechnet wurden, oder der Zielbitmengen Ti(j), Tp(j) und Tb(j), die im Schritt S4 korrigiert wurden, codiert. Insbesondere bestimmt die Quantisierungsskalencode-Bestimmungsschaltung 33 den Quantisierungsskalencode Q1 entsprechend der Zielbitmenge T1 (Ti(j), Tp(j) oder Tb(j)), die durch die Zielbitmengen-Setzschaltung 32 gesetzt wurde. Die Quantisierungsschaltung 15 quantisiert das Bild (j) gemäß dem Quantisierungsskalencode Q1. Die Verarbeitung in diesem Fall ist wie oben beschrieben und braucht daher nicht weiter ausführlich beschrieben zu werden.
  • Nach diesem Schritt ist die Verarbeitung für das j-te Bild (j) in der GOP abgeschlossen. In den folgenden Schritten wird die Verarbeitung für das (j + 1)-te Bild (j + 1) in der GOP ausgeführt.
  • Im Schritt S6 subtrahiert die Steuerung 24 die Bitmenge S(j), die durch Codieren des Bilds (j) erzeugt wird, von der Bitmenge R(j) des nicht-codierten Bilds vor dem Codieren des Bilds (j) gemäß der folgenden Gleichung und findet somit die Bitmenge R(j + 1) heraus, die den nicht-codierten Bildern einschließlich dem codierten Zielbild (j + 1) zugeteilt wurde. Kurz ausgedrückt drückt R(j + 1) die Bitmenge aus, die durch Addieren der Bitmengen erhalten wird, die allen Bildern vom Bild (j + 1) an zugeteilt wurden, als Codierziel bis zum letzten Bild (N) in der GOP: R(j + 1) = R(j) – S(j) (16)
  • Im Schritt S7 korrigiert die Steuerung 24 die Bitmenge R(j + 1), die im Schritt S6 berechnet wurde, wobei die Änderungsmenge {vbv_size(j) – vbv_size(j + 1)} des nutzbaren Bereichs des VBV-Puffers verwendet wird, gemäß der folgenden Gleichung: R(j + 1) = R(j + 1) + (vbv_size(j) – vbv_size(j + 1)} (17)
  • Die Bedeutung der Verarbeitung bis zum Schritt S7 wird anschließend ausführlich mit Hilfe von 8 bis 13 beschrieben.
  • Wenn die Bitrate bit_rate(j), die durch die Steuerung 3 festgelegt wird, gleich der Bitrate bit_rate(0) ist (anschließend auch als Schwellenwert bezeichnet), wo die Verzögerungszeit des VBV-Puffers den Maximalwert τmax erreicht, steuert die Steuerung 24 den VBV-Puffer (Pufferspeicher 17), wie in 8 gezeigt ist. (Das Zeichen ”j” bezeichnet nicht das Zeichen ”i” (für das Programm Pi) bei der bit_rate#i von 4, sondern zeigt die Reihenfolge des Bilds an. Beide Zeichen können gemeinsam wie bei bit_rate#i(j) benannt werden). Wie in 8 gezeigt ist, vergrößert sich die Kapazität des VBV-Puffers nacheinander mit der Bitrate bit_rate(0). In dem Zeitpunkt, wenn die Verzögerungszeit τmax verstrichen ist, wird die Kapazität des VBV-Puffers zu vbv_size(0). Danach werden die Bilddaten, die im VBV-Puffer gespeichert sind, reduziert, jedesmal wenn diese geeignet gelesen und decodiert sind. Wenn Bilddaten neu eingeschrieben werden, wird die Datenmenge vergrößert. Der Betrieb wie oben beschrieben wird nacheinander wiederholt.
  • Wenn die Bitrate bit_rate(1), die durch die Steuerung 3 festgelegt wird, größer als der Schwellenwert bit_rate(0) ist, steuert die Steuerung 24 den Pufferspeicher 27 im Zeitpunkt der Codierverarbeitung des Schritts S5 und verzögert die Ausgabe der Bilddaten um die Zeit τ1. Die Verzögerungszeit τ1 wird gemäß der folgenden Gleichung berechnet: τ1 = τmax – τ2 = τmax – vbv_size(0)/bit_rate(1) (18)
  • Nach dieser Verzögerungszeit τ1 werden Daten in den VBV-Puffer mit der Bitrate bit_rate(1) geschrieben. In dem Zeitpunkt, wenn die Zeit τ2 nach dem Start des Schreibens verstrichen ist, wird die Kapazität des VBV-Puffers zu vbv_size(1) = vbv_size(0). Wie aus dem Vergleich zwischen 8 und 9 deutlich wird, ist die maximale Verzögerungszeit τmax des VBV-Puffers in beiden Fällen die gleiche.
  • Wenn die Bitrate bit_rate(2), die durch die Steuerung 3 festgelegt wird, kleiner als der Schwellenwert bit_rate(0) ist, steuert die Steuerung 24 den Pufferspeicher 17 und setzt (begrenzt) die Kapazität (den nutzbaren Bereich) des Pufferspeichers 17 auf nicht mehr als vbv_size(2). Dieser Rechenbetrieb wird im Schritt 52 von 6 ausgeführt. Insbesondere wird der Bereich, der vbv_size(2) der Kapazität vbv_size(0) des VBV-Puffers übersteigt, in diesem Beispiel nicht verwendet. Als Folge davon wird in dem Zeitpunkt, wenn die Verzögerungszeit τmax verstrichen ist, die Kapazität vbv_size des VBV-Puffers zu vbv_size(2) (= τmax × bit_rate(2)). Daher ist auch in diesem Fall die Verzögerungszeit des VBV-Puffers gleich τmax. Anders ausgedrückt ist die Verzögerungszeit des VBV-Puffers bei τmax in jedem der Fälle von 8 bis 10 konstant.
  • Somit können nahtlose Änderungen der Bitrate in einem breiten Bereich ausgeführt werden und können bei einer Livesendung angewandt werden, die eine konstante Verzögerungszeit beim digitalen Rundfunk hat.
  • Wenn in 10 Daten in den VBV-Puffer mit einer Verzögerungszeit τ3 (= vbv_size(0)/bit_rate(2)) geschrieben werden, wird die Kapazität des VBV-Puffers zu vbv_size(0). In diesem Beispiel jedoch, wenn nur der Bereich verwendet wird, der nicht mehr als Kapazität vbv_size(2) ist, erreicht die Kapazität tatsächlich nicht vbv_size(0).
  • 11 zeigt den Zustand von Änderungen des VBV-Puffers in dem Fall, wo die Bitrate von bit_rate(1) auf die bit_rate(2) bei einem in der Mitte liegenden Punkt geändert wird. Während der Zeitdauer bis zum Zeitpunkt t1 ist der Wert der Bitrate gleich bit_rate(1), der größer ist als der Schwellenwert bit_rate(0). Daher ist der Zustand von Änderungen des VBV-Puffers in diesem Fall ähnlich dem von 9. Wenn andererseits die Bitrate im Zeitpunkt t1 auf die Bitrate bit_rate(2) geändert wird, die kleiner ist als Schwellenwert bit_rate(0), wird die Kapazität des VBV-Puffers auf vbv_size(2) (τmax × bit_rate(2) beschränkt.
  • In dem Fall, wo ein Ratensteuersystem bei Annahme einer festen Bitrate, beispielsweise TM5, und eine feste Kapazität des VBV-Puffers verwendet wird, erzeugt die Berechnung des nutzbaren Bereichs des VBV-Puffers alleine ein Problem, wie in 12 gezeigt ist.
  • Insbesondere in dem Fall, wo die Bitrate vom Wert bit_rate(1), die größer ist als der Schwellenwert bit_rate(0), auf den Wert bit_rate(2), der kleiner ist als der Schwellenwert bit_rate(0), geändert wird, muß der Ort der Datenübertragung im VBV-Puffer so sein, wie durch eine durchgezogene Linie in 12 angedeutet ist, so daß sich das Datenvolumen innerhalb des begrenzten Bereichs des VBV-Pufferspeichers verschiebt. Beim TM5-Ratensteueralgorithmus jedoch, wenn die Zielbitmenge so festgelegt wird, daß sie sich in einen Bereich in der Nähe des Maximalwerts des VBV-Puffers verschiebt, wird die Beschränkung des verwendbaren Bereichs alleine einen Übergang des VBV-Puffers in einen nicht-verwendbaren Bereich verursachen, wie durch eine gestrichelte Linie in 12 angedeutet ist.
  • Somit kann man in Erwägung ziehen, die Menge von erzeugten Bits zu vergrößern, indem man diese durch die Menge von erzeugten Bits des ersten I-Bilds vollstopft, wenn der verwendbare Bereich des VBV-Puffers beschränkt ist. Auf diese Weise jedoch vergrößert sich die Menge von erzeugten Bits des ersten I-Bilds. Wenn daher die Restbitmenge R(j) in der GOP gemäß der Gleichung (16) aktualisiert wird (d. h., R(j + 1) = R(j) – S(j)), wird die Bitmenge R(j + 1), die den verbleibenden nicht-codierten Bildern zugeteilt wird, zu einem sehr kleinen Wert, und der Ort des VBV-Puffers wird zum nicht-nutzbaren oberen Bereich in 12 zurückkehren.
  • Somit wird im Schritt S3 der Wert der Pufferbelegungsmenge B*(j + 1), die gemäß der Gleichung (12) berechnet wurde, und der Wert der Kapazität vbv_size(2) des VBV-Puffers, der gemäß der Gleichung (13) berechnet wurde, miteinander verglichen. Wenn B*(j + 1) größer ist als vbv_size(2), wird die Zielbitmenge T(j), die im Schritt S1 berechnet wurde, im Schritt S4 mit der Differenz (B*(j + 1) – vbv_size(2) korrigiert, wie in der Gleichung (15) gezeigt ist. Als Ergebnis hat die korrigierte Zielbitmenge T(j) einen Wert, der kleiner ist als die Kapazität vbv_size(2) des Pufferspeichers, und zwar um die Differenz (B*(j + 1) – vbv_size(2)), wie in 13 gezeigt ist, und es wird verhindert, daß der nicht-verwendbare Bereich des VBV-Puffers verwendet wird.
  • Nachdem die Verarbeitung zum Beschränken des verwendbaren Bereichs des VBV-Puffers wie oben beschrieben ausgeführt ist, wird die Verarbeitung des Schritts 58 und der nachfolgenden Schritte des Flußdiagramms von 7, welches sich an das von 6 anschließt, ausgeführt. In diesem Fall wird die Verarbeitung in dem Fall, wo die Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, ausgeführt.
  • Die Zielbitmengen-Setzschaltung 32 legt im Schritt S8 fest, ob das Bild (j + 1) das Anfangsbild der GOP ist oder nicht. Kurz ausgedrückt bestimmt sie, ob (j + 1) gleich 1 ist oder nicht. Wenn das Bild (j + 1) nicht das Anfangsbild der GOP ist, läuft die Verarbeitung weiter zum Schritt S9 und die Zielbitmengen-Setzschaltung 32 bestimmt, ob eine Änderung der Bitrate in dieser GOP durch die Steuerung 3 bestimmt wird. Wenn eine Änderung der Bitrate nicht bestimmt wird, läuft die Verarbeitung weiter zum Schritt S10, und die Zielbitmengen-Setzschaltung 32 bestimmt, ob das Verarbeitungszeil das Folgenende erreicht hat oder nicht. Wenn das Folgenende nicht erreicht wurde, kehrt die Verarbeitung zurück zum Schritt S1 und es wird die nachfolgende Verarbeitung wiederholt durchgeführt. Wenn bestimmt wird, daß das Verarbeitungsziel das Folgenende erreicht hat, endet die Verarbeitung.
  • Wenn im Schritt S9 entschieden wird, daß eine Änderung der Bitrate bestimmt wird, läuft die Zielbitmengen-Setzschaltung 32 zum Schritt S12 und korrigiert die Bitmenge R(j + 1), die im Schritt S7 korrigiert wurde, wobei ein Wert verwendet wird, der durch Multiplizieren der Anzahl von verbleibenden Bildern (N j) der GOP mit der Differenz der Bitmenge pro Bild (bit_rate(j + 1) – bit_rate(j))/pic_rate gemäß der folgenden Gleichung erhalten wird: R(j + 1) = (bit_rate(j + 1) – bit_rate(j)} × (N – j)/pic_rate + R(j + 1) (19)
  • Das heißt, wenn die Bitrate nicht an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, wird die Bitmenge R allmählich vom Anfangswert R1 reduziert, wenn das Codieren weiterläuft, wie in 14 gezeigt ist. In 14 zeigt eine durchgezogene Linie den Fall, wo angenommen wird, daß die jeweiligen Bilder mit der gleichen Bitmenge codiert sind. Wenn die Menge von erzeugten Bits des I-Bilds oder P-Bilds größer als die des B-Bilds ist, ändert sich in Wirklichkeit die Bitmenge R, wie durch eine gestrichelte Linie angedeutet ist.
  • Wenn andererseits eine Änderung der Bitrate im nächsten Bild (j + 1) nach dem Codieren des Bilds (j) der GOP erforderlich ist, wird die Bitmenge R(j), die den nicht-codierten Bildern im Anschluß an das Bild (j) zugeteilt wird, im Schritt S12 korrigiert, wie durch die Gleichung (19) ausgedrückt wird. Insbesondere wird, obwohl die Bitmenge R, die den verbleibenden nicht-codierten Bildern zugeteilt wird, so gesteuert wurde, daß sie allmählich vom Anfangswert R mit der ersten Bitrate bit_rate(j + 1) reduziert wird, wird die Bitmenge R(j + 1) im Zeitpunkt des Bilds (j + 1) korrigiert.
  • Diese korrigierte Bitmenge R(j + 1) ist gleich der Bitmenge R(j + 1) des Bilds (j + 1) in dem Fall, wo die Bilder vom Anfangsbild der GOP mit der zweiten Bitrate bit_rate(j + 1) mit einem Anfangswert von R2 codiert sind.
  • Anders ausgedrückt wird beim Codieren des Bilds (j + 1) als Bild bei einem in der Mitte liegenden Punkt in der GOP, wenn die Bitrate von der ersten Bitrate auf die zweite Bitrate geändert wird, die Bitmenge, die den nicht-codierten Bildern des Bilds (j + 1) und den nachfolgenden Bildern zugeteilt wird, korrigiert, als ob die Codierverarbeitung mit der zweiten Bitrate vom Anfangsbild (j) der GOP ausgeführt würde.
  • Danach läuft die Verarbeitung weiter zum Schritt S13, und die Zielbitmengen-Setzschaltung 32 bestimmt, ob die Bitmenge R(j + 1), die im Schritt S12 korrigiert wurde, kleiner als ein vorherbestimmter Minimalwert Rmin ist oder nicht. Wenn die Menge R(j + 1) gleich oder größer als der Minimalwert Rmin ist, wird 0 als Korrekturwert ”e” im Schritt S14 gesetzt. Wenn die Bitmenge R(j + 1) kleiner als der Minimalwert Rmin ist, wird die Differenz (R(j + 1) – Rmin) zwischen der Bitmenge R(j + 1) und dem Minimalwert Rmin als Korrekturwert ”e” im Schritt 15 gesetzt. Dieser Korrekturwert ”e” wird im Schritt S11 verwendet. Die Aufgabe dieses Korrekturwerts ”e” wird später beschrieben.
  • Nach der Verarbeitung des Schritts S14 oder des Schritts S15 läuft die Verarbeitung weiter zum Schritt S10, und es wird die nachfolgende Verarbeitung wiederholt durchgeführt.
  • Wenn im Schritt S8 entschieden wird, daß das Codierzielbild (j + 1) das Anfangsbild der GOP ist, läuft die Verarbeitung zum Schritt S11 und die Zielbitmengen-Setzschaltung 32 korrigiert die Bitmenge R(j + 1) gemäß der folgenden Gleichung. Kurz ausgedrückt wird die Bitmenge (j + 1), die den nicht-codierten Bildern einschließlich dem Anfangsbild (1) der GOP und den nachfolgenden Bildern zugeteilt ist, durch die folgende Gleichung berechnet: R(1) = bit_rate(j + 1) × N/pic_rate + R(j + 1) + e (20)
  • Diese bit_rate(j + 1) drückt die neue Bitrate aus, die in bezug auf das Bild (j + 1) gesetzt ist, und R(j + 1) drückt das Ergebnis der Berechnung gemäß der Gleichung (16) für das letzte Bild (N) der vorherigen GOP aus.
  • Danach kehrt die Verarbeitung zurück zum Schritt S10, und es wird die nachfolgende Verarbeitung wiederholt ausgeführt.
  • Es wird nun die Aufgabe des Korrekturwerts ”e” beschrieben. Wenn die Bitmenge R(j + 1), die durch die Gleichung (19) im Schritt S12 korrigiert wurde, kleiner ist als der vorherbestimmte Minimalwert Rmin, besteht, wenn die Bitrate der nächsten GOP gesteuert wird, wobei dieser R(j + 1) < Rmin unverändert gelassen wird, die Gefahr, daß der Puffer überläuft.
  • Somit wird eine Änderung der Bitrate bei einem in der Mitte liegenden Punkt in der GOP bestimmt. Wenn R(j + 1) kleiner ist als der Minimalwert Rmin an dem Punkt, wo das letzte Bild (N-te Bild) der GOP codiert wird, wird der Anfangswert R2 der Bitmenge R für die nächste GOP um die Differenz ”e” reduziert und die Bitmenge für diese GOP wird mit einem Anfangswert R2-e gesetzt, wie in 16 gezeigt ist. Damit wird ein Überlauf des VBV-Puffers verhindert.
  • In der obigen Beschreibung wird in jeder Bildcodiereinrichtung 2-i das Programm Pi statistisch multiplexartig verarbeitet, wobei die globale Vielschichtigkeit Ci der aktuell-codierten Daten zur Steuerung 3 zurückgeführt wird. Die Bitrate kann jedoch auch durch eine Mitkopplungssteuerung gesteuert werden. 17 zeigt ein Aufbaubeispiel eines solchen Falls. Der Aufbau eines Bildmultiplexsystems 1, der in 17 gezeigt ist, ist grundsätzlich ähnlich dem des Bildmultiplexsystems 1, welches in 4 gezeigt ist, mit der Ausnahme, daß die Codierschwierigkeit Di anstelle der globalen Vielschichtigkeit Ci von jeder Bildcodiereinrichtung 2-i an die Steuerung 3 ausgegeben wird. Die anderen Teile des Aufbaus sind ähnlich denjenigen von 4.
  • Die Codierschwierigkeit ist ein Index, der die Menge von Bits anzeigt, die als Ergebnis der Codierverarbeitung erzeugt werden. Wenn das Bild des Codierzielbilds kompliziert ist oder hoch-dynamisch ist, ist diese Codierschwierigkeit hoch. Wenn das Bild des Codierzielbilds einfach oder weniger dynamisch ist, ist die Codierschwierigkeit niedrig.
  • 18 zeigt ein Aufbaubeispiel der Bildcodiereinrichtung 2-1 von 17. (Obwohl nicht gezeigt haben die Bildcodiereinrichtungen 2-2 bis 2-n den gleichen Aufbau wie den der Bildcodiereinrichtung 2-1). Der Basisaufbau ist ähnlich dem von 5. In diesem Aufbaubeispiel in 18 ist jedoch eine Intra-AC-Berechnungsschaltung (Intra-Wechselanteil-Berechnungsschaltung) 41 und ein FIFO 42 zwischen der Abtastumsetzungsmakroblock-Bildungsschaltung 12 und dem Subtrahierglied 13 vorgesehen. Außerdem ist zusätzlich eine ME-Restberechnungsschaltung 51 und eine Codierschwierigkeit-Berechnungsschaltung 52 in der Ratensteuerung 23 vorgesehen.
  • Die Intra-AC-Berechnungsschaltung 41 empfängt das Ausgangssignal der Abtastumsetzungsmakroblock-Bildungsschaltung 12, berechnet dann den Intra-Wechselanteil im I-Bild und liefert den berechneten Intra-Wechselanteil zur Codierschwierigkeit-Berechnungsschaltung 52. Die Intra-AC-Berechnungsschaltung 41 liefert außerdem Bilddaten, die von der Abtastumsetzungsmakroblock-Bildungsschaltung 12 geliefert werden, zum FIFO 42. Der FIFO 42 verzögert die gelieferten Bilddaten zumindest um die Zeit entsprechend der Zeit, die für die Zielbitmengen-Setzschaltung 32 erforderlich ist, die Zielbitmenge zu setzen, und liefert die verzögerten Bilddaten zum Subtrahierglied 13.
  • Die ME-Restberechnungsschaltung 51 berechnet einen ME-Rest auf der Basis der ME-Restdaten, die von der Bewegungsermittlungsschaltung 21 ausgegeben werden, und liefert den berechneten ME-Rest zur Codierschwierigkeit-Berechnungsschaltung 52. Der ME-Rest ist ein Wert, der durch Addition des Absolutwerts oder des Quadratwerts eines Bewegungsvorhersagefehlers im gesamten Bild erhalten wird. Die ME-Restdaten sind Daten, um den ME-Rest herauszufinden.
  • Die Codierschwierigkeit-Berechnungsschaltung 52 berechnet die Codierschwierigkeit D1, die die Codierschwierigkeit des Bilds ausdrückt, auf der Basis des ME-Rests, der durch die ME-Restberechnungsschaltung 51 berechnet wird, und dem Intra-Wechselanteil, der durch die Intra-AC-Berechnungsschaltung 41 berechnet wird. Die Codierschwierigkeit-Berechnungsschaltung 52 überträgt die Codierschwierigkeit D1 zur Steuerung 3 und zur Zielbitmengen-Setzschaltung 32. Bei diesem Aufbaubeispiel wird, da die Codierschwierigkeit D1, die durch die Codierschwierigkeit-Berechnungsschaltung 52 berechnet wird, zur Steuerung 3 übertragen wird, die globale Vielschichtigkeit C1, die rechnerisch durch die Vielschichtigkeitsberechnungsschaltung 31 herausgefunden wird, nicht zur Steuerung 3 geliefert.
  • Die anderen Teile des Aufbaus der Bildcodiereinrichtung 2-1, die in 18 gezeigt ist, sind ähnlich denjenigen von 5.
  • Es wird nun die Arbeitsweise der Bildcodiereinrichtung 2-1 von 18, insbesondere der Aufbau, der von dem von 5 verschieden ist, beschrieben. Die Intra-AC-Berechnungsschaltung 41 berechnet den Intra-Wechselanteil aus den Bilddaten, die von der Abtastumsetzungsmakroblock-Bildungsschaltung 12 geliefert werden. Dieser Intra-Wechselanteil bedeutet die Absolutwertsumme der Differenz zwischen dem Pixelwert jedes Pixels in einem Makroblock von 8×8 Pixeln und dem Durchschnittswert der Pixelwerte im Makroblock im I-Bild. Der Intra-Wechselanteil wird durch die folgende Gleichung ausgedrückt: Intra-AC = Σ|fcurr(x, y) – (Σfcurr)/N| (21)
  • Bei dieser Gleichung drückt Intra-AC den Intra-Wechselanteil aus, und fcurr(x, y) drückt den Pixelwert jedes Pixels im Makroblock aus. Σfcurr(x, y) drückt die Summe der Pixelwerte im Makroblock aus, und N drückt die Anzahl von Pixeln im Makroblock aus. Σ drückt die Summe in Bezug auf die individuellen Pixel im Makroblock aus.
  • Beim Herausfinden des Bewegungsvektors liefert die Bewegungsermittlungsschaltung 21 die Absolutwertsumme (oder Quadratsumme) der Differenz im Pixelwert zwischen Makroblöcken, die den Minimalwert haben, als ME-Restdaten zur ME-Restberechnungsschaltung 51. Die ME-Restberechnungsschaltung 51 fügt die ME-Restdaten von der Bewegungsermittlungsschaltung 21 zum Gesamtbild hinzu und berechnet den ME-Rest. Das heißt, daß die Berechnung durch die ME-Restberechnungsschaltung 51 gemäß der folgenden Gleichung ausgeführt wird: ME_reside = Σ|fj(x, y) – fj – 1(x, y)| (22)
  • In der obigen Gleichung drückt ME_reside den ME-Rest aus, und fj(x, y) und fj – 1(x, y) drücken die Pixelwerte der jeweiligen Makroblöcke aus. Σ drückt die Summe in Bezug auf die individuellen Pixel im Makroblock aus.
  • Die Codierschwierigkeit-Berechnungsschaltung 52 berechnet die Codierschwierigkeit auf der Basis des Intra-Wechselanteils, der von der Intra-AC-Berechnungsschaltung 41 geliefert wird, und dem ME-Rest, der von der ME-Restberechnungsschaltung 51 geliefert wird. Die Codierschwierigkeit drückt die Schwierigkeit zum Codieren des Bilds aus. Anders ausgedrückt ist sie das Verhältnis der Datenmenge, die zum Beibehalten der gleichen Bildqualität beim Codieren notwendig ist. Der Intra-Wechselanteil drückt die Vielschichtigkeit des Musters aus, und der ME-Rest drückt die Schnelligkeit der Bewegung des Bilds und die Vielschichtigkeit des Musters aus. Da dieser Intra-Wechselanteil und der ME-Rest eine strenge Korrelation mit der Codierschwierigkeit haben, werden diese als Variablen verwendet. Beispielsweise wird die Codierschwierigkeit D1 durch die Codierschwierigkeit-Berechnungsschaltung 52 berechnet, wobei eine lineare Funktion verwendet wird.
  • Damit wird die Codierschwierigkeit mit einer hohen Genauigkeit auf der Basis der zuvor gelesenen statistischen Menge (Intra-Wechselanteil) berechnet. Die Steuerung 3 bestimmt die Zielbitrate bit_rat#i auf der Basis der Codierschwierigkeit D1 und gibt die festgelegte Bitrate an die Bildcodiereinrichtung 2-i aus.
  • Die Arbeitsweise der Zielbitmengensetzschaltung 32 und der Steuerung 24 von 18 wird nun mit Hilfe der Flußdiagramme von 19 und 20 beschrieben. Die Verarbeitung der Schritte S31 bis S37 ist grundsätzlich ähnlich der Verarbeitung der Schritte S1 bis S7, die in 6 gezeigt sind. Jedoch wird im Schritt S31 die Zielbitmenge T(j) des Bilds (j) gemäß der folgenden Gleichung anstelle der Gleichung (4) bis (6) berechnet. In der folgenden Gleichung (23) sind die Indizes ”1”, ”p” und ”b” entsprechend den Bildarten weggelassen:
    Figure 00240001
  • In dieser Gleichung drückt T(j) die Zielbitmenge des Verarbeitungszielbilds (j) aus, und R(j) drückt die Bitmenge aus, die zukünftigen L-Bildern vom Verarbeitungszielbild (j) zugeteilt wird. Dj drückt die Codierschwierigkeit des Bilds (j) aus. Das heißt, daß gemäß der obigen Gleichung die Zielbitmenge T(j) des Bilds (j) durch Wichten der Bitmenge R'(j), die den vorher gelesenen L-Bildern zugeteilt wird, mit dem Verhältnis der Codierschwierigkeit Dj dieses Bildes und der Summe der Codierschwierigkeit Dj der vorher gelesenen N-Bilder herausgefunden wird.
  • Die Verarbeitung der Schritte S32 bis S35 ist ähnlich der Verarbeitung der Schritte S2 bis S5 von 6 und wird daher nicht mehr ausführlich beschrieben. Im Schritt S36 wird die Bitmenge R'(j + 1), die den zukünftigen L-Bildern zugeteilt wird, von dem Verarbeitungszielbild (j + 1) gemäß der folgenden Gleichung (24) anstelle der Gleichung (16) berechnet: R'(j + 1) = R'(j) – S(j) + F(j + L) (24)
  • In der Gleichung (24) drückt R'(j) die Bitmenge aus, die den zukünftigen L-Bildern vom Bild (j) zugeteilt wird. S(j) drückt die Menge von erzeugten Bits des Bilds (j) aus. F(j + L) drückt die Vorhersagebitmenge aus, die dem Bild (j + L) als L-tes Zukunftsbild vom Bild (j + 1) zugeteilt wird.
  • Der Anfangswert R'(j) wird durch die folgende Gleichung gemäß der Bitmenge der vorher gelesenen L-Bilder ausgedrückt: R(1) = bit_rate(1) × L/pic_rate (25)
  • In der Gleichung (24) drückt F(j + L) die Bitmenge entsprechend der Bildart der Bilder (j + L) als L-tes Zukunftsbild vom Bild (j + 1) aus und wird beispielsweise durch die folgenden Gleichungen vorgeschrieben. In der Gleichung (24) sind die Indizes ”i”, ”p” und ”b” entsprechend den Bildarten in den folgenden Gleichungen (26) bis (28) weggelassen:
    Figure 00250001
  • In den obigen Gleichungen drückt G die Bitmenge aus, die den zukünftigen nicht-codierten Bildern des Bilds (j + L) und den nachfolgenden Bildern in der GOP einschließlich des Bilds (j + L) zugeteilt ist, und sie entspricht der Bitmenge R im Rückkopplungsraten-Steuersystem, welches in 4 und 5 gezeigt ist. Diese Bitmenge G wird ebenfalls gemäß der folgenden Gleichung im Schritt S36 aktualisiert: G(j + L + 1) = G(j + 1) – F(j + L) (29)
  • F(j + L) in der Gleichung (29) wird durch die Gleichung des entsprechenden Bildtypus aus einer der Gleichungen (26) bis (28) ausgedrückt.
  • Da die Bitmenge R' die Bitmenge der L-Bilder ausdrückt, die von jetzt an zu codieren sind, hat die Bitmenge R' grundsätzlich einen konstanten Wert, wie durch eine durchgezogene Linie in 21 gezeigt ist, und zwar unabhängig vom vorhergehenden Codierstatus. Da jedoch tatsächlich die Bitmenge sich für jeden Bildtypus ändert, variiert der Wert um den Wert herum, der durch die durchgezogene Linie angedeutet ist, wie durch eine unterbrochene Linie in 21 gezeigt ist.
  • Im Gegensatz dazu ist die Bitmenge G die Bitmenge, die den nicht-codierten Bildern in der GOP zugeteilt ist. Daher wird der Wert der Bitmenge G allmählich gemeinsam mit dem Verlauf der Codierung reduziert und am Beginn der GOP zurückgesetzt, wie in 22 gezeigt ist, ähnlich der Bitmenge R in der Rückkopplungsratensteuerung.
  • Anschließend wird im Schritt S37 die Aktualisierungsverarbeitung der Bitmenge R'(j + 1) gemäß der folgenden Gleichung (30) anstelle der Gleichung (17) im Schritt S7 von 6 ausgeführt: R'(j + 1) = R'(j + 1) + {vbv_size(j) – vbv_size(j + 1)} (30)
  • Die oben beschriebene Verarbeitung der Schritte S31 bis S37 ist die Verarbeitung, die dazu ausgeführt wird, den verwendbaren Bereich des VBV-Puffers zu beschränken, wie beim Beispiel der Rückkopplungsratensteuerung beschrieben wurde.
  • Danach läuft die Verarbeitung weiter zum Schritt S38, und die Zielbitmengen-Setzschaltung 32 legt fest, ob das Bild (j + 1) das Anfangsbild der GOP ist oder nicht. Wenn das Bild (j + 1) nicht das Anfangsbild der GOP ist, läuft die Verarbeitung weiter zum Schritt S39, und es wird bestimmt, ob eine Änderung der Bitrate an einer in der Mitte liegenden Punkt in der GOP bestimmt ist oder nicht. Wenn eine Änderung der Bitrate nicht bestimmt ist, läuft die Verarbeitung weiter zum Schritt S40, und es wird festgelegt, ob die Codierverarbeitung das Folgenende erreicht hat oder nicht. Wenn das Folgenende nicht erreicht ist, kehrt die Verarbeitung zurück zum Schritt S31, und es wird die nachfolgende Verarbeitung wiederholt ausgeführt. Wenn im Schritt S40 bestimmt wird, daß die Verarbeitung das Folgenende erreicht hat, endet die Verarbeitung.
  • Wenn im Schritt S39 entschieden wird, daß eine Änderung der Bitrate an einer auf halbem Wege liegenden Stelle in der GOP bestimmt ist, läuft die Verarbeitung weiter zum Schritt S41 und die Zielbitmengen-Setzschaltung 32 korrigiert die Bitmenge R'(j + 1) und die Bitmenge G(j + 1) gemäß den folgenden Gleichungen: R'(j + 1) = {bit_rate(j + 1) – bit_rate(j)} × L/pic_rate + R'(j + 1) (31) G(j + 1) = {bit_rate(j + 1) – bit_rate(j)} × (N – j)/pic_rate + G(j + 1) (32)
  • In den obigen Gleichungen drückt bit_rate(j) die erste Bitrate aus, die beim Codieren der Bilder bis zum Bild (j) bestimmt ist, und bit_rate(j + 1) drückt die zweite Bitrate aus, die beim Codieren der Bilder vom Bild (j + 1) festgelegt ist. L drückt die Anzahl von Bildern aus, für die die Codierschwierigkeit vor der Codierverarbeitung berechnet wurde (d. h., die Anzahl von Bildern, für welche die Codierschwierigkeit vorher gelesen wird). N drückt die Anzahl von Bildern aus, die in der GOP enthalten sind.
  • In dem Fall, wo die Bitrate somit von der ersten Bitrate zur zweiten Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, wird die Bitmenge R', die der vorherbestimmten Anzahl (L) von Bildern zugeteilt ist, von dem Wert R1 entsprechend der ersten Bitrate auf den Wert R2 entsprechend der zweiten Bitrate korrigiert, wie in 23 gezeigt ist. Kurz ausgedrückt wird die Bitmenge R', die den nicht-codierten Bildern bis zu den L-Zukunftsbildern zugeteilt wird, einschließlich des Codierzielbilds, korrigiert, als wenn die Codierverarbeitung mit der neu-gesetzten zweiten Bitrate ausgeführt würde. Insbesondere, wie man aus der Gleichung (31) sieht, wird die Bitmenge R korrigiert, wobei der Wert verwendet wird, der durch Multiplizieren der Differenz der Bitmenge pro Bild mit der Anzahl von L-Bildern erhalten wird, für die die Codierschwierigkeit vorher gelesen wird.
  • Auf der anderen Seite wird die Bitmenge G, die den nicht-codierten Bildern einschließlich dem Codierzielbild in der GOP zugeteilt wird, vom Wert G(J + 1) in dem Fall, wo das Codieren mit der Bitrate bit_rate(1) ausgeführt wird, auf den Wert G(j + 1) in dem Fall geändert, wo das Codieren mit dem Anfangswert R2 vom Anfang an ausgeführt wird, wie in 24 gezeigt ist. Dies ist ähnlich dem Fall der Bitmenge R, der in Bezug auf 15 beschrieben wurde. Kurz ausgedrückt kann die Bitmenge G korrigiert werden, wobei der Wert verwendet wird, der durch Multiplizieren der Differenz der Bitmenge pro Bild mit der Anzahl von nicht-codierten Bildern (N – j) in der GOP erhalten wird.
  • Danach läuft die Verarbeitung weiter zum Schritt S42, und die Zielbitmengen-Setzschaltung 32 legt fest, ob die Bitmenge G(j + 1), die den nicht-codierten Bildern des Bildes (j + 1) und den nachfolgenden Bildern in der GOP zugeteilt ist, kleiner ist als ein Minimalwert Gmin oder nicht. Wenn die Bitmenge G(j + 1) gleich oder größer als der Minimalwert Gmin ist, wird 0 als Korrekturwert ”e” im Schritt S43 gesetzt.
  • Wenn die Bitmenge G(j + 1), die den nicht-codierten Bildern des Bilds (j + 1) und den nachfolgenden Bildern zugeteilt wird, kleiner ist als der Minimalwert Gmin, wird die Differenz (G(j + 1)-Gmin) zwischen der Bitmenge G(j + 1) und dem Minimalwert Gmin als Korrelationswert ”e” im Schritt S44 gesetzt. Diese Verarbeitung ist ähnlich der Verarbeitung der Schritte S13 bis S15 von 7. Diese Korrekturwert ”e” wird bei der Verarbeitung im Schritt S46 oder S47 verwendet, wie später beschrieben wird.
  • Wenn im Schritt S38 festgelegt wird, daß das Bild (j + 1) als Codierziel das Anfangsbild der GOP ist (d. h., (j + 1) ist (1)), läuft die Verarbeitung weiter zum Schritt S45, und die Zielbitmengen-Setzschaltung 32 entscheidet, ob eine Änderung der Bitrate bestimmt wurde oder nicht.
  • Das Vorhandensein oder Nichtvorhandensein einer Änderung der Bitrate wird hier festgelegt. Wenn im Schritt S8 in 7 festgelegt wird, daß das Bild (j + 1) das Anfangsbild der GOP ist, wird die Bitraten-Änderungsverarbeitung nicht ausgeführt. Bei der Verarbeitung von 7, wenn die gleiche Gleichung (20) im Schritt S11 unabhängig davon verwendet wird, ob das Bild (j + 1) das Anfangsbild der GOP ist oder nicht, ist die Festlegung einer Änderung der Bitrate nicht notwendig. Andererseits unterscheidet sich bei der Verarbeitung nach dem Flußdiagramm von 20, sogar, wenn das Bild (j + 1) das Anfangsbild der GOP ist, die Verarbeitung in Abhängigkeit vom Vorhandensein oder Nichtvorhandensein einer Änderung der Bitrate. Daher wird die Entscheidungsverarbeitung des Schritts S45 eingefügt.
  • Wenn insbesondere im Schritt S45 festgelegt wird, daß eine Änderung der Bitrate nicht bestimmt ist, berechnet die Zielbitmengen-Setzschaltung 32 die Bitmenge G(1), die den nicht-codierten Bildern einschließlich des ersten Bilds der GOP zugeteilt wird, gemäß der folgenden Gleichung im Schritt S46: G(1) = bit_rate(j + 1) × N/pic_rate + G(j + 1) + e (33)
  • Wenn im Schritt S45 festgelegt wird, daß eine Änderung der Bitrate bestimmt ist, läuft die Verarbeitung weiter zum Schritt S47, und die Zielbitmengen-Setzschaltung 32 aktualisiert die Bitmenge R'(1), die dem L-ten nicht-codierten Bild vom ersten Bild (1) der GOP zugeteilt wird, und die Bitmenge G(1), die den nicht-codierten Bildern einschließlich dem ersten Bild (1) der GOP zugeteilt ist, gemäß. den folgenden Gleichungen: R'(1) = {bit_rate(j + 1) – bit_rate(j)} × L/pic_rate + R'(j + 1) (34) G(1) = bit_rate(j + 1) × N/pic_rate + G(j + 1) + e (35)
  • In den obigen Gleichungen ist bit_rate(j) die Bitrate, die dem Bild (j) entspricht, und bit_rate(j + 1) ist die Bitrate, die dem Bild (j + 1) entspricht.
  • Wie aus dem Vergleich zwischen der Verarbeitung nach dem Schritt S46 und der Verarbeitung nach dem Schritt S47 deutlich wird, umfaßt die Verarbeitung nach dem Schritt S47 die Aktuabsierungsverarbeitung der Bitmenge G(1).
  • Die Aufgabe des Korrekturwerts ”e” ist ähnlich der Aufgabe, die mit Hilfe von 16 erklärt wurde. Wie in 25 gezeigt ist, wird, wenn der Wert ”e” nicht 0 ist, unmittelbar, nachdem das letzte Bild der GOP gemeinsam mit der Änderung der Bitmenge G codiert wird, der Anfangswert R2 der Bitmenge G im Codierzeitpunkt der nächsten GOP auf einen Wert eingestellt, der um Wert ”e” kleiner ist.
  • Nach der Verarbeitung der Schritte S43, S44, S46 und S47 geht die Verarbeitung weiter zum Schritt S40, und es wird die nachfolgende Verarbeitung wiederholt durchgeführt.
  • In beiden oben beschriebenen Ausführungsformen der Rückkopplungs-Bitratensteuerung und der Mitkoppplungs-Bitratensteuerung wird der verwendbare Bereich des VBV-Puffers beschränkt. Es kam jedoch einige Schwierigkeiten bei Betrachtung der Bildqualität geben. Es sei insbesondere angenommen, daß eine Bitrate von 3 Mbit/s in der ersten GOP gesetzt wird, während eine Bitrate von 1,5 Mbit/s in der zweiten GOP gesetzt wird, und daß eine Bitrate von 3 Mbit/s wieder in der dritten GOP gesetzt wird, wie in 26 gezeigt ist. Wenn in diesem Zeitpunkt die Kapazität des VBV-Puffers gleich 1,8 Mbits ist und der Schwellenwert bit_rate(0) gleich 3,0 Mbit/s ist, ist die Verzögerungszeit τmax gleich τmax = 1,8/30 = 0,6 s.
  • In diesem Zeitpunkt wird der Anfangswert der Bitmenge R, die den nicht-codierten Bildern in der GOP zugeteilt ist, auf den der TM5-Bitraten-Steueralgorithmus in jeder GOP angewandt wird, wie folgt aus den Formel bit_rate × N/pic_rate herausgefunden. Es sei angenommen, daß die Anzahl der GOPs N = 15 ist und daß pic_rate gleich 30 ist.
  • Insbesondere ist in der ersten GOP der Anfangswert der Bitmenge R, die den nicht-codierten Bildern zugeteilt ist, gleich 1,5 (= 3,0 × 15/30) Mbits. In der nächsten GOP ist der Anfangswert 0,75 (= 1,5 × 15/30). Während jedoch die VBV-Pufferkapazität vbv_size(1) (der vorherigen GOP), bevor sie durch die Differenz (vbv_size(1) – vbv_size(2)) der Kapazität des VBV-Puffers gemäß der Gleichung (17) im Schritt S7 von 7 korrigiert wird, gleich 1,8 ist (= τmax × bit_rate(1) = 0,6 × 3,0), ist die VBV-Pufferkapazität vbv_size(2) in der zweiten GOP gleich 0,9 (= τmax × bit_rate(2) = 0,6 × 1,5). Folglich beträgt der Anfangswert R gleich 1,65 (= 0,75 + (1,8 – 0,9)) Mbits.
  • In der dritten GOP ist der Anfangswert gleich 1,5 (= 3,0 × 15/30). Während jedoch die Kapazität vbv_size(2) des VBV-Puffers vor der Änderung gleich 0,9 beträgt, beträgt die Kapazität vbv_size(3) in dieser GOP gleich 1,8. Damit ist der Anfangswert R gleich 0,6 (= 1,5 + (0,9 – 1,8)) Mbits.
  • Bei der zweiten GOP wird, obwohl die Bitrate auf einen kleinen Wert von 1,5 Mbit/s gesetzt wird, wenn das Bild ein Muster hat, welches leicht zu codieren ist, der Anfangswert der Bitmenge R auf einen größeren Wert 1,65 gesetzt. Bei der dritten GOP wird, obwohl die Bitrate auf einen großen Wert von 3,0 Mbit/s gesetzt wird, wenn das Bild ein Muster hat, welches schwierig zu codieren ist, der Anfangswert der Bitmenge R auf einen kleineren Wert 0,6 Mbit/s gesetzt. Das heißt, daß ein Umkehrphänomen so erzeugt wird, daß der Anfangswert der Bitmenge R der zweiten GOP groß ist, während der Anfangswert der Bitmenge R der letzten GOP sehr klein ist.
  • Dieses Umkehrphänomen wird durch die Tatsache verursacht, daß der verwendbare Bereich der Kapazität vbv_size des VBV-Puffers abrupt beschränkt wird, wenn der Wert der Bitrate bit_rate kleiner wird als der Schwellenwert bit_rate(0), wie in 27 gezeigt ist. In 27 zeigt die Horizontalachse die Bitrate bit_rate und die Vertikalachse zeigt die Kapazität vbv_size des VBV-Puffers. In 27 zeigt ein schraffierter Bereich einen Bereich, wo die Verwendung des VBV-Puffers eingeschränkt ist.
  • Damit wird ein Schwellenwert bit_rate(0U), der größer als der Schwellenwert bit_rate(0) ist, und ein Schwellenwert bit_rate(0L), der kleiner ist als der Schwellenwert bit_rate(0), gesetzt, wie in 28 gezeigt ist. Wenn der Wert der Bitrate bit_rate kleiner wird als der Schwellenwert bit_rate(0U), wird der verwendbare Bereich des VBV-Puffers allmählich eingeschränkt, bis die Bitrate den Schwellenwert bit_rate(0L) erreicht. Wenn die Bitrate kleiner wird als der Schwellenwert bit_rate(0L), kann der verwendbare Bereich des VBV-Puffers abrupt beschränkt werden, wie im Fall von 27. In diesem Fall ist der erste Faktor auf der rechten Seite, der den verwendbaren Bereich des VBV-Puffers in der Gleichung (13) im Schritt S2 von 6 vorschreibt, gleich (max × bit_rate(j + 1), wenn die Bitrate nicht höher als bit_rate(0L) ist. Wenn jedoch die Bitrate einen Wert zwischen bit_rate(0L) und bit_rate(0U) hat, kann der erste Faktor gemäß der folgenden Formeln geändert werden: {(vbu_size(0) – vbv_size(0L)) × bit_rate + vbv_size(0L) × bit_rate(0U) – vbv_size(0) × vbv_size(0L)) /{bitrate(0U) – bit_rate(0L)} (36) vbv_size(0L) wird durch die folgende Gleichung ausgedrückt: vbv_size(0L) = vbv_size(0) × bit_rate(0L)/bit_rate(0) (37)
  • Bei der Mitkopplungs-Bitratensteuerung wird auch die Kapazität des VBV-Puffers in ähnlicher Weise gemäß der Berechnung nach dem Schritt S32 von 19 berechnet.
  • Obwohl die Intra-AC-Berechnungsschaltung 41 von 18 geeignet ist, den Intra-Wechselanteil zu berechnen, kann sie für die Berechnung der Flachheit anstelle des Intra-Wechselanteils angewandt werden. Die Flachheit sind Daten, die die räumliche Flachheit des Bilds anzeigen. In diesem Fall wird ein DCT-Block von 8×8 Pixeln in Subblöcke unterteilt, die jeweils aus 2×2 Pixeln bestehen. Dann wird die Differenz zwischen den Pixeldaten (Pixelwerten), die auf der Diagonalen in jedem Subblock liegen, berechnet, und es wird der kleinere Wert der Absolutwerte der Differenz ausgewählt. Der ausgewählte Differenzwert wird mit einem vorgegebenen Schwellenwert verglichen, und es wird die Gesamtzahl von Subblöcken, die den Differenzwert haben, der kleiner ist als der Schwellenwert, als Flachheit für jedes Bild herausgefunden.
  • Der Wert der Flachheit wird kleiner, wenn das Muster des Bilds räumlich komplizierter wird. Der Wert der Flachheit wird größer, wenn das Muster des Bilds räumlich flacher wird. Diese Flachheit hat eine strenge negative Korrelation mit der Codierschwierigkeit Di. Daher kann die Codierschwierigkeit Dj eines Bilds, welches das I-Bild vor der Kompressionscodierung ist, aus der Flachheit herausgefunden werden, und es kann die Zielbitmenge T(j) für das I-Bild aus der Flachheit herausgefunden werden.
  • Wie oben beschrieben kann die Bitrate an einem der Mitte liegenden Punkt in der GOP geändert werden, während das Ratensteuerverfahren für eine Festbitrate verwendet wird. Daher erfüllen die Codes des Musters schnell die Änderungen der Schwierigkeit, um die Bitrate zu ändern. Als Ergebnis kann, sogar wenn die Phasen der GOP einzelner Programme nicht-synchronisiert sind, die Übertragungskapazität effektiv genutzt werden, und es kann die Gesamtbildqualität verbessert werden.
  • Obwohl durch Verwendung des Ratensteuerverfahrens, welches zum Codieren bei einer Festbitrate verwendet wird, kann die Steuerung, die einen Unterlauf oder Überlauf des VBV-Puffers (oder des Puffers des Decoders) verhindern kann, auf das statistische Multiplexen ausgedehnt werden.
  • Die vorliegende Erfindung ist nicht auf das statistische Multiplexen beschränkt, und sie kann für den Fall angewandt werden, wo die Bitrate nahtlos geändert wird, während das Ratensteuerverfahren für das Fest-Raten-Codieren beim Codieren von Daten verwendet wird, die auf einem Aufzeichnungsträger zu speichern sind, beispielsweise einer Festplatte.
  • Damit ist es möglich, die Bitrate gemäß dem Bildmuster zu ändern und daher eine vorher bestimmte Bildqualität zu realisieren und Kapazität des Speicherträgers einzusparen.
  • Bei der oben beschriebenen Ausführungsform wird die Zielbitmenge auf GOP-Basis berechnet, wobei der TM5-Algorithmus verwendet wird. Die vorliegende Erfindung ist jedoch nicht auf diese Ausführungsform beschränkt und kann breit auf den Fall angewandt werden, wo die Zielbitmenge durch Berechnen der Bitmenge berechnet wird, wobei eine Zielübertragungsrate auf der Basis einer vorgegebenen Anzahl von Bildern als Einheit aus von zu codierenden Bildern verwendet wird.
  • Außerdem wird bei der oben beschriebenen Ausführungsform die Bitrate auf der Grundlage des Bilds geändert, indem die Bitmenge R korrigiert wird, die den verbleibenden nicht-codierten Bildern zugeteilt wird. Diese Erfindung jedoch ist nicht auf die Ausführungsform beschränkt und kann bereit auf den Fall angewandt werden, wo die Bitrate auf der Basis der GOP geändert wird.
  • Außerdem wird bei der oben beschriebenen Ausführungsform jedes Programm codiert und gemäß dem MPEG-System übertragen. Die vorliegende Erfindung ist jedoch nicht auf diese Ausführungsform beschränkt und kann breit auf den Fall angewandt werden, wo verschiedene Programme codiert und übertragen werden, wobei verschiedene Codiersysteme verwendet werden.
  • Bei der vorliegenden Anmeldung stellt das System eine Gesamteinrichtung dar, die durch mehrere Einrichtungen und Einheiten gebildet ist.
  • Zum Bereitstellen eines Trägers zum Liefern eines Computerprogramms zum Ausführen der Verarbeitung wie oben beschrieben, für den Benutzer können Kommunikationsträger, beispielsweise ein Netzwerk oder ein Satellit wie auch Aufzeichnungsträger, beispielsweise eine Magnetplatte, eine CD-ROM und ein Festkörperspeicher verwendet werden.
  • Wie oben beschrieben wird gemäß der vorliegenden Erfindung, wenn die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate geändert wird, die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einem in der Mittel liegenden Funkt in der GOP geändert wird, die Zielbitmenge von der Zielbitmenge, die der ersten Bitrate entspricht, auf die Zielbitmenge, die der zweiten Bitrate entspricht, korrigiert.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die Bitmenge von nicht-codierten Bildern so korrigiert, daß der einer Änderung der Bitmenge von nicht-codierten Bildern zu einem Ort in dem Zeitpunkt wird, wenn jedes Bild mit der zweiten Bitrate vom Anfangsbild der GOP korrigiert wird, und es wird die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der korrigierten Bitmenge der nicht-codierten Bilder berechnet.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die Bitmenge nicht-codierter Bilder von der Bitmenge von nicht-codierten Bildern auf der Basis der ersten Bitrate auf die Bitmenge von nicht-codierten Bildern auf der Basis der zweiten Bitrate korrigiert, und es wird die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate zur zweiten Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die Zielbitmenge von der Zielbitmenge entsprechend der ersten Bitrate auf die Zielbitmenge entsprechend der zweiten Bitrate korrigiert.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die erwartete Bitmenge, die nicht-codierten Bildern zugeteilt wird, so korrigiert, daß der Ort der Änderung der erwarteten Bitmenge, die nicht-codierten Bildern zugeteilt ist, zum Ort in dem Zeitpunkt wird, wo jedes Bild mit der zweiten Bitrate codiert wird, und es wird die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der korrigierten Bitmenge berechnet.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die Bitmenge, die nicht-codierten Bildern zugeteilt ist, von der Bitmenge von nicht-codierten Bildern auf der Basis der ersten Bitrate auf die Bitmenge von nicht-codierten Bildern auf der Basis der zweiten Rate korrigiert, und es wird die Zielbitmenge, die dem Codierzielbild zugeteilt ist, auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate geändert wird, die Zielbitmenge, die dem codierten Zielbild zugeteilt wird, auf der Basis der Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate bei einem in der Mitte liegenden Punkt in der GOP geändert wird, die Zielbitmenge von der Zielbitmenge entsprechend der ersten Bitrate auf die Zielbitmenge entsprechend der zweiten Bitrate korrigiert.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die Bitmenge von nicht-codierten Bildern so korrigiert, daß der Ort der Änderung der Bitmenge von nicht-codierten Bildern zum Ort in dem Zeitpunkt wird, wo jedes Bild mit der zweiten Bitrate vom Anfangsbild der GOP codiert wird, und es wird die Zielbitmenge, die dem Codierzielbild zugeteilt ist, auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate bei einem in der Mitte liegenden Punkt in der GOP geändert wird, die Bitmenge von nicht-codierten Bildern von der Bitmenge von nicht-codierten Bildern auf der Basis der ersten Bitrate auf die Bitmenge von nicht-codierten Bildern auf der Basis der zweiten Bitrate korrigiert, und es wird die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die Zielbitmenge von der Zielbitmenge, die der ersten Bitrate entspricht, auf die Zielbitmenge korrigiert, die der zweiten Bitrate entspricht.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die erwartete Bitmenge, die den nicht-codierten Bildern zugeteilt wird, so korrigiert, daß der Ort der Änderung der erwarteten Bitmenge, die den nicht-codierten Bildern zugeteilt wird, zum Ort in dem Zeitpunkt wird, wo jedes Bild mit der zweiten Bitrate codiert wird, und es wird die Zielbitmenge, die dem Codierzielbild zugeteilt ist, auf der Basis der korrigierten Bitmenge berechnet.
  • Gemäß der vorliegenden Erfindung wird in dem Fall, wo die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate an einer auf halbem Wege liegenden Stelle in der GOP geändert wird, die Bitmenge, die nicht, codierten Bildern zugeteilt ist, von der Bitmenge von nicht-codierten Bildern auf der Basis der ersten Bitrate auf die Bitmenge von nicht-codierten Bildern auf der Basis der zweiten Bitrate korrigiert, und es wird die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
  • Somit kann in jedem Fall eine Verschlechterung der Übertragungswirksamkeit beschränkt werden, sogar wenn es eine Diskrepanz zwischen Phasen der GOP im Zeitpunkt eines statistischen Multiplexen von Bilddaten gibt.

Claims (26)

  1. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) zum Codieren von Videodaten auf der Basis einer bestimmten Bitrate, wobei die Einrichtung umfaßt: eine Steuerung (3) zum Berechnen einer Zielbitmenge, die jedem Bild zugeteilt wird, das in einer GOP enthalten ist, auf der Basis einer bestimmten Bitrate; und eine Codiereinrichtung zum Codieren eines Codierzielbilds auf der Basis der Zielbitmenge, die durch die Steuerung (3) gesteuert wird, wobei die Steuerung (3) die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis der Differenz zwischen einer ersten Bitrate und einer zweiten Bitrate korrigiert, wenn die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate geändert wird, in dem Fall, wo die Codierverarbeitung des Codierzielbilds durch die Codiereinrichtung ausgeführt wird, wobei die Steuerung (3) die Bitmenge von nicht-codierten Bildern gemäß der Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert und die Zielbitmenge des Codierzielbilds auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
  2. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 1, wobei die Steuerung (3) die Zielbitmenge herausfindet, die dem Codierzielbild zugeteilt ist, indem sie eine Bitmenge, die nicht-codierten Bildern zugeteilt wird, die nicht in der Ziel-GOP codiert wurden, gemäß dem Bildtypus des Codierzielbilds zuteilt.
  3. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 2, wobei die Steuerung (3) die Bitmenge von nicht-codierten Bildern korrigiert, indem ein Wert verwendet wird, der durch Multiplizieren der Differenz zwischen einer Bitmenge pro Bild mit der ersten Bitrate und einer Bitmenge pro Bild mit der zweiten Bitrate mit der Anzahl von nicht-codierten Bildern erhalten wird, und die Zielbitmenge des Codierzielbilds auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
  4. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 3, wobei ein Algorithmus zum Berechnen der Zielbitmenge des Codierzielbilds eine Art von Rückführungs-Rechenalgorithmus ist, um die globale Vielschichtigkeit, die die Vielfältigkeit eines Bildes anzeigt, auf der Basis der Menge von erzeugten Bits zu berechnen, die als Ergebnis einer Codierverarbeitung jedes Bilds durch die Codiereinrichtung erzeugt wurden, und die Zielbitmenge des Codierzielbilds auf der Basis der globalen Vielschichtigkeit und der Bitmenge von nicht-codierten Bildern zu berechnen.
  5. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 3, wobei beim Codieren von Bildern bis zu einem Bild unmittelbar vor dem Codierzielbild mit einer ersten Bitrate und beim Codieren von Bildern vom Codierzielbild an mit der zweiten Bitrate die Steuerung (3) die Bitmenge von nicht-codierten Bildern bei und nach dem Codierzielbild herausfindet, indem sie die Menge von erzeugten Bits, die durch Codierverarbeitung des Bilds erzeugt wurden, unmittelbar vor dem Codierzielbild von der Bitmenge, die den nicht-codierten Bildern zugeteilt wird, bei und nach dem Bild unmittelbar vor dem Codierzielbild subtrahiert.
  6. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 5, wobei in dem Fall, wo ein Anfangsbild einer GOP im Anschluß an die Ziel-GOP codiert wird, nach dem Codieren von Bildern bis zu dem Bild unmittelbar vor dem Codierzielbild mit der ersten Bitrate und dem Codieren von Bildern vom Codierzielbild mit der zweiten Bitrate, die Steuerung (3) die Bitmenge, die nicht-codierten Bildern der nächsten-GOP zugeteilt ist, korrigiert, indem ein Korrekturwert verwendet wird, der als Ergebnis einer Codierverarbeitung der Ziel-GOP erzeugt wird.
  7. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 1, wobei beim Codieren eines Codierzielbilds (j + 1) als ein (j + 1)-tes Bild in der GOP eine Bitmenge R(j + 1), die den nicht-codierten Bildern einschließlich dem Codierzielbild (j + 1) in der Ziel-GOP zugeteilt wird, gemäß der folgenden Gleichung berechnet wird: R(j + 1) = R(j) – S(j) und wobei eine Zielbitmenge, die dem Codierzielbild (j + 1) zugeteilt wird, auf der Basis der Bitmenge R(j + 1) berechnet wird, die den nicht-codierten Bildern zugeteilt wird.
  8. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 7, wobei in dem Fall, wo das Codierzielbild (j + 1) das erste Bild einer nachfolgenden GOP ist, die korrigierte Bitmenge R(j + 1) der nicht-codierten Bilder bei und nach dem Codierzielbild (j + 1) in der GOP einschließlich des Codierzielbilds (j + 1) gemäß der folgenden Gleichung berechnet wird: R(j + 1) = bit_rate(j + 1) × N/pic_rate + R(j + 1) + e wobei bit_rate die Bitrate ausdrückt, die für die Ziel-GOP einschließlich des Bilds (j + 1) bestimmt ist, N die Anzahl von Bildern ausdrückt, die in der GOP enthalten sind, pic_rate die Vollbildrate ausdrückt, R(j + 1) auf der rechten Seite der Formel einen ursprünglichen Wert ausdrückt, der durch Subtrahieren der Bitmenge erhalten wird, die durch Codierverarbeitung des Bilds (j) aus der Bitmenge R(j) der nicht-codierten Bilder bei und nach dem Bild (j) in der vorausgehenden GOP einschließlich des Bilds (j) erzeugt wird, das dem Codierzielbild (j + 1) vorhergeht, und e die Korrekturbitmenge ausdrückt, die zur GOP die das Codierzielbild (j + 1) umfaßt von der vorausgehenden GOP geliefert wird.
  9. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 7, wobei in dem Fall, wo das Codierzielbild (j + 1) ein Bild an einer auf halbem Wege liegenden Stelle in der Ziel-GOP ist, und wo Bilder bis zum Bild (j), die dem Codierzielbild vorhergehen, mit der ersten Bitrate und Bilder von dem Codierzielbild (j + 1) an mit der zweiten Bitrate codiert sind, die korrigierte Bitmenge der nicht-codierten Bilder bei und nach dem Bild 0+1) in der GOP einschließlich des Codierzielbilds (j + 1) gemäß der folgenden Gleichung berechnet wird: R(j + 1) = (bit_rate(j + 1) – bit_rate(1) × (N – j)/pic_rate + R(j + 1) wobei bit_rate(j) die erste Bitrate ausdrückt, bit_rate(j + 1) die zweite Bitrate ausdrückt, N die Anzahl von Bildern ausdrückt, die in der GOP enthalten sind, pic_rate die Vollbildrate ausdrückt, und R(j + 1) auf der rechten Seite der Formel einen ursprünglichen Wert ausdrückt, der durch Subtraktion der Bitmenge erhalten wird, die durch Codierverarbeitung des Bilds (j) von der Bitmenge R(j) der nicht-codierten Bilder bei und nach dem Bild (j) in der GOP einschließlich des Bilds (j) erzeugt wird, welches dem Codierzielbild (j + 1) vorhergeht.
  10. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 9, wobei die Zielbitmenge T(j + 1), die dem Codierzielbild 0+1) zugeteilt ist, gemäß den folgenden Gleichungen berechnet wird: Ti(j + 1) = max(R(j + 1)/(1 + NpXp/XiKp + NbXb/XiKb), bit_rate/8 × pic_rate) Tp(j + 1) = max(R(j + 1)/(Np + NbKpXb/KbXp), bit_rate/8 × pic_rate) Tb(j + 1) = max (R(j + 1)/(Nb + NpKbXp/KpXb), bit_rate/8 × pic_rate) wobei Ti(j + 1) die Zielbitmenge in dem Fall ausdrückt, wo das Codierzielbild (j + 1) das I-Bild ist, Tp(j + 1) die Zielbitmenge in dem Fall ausdrückt, wo das Codierzielbild (j + 1) das P-Bild ist, Tb(j + 1) die Zielbitmenge in dem Fall ausdrückt, wo das Codierzielbild (j + 1) das B-Bild ist, R(j + 1) die Bitmenge ausdrückt, die den nicht-codierten Bildern bei und nach dem Bild (j + 1) in der GOP einschließlich dem Codierzielbild (j + 1) zugeteilt ist, Xi die globale Vielfältigkeit ausdrückt, die die Vielfältigkeit eines Bildes des I-Bilds zeigt, Xp die globale Vielfältigkeit ausdrückt, die die Vielfältigkeit eines Bildes des P-Bilds zeigt, Xb die globale Vielfältigkeit ausdrückt, die die Vielfältigkeit eines Bildes des B-Bilds zeigt, Np die Anzahl von nicht-codierten P-Bildern in der GOP einschließlich des Codierzielbilds (j + 1) ausdrückt, Nb die Anzahl von nicht-codierten B-Bildern in der GOP einschließlich des Codierzielbilds (j + 1) ausdrückt, Kp das Verhältnis eines Quantisierungsskalencodes des P-Bilds in Bezug auf den Quantisierungsskalencode des I-Bilds ausdrückt, und Kb das Verhältnis eines Quantisierungsskalencodes des B-Bilds in Bezug auf den Quantisierungsskalencode des I-Bilds ausdrückt.
  11. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 1, wobei beim Codieren von Bildern bis zu einem Bild unmittelbar vor dem Codierzielbild mit der ersten Bitrate und dem Codieren von Bildern vom Codierzielbild mit der zweiten Bitrate, die Steuerung (3) die Bitmenge berechnet, die einer vorherbestimmten Anzahl von nicht-codierten Bildern bei und nach dem Codierzielbild zugeteilt wird und die Schwierigkeit ermittelt, die die Codierschwierigkeit der vorherbestimmten Anzahl von nicht-codierten Bildern zeigt, und die Zielbitmenge herausfindet, die dem Codierzielbild zugeteilt wird, wobei die Bitmenge der vorherbestimmten Anzahl von nicht-codierten Bildern auf der Basis der Schwierigkeit des Codierzielbilds zugeteilt wird.
  12. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 11, wobei die Steuerung (3) die Bitmenge der vorherbestimmten Anzahl von nicht-codierten Bildern gemäß der Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert und die Zielbitmenge des Codierzielbilds auf der Basis der korrigierten Bitmenge der vorherbestimmten Anzahl von nicht-codierten Bildern berechnet.
  13. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 11, wobei die Steuerung (3) die Bitmenge der vorherbestimmten Anzahl von nicht-codierten Bildern korrigiert, wobei ein Wert verwendet wird, der durch Multiplizieren der Differenz zwischen einer Bitmenge pro Bild mit der ersten Bitrate und einer Bitmenge pro Bild mit der zweiten Bitrate mit der vorherbestimmten Anzahl von nicht-codierten Bildern erhalten wird, und die Zielbitmenge des Codierzielbilds auf der Basis der korrigierten Bitmenge der vorherbestimmten Anzahl von nicht-codierten Bildern berechnet.
  14. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 12, wobei jedesmal, wenn ein Bild codiert wird, die Steuerung (3) die Bitmenge, die nicht-codierten Bildern bis zu einem Bild zugeteilt ist, welches dem Codierzielbild um eine vorherbestimmte Anzahl von Bildern voraus ist, auf der Basis einer Bitmenge herausfindet, die als Ergebnis einer Codierverarbeitung eines Bilds unmittelbar vor dem Codierzielbild und einer erwarteten Menge von erzeugten Bits des Bilds erzeugt wird, welches dem Codierzielbild um die vorherbestimmte Anzahl von Bildern voraus ist.
  15. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 14, wobei die erwartete Menge von erzeugten Bits des Bilds, welches dem Codierzielbild um die vorherbestimmte Anzahl von Bildern voraus ist, herausgefunden wird, indem die Bitmenge, die nicht-codierten Bildern bei und nach dem Bild, welches um die vorgegebene Anzahl von Bildern in der GOP einschließlich dem Bild voraus ist, welches um die vorgegebene Anzahl von Bildern voraus ist, gemäß dem Bildtypus des Bilds, welches um eine vorherbestimmte Anzahl von Bildern voraus ist, zugeteilt wird.
  16. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 15, wobei die Bitmenge, die nicht-codierten Bildern bei und nach dem Bild zugeteilt ist, welches um die vorherbestimmte Anzahl von Bildern voraus ist, korrigiert wird, wobei ein Wert, der durch Multiplizieren der Differenz zwischen einer Bitmenge pro Bild mit einer ersten Bitrate und einer Bitmenge pro Bild mit der zweiten Bitrate mit der Anzahl von nicht-codierten Bildern bei und nach dem Bild, welches um die vorherbestimmte Anzahl von Bildern in der GOP einschließlich dem Bild voraus ist, welches um die vorherbestimmte Anzahl von Bildern voraus ist, erhalten wird.
  17. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 16, wobei in dem Fall, wo ein Anfangsbild einer nächsten GOP nach dem Codieren von Bildern bis zu einem Bild unmittelbar vor dem Codierzielbild mit der ersten Bitrate und dem Codieren von Bildern vom Codierzielbild mit der zweiten Bitrate codiert wird, die Steuerung (3) die Bitmenge korrigiert, die nicht-codierten Bildern der nächsten GOP zugeteilt sind, wobei ein Korrekturwert verwendet wird, der als Ergebnis einer Codierverarbeitung der GOP, wobei das Codierzielbild umfaßt ist, erzeugt wird.
  18. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 17, wobei der Korrekturwert dadurch erhalten wird, daß ein Wert verwendet wird, der durch Subtrahieren der Menge von erzeugten Bits, die die durch die aktuelle Codierverarbeitung des letzten Bilds der GOP, wobei das Codierzielbild umfaßt ist, erzeugt werden, von der Zielbitmenge, die dem letzten Bild zugeteilt ist, erhalten wird.
  19. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 11, wobei ein Algorithmus zur Berechnung der Zielbitmenge des Codierzielbilds in der Steuerung (3) eine Art von Mitkopplungs-Algorithmus, um die Schwierigkeit zu ermitteln, die die Codierschwierigkeit einer vorherbestimmten Anzahl von nicht-codierten Bildern einschließlich des Codierzielbilds zeigt, und zur Berechnung der Zielbitmenge des codierten Zielbilds auf der Basis der Schwierigkeit der vorherbestimmten Anzahl von nicht-codierten Bildern und der Schwierigkeit des Codierzielbilds vor einer Codierverarbeitung des Codierzielbilds ist.
  20. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 1, wobei beim Codieren eines Codierzielbilds (j + 1) als ein (j + 1)-tes Bild in der GOP eine Bitmenge R'(j + 1), die L nicht-codierten Bildern vom Codierzielbild (j + 1) zu einem Bild (j + L) zugeteilt ist, gemäß der folgenden Gleichung berechnet wird: R'(j + 1) = R'(j) – S(j) + F(j + L) wobei R'(j) die Bitmenge ausdrückt, die L nicht-codierten Bildern von einem Bild 0) zu einem Bild (1 – 1 + L) zugeteilt ist, S(j) die Bitmenge ausdrückt, die als Ergebnis einer Codierverarbeitung des Bilds (j) erzeugt wird, und F(j + L) eine erwartete Menge von erzeugten Bits des Bilds (j + L) ausdrückt.
  21. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 20, wobei die erwartete Menge von erzeugten Bits F(j + L) des Bilds (j + L) gemäß den folgenden Gleichungen berechnet wird: Fi(j + L) = max (G(j + L)/(1 + NpXp/XiKp + NbXb/XiKb), bit_rate/8 × pic_rate) Fp(j + L) = max (G(j + L)/(Np + NbKpXb/KbXp), bit_rate/8 × pic_rate) Fb(j + L) = max (G(j + L)/(Nb + NpKbXp/KpXb), bit_rate/8 × pic_rate) wobei Fi(j + L) die Zielbitmenge in dem Fall ausdrückt, wo das Bild (j + L) das I-Bild ist, Fp(j + L) die Zielbitmenge in dem Fall ausdrückt, wo das Bild (j + L) das P-Bild ist, Fb(j + L) die Zielbitmenge für den Fall ausdrückt, wo das Bild (j + L) das B-Bild ist, G(j + L) die Bitmenge ausdrückt, die den nicht-codierten Bildern bei und nach dem Bild (j + L) in der GOP zugeteilt wird, wobei das Bild (1 + L) umfaßt ist, Xi die globale Vielschichtigkeit ausdrückt, die die Vielschichtigkeit eines Rasters des I-Bilds anzeigt, Xp die globale Vielschichtigkeit ausdrückt, die die Vielschichtigkeit eines Rasters des P-Bilds anzeigt, Xb die globale Vielschichtigkeit ausdrückt, die die Vielschichtigkeit eines Rasters des B-Bilds anzeigt, Np die Anzahl von nicht-codierten P-Bildern in der GOP ausdrückt, wobei das Bild (j + L) umfaßt ist, Nb die Anzahl von nicht-codierten B-Bildern in der GOP ausdrückt, wobei das Bild (j + L) umfaßt ist, Kp das Verhältnis eines Quantisierungsskalencodes des P-Bilds in bezug auf einen Quantisierungsskalencode des I-Bilds ausdrückt, und Kb das Verhältnis eines Quantisierungsskalencodes des B-Bilds in bezug auf einen Quantisierungsskalencode des I-Bilds ausdrückt.
  22. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 21, wobei die Bitmenge G(j + L), die nicht-codierten Bildern bei und nach dem Bild (j + L) in der GOP einschließlich dem Bild (j + L) zugeteilt ist, gemäß der folgenden Gleichung herausgefunden wird: G(j + L) = G(j + L – 1) – F(j + l – 1) wobei G(j + L – 1) die Bitmenge ausdrückt, die nicht-codierten Bildern bei und nach einem Bild (j + L – 1) in der GOP einschließlich des Bilds (j + L) zugeteilt ist, und F(j + L – 1) eine erwartete Menge von erzeugten Bits des Bilds (j + L – 1) ausdrückt.
  23. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 22, wobei in dem Fall, wo das Codierzielbild (j + 1) das erste Bild der GOP ist und die bestimmte Bitrate von der ersten Bitrate auf die zweite Bitrate in einer GOP geändert wird, welche vorübergehend der GOP einschließlich dem Codierzielbild (j + 1) vorhergeht, die Bitmenge R'(j + 1) von L nicht-codierten Bildern bei und nach dem Codierzielbild (j + 1) und die Bitmenge G(j + 1) von L nicht-codierten Bildern bei und nach dem Codierzielbild (j + 1) in der GOP einschließlich des Codierzielbilds (j + 1) gemäß den folgenden Gleichungen herausgefunden wird: R'(j + 1) = (bit_rate(2) – bit_rate(1) × L/pic_rate + R'(j + 1) G(j + 1) = bit_rate(2) × N/pic_rate + G(j + 1) + e wobei bit_rate(1) die erste Bitrate ausdrückt, bit_rate(2) die zweite Bitrate ausdrückt, N die Anzahl von Bildern, die von der GOP umfaßt sind, ausdrückt, pic_rate die Vollbildrate (Rahmenrate) ausdrückt, G(j + 1) die verbleibende Bitmenge als Ergebnis einer Codierverarbeitung des letzten Bildes der GOP einschließlich des Bilds (j) ausdrückt, und e die Korrekturbitmenge ausdrückt, die zu einer GOP neben der GOP, die das Bild (j + 1) umfaßt, geliefert wird.
  24. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 22, wobei in dem Fall, wo das Codierzielbild (j + 1) ein Bild an einer auf halbem Wege liegenden Stelle in der GOP ist, und wobei Bilder bis zum Bild (j) mit der ersten Bitrate codiert sind und Bilder vom Bild (j + 1) an mit der zweiten Bitrate codiert sind, die Bitmenge R'(j + 1) von L nicht-codierten Bildern bei und nach dem Codierzielbild (j + 1) und die Bitmenge G(j + 1) von L nicht-codierten Bildern bei und nach dem Codierzielbild (j + 1) in der GOP einschließlich des Codierzielbilds (j + 1) gemäß den folgenden Gleichungen herausgefunden wird: R'(j + 1) = (bit_rate(j + 1) – bit_rate(j) × L/pic_rate + R'(j + 1) G(j + 1) = (bit_rate(j + 1) – bit_rate(j) × N/pic_rate + G(j + 1) + e wobei bit_rate(j) die erste Bitrate ausdrückt, die für die GOP einschließlich des Bilds (j) bestimmt ist, bit_rate(j + 1) die zweite Bitrate ausdrückt, die für die GOP einschließlich des Bilds (j + 1) bestimmt ist, N die Anzahl von Bildern ausdrückt, die von der GOP umfaßt sind, pic_rate die Vollbildrate ausdrückt, G(j + 1) die verbleibende Bitmenge als Ergebnis der Codierverarbeitung des letzten Bildes der GOP einschließlich des Bilds (j) ausdrückt, und e die Korrekturbitmenge ausdrückt, die zu einer GOP neben der GOP geliefert wird, die das Bild (j + 1) umfaßt.
  25. Bildcodiereinrichtung (2-1, 2-2, ... 2-n) nach Anspruch 24, wobei eine Zielbitmenge T(j + 1), die dem Codierzielbild (j + 1) zugeteilt ist, gemäß der folgenden Gleichung berechnet wird: T(j + 1) = max(R'(j + 1) × D(j + 1)/Σ j+N / k=j+1Dk, bit_rate(j + 1)/8 × pic_rate) wobei D(j + 1) die Schwierigkeit des Codierzielbilds (j + 1) ausdrückt, und Σ j+N / k=j+1Dk einen Wert ausdrückt, der durch Addieren der Schwierigkeit von Bildern vom Bild (j + 1) zum Bild (j + N) erhalten wird.
  26. Codierverfahren zum Codieren von Videodaten auf der Basis einer bestimmten Bitrate, wobei das Verfahren umfaßt: einen Steuerschritt zum Berechnen einer Zielbitmenge, die jedem Bild zugeteilt wird, welches von einer GOP umfaßt ist, auf der Basis der bestimmten Bitrate; und einen Codierschritt zum Codieren eines Codierzielbilds auf der Basis der Zielbitmenge, die durch den Steuerschritt gesteuert wird; wobei im Steuerschritt, wenn die bestimmte Bitrate von einer ersten Bitrate auf eine zweite Bitrate in dem Fall geändert wird, wo die Codierverarbeitung des Codierzielbilds durch den Codierschritt ausgeführt wird, die Zielbitmenge, die dem Codierzielbild zugeteilt wird, auf der Basis die Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert wird, wobei die Steuerung (3) die Bitmenge von nicht-codierten Bildern gemäß der Differenz zwischen der ersten Bitrate und der zweiten Bitrate korrigiert und die Zielbitmenge des Codierzielbilds auf der Basis der korrigierten Bitmenge von nicht-codierten Bildern berechnet.
DE19882097T 1997-12-08 1998-12-08 Codiereinrichtung und Codierverfahren Expired - Fee Related DE19882097B3 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP33681197 1997-12-08
JP9/336811 1997-12-08
PCT/JP1998/005553 WO1999030505A1 (en) 1997-12-08 1998-12-08 Encoder and encoding method

Publications (2)

Publication Number Publication Date
DE19882097T1 DE19882097T1 (de) 2000-03-23
DE19882097B3 true DE19882097B3 (de) 2012-12-20

Family

ID=18302908

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19882097T Expired - Fee Related DE19882097B3 (de) 1997-12-08 1998-12-08 Codiereinrichtung und Codierverfahren

Country Status (5)

Country Link
US (1) US6226326B1 (de)
KR (1) KR100588795B1 (de)
DE (1) DE19882097B3 (de)
GB (1) GB2336269B (de)
WO (1) WO1999030505A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4331835B2 (ja) * 1999-09-22 2009-09-16 パナソニック株式会社 画像データ伝送方法
US7277483B1 (en) 2000-04-18 2007-10-02 Ati International Srl Method and apparatus for rate control for constant-bit-rate finite-buffer-size video encoder
US6763067B2 (en) * 2000-10-10 2004-07-13 Sarnoff Corporation Rate control for bitstream re-encoding
KR100403085B1 (ko) * 2000-12-29 2003-10-30 엘지전자 주식회사 하이브리드 arq 시스템에서 레이트매칭 알고리즘의초기치 설정방법
JP4203707B2 (ja) * 2001-01-31 2009-01-07 日本電気株式会社 事前解析を用いた動画像符号化装置、動画像符号化方法、及びそのプログラム。
US7170938B1 (en) * 2001-08-21 2007-01-30 Cisco Systems Canada Co. Rate control method for video transcoding
JP4443833B2 (ja) * 2002-02-27 2010-03-31 パナソニック株式会社 情報再生方法、送信装置および受信装置
US7418037B1 (en) * 2002-07-15 2008-08-26 Apple Inc. Method of performing rate control for a compression system
US7940843B1 (en) 2002-12-16 2011-05-10 Apple Inc. Method of implementing improved rate control for a multimedia compression and encoding system
US7804897B1 (en) 2002-12-16 2010-09-28 Apple Inc. Method for implementing an improved quantizer in a multimedia compression and encoding system
KR20060088461A (ko) * 2005-02-01 2006-08-04 엘지전자 주식회사 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
US11516515B2 (en) * 2018-09-19 2022-11-29 Nippon Telegraph And Telephone Corporation Image processing apparatus, image processing method and image processing program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5814528A (ja) * 1981-07-17 1983-01-27 Fujitsu Ltd 半導体装置の製造方法
JPS58145284A (ja) * 1982-02-23 1983-08-30 Fujitsu Ltd 画像信号多重化方式
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US5619341A (en) * 1995-02-23 1997-04-08 Motorola, Inc. Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system
KR970057947A (ko) * 1995-12-28 1997-07-31 배순훈 영상 부호화기에서의 타입 결정 및 버퍼 제어 장치
EP0804035B1 (de) * 1996-04-25 2002-06-26 Matsushita Electric Industrial Co., Ltd. Gerät und Verfahren zur Bewegtbildkodierung
US6094455A (en) * 1996-09-25 2000-07-25 Matsushita Electric Industrial Co., Ltd. Image compression/encoding apparatus and system with quantization width control based on bit generation error
US6037985A (en) * 1996-10-31 2000-03-14 Texas Instruments Incorporated Video compression

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BALAKRISHNAN, M.; u.a.: BENEFITS OF STATISTICAL MULTIPLEXING IN MULTI-PROGRAM BROADCASTING. In: IEE International Broadcasting Convention, 12-16 September 1997 *
ISO/IEC JTC1/SC29/WG11/N0400: Test Model 5, Apri. 1993 *

Also Published As

Publication number Publication date
DE19882097T1 (de) 2000-03-23
GB2336269A (en) 1999-10-13
US6226326B1 (en) 2001-05-01
WO1999030505A1 (en) 1999-06-17
GB2336269B (en) 2002-01-16
KR100588795B1 (ko) 2006-06-13
KR20000070810A (ko) 2000-11-25
GB9917428D0 (en) 1999-09-22

Similar Documents

Publication Publication Date Title
DE69435000T2 (de) Bildkodierungsvorrichtung
DE69938093T2 (de) Steuerung der Datenrate für einen MPEG-Transcoder ohne a-priori Kenntnis des Bildtyps
DE69736537T2 (de) Ratenregelung für stereoskopische digitale Videokodierung
DE69921108T2 (de) Verfahren und vorrichtung zur adaptiven codierung eines videodatenstroms
DE69333298T2 (de) Codierung und Codierung von digitalen Videosignalen
DE69826823T2 (de) Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer
DE60026241T2 (de) Umschalten zwischen bitratenreduzierten Signalen
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE69735756T2 (de) Dynamische steuerung der kodierrate in einem blockbasierten videokodierungssystem
DE60023576T2 (de) Verfahren und Vorrichtung zur Bewegtbilddatentranscodierung
DE4228220B4 (de) Vorrichtung zur hierarchischen Unterteilung von Videosignalen
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE69637343T2 (de) Videokodierungs- und -dekodierungsvorrichtung
DE69815159T2 (de) Kodierung von bewegten bildern mit globaler konstanter bitrate
DE60003636T2 (de) Verfahren zür erfassung und verhinderung von bandbreiteüberlauf in einem statistischen multiplexer
DE60032841T2 (de) Signalprozessor zum nahtlosen Zusammenfügen von MPEG-2 Bitströmen in einem Videokoder
DE69730419T2 (de) System zur Verteilung komprimierter Videosignale, mit statistischem Multiplexer mit Transkodierern
DE60319239T2 (de) Bewegungsschätzung mit gewichteter vorhersage
DE60027495T2 (de) Video-codierverfahren und video-codiervorrichtung
DE69831894T2 (de) Signalkodierung, -aufnahme und -übertragung
DE4134999C2 (de) Kodiergerät für Bewegungsbilder
DE69816875T2 (de) Sequenzadaptive bit-zuordnung zur codierung von bildern
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
DE19882097B3 (de) Codiereinrichtung und Codierverfahren
DE69835211T2 (de) Umschaltung zwischen komprimierten videobitströmen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R026 Opposition filed against patent

Effective date: 20130320

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0007260000

Ipc: H04N0019000000

Effective date: 20131205

R031 Decision of examining division/federal patent court maintaining patent unamended now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee