DE60104616T2 - Videokodierungsverfahren und -vorrichtung - Google Patents

Videokodierungsverfahren und -vorrichtung Download PDF

Info

Publication number
DE60104616T2
DE60104616T2 DE2001604616 DE60104616T DE60104616T2 DE 60104616 T2 DE60104616 T2 DE 60104616T2 DE 2001604616 DE2001604616 DE 2001604616 DE 60104616 T DE60104616 T DE 60104616T DE 60104616 T2 DE60104616 T2 DE 60104616T2
Authority
DE
Germany
Prior art keywords
code size
generation code
block information
counting
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE2001604616
Other languages
English (en)
Other versions
DE60104616D1 (de
Inventor
Yuji Kawashima
Atsushi Asano
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE60104616D1 publication Critical patent/DE60104616D1/de
Publication of DE60104616T2 publication Critical patent/DE60104616T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • 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/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate

Landscapes

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

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf eine Bildkodierungsvorrichtung zum Kodieren eines digitalen Bewegungsbildsignals und genauer auf eine Bildkodierungsvorrichtung zum Füllen vorbestimmter Bits in einen signalverarbeiteten Bitstrom bei Ausführen des Signalprozesses eines Bildsignals von z. B. einem digitalen beweglichen Bild oder dergleichen durch ein vorbestimmtes Kodierungsschema.
  • Stand der Technik
  • Im allgemeinen muss eine Bildkodierungsvorrichtung zum Kodieren eines Videosignals, d. h. eines Bildsignals, das Bildsignal durch ein vorbestimmtes Schema kodieren, um es in Einheiten zu segmentieren, jede mit einer vorbestimmten Codegröße, und muss Bitströme mit dieser Einheit ausgeben. D. h. um zu verhindern, dass ein Puffer in einer Dekodierungsvorrichtung auf der empfangenden Seite, die Bitströme empfängt, einen Überlauf oder Unterlauf hat, wird von einer Kodierungsvorrichtung auf der Ausgangsseite von Bitströmen gefordert, die Codegröße von jedem Bitstrom zu steuern. Als ein übliches Verfahren zum Verhindern von Überlauf sind eine Steuerung von Quantisierungsparametern, Steuerung von Kodierungsrahmen und dergleichen verfügbar, und die Codegröße wird durch eine derartige Steuerung auf eine vorbestimmte Codegröße abgestimmt. Auch ist als ein Verfahren zum Verhindern von Unterlauf ein Verfahren von Füllbits verfügbar. In diesem Verfahren werden redundante Bits, die durch einen Dekodierungsprozess entfernt werden, auf der empfangenden Seite zu einer vorbestimmten Position eines Bitstroms als Füllung eingefügt. Es ist zu vermerken, dass Füllung selbst Einfügung bedeutet, und streng genommen eine Einfügung von Füllung eine Einfügung von Füllbits bedeutet. (Es kann auch ein einfacher Ausdruck "Einfügung von Füllung" verwendet werden.)
  • In den letzten Jahren wurde MPEG-4 als ein Bildsignalkodierungsschema vorgeschlagen und zur praktischen Verwendung gebracht. In MPEG-4-Spezifikationen wird Füllung z. B. in jeweiligen Makroblöcken MB (Makroblock) durchgeführt. (Füllung in jeweiligen Makroblöcken MB wird MB-Füllung genannt.) MB-Füllung kann ein Kodierungsverfahren von Makroblöcken MB spezifizieren, und dieses Kodierungsverfahren ist als ein MB-Typ definiert. In dem MB-Typ können Füllbits so viele wie benötigt wiederholt gefüllt werden, bis ein MB-Typ erscheint, der das Vorhandensein/Fehlen eines inter (Inter) oder intra (Intra) Differenzialquantisierungsausmaßes (DQuant) anzeigt. Es ist zu beachten, dass eine Einheit von Füllbits definiert ist, eine 9-Bit-Codesequenz zu sein.
  • Wie oben beschrieben, ist Füllung das Verfahren zum Verhindern von Pufferunterlauf in der Dekodierungsvorrichtung. Normalerweise wird für jeden Makroblock (MB) in einem Bitstrom eine unzureichende Codegröße berechnet, und es wird MB-Füllung entsprechend dieser Codegröße ausgeführt. D. h. Füllung wird ausgeführt, wenn ein Bildsignal einem Signalprozess durch ein vorbestimmtes Schema unterzogen wird, das Signal, das dem Signalprozess unterzogen wurde, wird Kodierung variabler Länge unterzogen und die Generierungscodegröße des Signals, das Kodierung variabler Länge unterzogen wurde, erreicht nicht eine vorbestimmte Codegröße. In dieser Füllung wird eine unzureichende Codegröße als die einzufügende Codegröße berechnet, und es wird Füllung entsprechend dieser Codegröße vorgenommen.
  • Um einen Makroblock MB (MB) in einen Bitstrom zu füllen, nachdem MB-Information Kodierung variabler Länge unterzogen wurde, kann ein Verfahren zum Füllen für jeden Makroblock MB verwendet werden, der Kodierung variabler Länge unterzogen wurde. Für diesen Zweck muss eine Einrichtung für Füllbits vor einem Übertragungspuffer zum Übertragen von Bitströmen hinzugefügt werden. Als die Einrichtung, die hinzuzufügen ist, können ein Puffer zum zeitweiligen Speichern eines Bitstroms ohne MB-Füllung oder eine Einrichtung zum Anzeigen einer Füllposition, um Füllung eines MB in einen Bitstrom zu erlauben, verwendet werden.
  • Um einen MB in einen Bitstrom zu füllen, ist ein Speicher, der als ein Puffer dient, erforderlich, und der Energieverbrauch dieser Vorrichtung erhöht sich. Da eine Einrichtung hinzugefügt werden muss, erhöhen sich Schaltungsausmaß und Energieverbrauch, wobei so eine Verzögerung in dem Signalprozess erzeugt wird.
  • Offenlegung der Erfindung
  • Es ist ein Ziel der vorliegenden Erfindung, eine Bildkodierungsvorrichtung und ein Bildkodierungsverfahren in Übereinstimmung mit den angefügten Ansprüchen 1 und 8 vorzusehen, die eine Füllgröße von zu kodierenden Daten vor einer Kodierung variabler Länge schätzen können und die zu kodierenden Daten durch Füllung kodieren können.
  • Es ist ein anderes Ziel der vorliegenden Erfindung, eine Bildkodierungsvorrichtung und ein Bildkodierungsverfahren vorzusehen, die einen vorbestimmten Bitstrom ohne Erhöhung vom Schaltungsausmaß und Erzeugung einer beliebigen Verzögerung ausgeben können, da Kodierung variabler Länge nach Füllung in zu kodierende Daten geschieht.
  • Gemäß der vorliegenden Erfindung wird eine Bildkodierungsvorrichtung vorgesehen, die umfasst:
    Signalverarbeitungsmittel zum Generieren von Blockinformation durch Kalkulieren und Quantisieren orthogonaler Transformationen eines Bildsignals einer gegebenen Einheit für jeden Block, der das Bildsignal bildet;
    Integrationsmittel zum Generieren integrierter Information durch Integrieren der Blockinformation in Übereinstimmung mit einem vorbestimmten Schema; und
    Kodierungsmittel zum Durchführen einer Kodierung variabler Länge von jeder Blockinformation der integrierten Information,
    wobei die Vorrichtung ferner umfasst Schätzungskalkulationsmittel zum Kalkulieren der Zahl von Füllbits, die einzufügen sind für jeden Block durch Schätzen einer Generierungscodegröße der integrierten Information nach Kodierung variabler Länge, und wobei das Integrationsmittel die kalkulierte Zahl von Füllbits an einer vorbestimmten Position der integrierten Information einfügt und das Kodierungsmittel Kodierung variabler Länge der Blockinformation, der Füllbits angefügt wurden, durchführt.
  • Gemäß der vorliegenden Erfindung wird in der obigen Erfindung eine Bildkodierungsvorrichtung vorgesehen, worin das Schätzungskalkulationsmittel ferner umfasst:
    ein erstes Zählmittel zum Zählen quantisierter DCT-Koeffizienten, die in Vorkodierungsblockinformation enthalten sind, die von dem Signalverarbeitungsmittel ausgegeben wird;
    ein zweites Zählmittel zum Zählen einer Generierungscodegröße einer kodierten Sequenz, die von dem Kodierungsmittel ausgegeben wird;
    ein Durchschnittscodewortlängenkalkulationsmittel zum Kalkulieren einer Durchschnittscodewortlänge der Blocklänge beim Kodieren der Blockinformation auf der Basis von Ausgaben von den ersten und zweiten Zählmitteln; und
    ein Schätzungsmittel zum Schätzen der Generierungscodegröße beim Kodieren gegebener Blockinformation, die von dem Signalverarbeitungsmittel zu dem Integrationsmittel eingegeben wird.
  • Gemäß der vorliegenden Erfindung wird in der obigen Erfindung eine Bildkodierungsvorrichtung vorgesehen, wobei das Schätzungsmittel die Generierungscodegröße basierend auf einer Schätzungsformel (Durchschnittscodewortlänge) × (Gesamtzahl von quantisierten DCT-Koeffizienten) schätzt.
  • Des weiteren wird gemäß der vorliegenden Erfindung in der obigen Erfindung eine Bildkodierungsvorrichtung vorgesehen, wobei das Durchschnittscodewortlängenkalkulationsmittel die Durchschnittscodewortlänge durch (akkumulierte Generierungscodegröße)/(akkumulierte Zahl von quantisierten DCT-Koeffizienten) auf der Basis einer akkumulierten Generierungscodegröße nach Kodierung variabler Länge von dem zweiten Zählmittel und der Gesamtzahl von quantisierten DCT-Koeffizienten, die Blockinformation in der integrierten Information von dem ersten Zählmittel betreffen, kalkuliert.
  • Außerdem wird gemäß der vorliegenden Erfindung in der obigen Erfindung eine Bildkodierungsvorrichtung vorgesehen, wobei das Schätzungskalkulationsmittel ferner umfasst:
    eine Füllkalkulationseinheit zum Bestimmen einer Füllgröße durch Vergleichen der geschätzten Generierungscodegröße und eines Kodierungsakkumulationswertes, erhalten durch Akkumulieren der Codegröße, die durch das zweites Zählmittel gezählt wird.
  • Auch wird gemäß der vorliegenden Erfindung ein Bildkodierungsverfahren vorgesehen, das umfasst:
    den Signalverarbeitungsschritt zum Generieren von Blockinformation durch Kalkulieren und Quantisieren orthogonaler Transformationen eines Bildsignals einer gegebenen Einheit für jeden Block, der das Bildsignal bildet;
    den Integrationsschritt zum Generieren integrierter Information durch Integrieren der Blockinformation in Übereinstimmung mit einem vorbestimmten Schema; und
    den Kodierungsschritt zum Durchführen einer Kodierung variabler Länge von jeder Blockinformation der integrierten Information,
    wobei das Verfahren ferner umfasst den Schätzungskalkulationsschritt zum Kalkulieren der Zahl von Füllbits, die für jeden Block einzufügen sind, durch Schätzen einer Generierungscodegröße der integrierten Information nach einer Kodierung variabler Länge, und wobei der Integrationsschritt den Schritt zum Einfügen der Zahl von kalkulierte Füllbits an einer vorbestimmten Position der integrierten Information inkludiert, und der Kodierungsschritt den Schritt zum Durchführen einer Kodierung variabler Länge der Blockinformation, der die Füllbits angefügt sind, inkludiert.
  • Da in der vorliegenden Erfindung neue Schaltungen und Prozesse hinzuzufügen sind, um Füllung zum Verhindern von Pufferun terlauf zu implementieren, kann eine Kodierungsvorrichtung minimiert werden, Energieverbrauch kann gedrückt werden und Echtzeitverarbeitung kann aufrecht erhalten werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm, das die Anordnung einer Bildkodierungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • 2 ist ein Blockdiagramm, das die Anordnung eines Signalprozessors 10 zeigt, der in 1 gezeigt wird;
  • 3 ist ein Funktionsblockdiagramm, das den Prozess in einer Generierungscodegrößenschätzeinheit zeigt, die in 1 gezeigt wird;
  • 4 ist ein Flussdiagramm, das Prozesse zum Kalkulieren einer Zielgenerierungscodegröße Tcode(x) durch eine Füllungsgrößenkalkulationseinheit 17, gezeigt in 1, auf der Basis einer Zielbitrate Tbr, einer Zielrahmenrate Tfr und der Zahl Nmb(x) von Makroblöcken MB (MB), die einem Signalprozess des Signalprozessors 10 unterzogen wurden, zeigt;
  • 5 ist eine Flussdiagramm, das Prozesse zum Kalkulieren einer Füllungsgröße S(x) durch die Füllungsgrößenkalkulationseinheit 17, gezeigt in 1, auf der Basis einer Generierungscodegröße C(x) von Makroblöcken MB (MB), die einer Kodierung variabler Länge unterzogen wurden, was durch eine Generierungscodegrößenzähleinheit 14, die in 1 gezeigt wird, gezählt wird, der Zielgenerierungscodegröße Tcode(x), die durch den Prozess erhalten wird, der in 4 gezeigt wird, und einer geschätzten Generierungscodegröße E(x), die durch den Prozess kalkuliert wird, der in 3 gezeigt wird, zeigt;
  • 6 ist eine erläuternde Ansicht, die die Prozesse zum Konvertieren in einen Bitstrom, der von der Vorrichtung, die in 1 gezeigt wird, durch Kodieren von Makroblock-MB-Information, wenn Füllung durchgeführt wird, ausgegeben wird, und die Struktur des Bitstroms, der Daten von Makroblöcken MB enthält, zeigt;
  • 7 ist eine erläuternde Ansicht, die die Prozesse zum Konvertieren in einen Bitstrom, der von der in 1 gezeigten Vorrichtung ausgegeben wird, durch Kodieren von Makroblock-MB-Information, wenn Füllung nicht durchgeführt wird, und die Struktur des Bitstroms, der Daten von Makroblöcken MB enthält, zeigt;
  • 8A und 8B sind jeweils ein Grundriss zum Erläutern der Kodierungsreihenfolge von Videoobjektebenen und ein Grundriss, der die Beziehung zwischen kodierten Makroblöcken MB und Kodierung von Makroblöcken MB zeigt;
  • 9 ist ein Flussdiagramm, das Prozesse zum Erhalten einer Füllungsgröße gemäß einer Modifikation der vorliegenden Erfindung zeigt, d. h. ein Flussdiagramm, das Prozesse zum Kalkulieren einer Füllungsgröße S(x) zeigt, die in ein Videopaket durch die Füllungsgrößenkalkulationseinheit einzufügen ist, die in 1 gezeigt wird, auf der Basis einer Generierungscodegröße C(x) von Makroblöcken MB (MB), die Kodierung variabler Länge unterzogen wurden, was durch die Generierungscodegrößenzähleinheit 14 gezählt wird, einer Zielcodegröße Tcode(x) eines Kodierungsvideopaketes, die durch den gleichen Prozesse wie den erhalten wird, der in 4 gezeigt wird, und einer geschätzten Codegröße E(X) eines Kodierungsvideopaketes, die durch den gleichen Prozess wie den kalkuliert wird, der in 3 gezeigt wird; und
  • 10A, 10B, 10C und 10D sind erläuternde Ansichten, die die Datenstruktur zeigen, wenn Füllung in einen Bitstrom eines Datenpartitionierungsmodus durchgeführt wird, der von dem in 1 gezeigten System ausgegeben wird, gemäß einer Modifikationen der vorliegenden Erfindung.
  • Bester Modus zum Ausführen der Erfindung
  • Es wird hierin nachstehend eine Bildkodierungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung mit Bezug auf die begleitenden Zeichnungen beschrieben.
  • 1 ist ein Blockdiagramm einer Bildkodierungsvorrichtung zum Ausführen einer Kodierung variabler Länge eines Bildsignals, d. h. eines Videosignals, gemäß einer Ausführungsform der vorliegenden Erfindung. Die in 1 gezeigte Vorrichtung umfasst eine Vorrichtungssteuereinrichtung 20 zum Steuern jeweiliger Einheiten in dieser Vorrichtung und einen Signalprozessor 10 zum Segmentieren eines digitalen Bildsignals, das in Einheiten von Videoobjektebenen (video object planes, VOP) eingegeben wird, oder zusätzlich in Einheiten von Rahmen oder Feldern in vorbestimmte Blöcke, d. h. Makroblöcke MB, in Übereinstimmung mit einem vorbestimmten Bildsignalkomprimierungsschema (MPEG-4, ITU-T Empfehlung H.263 oder ihren modifizierten Schemata), und Komprimieren der Makroblöcke durch Ausführen eines Signalprozesses.
  • Wie in 2 gezeigt, umfasst der Signalprozessor 10 eine quantisierte DCT-Koeffizienten-(diskrete Kosinustransformation)Einheit 24 und eine Quantisierungseinrichtung 25. Die DCT-Einheit 24 berechnet die orthogonalen Transformationen, d. h. DCTs eines digitalen Bildsignals, das unter der Steuerung der Vorrichtungssteuereinrichtung 20 eingegeben wird, und die Quantisierungseinrichtung 25 quantisiert unabhängig die erhaltenen DCT-Koeffizienten für jeweilige DC-(Gleich strom) und AC-(Wechselstrom)Komponenten. Die quantisierten DCT-Koeffizienten werden als Textur (quantisierte DCT-Koeffizienten) zu einem Syntaxgenerator 12 ausgegeben, der in 1 gezeigt wird.
  • Der in 2 gezeigte Signalprozessor 10 umfasst auch eine Dequantisierungseinrichtung 26 zum Dequantisieren eines quantisierten Bitstroms, eine inverse DCT-Einheit 27 zum Berechnen der inversen DCTs von dequantisierten DCT-Koeffizienten und eine Bewegungskompensationseinheit, d. h. MC-Einheit 29, für einen Vergleich mit dem nächsten Rahmen in Einheiten von Makroblöcken MB. In diesem Signalprozessor 10 werden die inversen DCTs von DCT-Koeffizienten berechnet, um ein dekodiertes Bild zurückzugewinnen, wie durch Bezugszeichen 28 bezeichnet, das dekodierte Bild wird durch die MC-Einheit 29 mit dem nächsten Eingangsrahmen oder Feld für die jeweiligen Makroblöcke MB verglichen, und die MC-Einheit 29 gibt einen Bewegungsvektor und ein vorhergesagtes Referenzbild auf der Basis ihres Vergleichsergebnisses aus. Der Bewegungsvektor wird zu dem in 1 gezeigten Syntaxgenerator 12 wie in Textur (quantisierte DCT-Koeffizienten) ausgegeben. Das vorhergesagte Referenzbild wird mit dem nächsten Rahmenbild vor DCT verglichen, ihre Differenz wird DCT in der DCT-Einheit 24 unterzogen, die DCT-Koeffizienten werden quantisiert und die quantisierten DCT-Koeffizienten werden zu dem Syntaxgenerator 12 für die jeweiligen Makroblöcke MB ausgegeben.
  • Der Syntaxgenerator 12 generiert eine Syntax gemäß einem Kodierungsmodus basierend auf MPEG-4-Spezifikationen auf der Basis von Makroblock-MB-(MB)Information, die die Eingangstextur (quantisierte DCT-Koeffizienten) und den Bewegungsvektor enthält, und einer Füllungsgröße, die später zu beschreiben ist, und gibt die Syntax zu einer Kodierungseinrichtung variabler Länge 13 ein. Es ist zu beachten, dass eine Steue rung dieses Kodierungsmodus durch die Vorrichtungssteuereinrichtung 20 eingestellt wird.
  • Die Syntax, die von dem Syntaxgenerator 12 ausgegeben wird, wird durch Kodierung variabler Länge in dem Kodierungsprozessor variabler Länge 13 sequentiell kodiert. Ein Bitstrom, der Kodierung variabler Länge unterzogen wurde, wird zu einem Übertragungspuffer 22 zugeführt, der den Bitstrom in Übereinstimmung mit einer Zielbitrate überträgt, die durch die Vorrichtungssteuereinrichtung 10 eingestellt wird.
  • Die in 1 gezeigte Bildkodierungsvorrichtung umfasst ferner eine quantisierte DCT-(diskrete Kosinustransformation)Koeffizientenzähleinheit 21, den Kodierungsprozessor variabler Länge 13, eine Generierungscodegrößenzähleinheit 14, eine Durchschnittscodewortlängenkalkulationseinheit 15, eine Generierungscodegrößenschätzeinheit 16 und eine Füllungsgrößenkalkulationseinheit 17. Es ist zu beachten, dass die Vorrichtungssteuereinrichtung 20 diese Einheiten steuert, und ein Bildsignal steuert, das zu der Vorrichtung eingegeben wird, um Bitströme zu steuern, die von der Vorrichtung auszugeben sind. Es ist zu beachten, dass eine Steuerung von Bitströmen eine Einstellung einer Zielgenerierungscodegröße (Zielbitrate) oder der Zahl von Rahmen (Zielrahmenrate), eine Einstellung eines Kodierungsmodus, wie etwa Ratensteuerung, Fehlerrobustheit oder dergleichen usw. inkludiert.
  • Die Ausgabe des Kodierungsprozessors variabler Länge 13 wird der Generierungscodegrößenzähleinheit 16 zugeführt, die die Codegröße zählt und den Zählwert der Füllungsgrößenkalkulationseinheit 17 und der Durchschnittscodewortlängenkalkulationseinheit 15 zuführt.
  • Die quantisierte DCT-Koeffizientenzähleinheit 21 zählt quantisierte DCT-Koeffizienten, die in MB-Information enthalten sind, generiert durch den Signalprozessor 10, und führt den Zählwert der Durchschnittscodewortlängenkalkulationseinheit 15 und der Generierungscodegrößenschätzeinheit 16 zu.
  • Die Durchschnittscodewortlängenkalkulationseinheit 15 kalkuliert eine Durchschnittscodewortlänge L der quantisierten DCT-Koeffizienten auf der Basis der akkumulierten Zahl von quantisierten DCT-Koeffizienten, die durch die quantisierte DCT-Koeffizientenzähleinheit 21 gezählt werden, und der akkumulierten Codegröße, die durch die Generierungscodegrößenzähleinheit 14 gezählt wird, und führt die Durchschnittscodewortlänge L der Codegrößenschätzeinheit 16 zu. Falls Csum die akkumulierte Generierungscodegröße darstellt, und Nsum die akkumulierte Zahl von quantisierten DCT-Koeffizienten darstellt, ist die Durchschnittscodewortlänge L Csum/Nsum. Es ist zu beachten, dass ein fester Wert als die Durchschnittscodewortlänge an Stelle eines variablen Wertes verwendet werden kann. Z. B. kann ein fester Wert L = 8 als die Durchschnittscodewortlänge verwendet werden. Der akkumulierte Wert entspricht der Summe der Generierungscodegröße oder der Zahl eines quantisierten DCT-Koeffizienten von dem Beginn einer Eingabe eines gegebenen Rahmens bis zur Verarbeitung eines entsprechenden Makroblocks MB in diesem Rahmen.
  • Die Generierungscodegrößenschätzeinheit 16 kalkuliert einen geschätzten Wert einer Codegröße, der projiziert wird, um durch den Kodierungsprozessor variabler Länge 13 für einen gegebenen Makroblock MB auf der Basis von quantisierten DCT-Koeffizienten Ncoef dieses Makroblocks MB, gezählt durch die quantisierte DCT-Koeffizientenzähleinheit 21, und der Durchschnittscodewortlänge L von quantisierten DCT-Koeffizienten, kalkuliert durch die Durchschnittscodewortkalkulationseinheit 16, generiert zu werden, wie in 3 gezeigt. Dieser geschätzte Wert wird kalkuliert, bevor der Kodierungsprozessor variabler Länge 13 einen Kodierungsprozess variabler Länge der Syntax ausführt, die von dem Syntaxgenerator ausgegeben wird.
  • Eine geschätzte Generierungscodegröße E(x) ergibt sich durch: E(x) = Ncoef × L,wobei x eine positive ganze Zahl ist, die die Zahl eines Makroblocks MB in einer Videoobjektebene (VOP), d. h. ein Rahmen oder Feld, anzeigt.
  • Die Füllungsgrößenkalkulationseinheit 17 kalkuliert eine Zielgenerierungscodegröße Tcode(x) auf der Basis einer Zielgenerierungscodegröße (Zielbitrate) Tbr und der Zahl von Rahmen (Zielrahmenrate) Tfr, die durch die Vorrichtungssteuereinrichtung 10 eingestellt sind, und der Zahl Nmb(x) von Makroblöcken MB (MB) pro Rahmen, die dem Signalprozess des Signalprozessors 11 unterzogen wurden. Falls Nvop die Gesamtzahl von Makroblöcken MB (MB) pro VOP darstellt, die im voraus erhalten wird, ergibt sich die Zielgenerierungscodegröße Tcode(x) durch: Tcode(x) = (Tbr/Tfr) × (Nmb(x)/Nvop),wobei (Tbr/Tfr) die Zielbitrate pro Rahmen ist, d. h. die Zielcodegröße in einer Videoobjektebene. Auch ist (Nmb(x)/Nvop) das Verhältnis der Zahl von Makroblöcken MB, die in Bezug auf die Gesamtzahl von Makroblöcken MB in einer Videoobjektebene signal-verarbeitet wurde. Diese Zielgenerierungscodegröße Tcode(x) ist als eine Zielcodegröße definiert, die in einer Videoobjektebene kumulativ zu generieren ist, nachdem der x-te Makroblock MB, der einem Signalprozess zu unterziehen ist, kodiert ist, wie aus der obigen Gleichung gesehen werden kann.
  • Unter Verwendung dieser Zielgenerierungscodegröße Tcode(x) und einer Generierungscodegröße C(x) von Makroblöcken MB, die einer Kodierung variabler Länge unterzogen wurden, die durch die Generierungscodegrößenzähleinheit 14 erhalten wird, wird eine Zielgenerierungscodegröße Tmb(x) eines Makroblocks MB, der gegenwärtig kodiert wird (hierin nachstehend als ein Kodierungs-MB zu bezeichnen) durch:
    Figure 00140001
    für C(0) = 0 kalkuliert.
  • Eine vorhergesagte unzureichende Codegröße S(x), d. h. geschätzt aus dieser Zielgenerierungscodegröße Tmb(x) und der geschätzten Generierungscodegröße E(x), erhalten durch die Generierungscodegrößenschätzeinheit 16, wird wie folgt kalkuliert.
    • (1) Falls die geschätzte Generierungscodegröße Tmb(x) kleiner als die Zielgenerierungscodegröße E(x) ist, haben wir: S(x) = Tmb(x) – E(x),falls Tmb(x) > E(x)
    • (2) Falls andererseits die geschätzte Generierungscodegröße Tmb(x) größer als die Zielgenerierungscodegröße E(x) ist, haben wir: S(x) = 0,falls Tmb(x) ≤ E(x)
  • Dieses S(x) wird als eine Füllungsgröße verwendet und wird dem Syntaxgenerator 2 zugeführt. Es ist zu beachten, dass die Füllungsgröße definiert ist, ein ganzzahliges Vielfaches von 9 Bits als eine Einheit zu sein.
  • Der Betrieb in der in 1 gezeigten Bildkodierungsvorrichtung wird nachstehend mit Bezug auf 3 bis 8B beschrieben.
  • Der Signalprozessor 10 empfängt sequentiell ein Bildsignal in Videoobjektebenen, wie durch Pfeile angezeigt, die in 8A gezeigt werden. Bei Empfang eines Bildsignals in dem Signalprozessor 10 wird das Bildsignal einem Signalprozess für die jeweiligen Makroblöcke MB in dem Signalprozessor 10 unterzogen, wie in 6 und 7 gezeigt, wobei somit Makroblock-MB-Information generiert wird, die eine Textur (quantisierte DCT-Koeffizienten) und einen Bewegungsvektor enthält. Die DCT-Koeffizienten der Textur (quantisierte DCT-Koeffizienten) werden durch die DCT-Koeffizientenzähleinheit 21 gezählt, um einer Codegröße zu kalkulieren. Der akkumulierte Wert der Codegröße, gezählt durch die DCT-Koeffizientenzähleinheit 21, wird als die akkumulierte Zahl Nsum von quantisierten DCT-Koeffizienten der Durchschnittscodewortlängenkalkulationseinheit 15 zugeführt. Der Syntaxgenerator 12 generiert Syntax auf der Basis der Makroblock-MB-Information, und die Syntax wird Kodierung variabler Länge durch den Kodierungsprozessor variabler Länge 13 unterzogen. Die Codegröße des kodierten Bitstroms wird durch die Generierungscodegrößenzähleinheit 14 gezählt, und der akkumulierte Wert der Generierungscodegröße wird ähnlich der Durchschnittscodewortlängenkalkulationseinheit 15 als die akkumulierte Generierungscodegröße Csum zugeführt. Diese akkumulierte Generierungscodegröße Csum entspricht der Summe der Codegröße, die nach Kodierung variabler Länge von Makroblöcken MB generiert wird, in einer schraffierten Region in einer in 8B gezeigten Videoobjektebene.
  • Die Durchschnittscodewortlängenkalkulationseinheit 15 kalkuliert die Durchschnittscodewortlänge L (L = Csum/Nsum) unter Verwendung der eingegebenen akkumulierten Generierungscode größe Csum und der akkumulierten Zahl Nsum von quantisierten DCT-Koeffizienten. Die Durchschnittscodewortlänge L wird der Generierungscodegrößenschätzeinheit 16 zugeführt. Da die Generierungscodegrößenschätzeinheit 16 sequentiell DCT-Koeffizienten Ncoef für jeweilige Makroblöcke MB von der quantisierten DCT-Koeffizientenzähleinheit 21 empfängt, wird die geschätzte Generierungscodegröße E(x) (E(x) = Ncoef × L) kalkuliert, wie in 3 gezeigt.
  • Die geschätzte Generierungscodegröße E(x) wird der Füllungsgrößenkalkulationseinheit 17 zugeführt. Die Füllungsgrößenkalkulationseinheit 17 empfängt die Zielbitrate Tbr, Zielrahmenrate Tfr und Nvop als die Gesamtzahl von Makroblöcken (MB) pro Objektebene VOP von der Vorrichtungssteuereinrichtung 20, wie in Schritten S41 und S42 in 4 gezeigt, und empfängt auch die Zahl Nmb(x) von Makroblöcken MB (MB), die dem Signalprozess in einer Objektebene VOP unterzogen wurden, von dem Signalprozessor 10, wie in Schritt S44 in 4 gezeigt. Deshalb wird eine Zielcodegröße (Tbr/Tfr) in einer Videoobjektebene kalkuliert, wie in Schritt S43 gezeigt, und es wird ein signalverarbeitetes Makroblock-MB-(MB)Verhältnis (Nmb(x)/Nvop) in einer Videoobjektebene kalkuliert, wie in Schritt S45 gezeigt. Wie in Schritt S47 gezeigt, wird aus dieser Zielcodegröße (Tbr/Tfr) und dem signalverarbeiteten Makroblock-MB-(MB)Verhältnis (Nmb(x)/Nvop) die Zielgenerierungscodegröße Tcode(x) von Makroblöcken MB, die dem Signalprozess unterzogen wurden, durch: Tcode(x) = (Tbr/Tfr) × (Nmb(x)/Nvop)kalkuliert.
  • Diese Zielgenerierungscodegröße Tcode(x) entspricht der Zielgesamtcodegröße in einer gegenwärtig kodierten Videoobjektebene VOP, die bis zu dem x-ten Makroblock MB bei Kodierung des x-ten Makroblocks MB durch den Kodierungsprozessor variabler Länge 13 generiert wird.
  • Wenn die Zielgenerierungscodegröße Tcode(x) erhalten ist, wie in Schritt S51 in 5 gezeigt, wird sie mit der Generierungscodegröße C(x) von Makroblöcken MB verglichen, die Kodierung variabler Länge unterzogen wurden, die von der Generierungscodegrößenzähleinheit 14 zugeführt wird, wobei somit die Zielgenerierungscodegröße Tmb(x) des gegenwärtig kodierten x-ten Makroblocks MB (MB) erhalten wird, was ihrer Differenz entspricht, wie in 8B gezeigt.
  • Auch wird die geschätzte Codegröße E(x) von kodierten Makroblöcken, wie in Schritt S55 gezeigt, aus der Durchschnittscodelänge L und der Gesamtzahl Ncoef von quantisierten DCT-Koeffizienten von kodierten Makroblöcken MB kalkuliert, die wie in Schritten S54 und S56 gezeigt kalkuliert werden. Wie in Schritt S57 gezeigt, werden die Generierungscodegröße Tmb(x) und die geschätzte Codegröße E(x) verglichen. Falls die geschätzte Generierungscodegröße kleiner als die Zielgenerierungscodegröße ist, wird ihre Differenz als eine Füllungsgröße S(x) gesetzt, wie in Schritt S58 gezeigt. In diesem Fall wird eine Füllung als ein Makroblock-MB-Typ (MB-Typ) für jede Makroblock-MB-Information mit Bezug auf diese Größe S(x) durchgeführt, wie in 6 gezeigt. Diese Makroblock-MB-Information wird Kodierung variabler Länge durch den Kodierungsprozessor variabler Länge in dem Kodierungsprozessor variabler Länge, der in 1 gezeigt wird, unterzogen und wird zu dem Übertragungspuffer ausgegeben. Falls im Gegensatz dazu die geschätzte Generierungscodegröße Tmb(x) größer als die Zielgenerierungscodegröße E(x) ist, wird wie in Schritt S59 gezeigt die Makroblock-MB-Information Kodierung variabler Länge unterzogen, wie in 7 gezeigt, ohne Einfügung jeglicher Füllung, wie in 7 gezeigt.
  • 6 zeigt die Struktur von Makroblock-MB-Daten, worin Füllung in einem Makroblock MB durchgeführt wird, und 7 zeigt die Struktur von Makroblock-MB-Daten, worin keine Füllung in einem Makroblock MB durchgeführt wird. In Makroblock-MB-Daten ist eine Vielzahl von Stücken von mit variabler Länge codierter Makroblock-MB-Information aufeinanderfolgend angeordnet, und jede Makroblock-MB Information wird durch Füllung, einen Bewegungsvektor (MV) und Textur (quantisierte DCT-Koeffizienten) in dieser Reihenfolge gebildet, wie in 6 gezeigt. Im Gegensatz dazu sind in der Struktur, die in 7 gezeigt wird, da die Notwendigkeit für eine Füllung umgangen wird, nur ein Bewegungsvektor (MV) und Textur (quantisierte DCT-Koeffizienten) in jeder Makroblock-MB-Information angeordnet.
  • Nachdem alle Makroblöcke MB in einer Objektebene Kodierung variabler Länge unterzogen wurden, werden die quantisierte DCT-Koeffizientenzähleinheit 21 und Generierungscodegrößenzähleinheit 14 gelöscht, um den zuvor erwähnten Prozess für die nächste Videoobjektebene zu beginnen.
  • In der obigen Ausführungsform wurde das Verfahren zum Füllen wie für jeweilige Makroblöcke MB (MB) benötigt erläutert. Ob Füllen erforderlich ist oder nicht, muss jedoch nicht für alle Makroblöcke MB (MB), um Bits in einen Makroblock MB zu füllen, jedes Mal bestimmt werden, wenn Füllen erforderlich ist. Z. B. kann eine gesamte kodierte Signalgröße bis zu einer gegebenen Zeiteinstellung gemessen werden, und Füllung kann nur in die letzte Sequenz oder den letzten Makroblock MB einer Videoobjektebene (VOP) durch das zuvor erwähnte Verfahren eingefügt werden.
  • In der obigen Ausführungsform wurde das Verfahren zum Einfügen einer Füllung für jeweilige Makroblöcke MB (MB) erläutert. Alternativ kann Füllung für jeweilige Videopakete (VP) geschehen, die in MPEG-4 spezifiziert sind. Ein Videopaket VP enthält mindestens einen von benachbarten MBs, die gemeinsam zu kodieren sind. Bei Ausführung von Füllung für jeweilige Videopakete VP wird auch die Generierungscodegröße für jeweilige Videopakete VP geschätzt. Wenn die Generierungscodegröße für jeweilige Videopakete VP geschätzt wird, wird die Schätzgenauigkeit leicht abgesenkt, aber die Zahl von Malen einer Schätzung wird reduziert und das gesamte Verarbeitungsvolumen wird reduziert. Daher ist ein derartiger Prozess für Echtzeitverarbeitung effektiv. Auch ist dieser Prozess besonders für Kodierung in einem Datenpartitionierungsmodus (später zu beschreiben) effektiv, da Kodierung variabler Länge für jeweilige Videopakete VP geschieht. Z. B. wird die MB-Zahl x, die in der obigen Beschreibung eingestellt ist, durch eine VP-Zahl x ersetzt, und die Zielgenerierungscodegröße Tmb(x) von Kodierungs-MB wird durch eine Zielgenerierungscodegröße Tvp(x) von Kodierungs-VP ersetzt. Alle Kalkulationen für eine Schätzung sind die gleichen.
  • Nachstehend wird das Füllungsverfahren für jedes VP über Differenzen zu dem Verfahren für jeden MB erläutert, d. h. die Operationen der Generierungscodegrößenschätzeinheit 16 und Füllungsgrößenkalkulationseinheit 17.
  • Die Generierungscodegrößenschätzeinheit 16 kalkuliert einen geschätzten Wert E(x) einer Codegröße, die durch den Kodierungsprozessor variabler Länge 13 zu generieren ist, vor einer Kodierung variabler Länge, wie in Schritt S95 in 9 gezeigt, auf der Basis eines Wertes Ncoef(j) (die Gesamtzahl von quantisierten DCT-Koeffizienten von allen Makroblöcken MB in einem Videopaket VP), erhalten durch die quantisierte DCT-Koeffizientenzähleinheit 21, gezeigt in Schritt 596 in 9, und der Durchschnittscodewortlänge L von quantisierten DCT-Koeffizienten, kalkuliert durch die Durchschnittscode wortlängenkalkulationseinheit 16, gezeigt in Schritt S94 in 9.
  • Eine geschätzte Generierungscodegröße E(j) von VP mit Videopaket-VP-Zahl j ergibt sich durch: E(j) = Ncoef(j) × L,wobei j eine positive ganze Zahl ist, die die Zahl eines Videopakets VP in einer Videoobjektebene (VOP) anzeigt. x(j) ist eine positive ganze Zahl, die die Zahl des letzten Makroblocks anzeigt, der in dem Videopaket VP mit Zahl j enthalten ist.
  • Die Füllungsgrößenkalkulationseinheit 17 kalkuliert eine Zielgenerierungscodegröße Tcode(x(j)), wie in Schritt S91 in 9 gezeigt, auf der Basis der Zielbitrate Tbr und der Zielrahmenrate Tfr, die durch die Vorrichtungssteuereinrichtung 20 eingestellt sind, und der Zahl Nmb(x(j)) von MBs, die dem Signalprozess des Signalprozessors 10 unterzogen wurden. Falls Nvop die Gesamtzahl von Makroblöcken MB (MB) pro VOP darstellt, ergibt sich die Zielgenerierungscodegröße Tcode(x(j)) durch: Tcode(x(j)) = (Tbr/Tfr) × (Nmb(x(j))/Nvop).
  • Unter Verwendung dieser Tcode(x(j)) und einer Generierungscodegröße C(j) von VP, die Kodierung variabler Länge unterzogen wurde, die durch die Generierungscodegrößenzähleinheit 14 erhalten wird, gezeigt in Schritt S92 in 9, wird eine Zielgenerierungscodegröße Tvp(x(j)) eines gegenwärtig kodierten Videopakets VP (hierin nachstehend als ein Kodierungs-VP zu bezeichnen) durch:
    Figure 00210001
    für C(0) = 0 kalkuliert.
  • Es wird eine vorhergesagte unzureichende Codegröße S(j), d. h. geschätzt aus dieser Zielgenerierungscodegröße Tvp(j) des Kodierungs-Videopakets VP und der geschätzten Generierungscodegröße E(j), die durch die Generierungscodegrößenschätzeinheit 16 erhalten wird, wie folgt kalkuliert, wie in Schritt S97 gezeigt.
  • Falls die geschätzte Generierungscodegröße kleiner als die Zielgenerierungscodegröße ist, haben wir: S(j) = Tvp(j) – E(j),falls Tvp(j) > E(j)
  • Falls andererseits die geschätzte Generierungscodegröße größer als die Zielgenerierungscodegröße ist, wie in Schritt S97 gezeigt, haben wir: S(j) = 0,falls Tvp(j) ≤ E(j)
  • Diese S(j) wird als eine Füllungsgröße verwendet und wird dem Syntaxgenerator 2 zugeführt.
  • In dem Bildsignalkodierungsschema MPEG-4 hat die Größe des Videopaketes VP eine obere Grenze, wie in Schritt S98 gezeigt. Falls diese unzureichende Codegröße S(j) als Füllung ohne jegliche Begrenzungen eingefügt wird, kann aus diesem Grund die obere Grenze der Größe des Videopaketes VP überschritten werden. Daher setzt die Vorrichtungssteuereinrichtung 20 eine Zielgröße VPtarget (< VPmax) des Videopaketes VP auf der Basis eines oberen Grenzwertes VPmax des Videopaketes VP. Die Zielgröße des Videopaketes VP wird gesetzt, ein nume rischer Wert zu sein, der kleiner als der obere Grenzwert VPmax der Größe des Videopaketes VP ist und betrachtet Schätzfehler, z. B. die Hälfte des oberen Grenzwertes, obwohl er von der Schätzgenauigkeit der Generierungscodegröße abhängt, wie in Schritt S99 gezeigt.
  • In Anbetracht dessen wird die Füllungsgröße bei Kodierung für jedes Videopaket VP gesetzt, so dass die Summe der unzureichenden Codegröße S(j) und geschätzten Generierungscodegröße E(j) nicht die Ziel-VP-Größe VPtarget überschreitet, wie in Schritt S99 gezeigt. Das heißt die Zielgenerierungscodegröße Tvp(j) von Kodierungs-VP wird mit der Ziel-VP-Größe VPtarget verglichen, und ein Wert, der durch Subtrahieren der geschätzten Generierungscodegröße E(j) von Kodierungs-VP von einem kleineren Wert erhalten wird, wird als eine Füllungsgröße S(j) gesetzt. Diese Füllungsgröße S(j) wird dem Syntaxgenerator 21 zugeführt. S(j) = S(j)falls Tvp(j) ≤ VPtarget S(j) = VPtarget – E(j)falls Tvp(j) > VPtarget, VPtarget > E(j) S(j) = 0,falls VPtarget ≤ E(j)
  • Falls die Ziel-VP-Größe nicht VPtarget überschreitet, wird die Füllungsgröße S(j) bestimmt, die Differenz zwischen der Ziel-VP-Größe und VPtarget zu sein, wie in Schritt S101 gezeigt. Falls andererseits die Ziel-VP-Größe VPtarget überschritten hat, und die geschätzte Generierungscodegröße E(j) kleiner als VPtarget ist, wird die Füllungsgröße S(j) bestimmt, die Differenz zwischen der Ziel-VP-Größe und der ge schätzten Generierungscodegröße E(j) zu sein, wie in Schritt S100 gezeigt. Falls des weiteren die Ziel-VP-Größe VPtarget überschritten hat, und die geschätzte Generierungscodegröße E(j) kleiner als VPtarget ist, wird die Füllungsgröße S(j) auf Null gesetzt, was keine Füllung bedeutet.
  • Das zuvor erwähnte Verfahren zum Bestimmen der Füllungsgröße kann ähnlich auf das Kodierungsverfahren in dem Datenpartitionierungsmodus angewendet werden.
  • 10A bis 10D zeigen einen Bitstrom in dem Datenpartitionierungsmodus. Eine Kodierung in dem Datenpositionierungsmodus ist ein Verfahren zum Ausführen einer Kodierung variabler Länge, wie in 10C gezeigt, durch Integrieren von Makroblock-MB- (MB) Information (Bewegungsvektor und Textur (quantisierte DCT-Koeffizienten) von einem oder mehr Makroblöcken MB, die in 10D gezeigt werden, in:
    • 1. (MB-Typ und Bewegungsvektor)
    • 2. (Textur)
  • Diese Daten 1 und 2 werden durch Einfügen eines Bewegungsmarkierers partitioniert, wie in 10B gezeigt. Wie oben beschrieben, werden Füllbits an der Position von Makroblock-MB-(MB) Typ eingefügt. Videopakete VP werden durch Markierer rsync partitioniert, wie in 10A gezeigt. Sogar in der Bitstromstruktur in einem derartigen Datenpartitionierungsmodus wird die Codegröße von MB-Füllung, die in 10B gezeigt wird, durch Anwenden des oben erwähnten Verfahrens bestimmt.
  • Wie in 10A gezeigt, beschreibt der Header (Kopf) eines Paketes den Markierer resync, Makroblock-MB-Zahl, Quantisierungsskala, HEC (Header-Erweiterungscode, Header Extension Code) und dergleichen, und Makroblock-MB-Daten sind nach dem Header angeordnet.
  • Industrielle Anwendbarkeit
  • Wie oben beschrieben, wird gemäß der vorliegenden Erfindung die Füllungsgröße vor Kodierung variabler Länge geschätzt, und Kodierung variabler Länge geschieht nach einer Füllung. Daher kann ein vorbestimmter Bitstrom ohne Erhöhung des Schaltungsausmaßes oder Verursachung irgendeiner Verzögerung ausgegeben werden. Daher können ein Problem eines neuen Speichers, der zum erneuten Aufbauen eines Bitstroms erforderlich ist, oder ein Problem schlechter Echtzeitverarbeitung wegen einer Verzögerung, die durch eine Erhöhung vom Verarbeitungsvolumen verursacht wird, gelöst werden.

Claims (14)

  1. Bildkodierungsvorrichtung, die umfasst: Signalverarbeitungsmittel (10) zum Generieren von Blockinformation durch Kalkulieren und Quantisieren orthogonaler Transformationen eines Bildsignals einer gegebenen Einheit für jeden Block, der das Bildsignal bildet; Integrationsmittel (12) zum Generieren integrierter Information durch Integrieren der Blockinformation in Übereinstimmung mit einem vorbestimmten Schema; und Kodierungsmittel (13) zum Durchführen einer Kodierung variabler Länge von jeder Blockinformation der integrierten Information, wobei die Vorrichtung ferner umfasst Schätzungskalkulationsmittel (17) zum Kalkulieren der Zahl von Füllbits, die für jeden Block einzufügen sind, durch Schätzen einer Generierungscodegröße der integrierten Information nach Kodierung variabler Länge, und wobei das Integrationsmittel die kalkulierte Zahl von Füllbits an einer vorbestimmten Position der integrierten Information einfügt und das Kodierungsmittel Kodierung variabler Länge der Blockinformation, der die Füllbits angefügt wurden, durchführt.
  2. Bildkodierungsvorrichtung nach Anspruch 1, wobei das Schätzungskalkulationsmittel ferner umfasst: ein erstes Zählmittel (21) zum Zählen quantisierter DCT-Koeffizienten, die in Vorkodierungsblockinformation enthalten sind, die von dem Signalverarbeitungsmittel ausgegeben wird; ein zweites Zählmittel (14) zum Zählen einer Generierungscodegröße einer kodierten Sequenz, die von dem Kodierungsmittel ausgegeben wird; ein Durchschnittscodewortlängenkalkulationsmittel (15) zum Kalkulieren einer Durchschnittscodewortlänge der Blocklänge beim Kodieren der Blockinformation auf der Basis von Ausgaben von den ersten und zweiten Zählmitteln; und ein Schätzungsmittel (16) zum Schätzen der Generierungscodegröße beim Kodieren gegebener Blockinformation, die von dem Signalverarbeitungsmittel zu dem Integrationsmittel eingegeben wird.
  3. Bildkodierungsvorrichtung nach Anspruch 2, wobei das Schätzungsmittel die Generierungscodegröße basierend auf einer Schätzungsformel (Durchschnittscodewortlänge) × (Gesamtzahl von quantisierten DCT-Koeffizienten) schätzt.
  4. Bildkodierungsvorrichtung nach Anspruch 2, wobei das Durchschnittscodewortlängenkalkulationsmittel die Durchschnittscodewortlänge durch (akkumulierte Generierungscodegröße)/(akkumulierte Zahl von quantisierten DCT-Koeffizienten) auf der Basis einer akkumulierten Generierungscodegröße nach Kodierung variabler Länge von dem zweiten Zählmittel und der Gesamtzahl von quantisierten DCT-Koeffizienten, die Blockinformation in der integrierten Information von dem ersten Zählmittel betrifft, kalkuliert.
  5. Bildkodierungsvorrichtung nach Anspruch 2, wobei das Schätzungskalkulationsmittel ferner umfasst: eine Füllkalkulationseinheit zum Bestimmen einer Füllgröße durch Vergleichen der geschätzten Generierungscodegröße und eines Kodierungsakkumulationswertes, erhalten durch Akkumulieren der Codegröße, die durch das zweite Zählmittel gezählt wird.
  6. Bildkodierungsvorrichtung nach Anspruch 1, wobei die Füllbits für jede Blockinformation angefügt werden.
  7. Bildkodierungsvorrichtung nach Anspruch 1, wobei die Füllbits einer Menge von Blockinformation angefügt werden.
  8. Bildkodierungsverfahren, das umfasst: den Signalverarbeitungsschritt (10) zum Generieren von Blockinformation durch Kalkulieren und Quantisieren orthogonaler Transformationen eines Bildsignals einer gegebenen Einheit für jeden Block, der das Bildsignal bildet; den Integrationsschritt (12) zum Generieren integrierter Information durch Integrieren der Blockinformation in Übereinstimmung mit einem vorbestimmten Schema; und den Kodierungsschritt (13) zum Durchführen einer Kodierung variabler Länge von jeder Blockinformation der integrierten Information, wobei das Verfahren ferner umfasst den Schätzungskalkulationsschritt (17) zum Kalkulieren der Zahl von Füllbits, die für jeden Block einzufügen sind, durch Schätzen einer Generierungscodegröße der integrierten Information nach einer Kodierung variabler Länge, und wobei der Integrationsschritt den Schritt zum Einfügen der Zahl von kalkulierte Füllbits an einer vorbestimmten Position der integrierten Information inkludiert, und der Kodierungsschritt den Schritt zum Durchführen einer Kodierung variabler Länge der Blockinformation, der die Füllbits angefügt sind, durchführt.
  9. Bildkodierungsverfahren nach Anspruch 8, wobei der Schätzungskalkulationsschritt ferner umfasst: den ersten Zählschritt (21) zum Zählen quantisierter DCT-Koeffizienten, die in der Vorkodierungsblockinformation enthalten sind, die von dem Signalverarbeitungsschritt ausgegeben wird; den zweiten Zählschritt (14) zum Zählen einer Generierungscodegröße einer kodierten Sequenz, die von den Kodierungsschritt ausgegeben wird; den Durchschnittscodewortlängenkalkulationsschritt (15) zum Kalkulieren einer Durchschnittscodewortlänge der Blocklänge bei Kodierung der Blockinformation auf der Basis von Ausgaben von den ersten und zweiten Zählschritten; und den Schätzungsschritt (16) zum Schätzen der Generierungscodegröße bei Kodieren gegebener Blockinformation, die von dem Signalverarbeitungsschritt zu dem Integrationsschritt eingegeben wird.
  10. Bildkodierungsverfahren nach Anspruch 8, wobei der Schätzungsschritt den Schritt zum Schätzen der Generierungscodegröße basierend auf einer Schätzungsformel (Durch schnittscodewortlänge) × (Gesamtzahl von quantisierten DCT-Koeffizienten) inkludiert.
  11. Bildkodierungsverfahren nach Anspruch 8, wobei der Durchschnittscodewortlängenkalkulationsschritt den Schritt zum Kalkulieren der Durchschnittscodewortlänge durch (akkumulierte Generierungscodegröße)/(akkumulierte Zahl von quantisierten DCT-Koeffizienten) auf der Basis einer akkumulierten Generierungscodegröße nach Kodierung variabler Länge in dem zweiten Zählschritt und der Gesamtzahl von quantisierten DCT-Koeffizienten, die Blockinformation in der integrierten Information in dem ersten Zählschritt betrifft, inkludiert.
  12. Bildkodierungsverfahren nach Anspruch 8, wobei der Schätzungskalkulationsschritt ferner umfasst: den Füllkalkulationsschritt zum Bestimmen einer Füllgröße durch Vergleichen der geschätzten Generierungscodegröße und eines Kodierungsakkumulationswertes, der durch Akkumulieren der Codegröße erhalten wird, die in dem zweiten Zählschritt gezählt wird.
  13. Bildkodierungsverfahren nach Anspruch 8, wobei die Füllbits für jede Blockinformation angefügt werden.
  14. Bildkodierungsverfahren nach Anspruch 8, wobei die Füllbits einer Menge von Blockinformation angefügt werden.
DE2001604616 2000-02-28 2001-02-28 Videokodierungsverfahren und -vorrichtung Expired - Lifetime DE60104616T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000052457 2000-02-28
JP2000052457A JP4170555B2 (ja) 2000-02-28 2000-02-28 映像符号化装置及び映像符号化方法
PCT/JP2001/001514 WO2001063938A1 (en) 2000-02-28 2001-02-28 Video encoding apparatus and video encoding method

Publications (2)

Publication Number Publication Date
DE60104616D1 DE60104616D1 (de) 2004-09-09
DE60104616T2 true DE60104616T2 (de) 2005-07-28

Family

ID=18573966

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001604616 Expired - Lifetime DE60104616T2 (de) 2000-02-28 2001-02-28 Videokodierungsverfahren und -vorrichtung

Country Status (5)

Country Link
US (1) US6819712B2 (de)
EP (1) EP1185108B1 (de)
JP (1) JP4170555B2 (de)
DE (1) DE60104616T2 (de)
WO (1) WO2001063938A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4534106B2 (ja) * 2000-12-26 2010-09-01 日本電気株式会社 動画像符号化システム及び方法
JP4349816B2 (ja) * 2003-02-17 2009-10-21 株式会社リコー 画像処理装置、画像圧縮装置、画像処理方法、画像圧縮方法、プログラム、及び記録媒体
JP2005203905A (ja) * 2004-01-13 2005-07-28 Sony Corp 画像符号化装置、画像符号化方法並びに画像符号化プログラム
JP4612721B2 (ja) * 2005-07-20 2011-01-12 ヒューマックス カンパニーリミテッド 復号化器及びビットストリーム復号化方法
KR100705971B1 (ko) 2005-07-20 2007-04-12 주식회사 휴맥스 비트스트림 인코딩/디코딩 방법 및 장치
KR100767606B1 (ko) 2006-03-31 2007-10-18 주식회사 휴맥스 통합 코덱 장치 및 방법
WO2007114586A1 (en) * 2006-03-31 2007-10-11 Humax Co., Ltd. Device and method for unified codecs
KR100807100B1 (ko) 2006-07-11 2008-03-03 주식회사 휴맥스 통합 코덱 장치 및 방법
KR100970145B1 (ko) * 2008-07-18 2010-07-14 (주)휴맥스 부호화/복호화 방법 및 장치
US10805635B1 (en) * 2016-03-22 2020-10-13 NGCodec Inc. Apparatus and method for coding tree unit bit size limit management

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69126565T2 (de) * 1990-04-17 1998-01-02 Matsushita Electric Ind Co Ltd Verfahren zur Übertragung von Kodes mit variabler Länge
US5392037A (en) * 1991-05-21 1995-02-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding and decoding
JP2766919B2 (ja) 1991-06-07 1998-06-18 三菱電機株式会社 ディジタル信号記録再生装置、ディジタル信号記録装置、ディジタル信号再生装置
KR100206261B1 (ko) * 1992-02-28 1999-07-01 윤종용 디지탈 vtr의 영상신호 대역 압축장치
US5440345A (en) * 1992-07-17 1995-08-08 Kabushiki Kaisha Toshiba High efficient encoding/decoding system
JPH06205393A (ja) 1993-01-08 1994-07-22 Nippon Steel Corp 動画像符号化情報発生量制御装置
JP2956421B2 (ja) 1993-06-11 1999-10-04 日本ビクター株式会社 圧縮符号用エラー訂正回路
JP3364281B2 (ja) * 1993-07-16 2003-01-08 パイオニア株式会社 時分割ビデオ及びオーディオ信号の同期方式
JPH0787444A (ja) 1993-07-16 1995-03-31 Pioneer Electron Corp 圧縮符号化データ記録方法
JP3224465B2 (ja) * 1993-12-22 2001-10-29 シャープ株式会社 画像符号化装置
JP2873781B2 (ja) 1994-08-17 1999-03-24 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動画像符号量制御方法と装置
JP3151173B2 (ja) * 1996-09-25 2001-04-03 松下電器産業株式会社 画像圧縮符号化装置及び方法
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
WO1999005864A1 (fr) * 1997-07-25 1999-02-04 Sony Corporation Dispositif d'edition, procede d'edition, dispositif d'epissage, procede d'epissage, dispositif de codage et procede de codage
JP2902386B2 (ja) 1997-10-17 1999-06-07 ケイディディ株式会社 動画像の圧縮符号化装置
JPH11234671A (ja) 1998-02-12 1999-08-27 Hitachi Ltd 信号処理装置

Also Published As

Publication number Publication date
EP1185108B1 (de) 2004-08-04
US20020186767A1 (en) 2002-12-12
JP2001245296A (ja) 2001-09-07
EP1185108A4 (de) 2004-01-02
US6819712B2 (en) 2004-11-16
WO2001063938A1 (en) 2001-08-30
JP4170555B2 (ja) 2008-10-22
EP1185108A1 (de) 2002-03-06
DE60104616D1 (de) 2004-09-09

Similar Documents

Publication Publication Date Title
DE69435000T2 (de) Bildkodierungsvorrichtung
DE69815720T2 (de) Kodierung von bewegten bildern mit variabler bitrate in einem durchgang
DE69434018T2 (de) Bildkodierungsverfahren und -vorrichtung
DE60023576T2 (de) Verfahren und Vorrichtung zur Bewegtbilddatentranscodierung
DE69938093T2 (de) Steuerung der Datenrate für einen MPEG-Transcoder ohne a-priori Kenntnis des Bildtyps
DE60027495T2 (de) Video-codierverfahren und video-codiervorrichtung
DE69935478T2 (de) Bewegtbildkodiergerät
DE69333298T2 (de) Codierung und Codierung von digitalen Videosignalen
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE69930216T2 (de) Regelung des Rechen- und Speicheraufwands zur Datenfolgekompression in einem Videodekoder
DE69837003T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem
DE69834959T2 (de) Prädiktives Bilddekodierungsverfahren
DE69625945T2 (de) Hierarchischer Bildkodierer und -dekodierer
DE69630173T2 (de) Übertragungssystem und -einrichtung für sich bewegende Bilder
DE4228220B4 (de) Vorrichtung zur hierarchischen Unterteilung von Videosignalen
DE69921108T2 (de) Verfahren und vorrichtung zur adaptiven codierung eines videodatenstroms
DE69816875T2 (de) Sequenzadaptive bit-zuordnung zur codierung von bildern
DE69837361T2 (de) Verfahren und Vorrichtung zur Bildkodierung
DE19708195C2 (de) Bildverarbeitungsverfahren und Bildverarbeitungseinrichtung
DE60104616T2 (de) Videokodierungsverfahren und -vorrichtung
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
DE4343211A1 (de) Adaptives Bildkompressionsverfahren und adaptive Bildkompressionsvorrichtung
DE69935564T2 (de) Kodiervorrichtung und -verfahren
DE4135181A1 (de) Bildsignal-kodiergeraet

Legal Events

Date Code Title Description
8364 No opposition during term of opposition