DE60123168T2 - MPEG-Dekoder - Google Patents

MPEG-Dekoder Download PDF

Info

Publication number
DE60123168T2
DE60123168T2 DE60123168T DE60123168T DE60123168T2 DE 60123168 T2 DE60123168 T2 DE 60123168T2 DE 60123168 T DE60123168 T DE 60123168T DE 60123168 T DE60123168 T DE 60123168T DE 60123168 T2 DE60123168 T2 DE 60123168T2
Authority
DE
Germany
Prior art keywords
decoding
decoder
slice
data
data stream
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
DE60123168T
Other languages
English (en)
Other versions
DE60123168D1 (de
Inventor
c/o Sony Corporation Mamoru Ueda
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
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE60123168D1 publication Critical patent/DE60123168D1/de
Application granted granted Critical
Publication of DE60123168T2 publication Critical patent/DE60123168T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • 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
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein(e) Decodierverfahren und -vorrichtung und ein Speichermedium. Insbesondere betrifft die vorliegende Erfindung ein(e) Decodierverfahren und -vorrichtung und ein Speichermedium, geeignet zum Decodieren eines MPEG-2-Videobitstroms.
  • 2. Beschreibung des Standes der Technik
  • Das MPEG(Moving Picture Experts Group)-2 ist ein Verfahren zum Codieren eines Videosignals in eine hocheffiziente komprimierte Form entsprechend dem Standard ISO/IEC (International Standards Organisation/International Electrotechnical Commission) 13818-2 und der Empfehlung ITU-T (International Telecommunication Union-Telecommunication sector) H.262.
  • Gemäß der MPEG-2-Technik werden jeweilige Bilder in einem Videosignal in eine von drei Bildformen codiert, die von unterschiedlicher Codiereffizienz sind (intraframe-codiertes Bild (I-Bild), interframe-vorwärtsprädiktiv-codiertes Bild (P-Bild) und bidirektional-prädiktiv-codiertes Bild (B-Bild)). Im Fall der I-Bilder wird die Codierung auf der Basis einer räumlichen Korrelation in einem Rahmen (Frame) eines Bildes durchgeführt. In P-Bildern wird eine Codierung mittels Bewegungsvorhersage bezüglich eines vorherigen I- oder P-Bildes durchgeführt. Im Fall der B-Bilder wird die Codierung mittels Bewegungskompensation bezüglich eines vorherigen oder eines folgenden I- oder P-Bildes durchgeführt. Damit wird die Codiereffizienz in der Reihenfolge der I-, P- und B-Bilder größer.
  • Das Codieren gemäß MPEG-2 wird in mehr Einzelheiten unter Bezug auf 1 beschrieben. Falls ein Videosignal in zum Beispiel I1, B2, B3, P4, ..., P13 (wobei die Indizes die Reihenfolge bezeichnen, in welcher die Bilder angezeigt werden) codiert wird, wird das Bild I1 auf der Basis der räumlichen Korrelation in einem Vollbild codiert, das Bild P4 wird auf der Basis einer Bewegungskompensationsvorhersage aus dem Bild I1codiert, und das Bild P, wird auf der Basis einer Bewegungskompensationsvorhersage aus dem Bild P4 codiert. Ferner wird zum Beispiel das Bild B2 auf der Basis einer Bewegungskompensationsvorhersage aus dem Bild I1und dem Bild P4 codiert, und das Bild B5 wird auf der Basis einer Bewegungskompensationsvorhersage aus dem Bild P4 und dem Bild P, codiert.
  • MPEG-2-codierte Datenströme werden entsprechend einem durch das Codierverfahren bestimmten Profil und einem durch die Anzahl von zu verarbeitenden Pixeln bestimmten Niveau klassifiziert, sodass MPEG-2-codierte Datenströme in einer weiten Vielzahl von Anwendungen benutzt werden können. Von den verschiedenen MPEG-2-Klassen wird zum Beispiel MP@ML (Main Profile/Main Level) häufig in DVB (Digital Video Broadcast) und DVD (Digital Versatile Disk) verwendet. Das Profil und das Niveau werden in sequence_extension beschrieben, was später unter Bezug auf 6 beschrieben wird.
  • 4:2:2P (4:2:2-Profil) ist als ein Profil für einen MPEG-2-codierten Datenstrom, geeignet zur Verwendung beim Ausstrahlen, definiert. Bei 4:2:2P ist die Obergrenze der Bitrate auf einen ausreichend hohen Wert eingestellt, sodass ein Farbdifferenzsignal eines Videosignals entsprechend dem 4:2:2-Format in einer ähnlichen Weise wie ein herkömmliches Basisbandsignal behandelt werden kann. Als eines der Niveaus von MPEG-2-codierten Datenströmen ist HL (High Level) zur Verwendung beim Codieren eines Videosignals hoher Auflösung der nächsten Generation definiert.
  • 2 zeigt repräsentative Beispiele von im MPEG-2-Standard definierten Klassen. Sie sind 4:2:2P@HL (4:2:2-Profil, High Level), 4:2:2P@ML (4:2:2-Profil, Main Level), MP@HL (Main Profile, High Level), MP@HL-1440 (Main Profile, High Level 1440), MP@ML (Main Profile, Main Level), HP@LL (Main Profile, Low Level) und SP@ML (Simple Profile, Main Level). In 2 sind auch die Obergrenzen der jeweiligen Parameter (Bitrate, Anzahl Abtastungen je Zeile, Anzahl Zeilen je Vollbild, Bearbeitungszeit je Vollbild, Bearbeitungszeit je Abtastung) gezeigt.
  • Wie in 2 dargestellt, beträgt bei 4:2:2P@HL die Obergrenze der Bitrate 300 Mbits/sec, und die Obergrenze der Anzahl Pixel beträgt 62.668.800 Pixel/sec. Andererseits beträgt bei MP@ML die Obergrenze der Bitrate 15 Mbits/sec, und die Obergrenze der Anzahl Pixel beträgt 10.368.000 Pixel/sec. Das heißt, ein Videodecoder zum Decodieren eines Videosignals in das 4:2:2P@HL-Format benötigt bezüglich der Bitrate eine 20-fach höhere und bezüglich der Anzahl Pixel eine etwa 6-fach höhere Verarbeitungsleistung als bei einem MP@ML-Videodecoder.
  • Die Niveaustruktur eines MPEG-2-Videobitstroms wird nun unter Bezug auf 3 beschrieben. Zu Beginn einer Bildebene ist oben sequence_header geschrieben. secquence_header definiert Dateianfangsdaten einer Bitstromsequenz. Falls der Bitstrom kein sequence_extension im Anschluss an den ersten sequence_header der Sequenz hat, wird die in ISO/IEC11172-2 beschriebene Regel auf diesen Bitstrom angewendet. Falls dagegen sequence_extension nach dem ersten sequence_header der Sequenz existiert, wird sequence_extension unmittelbar nach einem danach erzeugten sequence_header gesetzt. Daher ist in dem speziellen in 3 gezeigten Beispiel sequence_extension unmittelbar nach jedem sequence_header gesetzt.
  • sequence_extension definiert Erweiterungsdaten in einer Sequenzebene des MPEG-Bitstroms. sequence_extension wird nur unmittelbar nach sequence_header platziert, und sequence_extension darf nicht unmittelbar vor sequence_end_code am Ende des Bitstroms platziert werden, sodass kein Vollbild nach dem Durchführen einer Decodierung und dem Umordnen der Vollbilder verloren geht. Ferner wird, wenn der Bitstrom sequence_extension_enthält, picture_coding_extension unmittelbar nach jedem picture_header platziert.
  • Eine GOP (Group of Picture) enthält mehrere Bilder. GOP_header definiert Dateianfangsdaten in einer GOP-Ebene des MPEG-Bitstroms. Ferner sind durch picture_header und picture_coding extension definierte Datenelemente in dem Bitstrom geschrieben. Ein Bild ist in picture_coding_extension nach picture_header folgendem picture_data codiert. Das erste codierte Vollbild nach GOP_header ist ein codiertes I-Vollbild (d.h. das erste Bild nach GOP_header ist ein I-Bild). In der ITU-T-Empfehlung H.262 sind auch verschiedene Erweiterungen zusätzlich zu sequence_extension und picture_coding_extension definiert, obwohl sie hier nicht beschrieben sind.
  • picture_header definiert Dateianfangsdaten einer Bildebene des MPEG-Bitstroms. picture_coding_extension definiert Erweiterungsdaten der Bildebene des MPEG-Bitstroms.
  • picture_data beschreibt Datenelemente in einer Slice-Ebene und einer Makroblockebene des MPEG-Bitstroms. picture_data ist in mehrere Slices aufgeteilt, und jeder Slice ist in mehrere Makroblöcke aufgeteilt, wie in 3 dargestellt.
  • Jeder Makroblock enthält 16×16 Pixeldaten. Makroblöcke am Beginn und am Ende jedes Slices sind nicht Leer-Makroblöcke (Makroblöcke ohne Informationen). Im Fall von Vollbildbildern, die mittels einer Vollbild-DCT (diskrete Kosinustransformation) und einer Feld-DCT codiert werden können, sind einer Vollbildcodierung unterzogene Makroblöcke und einer Feldcodierung unterzogene Makroblöcke in ihrer internen Struktur unterschiedlich.
  • Jeder Makroblock enthält einen Bereich, in dem Luminanzkomponenten geschrieben sind, und einen Bereich, in dem Farbdifferenzkomponenten geschrieben sind. Der Begriff „Makro block" wird verwendet, um eine Informationsquelle, decodierte Daten oder eine entsprechende codierte Datenkomponente zu schreiben. Ein Makroblock ist in einem von drei Farbdifferenzformaten, 4:2:0, 4:2:2 oder 4:4:4, gebildet. Die Art, in welcher Blöcke in einem Makroblock angeordnet sind, variiert in Abhängigkeit vom Farbdifferenzformat.
  • 4A zeigt einen Makroblock im Farbdifferenzformat 4:2:0. Im 4:2:0-Format besteht ein Makroblock aus vier Luminanzblöcken Y und zwei Farbdifferenzblöcken (einem Cb-Block und einem Cr-Block). 4B zeigt einen Makroblock im Farbdifferenzformat 4:2:2. Im 4:2:2-Format besteht ein Makroblock aus vier Luminanz (Y)-Blöcken und vier Farbdifferenzblöcken (zwei Cb-Blöcken und zwei Cr-Blöcken).
  • Jeder Makroblock kann in einem von zwei Modi prädiktiv codiert sein: einem Feldprädiktionsmodus und einem Vollbildprädiktionsmodus. Bei der Feldprädiktion wird ein Feld unter Verwendung von Daten eines oder mehrerer vorher decodierter Felder vorausgesagt. Bei der Vollbildprädiktion wird ein Vollbild unter Verwendung von Daten eines oder mehrerer vorher decodierter Vollbilder vorhergesagt. Innerhalb eines Feldbildes wird die Vorhersage allein durch Feldprädiktion durchgeführt. Andererseits ist für Vollbildbilder eine Prädiktion durch entweder Feldprädiktion oder Vollbildprädiktion möglich. Der Prädiktionsmodus wird für jeden Makroblock ausgewählt. Beim prädiktiven Codieren eines Makroblocks können zusätzlich zur Feldprädiktion und zur Vollbildprädiktion eine 16×8-Bewegungskompensation und zwei spezielle duale Hauptprädiktionsmodi verwendet werden.
  • Bewegungsvektorinformationen und andere zugehörige Informationen werden zusammen mit einem Prädiktionsfehlersignal jedes Makroblocks codiert. Ein Bewegungsvektor wird so codiert, dass ein letzter Bewegungsvektor, der in einen Code variabler Länge codiert ist, als ein Prädiktionsvektor verwendet wird und ein Differenzvektor bezüglich des Prädiktionsvektors codiert wird. Die maximal anzeigbare Vektorlänge kann für jedes Bild programmiert werden. Berechnungen von Bewegungsvektoren werden geeigneterweise durch einen Codierer durchgeführt.
  • Nach picture_data sind nächste sequence_header und sequence_extension platziert. Die in diesen sequence_header und sequence_extension geschriebenen Datenelemente sind exakt die gleichen wie die im secquence_header und sequence_extension am Beginn der Sequenz des Videostroms geschriebenen. Das Schreiben der gleichen Daten an verschiedenen Positionen im Datenstrom in der oben beschriebenen Weise macht es möglich, die Wahrscheinlichkeit zu reduzieren, dass Daten in der Sequenzebene nicht erfolgreich empfangen werden können und damit der Datenstrom nicht decodiert werden kann, wenn eine Empfangsvorrichtung beginnt, den Bitstrom ab einem Teil in der Mitte des Bitstroms zu empfangen.
  • Schließlich ist nach den durch die letzten sequence_header und sequence_extension definierten Datenelementen, d.h. am Ende eines Datenstroms, sequence_end_code von 32 Bit platziert, um das Ende der Sequenz anzuzeigen.
  • Die jeweiligen Datenelemente werden nun in mehr Einzelheiten Bezug nehmend auf 5 bis 12 beschrieben.
  • 5 zeigt die Datenstruktur von sequence_header. sequence_header enthält als Datenelemente sequence_header_code, horizontal_size_value, vertical_size_value, aspect_ratio_information, frame_rate_code, bit_rate_value, marker_bit, vbv_buffer_size_value, constrained_parameter_flag, load_intra_quantiser_matrix, intra_quantiser_matrix, load_non_intra_quantiser_matrix und non_intra_quantiser_maxtrix.
  • sequence_header_code sind Daten, die als ein Startsynchronisationscode der Sequenzebene dienen. horizontal_size_value sind Daten bestehend aus niederwertigen 12 Bits des die Anzahl von Pixeln in der horizontalen Richtung eines Bildes darstellenden Werts. vertical_size_value sind Daten bestehend aus niederwertigen 12 Bits des die Anzahl Zeilen in der vertikalen Richtung eines Bildes darstellenden Werts. aspect_ratio_information sind Daten, die das Seitenverhältnis (Vertikal/Horizontal-Verhältnis) eines Pixels oder eines Bildschirms darstellen. frame_rate_code sind Daten, die eine Rate darstellen, mit welcher ein Bildvollbild angezeigt wird. bit_rate_value sind Daten bestehend aus niederwertigen 18 Bits des die Bitrate, die die Anzahl erzeugter Bits begrenzt, darstellenden Werts.
  • marker_bit sind Bitdaten, die eingefügt sind, um eine Startcodeemulation zu verhindern. vbv_buffer_size_value sind Daten bestehend aus niederwertigen 10 Bits des die Größe eines virtuellen Zwischenspeicher-VBV (Video Buffering Verifier) darstellenden Werts zum Steuern der Größe eines erzeugten Codes. constrained_parameter_flag sind Daten, die anzeigen, dass jeweilige Parameter in begrenzten Bereichen liegen. load_non_intra_quantiser_matrix sind Daten, die anzeigen, dass es keine Quantisierungsmatrixdaten für einen Non-Intra-Makroblock gibt. load_intra_quantiser_matrix sind Daten, die anzeigen, dass es Quantisierungsmatrixdaten für einen lntra-Markobock gibt. intra_quantiser_matrix sind Daten, die die Werte einer Quantisierungsmatrix für einen Intra-Makroblock darstellen. non_intra_quantiser_maxtrix sind Daten, die die Werte eine Quantsierungsmatrix für einen Non-Intra-Makroblock darstellen.
  • 6 zeigt die Datenstruktur von sequence_extension. sequence_extension enthält Datenelemente, wie beispielsweise extension_start_code, extension_start_code_identifier, profile_and_level_indication, progressive_sequence, chroma_format, horizontal_size_extension, vertical_size_extension, bit_rate_extension, marker_bit, vbv_buffer_size_extension, low_delay, frame_rate_extension_n und frame_rate_extension_d.
  • extension_start_code ist ein Startsynchronisierungscode der Erweiterungsdaten. extension start_code_identifier sind Daten, die die Art der Erweiterungsdaten darstellen. profile_and_level_indication sind Daten, die ein Profil und ein Niveau von Videodaten bestimmen. progressive_sequence sind Daten, die anzeigen, dass Videodaten sequenziell gescannt werden (progressives Bild). chroma_format sind Daten, die Farbdifferenzformat der Videodaten bestimmen.
  • horizontal_size_extension sind höherwertige 2-Bit-Daten, die horziontal_size_value eines Sequenzdateianfangs hinzugefügt sind. vertical_size_extension sind höherwertige 2-Bit-Daten, die vertical_size_value eines Sequenzanfangs hinzugefügt sind.
  • bit_rate_extension sind höherwertige 12-Bit-Daten, die bit_rate_value des Sequenzanfangs hinzugefügt sind. marker_bit sind Bitdaten, die eingefügt sind, um eine Startcodeemulation zu verhindern. vbv_buffer_size_extension sind höherwertige 8-Bit-Daten, die vbv_buffer_size_value des Sequenzkopfes hinzugefügt sind. low_delay sind Daten, die anzeigen, dass kein B-Bild enthalten ist. frame_rate_extension_n sind Daten, die mit frame_rate_code des Sequenzkopfes kombiniert werden, um eine Vollbildrate zu erhalten.
  • frame_rate_extension_d sind Daten, die mit frame_rate_code des Sequenzkopfes kombiniert werden, um eine Vollbildrate zu erhalten.
  • 7 zeigt die Datenstruktur von GOP_header. GOP_header besteht aus Datenelementen von group_start_code, time_code, closed_gop und broken_link.
  • group_start_code ist ein Startsynchronisationscode einer GOP-Ebene. time_code ist ein Zeitcode, der eine Zeit eines ersten Bildes einer GOP darstellt. closed_gop sind Merkerdaten, die anzeigen, dass ein Bild in einer GOP unabhängig von den anderen GOPs wiedergegeben werden kann. broken_link sind Merkerdaten, die anzeigen, dass ein erstes B-Bild in einer GOP wegen einer aus einem Editieren oder dergleichen resultierenden Modifikation nicht genau wiedergegeben werden kann.
  • 8 zeigt die Datenstruktur von picture_header. Die Datenelemente von picture_header enthalten picture_start_code, temporal_reference, picture_coding_type, vbv_delay, full_pel_forward_vector, forward_f_code, full_pel_backward_vector und backward_f_code.
  • picture_start_code sind Daten, die als ein Startsynchronisationscode einer Bildebene dienen. temporal_reference sind Daten, die die Reihenfolge darstellen, in welcher die Bilder angezeigt werden, und die am Start einer GOP zurückgesetzt werden. picture_coding_type sind Daten, die die Art eines Bildes darstellen.
  • vbv_delay sind Daten, die einen Ausgangszustand eines virtuellen Zwischenspeichers beim stochastischen Zugriff darstellen.
  • full_pel_forward_vector, forward_f_code, full_pel_backward_vector, backward_f_code sind feste Daten, die bei MPEG-2 nicht benutzt werden.
  • 9 zeigt die Datenstruktur von picture_coding_extension.
  • picture_coding_extension enthält extension_start_code, extension_start_code_identifier, f_code[0][0], f_code[0][0], f_code[1][0], f_code[1][1], intra_dc_precision, picture_structure, top_field_first, frame_pred_frame_dct, concealment_motion_vectors, q_scale_type, intral_vlc_format, alternate_scan, repeat_first_field, chroma_420_type, progressive_frame, composite_display_flag, v_axis, field_sequence, sub_carrier, burst_amplitude und sub_carrier_phase.
  • extension_start_code sind Daten, die als ein Synchronisierungscode dienen, der den Start der Erweiterungsdaten in einer Bildebene anzeigt.
  • extension_start_code_identifier sind Daten, die die Art der Erweiterungsdaten darstellen. f_code[0][0] sind Daten, die den Suchbereich eines horizontalen Bewegungsvektors in einer Vorwärtsrichtung darstellen. f_code[0][1] sind Daten, die den Suchbereich eines vertikalen Bewegungsvektors in einer Vorwärtsrichtung darstellen. f_code[1][0] sind Daten, die den Suchbereich eines horizontalen Bewegungsvektors in einer Rückwärtsrichtung darstellen. f_code[1][1] sind Daten, die den Suchbereich eines vertikalen Bewegungsvektors in einer Rückwärtsrichtung darstellen.
  • intra_dc_precision sind Daten, die den Präzisionsgrad von DC-Koeffizienten darstellen. Falls eine DCT auf eine Matrix f angewendet wird, die Luminanz- und Farbdifferenzsignale der jeweiligen Pixel in einem Block darstellt, erhält man eine 8×8-DCT-Koeffizientenmatrix F. Ein Koeffizient in der oberen linken Ecke der DCT-Koeffizientenmatrix F wird als ein DC-Koeffizient bezeichnet. Der DC-Koeffizient ist ein Signal, der die mittlere Luminanz und die mittlere Farbdifferenz eines Blocks darstellt. picture_structure sind Daten, die anzeigen, ob ein Bild eine Vollbildstruktur oder eine Feldstruktur besitzt. Falls picture_structure anzeigt, dass ein Bild die Feldstruktur besitzt, enthält picture_structure ferner Daten, die angeben, ob das Feld ein oberes oder ein unteres ist. top_field_first sind Daten, die, wenn die Struktur die Vollbildstruktur ist, darstellen, ob das erste Feld das obere oder das untere Feld ist. frame_pred_frame_dct sind Daten, die nur verwendet werden, wenn die Struktur die Vollbildstruktur ist, um anzuzeigen, dass die Vollbildmodus-DCT-Prädiktion nur im Vollbildmodus durchgeführt wird. concealment_motion_vectors sind Daten, die anzeigen, dass ein Intra-Makroblock einen Bewegungsvektor zum Verbergen eines Übertragungsfehlers enthält.
  • q_scale_type sind Daten, die anzeigen, ob ein linearer Quantisierungsmaßstab oder ein nicht-linearer Quantisierungsmaßstab verwendet wird. intral_vlc_format sind Daten, die anzeigen, ob ein Intra-Makroblock eine weitere zweidimensionale VLC (Variable Length Coding) benutzt. alternate_scan gibt an, ob ein Abtasten in einer Zickzack-Weise oder in einer abwechselnden Weise durchgeführt wird. repeat_first_field sind Daten, die beim 2:3-Pull-Down benutzt werden. In chroma_420_type ist der gleiche Wert wie beim nächsten progressive_frame geschrieben, wenn das 4:2:0-Farbdifferenzformat verwendet wird, während 0 geschrieben ist, wenn das Farbdifferenzformat nicht 4:2:0 ist. progressive_frame sind Daten, die anzeigen, ob das vorliegende Bild sequenziell gescannt wird oder nicht. composite_display_flag sind Daten, die angeben, ob ein Quellsignal ein zusammengesetztes Signal ist oder nicht. v_axis, field_sequence, sub_carrier, burst_amplitude und sub_carrier_phase werden benutzt, wenn das Quellsignal ein zusammengesetztes Signal ist.
  • Die Datenstruktur von picture_data wird Bezug nehmend auf 10 beschrieben. Die Funktion picture_data() definiert Datenelemente durch eine Funktion slice(). Wenigstens ein durch die Funktion slice() definiertes Datenelement ist in einem Bitstrom geschrieben.
  • Wie in 11 dargestellt, ist die Funktion slice() durch Datenelemente definiert, die slice_start_code, quantiser_scale_code, intra_slice_flag, intra_slice, reserved_bits, extra_bit_slice und extra_information_slice enthalten, und auch durch die Funktion makroblock().
  • slice_start_code ist ein Startcode, der den Start eines durch die Funktion slice() definierten Datenelements angibt. quantiser_scale_code sind Daten, die die für einen in der vorliegenden Slice-Ebene existierenden Makroblock eingestellte Quantisierungsschrittgröße angeben. Wenn quantiser_scale_code für jeden Makroblock höher eingestellt wird, wird macorblock_quantiser_scale_code, der für jeden Makroblock eingestellt ist, Priorität gegeben.
  • intra_slice_flag ist ein Merker, der angibt, ob ein Bitstrom intra_slice und reserved_bits enthält. intra_slice sind Daten, die angeben, ob es in der Slice-Ebene einen Nicht-Intra-Makroblock gibt oder nicht. Wenn einer der Makroblöcke in der Slice-Ebene ein Nicht-Intra-Makroblock ist, ist intra_slice auf „0" gesetzt. Falls alle Makroblöcke in der Slice-Ebene Intra-Makroblöcke sind, ist intra_slice auf „1" gesetzt. reserved_bits ist ein reservierter 7-Bit-Datenbereich. extra_bit_slice ist ein Merker, der angibt, ob es Extrainformationen gibt oder nicht. Wenn extra_information_slice_existiert, ist extra_bit_slice_auf „1" gesetzt, während extra_bit_slice auf „0" gesetzt ist, wenn es keine Extrainformationen gibt.
  • Nach den obigen Datenelementen werden die durch die Funktion makroblock() definierten Datenelemente beschrieben. Wie in 12 dargestellt, wird die Funktion makroblock() benutzt, um Datenelemente wie beispielsweise macroblock_escape, macroblock_address_increment, quantiser_scale_code und marker_bit zu beschreiben und auch Datenelemente zu beschreiben, die durch die Funktion macroblock_modes(), die Funktion motion_vectors() und die Funktion coded_block_attern() definiert sind.
  • macroblock_escape ist eine feste Bitfolge, die angibt, ob der Unterschied in der horizontalen Richtung zwischen einem Referenz-Makroblock und einem vorherigen Makroblock gleich oder größer als 34 ist oder nicht. Wenn der Unterschied in der horizontalen Richtung zwischen dem Referenz-Makroblock und dem vorherigen Makroblock gleich oder größer als 34 ist, wird dem Wert von macroblock_address_increment 33 hinzuaddiert. macroblock_address_increment sind Daten, die den Unterschied in der horizontalen Richtung zwischen einem Referenz-Makroblock und einem vorherigen Makroblock angeben. Falls es zum Beispiel vor macroblock_address_increment ein macroblock_escape gibt, gibt der Wert, den man durch Hinzuaddieren von 33 zu macroblock_address_increment erhält, den aktuellen Unterschied in der horizontalen Richtung zwischen dem Referenz-Makroblock und dem vorherigen Makroblock an.
  • quantiser_scale_code sind Daten, die die für jeden Makroblock eingestellte Quantisierungsschrittgröße angeben. quantiser scale_code wenn nur geschrieben, wenn macroblock_quant gleich „1" ist. slice_quantiser_scale_code wird für jede Slice-Ebene eingestellt, um die Quantisierungsschrittgröße der Slice-Ebene anzugeben. Wenn jedoch scale_code für einen Referenz-Makroblock eingestellt ist, wird quantiser_scale_code ausgewählt.
  • Nach macroblock_address_increment sind durch die Funktion macroblock_modes() definierte Datenelemente geschrieben. Wie in 13 dargestellt, wird die Funktion macroblock_modes() benutzt, um Datenelemente wie beispielsweise macroblock_type, frame_motion_type, field_motion_type und dct_type zu schreiben. macroblock_type sind Daten, die den Codiertyp eines Makroblocks angeben.
  • Falls macroblock_motion_forward oder macroblock_motion_backward gleich „1" ist und falls die Bildstruktur ein Vollbild ist und falls ferner frame_pred_frame_dct gleich „0" ist, wird ein frame_motion_type darstellendes Datenelement nach einem macroblock_type darstellenden Datenelement geschrieben.
  • frame_pired_frame_dct ist ein Merker, der angibt, ob der Bitstrom frame_motion_type_enthält oder nicht.
  • frame_motion_type ist ein 2-Bit-Code, der den Vorhersagetyp eines Makroblocks in einem Vollbild angibt. Falls es zwei Prädiktionsvektoren gibt und die Prädiktion auf einer Feldbasis erfolgt, ist frame_motion_type auf „00" gesetzt. Falls es keinen Prädiktionsvektor gibt und die Prädiktion auf der Feldbasis erfolgt, ist frame_motion_type auf „01" gesetzt. Wenn es einen Prädiktionsvektor gibt und die Prädiktion auf der Basis eines Vollbilds erfolgt, ist frame_motion_type auf „10" gesetzt. Falls es einen Prädiktionsvektor gibt und die Prädiktion auf einer Doppelhauptbasis erfolgt, ist frame_motion_type auf „11" gesetzt.
  • field_motion type ist ein 2-Bit-Code, der die Bewegungsprädiktionsart eines Makroblocks in einem Feld angibt. Falls es einen Prädiktionsvektor gibt und die Prädiktion auf der Basis eines Feldes erfolgt, ist field_motion_type auf „01" gesetzt. Wenn es zwei Prädiktionsvektoren gibt und die Prädiktion auf der Basis von 18×8-Makroblöcken erfolgt, ist field_motion_type auf „10" gesetzt. Falls es einen Prädiktionsvektor gibt und die Prädiktion auf einer Doppelhauptbasis erfolgt, ist field_motion_type auf „11" gesetzt.
  • Falls die Bildstruktur ein Vollbild ist und falls frame_pred_frame_dct angibt, dass ein Bitstrom frame_motion_type enthält, und falls ferner frame_pred_frame_dct angibt, dass der Bitstrom dct_type enthält, ist ein dct_type darstellendes Datenelement nach dem macroblock_type darstellenden Datenelement geschrieben. dct_type sind Daten, die angeben, ob eine DCT im Vollbild-DCT-Modus oder im Feld-DCT-Modus ist.
  • Alle Datenelemente in einem MPEG-2-Videobitstrom starten mit einem speziellen Bitmuster, das als ein Startcode bezeichnet wird. Jeder Startcode hat ein spezielles Bitmuster, das niemals in einem Bitmuster für irgendeinen anderen Zweck verwendet wird. Jeder Startcode besteht aus einem Startcodepräfix und einem dem Startcodepräfix folgenden Startcodewert. Das Startcodepräfix ist eine Bitfolge von „0000 0000 0000 0000 0000 0001". Der Startcodewert ist in 8 Bits geschrieben, um die Art des Startcodes anzugeben.
  • 14 zeigt die Startcodewerte entsprechend dem MPEG-2-Standard. Die meisten Startcodes haben einen Startcodewert. slice_start_code enthält jedoch mehrere Startcodewerte (01 bis AF), um die vertikale Position eines Slices anzugeben. Alle diese Startcodes sind in Einheiten von Bytes geschrieben. Deshalb sind mehrere Bits von „0" vor das Startcodepräfix gesetzt, sodass das erste Bit des Startcodepräfixes zum ersten Bit eines Bytes wird und damit der Startcode in Einheiten von Bytes geschrieben ist.
  • Ein herkömmlicher MPEG-Videodecoder, der MP@ML/MPEG-2-Videobitströme codieren kann, wird nun unter Bezug auf 15 beschrieben. 15 zeigt ein Beispiel eines Aufbaus einer solchen Art von MPEG-Videodecoder.
  • Dieser MPEG-Videodecoder enthält eine IC (Integrated Circuit) 1 und einen aus einem DRAM (Dynamic Random Access Memory) oder dergleichen gebildeten Zwischenspeicher 12, wobei der Zwischenspeicher 2 einen Datenstrompuffer 21 und einen Videopuffer 22 enthält und die IC 1 eine Stromeingangsschaltung 11, eine Zwischenspeichersteuerschaltung 12, einen Taktgenerator 13, eine Startcodeerfassungsschaltung 14, einen Decoder 15, eine Bewegungskompensationsschaltung 16 und eine Anzeigesignalausgangsschaltung 17 enthält.
  • Die Stromeingangsschaltung 11 in der IC 1 empfängt einen hocheffizienten codierten Strom (MP@ML/MPEG-2-Videobitstrom) und führt ihn der Zwischenpuffersteuerschaltung 12 zu. Als Reaktion auf einen vom Taktgenerator 13 zugeführten Grundtakt schreibt die Datenstrompuffersteuerschaltung 12 den empfangenen codierten Strom in den Datenstrompuffer 21 im Zwischenspeicher 2. Der Datenstrompuffer 21 hat eine Speicherkapazität gleich oder größer als 1.835.008, die als VBV-Zwischenspeichergröße zum Decodieren eines MP@ML-Datenstroms benötigt wird. Der im Datenstrompuffer 21 gespeicherte codierte Datenstrom wird unter der Steuerung der Zwischenspeichersteuerschaltung 12 in einer First-in-first-out-Weise gelesen und der Startcodeerfassungsschaltung 14 zugeführt. Die Startcodeerfassungsschaltung 42 erfasst einen oben unter Bezug auf 14 beschriebenen Startcode und gibt den erfassten Startcode und den Eingangsdatenstrom an den Decoder 15 aus.
  • Der Decoder 15 decodiert den Eingangsdatenstrom gemäß der MPEG-Syntax. Zuerst decodiert der Decoder 15 einen Kopfparameter in einer Bildebene entsprechend dem Eingangsstartcode. Auf der Basis des decodierten Kopfparameters teilt der Decoder 15 die Slice-Ebene in Makroblöcke ein und decodiert die Makroblöcke. Ein Prädiktionsvektor und Pixeldaten, die man als Ergebnis der Decodierung erhält, werden an die Bewegungskompensationsschaltung 16 ausgegeben.
  • Bei der Technik des Codierens von Daten in eine komprimierte Form gemäß dem MPEG-Standard wird die Codiereffizienz durch Verwenden eines eine Bewegungskompensation darstellenden Unterschiedes zwischen benachbarten Bildern auf der Basis einer temporären Redundanz zwischen den benachbarten Bildern verbessert. In diesem MPEG-Videodecoder werden für Pixel, die mittels Bewegungskompensation codiert sind, Bilddaten eines Referenzbildes, das durch den Bewegungsvektor angegeben wird, den zu decodierenden Pixeldaten hinzugefügt, wodurch eine Bewegungskompensation durchgeführt wird und damit die Pixeldaten in ursprüngliche Bilddaten decodiert werden.
  • Falls ein Makroblockausgang vom Decoder 15 keine Bewegungskompensation benötigt, schreibt die Bewegungskompensationsschaltung 16 die Pixeldaten über die Zwischenspeichersteuerschaltung 12 in den Videopuffer 22 des Zwischenspeichers 2 bei der Vorbereitung zur Ausgabe der Anzeigedaten und auch zur zukünftigen Verwendung als Referenzdaten für ein anderes Bild.
  • Wenn ein Makroblockausgang vom Decoder 15 eine Bewegungskompensation benötigt, liest die Bewegungskompensationsschaltung 16 über die Zwischenspeichersteuerschaltung 12 entsprechend dem vom Decoder 15 ausgegebenen Prädiktionsvektor Referenzpixeldaten aus dem Videopuffer 22 im Zwischenspeicher 2. Die erhaltenen Referenzpixeldaten werden den vom Decoder 15 zugeführten Pixeldaten hinzugefügt, wodurch eine Bewegungskompensation durchgeführt wird. Die Bewegungskompensationsschaltung 16 schreibt die resultierenden Pixeldaten über die Zwischenspeichersteuerschaltung 12 in den Videopuffer 22 im Zwischenspeicher 2 zur Vorbereitung zur Ausgabe der Anzeigedaten und auch zur zukünftigen Verwendung als Referenzdaten für ein anderes Bild.
  • Die Anzeigesignalausgangsschaltung 17 erzeugt ein Synchronisierungstaktsignal, das beim Ausgeben der decodierten Bilddaten benutzt wird. Entsprechend dem Taktsignal liest die Anzeigesignalausgangsschaltung 17 die Pixeldaten aus dem Videopuffer 22 über die Zwischenspeichersteuerschaltung 12 und gibt sie als ein decodiertes Videosignal aus.
  • Wie oben beschrieben, hat ein MPEG-2-Datenstrom eine hierarchische Struktur. Die Datengrößen von Daten von sequence_header_bis picture_coding_extension in einer oben unter Bezug auf 3 beschriebenen Bildebene hängen nicht von den oben unter Bezug auf 2 beschriebenen Klassen mit verschiedenen Profilen und Niveaus ab. Die Datengrößen der Daten in der Slice-Ebene und in den unteren Ebenen hängen jedoch von der Anzahl der zu codierenden Pixel ab.
  • In HL ist, wie man aus 2 verstehen kann, die Anzahl Makroblöcke, die für ein Bild bearbeitet werden müssen, etwa sechsmal größer als sie in ML benötigt werden. Im Fall von 4:2:2P ist, wie man aus 4 sehen kann, die Anzahl Blöcke, die in jedem Makroblock bearbeitet werden müssen, das 4/3-fache dessen, was in MP benötigt wird.
  • Deshalb wird, wenn ein 4:2:2P@HL-codierter Datenstrom mittels des in 15 dargestellten, zum Decodieren von MP@ML-Datenströmen konstruierten, herkömmlichen MPEG-Videodecoder decodiert wird, die Zwischenspeichergröße des Datenstrompuffers 21 wegen der Vergrößerungen der VBV-Puffergröße und der Anzahl von Pixeln unzureichend. Außerdem resultiert die Erhöhung der Bitrate in einem Anstieg der Zugriffsfrequenz auf den Datenstrompuffer 21, und die Erhöhung der Anzahl Pixel resultiert in einem Anstieg der Zugriffsfrequenz der Bewegungskompensationsschaltung 16 auf den Videopuffer 22. Als ein Ergebnis muss die Zwischenspeichersteuerschaltung 12 mit einer höheren Geschwindigkeit arbeiten. Ferner muss wegen der Erhöhung der Bitrate und den Erhöhungen der Anzahlen Makroblöcke und Blöcke der Decoder 15 mit einer höheren Geschwindigkeit arbeiten.
  • Im Allgemeinen ist, wenn die Signalverarbeitung mit einer erhöhten Geschwindigkeit durchgeführt wird, das Ergebnis ein großer Anstieg in der Schaltungsgröße, eine Erhöhung der Anzahl von Komponenten und eine Erhöhung des Energieverbrauchs. Obwohl es die jüngsten Fortschritte in der Halbleitertechnologie möglich gemacht haben, die Geschwindigkeit von Signalverarbeitungsschaltungen und Speicher-(Puffer-)Schaltungen deutlich zu erhöhen und die Schaltungsgröße zu reduzieren, ist es deshalb nach wie vor schwierig, einen Videodecoder mit einer realistischen Schaltungsgröße zu realisieren, der 4:2:2P@HL-Ströme in Echtzeit mittels der herkömmlichen Technik zum Decodieren von MP@HL-Datenströmen decodieren kann.
  • Wenn es erwünscht ist, einen MP@ML-codierten Datenstrom mit einer um einen Faktor größer als 1 erhöhten hohen Geschwindigkeit unter Verwendung des in 15 dargestellten, zum Decodieren von MP@ML-Datenströmen konstruierten, herkömmlichen MPEG-Videodecoder wiederzugeben, besteht eine mögliche Technik darin, Bilder von einem gegebenen MP@ML-codierten Datenstrom teilweise zu extrahieren und die extrahierten Bilder dem MPEG-Videodecoder einzugeben.
  • Beim MPEG-Codieren, wie oben unter Bezug auf 1 beschrieben, wird jedoch eine prädiktive Codierung mittels benachbarter Bilder als Referenzbilder durchgeführt. Deshalb wird es unmöglich, falls Bilder in einer beliebigen Weise teilweise extrahiert werden, einige Bilder zu decodieren. Zum Beispiel wird es unmöglich, wie in 16 dargestellt, falls das Bild P10 nicht in den extrahierten Bildern enthalten ist, die Bilder B8, B9, B11und B12 zu decodieren, welche das Bild P10 als ein Referenzbild benötigen.
  • 17 zeigt eine Technik, um das obige Problem zu vermeiden. Bei dieser Technik wird eine Extraktion derart durchgeführt, dass I-Bilder und P-Bilder, die von anderen Bildern als Referenzbilder benutzt werden, in einem Satz von extrahierten Bildern enthalten sind und dass nur B-Bilder, die nicht von anderen Bildern als Referenzbilder benutzt werden, verworfen werden dürfen und der resultierende MP@ML-codierte Datenstrom mit den extrahierten Bildern dem MPEG-Videodecoder eingegeben wird. Bei dieser Technik ist es jedoch notwendig, um nur B-Bilder zu verwerfen, eine Funktion zum Erfassen von B-Bildern und ihr Verwerfen vorzusehen. Weil nur B-Bilder verworfen werden, wird außerdem die Wiedergabegeschwindigkeit des extrahierten codierten Datenstroms zu einem speziellen Wert, der durch die Positionen der I-Bilder, P-Bilder und B-Bilder bestimmt wird.
  • Ferner wird, obwohl die Wiedergabegeschwindigkeit durch wiederholtes Anzeigen der I- und P-Bilder so häufig wie nötig auf einen beliebigen Wert eingestellt werden kann, die Bewegung eines angezeigten Bildes sprunghaft.
  • Ein weiteres Problem des herkömmlichen MPEG-Videodecorders besteht darin, dass mehrere codierte Datenströme, die gleichzeitig eingegeben werden oder in einem Mehrkanal-Multiplexstrom (Transportstroml, auf dem mehrere Kanäle codierter Datenströme (Elementarströme) über DVB gemultiplext werden, enthalten sind, nicht gleichzeitig decodiert werden können, um alle der mehreren Kanäle der decodierten Videosignale gleichzeitig auszugeben oder ein ausgewähltes der decodierten Videosignale auszugeben.
  • Die US 5,532,744 betrifft Techniken zum Decodieren eines hierarchisch codierten digitalen Videobitstroms, die ein Fernsehbild hoher Auflösung in Echtzeit verarbeiten können und die aus einer Anzahl einzelner, parallel geschalteter Decodermodule bestehen, die jeweils weniger Echtzeit-Verarbeitungsleistung haben, als notwendig ist, aber kombiniert wenigstens die notwendige Verarbeitungsleistung haben, um den Bitstrom in Echtzeit zu verarbeiten.
  • Ein Ausführungsbeispiel der vorliegenden Erfindung will einen Videodecoder vorsehen, der einen 4:2:2P@HL-codierten Datenstrom in Echtzeit wiedergeben kann und auch einen MP@ML-codierten Datenstrom mit einer hohen Geschwindigkeit wiedergeben kann, wobei eine Schaltung mit einer realistischen Größe verwendet wird.
  • Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung will einen Videodecoder vorsehen, der mehrere Kanäle codierter Datenströme parallel decodieren kann.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Decodiervorrichtung gemäß der vorliegenden Erfindung ist Anspruch 1 beansprucht.
  • Der beschleunigte codierte Datenstrom kann ein MPEG-2-Videobitstrom mit einer um einen vorbestimmten Faktor erhöhten Bitrate sein.
  • Die Ausgangssteuereinrichtung kann ein Bild entsprechend dem MPEG-2-Videobitstrom mit der um den vorbestimmten Faktor erhöhten Bitrate mit einer um einen Faktor im Bereich von 0 bis zu einem vorbestimmten Wert erhöhten Wiedergabegeschwindigkeit ausgeben.
  • Die Decodiereinrichtung kann ein den Abschluss des Decodierens angebendes Signal an die Decodiersteuereinrichtung ausgeben, und die Decodiersteuereinrichtung kann die Decodiereinrichtung, die das dem Abschluss des Decodierens angebende Signal ausgegeben hat, so steuern, dass die Decodiereinrichtung einen weiteren codierten Datenstrom decodiert.
  • Die Decodiervorrichtung kann ferner eine erste Zwischenspeichereinrichtung zum Zwischenspeichern des codierten Datenstroms; eine Leseeinrichtung zum Lesen eines den Start einer vorbestimmten Einheit von in dem codierten Datenstrom enthaltenen Informationen angebenden Startcodes aus dem codierten Datenstrom und ferner Lesen von eine Position in der Zwischenspeichereinrichtung, an welcher der Startcode gespeichert ist, angebenden Positionsinformationen; eine zweite Zwischenspeichereinrichtung zum Zwischenspeichern des durch die Leseeinrichtung gelesenen Startcodes und der Positionsinformationen; und eine Zwischenspeichersteuereinrichtung zum Steuern des Zwischenspeicherns des codierten Datenstroms durch die erste Zwischenspeichereinrichtung und des Zwischenspeicherns des Startcodes und der Positionsinformationen durch die zweite Zwischenspeichereinrichtung aufweisen.
  • Die erste Decodiereinrichtung kann ferner eine Auswahleinrichtung zum Auswählen von speziellen von mehreren Bilddaten, die von den mehreren Decodiereinrichtungen decodiert und ausgegeben werden; und eine Kompensationseinrichtung, die die durch die Auswahleinrichtung ausgewählten Bilddaten empfängt und gegebenenfalls an den empfangenen Bilddaten eine Bewegungskompensation durchführt, aufweisen.
  • Die mehrere Decodiereinrichtungen können ein den Abschluss des Decodierens angebendes Endsignal an die Auswahleinrichtung ausgeben, und die Auswahleinrichtung kann eine Speichereinrichtung zum Speichern eines Werts entsprechend einem Verarbeitungszustand jeder der mehreren Decodiereinrichtungen enthalten. Die Auswahleinrichtung kann so arbeiten, dass, wenn in der Speichereinrichtung gespeicherte Werte alle gleich einem ersten Wert werden, ein darin gespeicherter Wert entsprechend der das den Abschluss des Decodierens angebende Endsignal ausgebenden Decodiereinrichtung von dem ersten Wert zu einem zweiten Wert geändert wird, die einen der durch die erste Decodiereinrichtung entsprechend dem in der Speichereinrichtung gespeicherten zweiten Wert decodierten Bilddaten ausgewählt werden und die in der Speichereinrichtung gespeicherten Werte entsprechend der Decodiereinrichtung, die die ausgewählten Bilddaten decodiert hat, zum ersten Wert verändert werden.
  • Die Decodiervorrichtung kann ferner eine Speichereinrichtung zum Speichern der durch die Auswahleinrichtung ausgewählten Bilddaten oder der einer durch die Bewegungskompensationseinrichtung durchgeführten Bewegungskompensation unterzogenen Bilddaten; und eine Speichersteuereinrichtung zum Steuern des Speicherns der durch die Auswahleinrichtung ausgewählten Bilddaten oder der der durch die Bewegungskompensationseinrichtung durchgeführten Bewegungskompensation unterzogenen Bilddaten in der Speichereinrichtung aufweisen.
  • Die Speichereinrichtung kann eine Luminanzkomponente und eine Farbdifferenzkomponente der Bilddaten separat voneinander speichern.
  • Ein Decodierverfahren gemäß der vorliegenden Erfindung ist in Anspruch 21 beansprucht.
  • Ein Speichermedium gemäß der vorliegenden Erfindung ist in Anspruch 25 beansprucht.
  • Der codierte Datenstrom kann ein MPEG-2-Videobitstrom sein.
  • Die Decodiereinrichtung kann ein den Abschluss des Decodierens angebendes Signal an die Decodiersteuereinrichtung ausgeben, und die Decodiersteuereinrichtung kann die Decodiereinrichtung, die das den Abschluss des Decodierens angebende Signal ausgegeben hat, derart steuern, dass die Decodiereinrichtung einen weiteren codierten Datenstrom decodiert.
  • Die Decodiervorrichtung kann ferner eine erste Zwischenspeichereinrichtung zum Zwischenspeichern des codierten Datenstroms; eine Leseeinrichtung zum Lesen eines den Start einer vorbestimmten Einheit von in dem codierten Datenstrom enthaltenen Informationen angebenden Startcode aus dem codierten Datenstrom und ferner Lesen von eine Position in der Zwischenspeichereinrichtung, an welcher der Startcode gespeichert ist, angebenden Positionsinformationen; eine zweite Zwischenspeichereinrichtung zum Zwischenspeichern des Startcodes und der Positionsinformationen, die durch die Leseeinrichtung gelesen wurden; und eine Zwischenspeichersteuereinrichtung zum Steuern des Zwischenspeicherns des codierten Datenstroms durch die erste Zwischenspeichereinrichtung und des Zwischenspeicherns des Startcodes und der Positionsinformationen durch die zweite Zwischenspeichereinrichtung aufweisen.
  • Die Decodiereinrichtung kann ferner eine Auswahleinrichtung zum Auswählen von speziellen von mehreren Bilddaten, die durch die mehreren Decodiereinrichtungen decodiert und ausgegeben wurden; und eine Kompensationseinrichtung, die die durch die Auswahleinrichtung ausgewählten Bilddaten empfängt und erforderlichenfalls an den empfangenen Bilddaten eine Bewegungskompensation durchführt, aufweisen.
  • Die mehrere Decodiereinrichtungen können ein den Abschluss des Decodierens angebendes Endsignal an die Auswahleinrichtung ausgeben, und die Auswahleinrichtung kann eine Speichereinrichtung zum Speichern eines Werts entsprechend einem Verarbeitungszustand jeder der mehreren Decodiereinrichtungen enthalten, sodass, wenn in der Speichereinrichtung gespeicherte Werte alle gleich einem ersten Wert werden, ein darin gespeicherter Wert entsprechend der das den Abschluss des Decodierens angebende Endsignal ausgebenden Decodiereinrichtung vom ersten Wert zu einem zweiten Wert verändert wird, die einen der durch die erste Decodiereinrichtung entsprechend dem in der Speichereinrichtung gespeicherten zweiten Wert decodierten Bilddaten ausgewählt werden, und die in der Speichereinrichtung gespeicherten Werte entsprechend der Decodiereinrichtung, die die ausgewählten Bilddaten decodiert hat, zum ersten Wert verändert werden.
  • Die Decodiervorrichtung kann ferner eine Speichereinrichtung zum Speichern der durch die Auswahleinrichtung ausgewählten Bilddaten oder der einer durch die Bewegungskompensationseinrichtung durchgeführten Bewegungskompensation unterzogenen Bilddaten; und eine Speichersteuereinrichtung zum Steuern des Speicherns der durch die Auswahleinrichtung ausgewählten Bilddaten oder der einer durch die Bewegungskompensationseinrichtung durchgeführten Bewegungskompensation unterzogenen Bilddaten in der Speichereinrichtung aufweisen.
  • Die Speichereinrichtung kann eine Luminanzkomponente und eine Farbdifferenzkomponente der Bilddaten separat voneinander speichern.
  • Die Decodiervorrichtung kann ferner eine Annahmeeinrichtung zum Annehmen eines gemultiplexten Datenstroms, auf dem die mehreren codierten Datenströme gemultiplext sind; und eine Zufuhreinrichtung zum Trennen der gemultiplexten Datenströme in die mehreren codierten Datenströme und Zuführen der mehreren codierten Datenströme zur Eingangseinrichtung aufweisen.
  • In der Decodiervorrichtung, dem Decodierverfahren und dem auf dem Speichermedium gespeicherten Programm wird ein beschleunigter codierter Datenstrom in einer parallelen Weise eingegeben und decodiert. Ein Bild entsprechend dem decodierten beschleunigten codierten Datenstrom wird mit einer beliebigen Wiedergabegeschwindigkeit ausgegeben.
  • Bei der Decodiervorrichtung, dem Decodierverfahren und dem auf dem Speichermedium gespeicherten Programm kann ein beschleunigter codierter Datenstrom in einer parallelen Weise unter Verwendung mehrerer Slice-Decoder eingegeben und decodiert werden. Ein Bild entsprechend dem beschleunigten codierten Datenstrom, der durch die mehreren Slice-Decoder decodiert wurde, wird mit einer beliebigen Wiedergabegeschwindigkeit ausgegeben.
  • Bei der Decodiervorrichtung, dem Decodierverfahren und dem auf dem Speichermedium gespeicherten Programm können mehrere codierte Datenströme in einer parallelen Weise eingegeben und decodiert werden und mehrere Bilder entsprechend den mehreren codierten Datenströmen, die in der oben beschriebenen Weise decodiert wurden, werden ausgegeben.
  • Bei der Decodiervorrichtung, dem Decodierverfahren und dem auf dem Speichermedium gespeicherten Programm können mehrere codierte Datenströme in einer parallelen Weise durch mehrere Slice-Decoder eingegeben und decodiert werden, mehrere Bilder entsprechend den mehreren codierten Datenströmen, die durch die mehreren Slice-Decoder decodiert wurden, werden ausgegeben.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Darstellung von in der MPEG-Technik verwendeten Bildtypen;
  • 2 ist eine Tabelle von Obergrenzen von Parametern für jeweilige Profile und Niveaus, die im MPEG-2-Standard definiert sind;
  • 3 ist eine schematische Darstellung einer hierarchischen Struktur eines MPEG-2-Bitstroms;
  • 4 ist eine schematische Darstellung einer Makroblockebene;
  • 5 ist eine Tabelle einer Datenstruktur von sequence_header;
  • 6 ist eine Tabelle einer Datenstruktur von sequence_extension;
  • 7 ist eine Tabelle einer Datenstruktur von GOP_header;
  • 8 ist eine Tabelle einer Datenstruktur von picture_header;
  • 9 ist eine Tabelle einer Datenstruktur von picture_coding_extension;
  • 10 ist eine Tabelle einer Datenstruktur von picture_data;
  • 11 ist eine Tabelle einer Datenstruktur eines Slices;
  • 12 ist eine Tabelle einer Datenstruktur eines Makroblocks;
  • 13 ist eine Tabelle einer Datenstruktur von macroblock_modes;
  • 14 ist eine Tabelle eines Startcodes;
  • 15 ist ein Blockschaltbild eines Beispiels eines Aufbaus eines herkömmlichen MPEG-Videodecoders zum Decodieren eines MP@ML-codierten Datenstroms;
  • 16 ist ein Diagramm eines Problems, das auftritt, wenn ein P-Bild aus einem codierten Datenstrom verworfen wird;
  • 17 ist eine Darstellung eines Problems, das auftritt, wenn nur B-Bilder aus einem codierten Datenstrom verworfen werden;
  • 18 ist ein Blockschaltbild eines Beispiels eines Aufbaus eines MPEG-Videodecoders gemäß der vorliegenden Erfindung;
  • 19 ist ein Flussdiagramm eines durch eine Slice-Decoder-Steuerschaltung durchgeführten Prozesses;
  • 20 ist ein Flussdiagramm eines speziellen Beispiels eines durch die Slice-Decoder-Steuerschaltung 46 durchgeführten Prozesses;
  • 21 ist ein Flussdiagramm eines durch eine Bewegungskompensationsschaltung durchgeführten Entscheidungsprozesses zwischen Slice-Decodern;
  • 22 ist eine Darstellung eines speziellen Beispiels des durch die Bewegungskompensationsschaltung durchgeführten Entscheidungsprozesses zwischen Slice-Decodern;
  • 23 ist ein Blockschaltbild eines Beispiels eines Aufbaus eines Systems zum Wiedergeben eines MP@ML-codierten Datenstroms mit einer hohen Geschwindigkeit unter Verwendung des MPEG-Videodecoders;
  • 24 ist eine Darstellung einer durch den MPEG-Videodecoder durchgeführten Verarbeitung, um einen MP@ML-codierten Datenstrom mit einer hohen Geschwindigkeit wiederzugeben;
  • 25 ist ein Blockschaltbild eines weiteren Beispiels eines Aufbaus eines MPEG-Videodecoders gemäß der vorliegenden Erfindung;
  • 26 ist ein Flussdiagramm eines durch den MPEG-Videodecoder unter der Steuerung einer darin vorgesehenen Steuerung durchgeführten Prozesses, um bis zu L Kanäle parallel zu decodieren;
  • 27 ist ein Blockschaltbild eines Beispiels einer Konstruktion eines MPEG-Videoserver/editorsystems unter Verwendung des MPEG-Videodecoders;
  • 28 ist ein Blockschaltbild eines noch weiteren Beispiels eines Aufbaus eines MPEG-Videodecoders gemäß der vorliegenden Erfindung; und
  • 29 ist eine Darstellung eines Beispiels einer Anwendung des MPEG-Videodecoders.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Ein erstes Beispiel eines Aufbaus eines MPEG-Videodecoders gemäß der vorliegenden Erfindung wird nun unter Bezug auf 18 beschrieben.
  • Der MPEG-Videodecoder 40 enthält eine IC 31 mit einer Datenstromeingangsschaltung 41, einer Startcodeerfassungsschaltung 42, einer Datenstrompuffer-Steuerschaltung 43, einem Taktgenerator 44, einem Bilddecoder 45, einer Slice-Decoder-Steuerschaltung 46, Slice-Decodern 47 bis 49, einer Bewegungskompensationsschaltung 50, einer Luminanzpuffer-Steuerschaltung 51, einer Farbdifferenzpuffer-Steuerschaltung 52 und einer Anzeigesignalausgangsschaltung 53. Der MPEG-Videodecoder 40 enthält auch einen aus einem DRAM oder dergleichen gebildeten Zwischenspeicher 32 mit einem Datenstrompuffer 61 und einem Startcodepuffer 62, einen aus einem DRAM oder dergleichen gebildeten Luminanzpuffer 71, einen aus einem DRAM oder dergleichen gebildeten Farbdifferenzpuffer 72, eine Steuerung 34 mit einer CPU (Zentraleinheit) oder dergleichen, und ein Laufwerk 35.
  • Die Datenstromeingangsschaltung 41 empfängt einen hocheffizient codierten Datenstrom (MPEG-2-Videobitstrom) und führt ihn der Startcodeerfassungsschaltung 42 zu. Die Startcodeerfassungsschaltung 42 führt den empfangenen codierten Datenstrom der Datenstrompuffer-Steuerschaltung 43 zu. Die Startcodeerfassungsschaltung 52 erfasst auch einen früher unter Bezug auf 14 beschriebenen Startcode und erzeugt auf der Basis des erfassten Startcodes Startcodeinformationen einschließlich Daten, die die Art des Startcodes angeben, und eines Schreibzeigers, der eine Position angibt, an welcher der Startcode geschrieben werden soll. Die erzeugten Startcodeinformationen werden der Datenstrompuffer-Steuerschaltung 43 zugeführt.
  • Ein Taktgenerator 44 erzeugt einen Basistakt mit einer Wiederholungsrate doppelt so groß wie ein oben unter Bezug auf 16 beschriebener Taktgenerator 13 und führt ihn einer Datenstrompuffersteuerung 43 zu. Als Reaktion auf einen vom Taktgenerator 44 zugeführten Basistakt schreibt die Datenstrompuffersteuerschaltung 43 den empfangenen codierten Datenstrom in den Datenstrompuffer 61 im Zwischenspeicher 32 und schreibt die empfangenen Startcodeinformationen in den Startcodepuffer 62 im Zwischenspeicher 32. Der Datenstrompuffer 61 hat eine Speicherkapazität gleich oder größer als 47.185.920, was als VBV-Zwischenspeichergrößer zum Decodieren eines 4:2:2P@HL-Datenstroms benötigt wird.
  • Der Bilddecoder 45 liest die Startcodeinformationen über die Datenstrompuffer-Steuerschaltung 43 aus dem Startcodepuffer 62. Zum Beispiel wird das Decodieren ab dem früher unter Bezug auf 3 beschriebenen sequence_header gestartet. Damit liest der Bilddecoder 45 aus dem Startcodepuffer 62 einen Schreibzeiger entsprechend sequence_header code, der als der früher unter Bezug auf 5 beschriebene Startcode dient, liest sequence_header aus dem Datenstrompuffer 61 entsprechend dem Schreibzeiger und decodiert ihn. Danach liest der Bilddecoder 45 sequence_extionsion, GOP_header und picture_coding_extension aus dem Datenstrompuffer 61 und decodiert sie in einer ähnlichen Weise wie sequence_header.
  • Wenn der Bilddecoder 45 den ersten slice_start_code aus dem Startcodepuffer 62 gelesen hat, sind alle zum Decodieren eines Bildes notwendigen Parameter empfangen. Der Bilddecoder 45 gibt die zur Bildebene gehörenden decodierten Parameter an die Slice-Decoder-Steuerschaltung 46 aus.
  • Beim Empfang der zur Bildebene gehörenden Parameter erfasst die Slice-Decoder-Steuerschaltung 46 die Klasse (beispielsweise 4:2:2@ML oder MP@ML) des codierten Datenstroms. Ferner liest die Slice-Decoder-Steuerschaltung 46 entsprechend den empfangenen Parametern der Bildebene entsprechende Startcodeinformationen aus dem Startcodepuffer 62 über die Datenstrompuffer-Steuerschaltung 43. Die Slice-Decoder-Steuerschaltung 46 enthält ein Register zum Anzeigen, welcher der Slices in dem codierten Datenstrom durch einen der Slice-Decoder 47 bis 49 decodiert werden soll. Entsprechend den im Register gespeicherten Daten führt die Slice-Decoder-Steuerschaltung 46 den in den Startcodeinformationen enthaltenen Schreibzeiger des Slices dem entsprechenden der Slice-Decoder 47 bis 49 zu. Der durch die Slice-Decoder-Steuerschaltung 46 durchgeführte Prozess zum Auswählen eines zum Decodieren zu benutzenden Slice-Decoders aus den Slice-Decodern 47 bis 49 wird später unter Bezug auf 19 und 20 beschrieben.
  • Der Slice-Decoder 47 enthält eine Makroblockerfassungsschaltung 81, einen Vektordecoder 82, eine Dequantisierungsschaltung 83 und eine Invers-DCT-Schaltung 84. Entsprechend einem von der Slice-Decoder-Steuerschaltung 46 empfangenen Schreibzeiger liest der Slice-Decoder 47 einen entsprechenden Slice aus dem Daten-strompuffer 61 über die Datenstrompuffer-Steuerschaltung 43. Ferner decodiert der Slice-Decoder 47 entsprechend den von der Slice-Decoder-Steuerschaltung 46 empfangenen, zur Bildebene gehörenden Parametern den aus dem Datenstrompuffer 61 gelesenen Slice und gibt den decodierten Slice an die Bewegungskompensationsschaltung 50 aus.
  • Die Makroblockerfassungsschaltung 81 trennt Makroblöcke in der Slice-Ebene und decodiert Parameter der jeweiligen Makroblöcke. Der Prädiktionsmodus jedes in variabler Länge codierten Makroblocks und der Prädiktionsvektor werden dem Vektordecoder 82 zugeführt, und die in variabler Länge codierten Koeffizientendaten werden der Dequantisierungsschaltung 83 zugeführt. Der Vektordecoder 82 decodiert den in variabler Länge codierten Prädiktionsmodus und Prädiktionsvektor, um dadurch den Prädiktionsvektor wiederzugeben. Die Dequantisierungsschaltung 83 decodiert die in variabler Länge codierten Koeffizientendaten und führt die resultierenden decodierten Koeffizientendaten der Invers-DCT-Schaltung 84 zu. Die Invers-DCT-Schaltung 84 führt eine inverse DCT an den decodierten Koeffizientendaten durch, wodurch die ursprünglichen Pixeldaten wiedergegeben werden.
  • Der Slice-Decoder 47 fordert die Bewegungskompensationsschaltung 50 auf, an dem decodierten Makroblock eine Bewegungskompensation durchzuführen (durch Verändern des Niveaus von dem in 18 dargestellten REQ auf „1"). Falls ein die Annahme der Anforderung zur Bewegungskompensation anzeigendes Signal (ACK in 18) von der Bewegungskompensationsschaltung 50 empfangen wird, führt der Slice-Decoder 47 den decodierten Prädiktionsvektor und die decodierten Pixeldaten der Bewegungskompensationsschaltung 50 zu. Nach Zuführen des decodierten Prädiktionsvektors und der decodierten Pixeldaten zur Bewegungskompensationsschaltung 50 als Reaktion auf das ACK-Signal ändert der Slice-Decoder 47 das Niveau des REQ-Signals von „1" auf "0". Danach decodiert der Slice-Decoder 47 einen folgenden Makroblock und ändert wieder das Niveau des REQ-Signals von „0" auf „1", wenn das Decodieren abgeschlossen ist.
  • Der Slice-Decoder 48 mit Schaltungskomponenten wie beispielsweise der Makroblockerfassungsschaltung 85 bis zur Invers-DCT-Schaltung 88 und auch der Slice-Decoder 49 mit Schaltungskomponenten wie beispielsweise der Makroblockerfassungsschaltung 89 bis zur Invers-DCT-Schaltung 92 arbeiten in einer ähnlichen Weise wie der Slice-Decoder 47 mit den Schaltungskomponenten wie beispielsweise der Makroblockerfassungsschaltung 81 und der Invers-DCT-Schaltung 84, und daher werden sie hier nicht in mehr Einzelheiten beschrieben.
  • Die Bewegungskompensationsschaltung 50 enthält drei Register Reg_REQ_A, Reg_REQ_B und Reg_REQ_C, die angeben, ob eine Bewegungskompensation für die von den jeweiligen Slice-Decodern 47 bis 49 eingegebenen Daten abgeschlossen ist. Die Bewegungskompensationsschaltung 50 prüft die Werte dieser Register und wählt einen der Slice-Decoder 47 bis 49 in Abhängigkeit von den Werten der Register aus. Wenn die Bewegungskompensationsschaltung 50 eine Bewegungskompensationsanfrage annimmt (d.h. wenn ein REQ-Signal empfangen wird, gibt die Bewegungskompenationsschaltung 50 ein ACK-Signal aus, um einen Prädiktionsvektor und Pixeldaten zu empfangen), führt die Bewegungskompensationsschaltung 50 eine Bewegungskompensation unter Verwendung des ausgewählten Slice-Decoders durch. Im obigen Betrieb nimmt die Bewegungskompensationsschaltung 50 eine nächste Anfrage zur Bewegungskompensation an, nachdem alle Slice-Decoder 47 bis 49 einmal als Reaktion auf ein REQ-Signal des Niveaus „1" die Bewegungskompensation abgeschlossen haben. Wenn zum Beispiel der Slice-Decoder 47 eine nächste Bewegungskompensationsanfrage nach einer vorherigen Bewegungskompensationsanfrage ausgibt, akzeptiert die Bewegungskompensationsschaltung 50 die nächste Bewegungskompensationsanfrage nicht, bis die durch den Slice-Decoder 48 und den Slice-Decoder 49 durchgeführte Bewegungskompensation abgeschlossen ist. Die Art und Weise, in welcher die Bewegungskompensationsschaltung 50 einen Ausgang eines der Slice-Decoder 47 bis 49 auswählt, um ihn der Bewegungskompensation zu unterziehen, wird später unter Bezug auf 21 und 22 beschrieben.
  • Falls ein von einem der Slice-Decoder 47 bis 49 empfangener Makroblock keine Bewegungskompensation benötigt, schreibt die Bewegungskompensationsschaltung 50, falls die Pixeldaten des Makroblocks Luminanzdaten sind, die Luminanzdaten über die Luminanzpuffersteuerschaltung 51 in den Luminanzpuffer 71, während die Bewegungskompensationsschaltung 50, wenn die Pixeldaten Farbdifferenzdaten sind, die Farbdifferenzdaten über die Farbdifferenzpuffersteuerschaltung 52 in den Farbdifferenzpuffer 72 schreibt, als Vorbereitung zum Ausgeben von Anzeigedaten und auch zur zukünftigen Verwendung als Referenzdaten für andere Bilddaten.
  • Falls dagegen ein Makroblockausgang von einem der Slice-Decoder 47 bis 49 eine Bewegungskompensation benötigt, liest die Bewegungskompensationsschaltung 50 entsprechend einem von einem entsprechenden Slice-Decoder 47 bis 49 empfangenen Prädiktionsvektor Referenzpixeldaten, wobei die Referenzpixeldaten über die Luminanzpuffersteuerschaltung 51 aus dem Luminanzpuffer 71 gelesen werden, wenn die Pixeldaten Luminanzdaten sind, während die Referenzpixeldaten über die Farbdifferenzpuffersteuerschaltung 52 aus dem Farbdifferenzpuffer 72 gelesen werden, wenn die Pixeldaten Farbdifferenzdaten sind. Die Bewegungskompensationsschaltung 50 fügt die erhaltenen Referenzpixeldaten zu den von einem der Slice-Decoder 47 bis 49 zugeführten Pixeldaten hinzu, wodurch die Bewegungskompensation durchgeführt wird.
  • Nach Abschluss der Bewegungskompensation schreibt die Bewegungskompensationsschaltung 50 die resultierenden Pixeldaten über die Luminanzpuffersteuerschaltung 51 in den Luminanzpuffer 71, wenn die Pixeldaten Luminanzdaten sind, oder über die Farbdifferenzpuffersteuerschaltung 52 in den Farbdifferenzpuffer 72, wenn die Pixeldaten Farbdifferenzdaten sind, in Vorbereitung zum Ausgeben der Anzeigedaten und auch zur zukünftigen Verwendung als Referenzdaten für andere Pixeldaten.
  • Die Anzeigesignalausgangsschaltung 53 erzeugt ein Synchronisierungstaktsignal, das beim Ausgeben der decodierten Bilddaten verwendet wird. Entsprechend dem Taktsignal liest die Anzeigesignalausgangsschaltung 53 die Luminanzdaten über die Luminanzpuffersteuerschaltung 51 aus dem Luminanzpuffer 71 und liest auch die Farbdifferenzdaten über die Farbdifferenzpuffersteuerschaltung 52 aus dem Farbdifferenzpuffer 72, und die Anzeigesignalausgangsschaltung 53 gibt sie als ein decodiertes Videosignal aus.
  • Das mit der Steuerung 34 verbundene Laufwerk 35 wird benutzt, um Daten von einer oder auf eine Magnetplatte 101, eine optische Platte 102, eine magnetooptische Platte 103 oder einen Halbleiterspeicher 104 zu lesen und zu schreiben, die/der erforderlichenfalls im Laufwerk geladen ist. Die Steuerung 34 ist zum Steuern der Vorgänge der IC 31 und des oben beschriebenen Laufwerks 35 verantwortlich. Insbesondere steuert die Steuerung 34 den Betrieb der IC 31 entsprechend einem auf zum Beispiel der magnetischen Platte 101, der optischen Platte 102, der magnetooptischen Platte 103 oder dem Halbleiterspeicher 104, die im Laufwerk 35 geladen sind, gespeicherten Programm.
  • Die Funktionsweise der Slice-Decoder-Steuerschaltung 46 wird nun unter Bezug auf ein in 19 dargestelltes Flussdiagramm beschrieben.
  • In Schritt S1 setzt die Slice-Decoder-Steuerschaltung 46 nach dem Einstellen der Anzahl Makroblöcke, wie sie in einer vertikalen Richtung eines Bildes gezählt werden, den Wert N des Registers, der angibt, welcher Slice im Bild zu bearbeiten ist, auf einen Anfangswert von 1. In Schritt S2 bestimmt die Slice-Decoder-Steuerschaltung 46, ob der Slice-Decoder 47 in Betrieb ist.
  • Falls in Schritt S2 bestimmt wird, dass der Slice-Decoder 47 nicht in Betrieb ist, geht der Prozess weiter zu Schritt S3. In Schritt S3 führt die Slice-Decoder-Steuerschaltung 46 dem Slice-Decoder 47 zur Bildebene gehörende Parameter und einen in den Startcodeinformationen enthaltenen Schreibzeiger des Slices N zu und lässt den Slice-Decoder 47 den Slice N decodieren. Danach geht der Prozess zu Schritt S8.
  • Falls in Schritt S2 bestimmt wird, dass der Slice-Decoder 47 in Betrieb ist, geht der Prozess zu Schritt S4. In Schritt S4 bestimmt die Slice-Decoder-Steuerschaltung 46, ob der Slice-Decoder 48 in Betrieb ist. Falls in Schritt S4 bestimmt wird, dass der Slice-Decoder 48 nicht in Betrieb ist, geht der Prozess zu Schritt S5. In Schritt S5 führt die Slice-Decoder-Steuerschaltung 46 dem Slice-Decoder 48 die zur Bildebene gehörenden Parameter und den in den Startcodeinformationen enthaltenen Schreibzeiger des Slices N zu und lässt den Slice-Decoder 48 den Slice N decodieren. Danach geht der Prozess zu Schritt S8.
  • Falls in Schritt S4 bestimmt wird, dass der Slice-Decoder 48 in Betrieb ist, geht der Prozess zu Schritt S6. In Schritt S6 bestimmt der Slice-Decoder-Steuerschaltung 46, ob der Slice-Decoder 49 in Betrieb ist. Falls in Schritt S6 bestimmt wird, dass der Slice-Decoder 49 in Betrieb ist, kehrt der Prozess zu Schritt S2 zurück, um den oben beschriebenen Vorgang zu wiederholen.
  • Falls in Schritt S6 bestimmt wird, dass der Slice-Decoder 49 nicht in Betrieb ist, geht der Prozess zu Schritt S7. In Schritt S7 führt die Slice-Decoder-Steuerschaltung 46 dem Slice-Decoder 49 die zur Bildebene gehörenden Parameter und den in den Startcodeinformationen enthaltenen Schreibzeiger des Slices N zu und lässt den Slice-Decoder 49 den Slice N decodieren. Danach geht der Prozess zu Schritt S8.
  • In Schritt S8 erhöht die Slice-Decoder-Steuerschaltung 46 den Wert N des Registers, das den zu bearbeitenden Slice im codierten Datenstrom angibt, um 1. In Schritt S9 bestimmt die Slice-Decoder-Steuerschaltung 46, ob das Decodieren für alle Slices abgeschlossen ist. Falls in Schritt S9 bestimmt wird, dass das Decodieren nicht für alle Slices abgeschlossen ist, kehrt der Prozess zu Schritt S2 zurück, um den obigen Vorgang zu wiederholen. Falls in Schritt S9 bestimmt wird, dass das Decodieren für alle Slices abgeschlossen worden ist, wird der Prozess der Slice-Decoder-Steuerschaltung 46 beendet.
  • Bezug nehmend auf 20 wird nun ein spezielles Beispiel des oben unter Bezug auf 19 beschriebenen, durch die Slice-Decoder-Steuerschaltung 46 durchgeführten Prozesses beschrieben. Wie oben beschrieben, decodiert der Bilddecoder 45 Daten in der Bildebene und die erhaltenen Parameter werden der Slice-Decoder-Steuerschaltung 46 zugeführt. In dem oben unter Bezug auf 19 beschriebenen Schritt S1 initialisiert die Slice-Decoder-Steuerschaltung 46 nach dem Einstellen der Anzahl Makroblöcke, wie sie in der vertikalen Richtung eines Bildes gezählt werden (d.h. den maximal zulässigen Wert für N des Registers) den Wert N des Registers auf 1. In diesem speziellen Beispiel wird im nächsten Schritt S2 bestimmt, dass der Slice-Decoder 47 nicht in Betrieb ist, und daher geht der Prozess zu Schritt S3. In Schritt S3 führt die Slice-Decoder-Steuerschaltung 46 die Parameter der Bildebene und den zum Slice 1 gehörenden Schreibzeiger, der in den Startcodeinformationen enthalten ist, dem Slice-Decoder 47 zu. Als Reaktion decodiert der Slice-Decoder 47 den Slice N (N = 1 in diesem speziellen Fall). In Schritt S8 erhöht die Slice-Decoder-Steuerschaltung 46 den Wert N des Registers um 1. In Schritt S9 wird bestimmt, dass das Decodieren nicht für alle Slices abgeschlossen ist, und somit kehrt der Prozess zu Schritt S2 zurück.
  • In Schritt S2 wird bestimmt, dass der Slice-Decoder 47 in Betrieb ist. Somit geht der Prozess zu Schritt S4. In Schritt S4 wird bestimmt, dass der Slice-Decoder 48 nicht in Betrieb ist. Daher geht der Prozess zu Schritt S5, die Slice-Decoder-Steuerschaltung 46 führt die Parameter der Bildebene und den zum Slice 2 gehörenden Schreibzeiger dem Slice-Decoder 48 zu. Als Reaktion decodiert der Slice-Decoder 48 den Slice N (N = 2 in diesem speziellen Fall). In Schritt S8 erhöht die Slice-Decoder-Steuerschaltung 46 den Wert N des Registers um 1. In Schritt S9 wird bestimmt, dass das Decodieren nicht für alle Slices abgeschlossen ist, und daher kehrt der Prozess zu Schritt S2 zurück.
  • In Schritt S2 wird bestimmt, dass der Slice-Decoder 47 in Betrieb ist. Daher geht der Prozess zu Schritt S4. In Schritt S4 wird bestimmt, dass der Slice-Decoder 48 ebenfalls in Betrieb ist. Daher geht der Prozess zu Schritt S6. In Schritt S6 wird bestimmt, dass der Slice-Decoder 49 nicht in Betrieb ist. Daher geht der Prozess zu Schritt S7, die Slice-Decoder-Steuerschaltung 46 führt die Parameter der Bildebene und den zum Slice 3 gehörenden Schreibzeiger dem Slice-Decoder 49 zu. Als Reaktion decodiert der Slice-Decoder 49 den Slice N (N = 3 in diesem speziellen Fall). In Schritt S8 erhöht die Slice-Decoder-Steuerschaltung 46 den Wert N des Registers um 1. In Schritt S9 wird bestimmt, dass das Decodieren nicht für alle Slices abgeschlossen ist, und daher kehrt der Prozess zurück zu Schritt S2.
  • Wenn das Decodieren des gegebenen Slices abgeschlossen ist, geben die Slice-Decoder 47 bis 49 ein Signal, das den Abschluss des Decodierens anzeigt, an die Slice-Decoder-Steuerschaltung 46 aus. Mit anderen Worten wird bestimmt, dass alle Slice-Decoder 47 bis 49 in Betrieb sind, bis irgendeiner der Slice-Decoder 47 bis 49 das den Abschluss des Decodierens eines Slices anzeigende Signal ausgibt, und somit werden die Schritte S2, S4 und S6 wiederholt durchgeführt. Falls der Slice-Decoder 48 zu einer durch A in 20 bezeichneten Zeit ein den Abschluss des Decodierens anzeigendes Signal an die Slice-Decoder-Steuerschaltung 46 ausgibt, dann wird in Schritt S4 bestimmt, dass der Slice-Decoder 48 nicht in Betrieb ist, und daher führt in Schritt S5 die Slice-Decoder-Steuerschaltung 46 den zum Slice 4 gehörenden Schreibzeiger dem Slice-Decoder 48 zu. Als Reaktion decodiert der Slice-Decoder 48 den Slice N (N = 4 in diesem speziellen Fall). In Schritt S8 erhöht die Slice-Decoder-Steuerschaltung 46 den Wert N des Registers um 1. In Schritt S9 wird bestimmt, dass das Decodieren nicht für alle Slices abgeschlossen ist, und daher kehrt der Prozess zu Schritt S2 zurück.
  • Danach wiederholt die Slice-Decoder-Steuerschaltung 46 die Schritte S2, S4 und S6, bis ein den Abschluss des Decodierens anzeigendes Signal von einem der Slice-Decoder 47 bis 49 empfangen wird. Falls die Slice-Decoder-Steuerschaltung 46 zu einer durch B in 20 bezeichneten Zeit ein den Abschluss des Decodierens anzeigendes Signal vom Slice-Decoder 49 empfängt, dann bestimmt in Schritt S6 die Slice-Decoder-Steuerschaltung 46, dass der Slice-Decoder 49 nicht in Betriebe ist. Daher führt in Schritt S7 die Slice-Decoder-Steuerschaltung 46 den zum Slice 5 gehörenden Schreibzeiger dem Slice-Decoder 49 zu. Als Reaktion decodiert der Slice-Decoder 49 den Slice N (N = 5 in diesem speziellen Fall). In Schritt S8 erhöht die Slice-Decoder-Steuerschaltung 46 den Wert N des Registers um 1. In Schritt S9 wird bestimmt, dass das Decodieren nicht für alle Slices abgeschlossen ist, und daher kehrt der Prozess zu Schritt S2 zurück. Der obige Prozess wird wiederholt durchgeführt, bis das Decodieren des letzten Slices abgeschlossen ist.
  • Wie oben beschrieben, wählt die Slice-Decoder-Steuerschaltung 46 in Abhängigkeit von den Zuständen der Slice-Decoder 47 bis 49 den zum Decodieren eines Slices zu benutzenden der Slice-Decoder 47 bis 49 aus, sodass das Decodieren durch die Slice-Decoder 47 bis 49 effizient durchgeführt wird.
  • Bezug nehmend auf ein in 21 dargestelltes Flussdiagramm wird nun die durch die Bewegungskompensationsschaltung 50 durchgeführte Entscheidung zwischen den Slice-Decodern beschrieben.
  • In Schritt S21 initialisiert die Bewegungskompensationsschaltung 50 die internen Register Reg_REQ_A, Reg_REQ_B und Reg_REQ_C so, dass Reg_REQ_A = 0, Reg_REQ_B = 0, Reg_REQ_C = 0.
  • In Schritt S22 bestimmt die Bewegungskompensationsschaltung 50, ob die Werte der Register alle gleich 0 sind. Falls in Schritt S22 bestimmt wird, dass nicht die Werte aller Register gleich 0 sind (d.h. wenigstens ein Register hat einen Wert gleich 1), geht der Prozess zu Schritt S24.
  • Falls in Schritt S22 bestimmt wird, dass die Werte der Register alle gleich 0 sind, geht der Prozess zu Schritt S23. In Schritt S23 aktualisiert die Bewegungskompensationsschaltung 50 die Werte der Register entsprechend den von den Slice-Decodern 47 bis 49 ausgegebenen REQ-Signalen. Das heißt, falls das REQ-Signal vom Slice-Decoder 47 ausgegeben wird, wird Reg_REQ_A auf 1 gesetzt. Falls das REQ-Signal vom Slice-Decoder 48 ausgegeben wird, wird Reg_REQ_B auf 1 gesetzt. Falls das REQ-Signal vom Slice-Decoder 49 ausgegeben wird, wird Reg_REQ_C auf 1 gesetzt. Danach geht der Prozess zu Schritt S24.
  • In Schritt S24 bestimmt die Bewegungskompensationsschaltung 50, ob Reg_REQ_A = 1. Falls in Schritt S24 bestimmt wird, dass Reg_REQ_A = 1, geht der Prozess zu Schritt S25. In Schritt S25 sendet die Bewegungskompensationsschaltung 50 ein ACK-Signal an den Slice-Decoder 47 und setzt Reg_REQ_A auf 0 zurück. Der Slice-Decoder 47 gibt an die Bewegungskompensationsschaltung 50 einen durch den Vektordecoder 82 decodierten Prädiktionsvektor sowie Pixeldaten, die der durch die Invers-DCT-Schaltung 84 durchgeführten inversen DCT unterzogen wurden, aus. Danach geht der Prozess zu Schritt S30.
  • Falls in Schritt S24 bestimmt wird, dass Reg_REQ_A nicht gleich 1 ist, geht der Prozess zu Schritt S26. In Schritt S26 bestimmt die Bewegungskompensationsschaltung 50, ob Reg_REQ_B = 1. Falls in Schritt S26 bestimmt wird, dass Reg_REQ_B = 1, geht der Prozess zu Schritt S27. In Schritt S27 sendet die Bewegungskompensationsschaltung 50 ein ACK-Signal an den Slice-Decoder 48 und setzt Reg_REQ_B auf 0 zurück. Der Slice-Decoder 48 gibt an die Bewegungskompensationsschaltung 50 einen durch den Vektordecoder 86 decodierten Prädiktionsvektor sowie Pixeldaten, die der durch die Invers-DCT-Schaltung 88 durchgeführten inversen DCT unterzogen wurden, aus. Danach geht der Prozess zu Schritt S30.
  • Falls in Schritt S26 bestimmt wird, dass Reg_REQ_B nicht gleich 1 ist, geht der Prozess zu Schritt S28. In Schritt S28 bestimmt die Bewegungskompensationsschaltung 50, ob Reg_REQ_C = 1. Falls in Schritt S28 bestimmt wird, dass Reg_REQ_C nicht gleich 1 ist, kehrt der Prozess zu Schritt S22 zurück, um den obigen Vorgang zu wiederholen.
  • Falls in Schritt S28 bestimmt wird, das Reg_REQ_C = 1, geht der Prozess zu Schritt S29. In Schritt S29 sendet die Bewegungskompensationsschaltung 50 ein ACK-Signal an den Slice-Decoder 49 und setzt Reg_REQ_C auf 0 zurück. Der Slice-Decoder 49 gibt an die Bewegungskompensationsschaltung 50 einen durch den Vektordecoder 90 decodierten Prädiktionsvektor sowie Pixeldaten, die der durch die Invers-DCT-Schaltung 92 durchgeführten inversen DCT unterzogen wurden, aus. Danach geht der Prozess zu Schritt S30.
  • In Schritt S30 bestimmt die Bewegungskompensationsschaltung 50, ob ein von einem der Slice-Decoder 47 bis 49 empfangener Makroblock eine Bewegungskompensation benötigt.
  • Falls in Schritt S30 bestimmt wird, dass der Makroblock einer Bewegungskompensation bedarf, geht der Prozess zu Schritt S31. In Schritt S31 führt die Bewegungskompensationsschaltung 50 eine Bewegungskompensation am empfangenen Makroblock durch. Das heißt, entsprechend dem von dem entsprechenden der Slice-Decoder 47 bis 49 ausgegebenen Prädiktionsvektor liest die Bewegungskompensationsschaltung 50, wenn die Pixeldaten des gegebenen Makroblocks Luminanzdaten sind, über die Luminanzpufferschaltung 51 Referenzpixeldaten aus dem Luminanzpuffer 71 aus, während die Bewegungskompensationsschaltung 50, wenn die Pixeldaten des gegebenen Makroblocks Farbdifferenzdaten sind, Referenzpixeldaten über die Farbdifferenzpuffersteuerschaltung 52 aus dem Farbdifferenzpuffer 72 liest, und die Bewegungskompensationsschaltung 50 fügt die erhaltenen Referenzbilddaten den von einem der Slice-Decoder 47 bis 49 zugeführten Pixeldaten hinzu, um dadurch die Bewegungskompensation durchzuführen.
  • Nach Abschluss der Bewegungskompensation schreibt die Bewegungskompensationsschaltung 50 die resultierenden Pixeldaten über die Luminanzpuffersteuerschaltung 51 in den Luminanzpuffer 71, wenn die Pixeldaten Luminanzdaten sind, oder über die Farbdifferenzpuffersteuerschaltung 52 in den Farbdifferenzpuffer 72, wenn die Pixeldaten Farbdifferenzdaten sind, in Vorbereitung zum Ausgeben von Anzeigedaten und auch zur zukünftigen Verwendung als Referenzdaten für weitere Pixeldaten. Danach kehrt der Prozess zu Schritt S22 zurück, um den obigen Vorgang zu wiederholen.
  • Falls in Schritt S30 bestimmt wird, dass der gegebene Makroblock keine Bewegungskompensation benötigt, geht der Prozess zu Schritt S32. In Schritt S32 schreibt die Bewegungskompensationsschaltung 50 die Pixeldaten über die Luminanzpuffersteuerschaltung 51 in den Luminanzpuffer 71, wenn die Pixeldaten Luminanzdaten sind, oder über die Farbdifferenzpuffersteuerschaltung 52 in den Farbdifferenzpuffer 72, wenn die Pixeldaten Farbdifferenzdaten sind, in Vorbereitung zum Ausgeben von Anzeigedaten und auch zur zukünftigen Verwendung als Referenzdaten für ein weiteres Bild. Danach kehrt der Prozess zu Schritt S22 zurück, um den obigen Vorgang zu wiederholen.
  • Bezug nehmend auf 22 wird nun ein spezielles Beispiel des oben unter Bezug auf 21 beschriebenen, durch die Bewegungskompensationsschaltung 50 durchgeführten Entscheidungsprozesses zwischen den Decodern beschrieben.
  • Wenn zu einer durch C in 22 bezeichneten Zeit in Schritt S22 in 21 bestimmt wird, dass die Werte der Register der Bewegungskompensationsschaltung 50 alle gleich 0 sind, d.h. alle Slice-Decoder 47 bis 49 das REQ-Signal ausgeben, geht der Prozess zu Schritt S23, um die Werte der Register so zu aktualisieren, dass Reg_REQ_A = 1, Reg_REQ_B = 1 und Reg_REQ_C = 1. In Schritt S24 wird bestimmt, dass Reg_REQ_A = 1, und daher gibt die Bewegungskompensationsschaltung 50 in Schritt S25 ein ACK-Signal an den Slice-Decoder 47 aus und setzt Reg_REQ_A auf 0 zurück. Die Bewegungskompensationsschaltung 50 empfängt einen Prädiktionsvektor und Pixeldaten vom Slice-Decoder 47 und führt einen ersten Bewegungskompensationsprozess durch.
  • Wenn der erste Bewegungskompensationsprozess zu einer durch D in 22 bezeichneten Zeit abgeschlossen ist, kehrt der Prozess zu Schritt S22 zurück. Zu der durch D in 22 bezeichneten Zeit wird das REQ-Signal vom Slice-Decoder 47 ausgegeben. Die Werte der Register sind jedoch so, dass Reg_REQ_A = 0, Reg_REQ_B = 1 und Reg_REQ_C = 1, und daher wird in Schritt S22 bestimmt, dass nicht alle Werte der Register gleich 0 sind. Als Ergebnis geht der Prozess ohne Aktualisieren des Werts irgendeines Registers zu Schritt S24.
  • In Schritt S24 wird bestimmt, dass Reg_REQ_A = 0, und daher geht der Prozess zu Schritt S26, in dem bestimmt wird, dass Reg_REQ_B = 1. Daher gibt in Schritt S27 die Bewegungskompensationsschaltung 50 ein ACK-Signal an den Slice-Decoder 48 aus und setzt Reg_REQ_B auf 0 zurück. Die Bewegungskompensationsschaltung 50 empfängt einen Prädiktionsvektor und Pixeldaten vom Slice-Decoder 48 und führt einen zweiten Bewegungskompensationsprozess durch.
  • Wenn der zweite Bewegungskompensationsprozess zu einer durch E in 22 bezeichneten Zeit abgeschlossen ist, kehrt der Prozess zu Schritt S22 zurück. Ebenso wird zu der durch E in 22 bezeichneten Zeit das REQ-Signal vom Slice-Decoder 47 ausgegeben. Weil jedoch die Werte der Register so sind, dass Reg_REQ_A = 0, Reg_REQ_B = 0 und Reg_REQ_C = 1, wird in Schritt S22 bestimmt, dass nicht alle Werte der Register gleich 0 sind. Als Ergebnis wird der Wert keines Registers zu der durch D in 22 bezeichneten Zeit aktualisiert.
  • Anschließen wird in Schritt S24 bestimmt, dass Reg_REQ_A = 0, und es wird in Schritt S26 bestimmt, dass Reg_REQ_B = 9. Ferner wird in Schritt S28 bestimmt, dass Reg_REQ_C = 1. Daher gibt in Schritt S29 die Bewegungskompensationsschaltung 50 ein ACK-Signal an den Slice-Decoder 49 aus und setzt Reg_REQ_C auf 0 zurück. Die Bewegungskompensationsschaltung 50 empfängt einen Prädiktionsvektor und Pixeldaten vom Slice-Decoder 49 und führt einen dritten Bewegungskompensationsprozess durch.
  • Wenn der dritte Bewegungskompensationsprozess zu einer durch F in 22 bezeichneten Zeit abgeschlossen ist, kehrt der Prozess wieder zu Schritt S22 zurück. Zu der durch F in 22 bezeichneten Zeit sind die Werte der Register so, dass Reg_REQ_A = 0, Reg_REQ_B = 0 und Reg_REQ_C = 0, und daher werden in Schritt S23 die Werte der Register so aktualisiert, dass Reg_REQ_A = 1, Reg_REQ_B = 1 und Reg_REQ_C = 0.
  • Danach wird in Schritt S24 bestimmt, dass Reg_REQ_A = 1, und ein vierter Bewegungskompensationsprozess wird in einer ähnlichen Weise durchgeführt.
  • Durch wiederholtes Durchführen des oben beschriebenen Prozesses führt die Bewegungskompensationsschaltung 50 eine Bewegungskompensation mit einer Entscheidung zwischen den Slice-Decodern 47 bis 49 durch.
  • Wie oben beschrieben, macht es in dem beispielhaften MPEG-Videodecoder 40 gemäß der vorliegenden Erfindung der darin vorgesehene Startcodepuffer 62 möglich, dass der Bilddecoder 45 und die Slice-Decoder 47 bis 49 auf den Datenstrompuffer 61 zugreifen können, ohne auf den Abschluss der Vorgänge der anderen Decoder warten zu müssen. Ferner können die Slice-Decoder 47 bis 49 unter der Steuerung der Slice-Decoder-Steuerschaltung 46 parallel arbeiten. Ferner wählt die Bewegungskompensationsschaltung 50 einen geeigneten der Slice-Decoder 47 bis 49 aus und führt eine Bewegungskompensation durch Zugriff auf den Luminanzpuffer 71 und den Farbdifferenzpuffer 72 durch, die separat voneinander vorgesehen sind. Wie aus der obigen Beschreibung ersichtlich, ist es möglich, weil der MPEG-Decoder 40 die verbesserte Decodierleistung und auch eine verbesserte Leistung beim Zugriff auf die Zwischenspeicher hat, einen 4:2:2P@HL/MPEG-2-Videobitstrom in Echtzeit zu decodieren.
  • Die benötigte Fähigkeit, einen MP@ML/MPEG-2-Videobitstrom in Echtzeit zu decodieren beträgt nur 1/6 der zum Decodieren eines 4:2:2P@HL/MPEG-2-Videobitstroms benötigten Fähigkeit. Mit anderen Worten kann der beispielhafte MPEG-Videodecoder 40 gemäß der vorliegenden Erfindung einen MP@ML/MPEG-2-Videobitstrom mit einer um einen Faktor von bis zu 6 größeren Geschwindigkeit wiedergeben.
  • Insbesondere wird es zum Beispiel möglich, falls der MPEG-Videodecoder 40 in einem in 23 dargestellten System eingesetzt wird, einen MP@ML/MPEG-2-Videobitstrom mit einer hohen Geschwindigkeit wiederzugeben.
  • In diesem System wird ein MP@ML/MPEG-2-Videobitstrom auf einem Festplattenlaufwerk (HDD) 111 gespeichert. Unter der Steuerung der Steuerung 34 des MPEG-Videodecoders 40 liest ein Wiedergabegerät 112 den auf der Festplatte 111 gespeicherten MP@ML/MPEG-2-Videobitstrom mit einer höheren Geschwindigkeit (zum Beispiel 6-fach höher) als eine normale Geschwindigkeit aus und führt den Hochgeschwindigkeits-Datenstrom dem MPEG-Videodecoder 40 zu.
  • Zum Beispiel wird ein MP@ML/MPEG-2-Videobitstrom, wie beispielsweise der in 24(A) gezeigte, durch den MPEG-Videodecoder 40 ohne Weglassen irgendeines Teils des Decodierprozesses vollständig decodiert, und die resultierenden decodierten Daten werden in den Luminanzpuffer 71 und den Farbdifferenzpuffer 72 geschrieben, wie in 24(B) gezeigt. Falls die im Luminanzpuffer 71 und Farbdifferenzpuffer 72 geschriebenen Bilddaten durch die Anzeigesignalausgangsschaltung 53 so gelesen werden, dass unabhängig von der Bildart jedes sechste Vollbild ein Vollbild gelesen wird, und falls die resultierenden Bilddaten als ein decodiertes Videosignal an eine folgende Stufe ausgegeben werden, wird das Bild mit einer Geschwindigkeit des 6-fachen der normalen Geschwindigkeit wiedergegeben.
  • Falls die im Luminanzpuffer 71 und Farbdifferenzpuffer 72 geschriebenen Bilddaten durch die Anzeigesignalausgangsschaltung 53 so gelesen werden, dass unabhängig von der Bildart jedes dritte Vollbild ein Vollbild gelesen wird, und falls die resultierenden Bilddaten als ein decodiertes Videosignal an die nachfolgende Stufe ausgegeben werden, wird das Bild mit einer Geschwindigkeit des 3-fachen der normalen Geschwindigkeit wiedergegeben.
  • Das heißt, wenn die im Luminanzpuffer 71 und im Farbdifferenzpuffer 72 geschriebenen Bilddaten durch die Anzeigesignalausgangsschaltung 53 so gelesen werden, dass unabhängig von der Bildart jedes X-te Vollbild ein Vollbild gelesen wird, und wenn die resultierenden Bilddaten als ein decodiertes Videosignal an die nachfolgende Stufe ausgegeben werden, wird das Bild mit einer hohen Geschwindigkeit des X-fachen der normalen Geschwindigkeit wiedergegeben. Falls X = 0, wird das Bild in einem Standmodus wiedergegeben.
  • Wie oben beschrieben, ist es im MPEG-Videodecoder 40 durch Lesen eines Vollbildes nach jeder bestimmten Anzahl von Vollbildern mittels der Anzeigesignal ausgangsschaltung 53 möglich, ein Bild mit einer natürlichen Bewegung ohne Bewirken einer sprunghaften Bewegung auszugeben.
  • Wenn der zum Wiedergeben eines MP@ML/MPEG-2-Videobitstroms mit einer hohen Geschwindigkeit fähige MPEG-Videodecoder 40 beim Editieren von Videodaten eingesetzt wird, kann ein Nutzer den Inhalt eines durch ein Videosignal dargestellten Bildes leicht verstehen. Ferner ist es möglich, eine gewünschte Editierstelle schnell aufzufinden, und so kann das Editieren in einer hocheffizienten Weise durchgeführt werden.
  • Wenn zwei zusätzliche Anzeigesignalausgangsschaltungen ähnlich der oben beschriebenen in dem in 18 dargestellten MPEG-Vidoedecoder 40 vorgesehen werden, sodass der MPEG-Videodecoder insgesamt drei Ausgangssysteme besitzt, wird es möglich, einen MPEG-2-Videobitstromeingang mit einer Geschwindigkeit des 6-fachen der normalen Geschwindigkeit zu decodieren und das resultierende decodierte Videosignal mit einer Wiedergabegeschwindigkeit des 3-fachen der normalen Geschwindigkeit sequenziell über die drei Ausgangssysteme auszugeben.
  • Ausführungsbeispiele der vorliegenden Erfindung können auch auf eine Anwendung angewendet werden, bei welcher ein 2:1-Halbbild, 30 Vollbilder pro Sekunde, MP@ML/MPEG-2-Videobitstrom mit einer Geschwindigkeit des Doppelten der normalen Geschwindigkeit aus einem Speichermedium gelesen wird und ein Bild in einer nicht-verschachtelten Form mit einer Rate von 60 Vollbildern pro Sekunde ausgegeben wird.
  • Obwohl in dem in 23 dargestellten System ein MP@ML/MPEG-2-Videobitstrom auf dem Festplattenlaufwerk 111 gespeichert ist, kann anstelle des Festplattenlaufwerks 111 auch eine andere Art Speichermedium benutzt werden, falls sie in der Lage ist, einen MP@ML/MPEG-2-Videobitstrom mit einer Geschwindigkeit des 6-fachen der normalen Geschwindigkeit zu lesen.
  • Ein zweites Beispiel eines Aufbaus eines MPEG-Videodecoders gemäß der vorliegenden Erfindung wird nun unter Bezug auf 25 beschrieben. Dieser MPEG-Videodecoder 130 decodiert codierte Datenströme mehrerer Kanäle (in diesem Beispiel codierte Datenströme von Kanälen CH1 und CH2) parallel und führt die resultierenden Videoausgänge von CH1 und CH2 einer nachfolgenden Stufe zu. Wie bei dem in 18 dargestellten MPEG-Videodecoder 40 hat der MPEG-Videodecoder 130 die Fähigkeit des Decodierens mit einer Geschwindigkeit um das 6-fache schneller als der in 15 dargestellte herkömmliche Videodecoder.
  • Der Unterschied im Aufbau zwischen dem MPEG-Videodecoder 130 und dem MPEG-Videodecoder 40 wird nun beschrieben. Im MPEG-Videodecoder 130 sind die Datenstromeingangsschaltung 41, die Startcodeerfassungsschaltung 42 und die Anzeigesignalausgangsschaltung 43 des MPEG-Videodecoders 40 jeweils durch entsprechende Teile ersetzt, die für die Abwicklung der Kanäle CH1 und CH2 bestimmt sind. Das heißt, für Kanal CH1 sind eine Datenstromeingangsschaltung 41-1, eine Startcodeerfassungsschaltung 42-1 und eine Anzeigesignalausgangsschaltung 53-1 vorgesehen, und eine Datenstromeingangsschaltung 41-2, eine Startcodeerfassungsschaltung 42-2 und eine Anzeigesignalausgangsschaltung 53-2 sind für den Kanal CH2 vorgesehen. Ferner haben im MPEG-Videodecoder 130 der Datenstrompuffer 61, der Startcodepuffer 62, der Luminanzpuffer 71 und der Farbdifferenzpuffer 72 des Zwischenspeichers 32 jeweils Speicherbereiche zur Nutzung für den Kanal CH1 und den Kanal CH2.
  • Die Datenstromeingangsschaltung 41-1 empfängt einen hocheffizient codierten Datenstrom (MPEG-2-Videobitstrom) des Kanals CH1 und führt ihn der Startcodeerfassungsschaltung 42-1 zu. Die Startcodeerfassungsschaltung 42-1 führt den empfangenen codierten Datenstrom des Kanals CH1 der Datenstrompuffersteuerschaltung 43 zu. Die Startcodeerfassungsschaltung 42-1 erfasst auch einen früher unter Bezug auf 14 beschriebenen Startcode und erzeugt auf der Basis des erfassten Startcodes Startcodeinformationen mit Daten, die die Art des Startcodes angeben, und einen Schreibzeiger, der eine Position im Speicherbereich zur Benutzung für den Kanal CH1 im Datenstrompuffer 61 angibt, an welcher der Startcode geschrieben werden soll. Die erzeugten Startcodeinformationen werden der Datenstrompuffersteuerschaltung 43 zugeführt.
  • Analog empfängt die Datenstromeingangsschaltung 41-2 einen hocheffizient codierten Datenstrom (MPEG-2-Videobitstrom) des Kanals CH2 und führt ihn der Startcodeerfassungsschaltung 42-2 zu. Die Startcodeerfassungsschaltung 42-2 führt den empfangenen codierten Datenstrom des Kanals CH2 der Datenstrompuffersteuerschaltung 43 zu. Die Startcodeerfassungsschaltung 42-2 erfasst auch einen früher unter Bezug auf 14 beschriebenen Startcode und erzeugt auf der Basis des erfassten Startcodes Startcodeinformationen einschließlich Daten, die die Art des Startcodes angeben, und eines Schreibzeigers, der eine Position im Speicherbereich zur Benutzung für den Kanal CH1 im Datenstrompuffer 61 anzeigt, an welcher der Startcode geschrieben werden soll. Die erzeugten Startcodeinformationen werden der Datenstrompuffersteuerschaltung 43 zugeführt.
  • Die Anzeigesignalausgangsschaltung 53-1 erzeugt ein Synchronisierungstaktsignal, das beim Ausgeben von decodierten Bilddaten des Kanals CH1 verwendet wird. Gemäß dem Taktsignal liest die Anzeigesignalausgangsschaltung 53 Luminanzdaten aus dem Luminanzpuffer 71 über die Luminanzpuffersteuerschaltung 51 und liest auch Farbdifferenzdaten aus dem Farbdifferenzpuffer 72 über die Farbdifferenzpuffersteuerschaltung 52, und die Anzeigesignalausgangsschaltung 53-1 gibt sie als ein decodiertes Videosignal des Kanals CH1 aus.
  • Analog erzeugt die Anzeigesignalausgangsschaltung 53-2 ein Synchronisierungstaktsignal, das beim Ausgeben von decodierten Bilddaten des Kanals CH2 verwendet wird. Entsprechend dem Taktsignal liest die Anzeigesignalausgangsschaltung 53 Luminanzdaten aus dem Luminanzpuffer 71 über die Luminanzsteuerschaltung 51 und liest auch Farbdifferenzdaten über die Farbdifferenzpuffersteuerschaltung 52 aus dem Farbdifferenzpuffer 72, und die Anzeigesignalausgangsschaltung 53-2 gibt sie als ein decodiertes Videosignal des Kanals CH2 aus.
  • Die anderen Schaltungskomponenten im MPEG-Videodecoder 130 sind ähnlich den durch ähnliche Bezugsziffern bezeichneten des MPEG-Videodecoders 40, und daher werden sie hier nicht in mehr Einzelheiten beschrieben.
  • Bezug nehmend auf ein in 26 gezeigtes Flussdiagramm wird nun ein Prozess beschrieben, der durch den MPEG-Videodecoder 130 unter der Steuerung der Steuerung 34 durchgeführt wird, um bis zu L Kanäle (L = 2 in diesem speziellen Beispiel) zu decodieren.
  • In Schritt S51 initialisiert die Steuerung 34 ein internes Register CH, das angibt, welcher Kanal decodiert werden soll. In Schritt S52 befiehlt die Steuerung 34 dem Bilddecoder 45, eine Bildebene eines Kanals entsprechend dem Wert des Registers CH zu decodieren. In Schritt S53 bestimmt die Steuerung 34, ob der Bilddecoder 45 das Decodieren der Bildebene des Kanals (Kanal CH1 in diesem speziellen Fall) entsprechend dem Wert des Registers CH abgeschlossen hat. Falls das Decodieren nicht abgeschlossen ist, wartet die Steuerung 34 in Schritt S53, bis das Decodieren abgeschlossen ist.
  • Während der Wartedauer liest der Bilddecoder 45 entsprechend dem Befehl von der Steuerung 34 Startcodeinformationen aus dem zur Verwendung für den Kanal CH1 zugewiesenen Speicherbereich im Startcodepuffer 62 des Zwischenspeichers 32 über die Datenstrompuffersteuerschaltung 43 und erfasst einen Schreibzeiger von sequence_header, der den Startpunkt angibt, an welchem das Decodieren gestartet werden soll. Entsprechend dem zum Kanal CH1 gehörenden, erfassten Schreibzeiger von sequence_header liest der Bilddecoder 45 segeunce_header aus dem zur Verwendung für den Kanal CH1 zugewiesenen Speicherbereich im Datenstrompuffer 61 des Zwischenspeichers 32 und decodiert ihn. Analog liest der Bilddecoder 45 ferner sequence_extension, GOP_header, picture_header und picture_coding_extension aus dem zur Verwendung für den Kanal CH1 zugewiesenen Speicherbereich im Datenstrompuffer 61 und decodiert sie. Ferner liest der Bilddecoder 45 Startcodeinformationen aus dem zur Verwendung für den Kanal CH1 zugewiesenen Speicherbereich im Datenstrompuffer 61 und erfasst einen einem ersten Slice zugeordneten Schreibzeiger.
  • An dieser Stufe, an welcher alle Parameter der Bildebene, die zum Decodieren des Bildes des Kanals CH1 erforderlich sind, erhalten worden sind, meldet der Bilddecoder 45 der Steuerung 34, dass das Decodieren der Bildebene abgeschlossen worden ist.
  • Entsprechend dieser Meldung bestimmt die Steuerung 34 in Schritt S53, dass das Decodieren der Bildebene abgeschlossen worden ist. Danach geht der Prozess zu Schritt S54. In Schritt S54 empfängt die Steuerung 34 vom Bilddecoder 45 die der Bildebene des Kanals CH1 zugeordneten decodierten Parameter und speichert sie. In Schritt S55 bestimmt die Steuerung 34, ob der Slice-Decoder 46 bereit ist (ob der Slice-Decoder 46 einen vorherigen Prozess abgeschlossen hat). Falls der Slice-Decoder 46 nicht bereit ist, wartet die Steuerung 34 in Schritt S55, bis der Slice-Decoder 46 bereit wird. Falls bestimmt wird, dass der Slice-Decoder 46 bereit ist, geht der Prozess zu Schritt S56.
  • In Schritt S56 führt die Steuerung 34 die der Bildebene des Kanals CH1 zugeordneten Parameter, die nach dem Empfangen vom Bilddecoder 45 gespeichert werden, der Slice-Decoder-Steuerschaltung 46 zu. In Schritt S57 befiehlt die Steuerung 34 der Slice-Decoder-Steuerschaltung 46 und der Bewegungskompensationsschaltung 50, eine Slice-Ebene des Kanals CH1 zu decodieren.
  • Als Reaktion auf den Befehl ordnet die Slice-Decoder-Steuerschaltung 46 jeweilige Slices des Kanals CH1 den Slice-Decodern 47 bis 49 zu, um sie zu decodieren. Die Einzelheiten des obigen Vorgangs sind ähnlich dem oben unter Bezug auf 19 und 20 beschriebenen Vorgang, und daher wird der Vorgang hier nicht in mehr Einzelheiten beschrieben. Als Reaktion auf den obigen Befehl führt die Bewegungskompensationsschaltung 50 eine Entscheidung zwischen durch die Slice-Decoder 47 bis 49 ausgegebenen Anfragen durch. Der Entscheidungsprozess ist ähnlich dem oben unter Bezug auf 21 und 22 beschriebenen, und daher wird er hier nicht mehr Einzelheiten beschrieben.
  • Wenn das Decodieren eines Bildes des Kanals CH1 über den oben beschriebenen Prozess abgeschlossen ist, meldet die Slice-Decoder-Steuerschaltung 46 der Steuerung 34, dass das Decodieren eines Bildes abgeschlossen worden ist.
  • Als Reaktion auf die Meldung erhöht die Steuerung 34 in Schritt S58 den Wert des Registers CH um 1. Im diesem speziellen Fall wird der Wert des Registers CH von 1 auf 2 erhöht. In Schritt S59 bestimmt die Steuerung, ob der Wert des Registers CH größer als L ist. Falls bestimmt wird, dass der Wert des Registers CH nicht größer als L ist, kehrt der Prozess zu Schritt S52 zurück und der oben beschriebene Prozess wird wiederholt. In diesem speziellen Fall ist L gleich 2 und der Wert des Registers CH ist gleich 2, und daher kehrt der Prozess zu Schritt S52 zurück, um den Vorgang für Kanal CH2 in den Schritten S52 bis S57 zu wiederholen.
  • Daher wird, falls der Wert des Registers CH wieder im Schritt S58 um 1 erhöht wird (von 2 auf 3 in diesem speziellen Fall), dann in Schritt S59 bestimmt, dass der Wert des Registers CH größer als L ist. Somit geht der Prozess zu Schritt S60. In Schritt S60 initialisiert die Steuerung 34 das Register CH auf 1. Danach kehrt der Prozess zu Schritt S52 zurück, um den obigen Vorgang zu wiederholen.
  • Das Decodieren wird für codierte Datenströme von L Kanälen (2 Kanälen in diesem speziellen Beispiel) in der oben beschriebenen Weise parallel durchgeführt.
  • In dem Prozess von Schritt S54 bis S56, in denen die Steuerung 34 die zur Bildebene gehörenden Parameter vom Bilddecoder 45 empfängt und sie speichert und dann die zur Bildebene gehörenden gespeicherten Parameter der Slice-Decoder-Steuerschaltung 46 zuführt, kann der Prozess anstelle durch die Steuerung 34 durch eine andere im MPEG-Videodecoder 130 vorgesehen Schaltung durchgeführt werden.
  • Die für den MPEG-Videodecoder 130 erforderliche Zeit zum Decodieren eines Bildes ist bis zu 1/6 der für den in 15 dargestellten herkömmlichen MPEG-Videodecoder zum Decodieren eines Bildes erforderlichen Zeit (d.h. der zum Decodieren mit einer normalen Geschwindigkeit erforderlichen Zeit). Mit anderen Worten ist der MPEG-Videodecoder 130 in der Lage, bis zu sechs Kanäle codierter Daten parallel zu decodieren.
  • 27 zeigt ein Beispiel eines Aufbaus eines MPEG-Videoserver/editorsystems unter Verwendung des MPEG-Videodecoders 130. In diesem MPEG-Videoserver/editorsystem sind mehrere Kanäle von MPEG-2-Videobitströmen auf einem Festplattenlaufwerk gespeichert. Hierbei kann anstelle des Festplattenlaufwerks 111 auch eine andere Art von Aufzeichnungs/Wiedergabevorrichtung eingesetzt werden, wie beispielsweise ein optisches Plattenlaufwerk, ein magnetooptisches Plattenlaufwerk, ein Magnetbandlaufwerk oder ein Halbleiterspeicherlaufwerk.
  • Unter der Steuerung der Steuerung 34 liest ein Wiedergabegerät 112 zum Beispiel zwei Kanäle von MPEG-2-Videobitströmen (codierte Datenströme der Kanäle CH1 und CH2, dargestellt in 27) der mehreren auf dem Festplattenlaufwerk 111 gespeicherten MPEG-2-Vidoebitströme, und das Wiedergabegerät 112 führt sie dem MPEG-Videodecoder 130 zu. Der MPEG-Videodecoder 130 decodiert die eingegebenen codierten Datenströme der Kanäle CH1 und CH2 in der oben beschriebenen Weise parallel und führt die resultierenden Videoausgänge der Kanäle CH1 und CH2 einer nachfolgenden Stufe zu. Alternativ kann einer der decodierten Videoausgänge des Kanals CH1 und CH2 als gewünscht ausgewählt werden und der ausgewählte Videoausgang kann der nachfolgenden Stufe zugeführt werden.
  • 28 zeigt ein drittes Beispiel eines Aufbaus eines MPEG-Videodecoders gemäß der vorliegenden Erfindung. In diesem MPEG-Videodecoder 150 wird ein gemultiplexter Datenstrom eingegeben, und mehrere Kanäle von codierten Datenströmen (codierte Datenströme der Kanäle CH1 und CH2 in diesem speziellen Beispiel), die in dem gemultiplexten Datenstrom enthalten sind, werden parallel decodiert, und die erhaltenen Videoausgänge der Kanäle CH1 und CH2 werden einer nachfolgenden Stufe zugeführt.
  • Der MPEG-Videodecoder 150 hat eine Konfiguration, die man durch Ersetzen der Datenstromeingangsschaltungen 41-1 und 41-2 des in 23 dargestellten MPEG-Videodecoders 130 durch eine Kanaltrennschaltung 151 erhält. Die Kanaltrennschaltung 151 trennt einen eingegebenen gemultiplexten Datenstrom (d.h. einen Transportstrom, auf dem MPEG-Videobitströme gemultiplext sind) in codierte Datenströme der Kanäle CH1 und CH2. Der codierte Datenstrom des Kanals CH1 wird der Startcodeerfassungsschaltung 42-1 zugeführt, und der codierte Datenstrom des Kanals CH2 wird der Startcodeerfassungsschaltung 42-2 zugeführt.
  • Die übrigen Schaltungskomponenten des MPEG-Videodecoders 150 sind ähnlich den durch ähnliche Bezugsziffern bezeichneten des MPEG-Videodecoders 130, und daher werden sie hier nicht in mehr Einzelheiten beschrieben. Die Funktionsweisen der Startcodeerfassungsschaltungen 42-1 und 42-2 und der nachfolgenden Schaltungskomponenten im MPEG-Videodecoder 150 sind ähnlich jenen der entsprechenden Schaltungskomponenten des MPEG-Videodecoders 130, und daher werden sie hier nicht in mehr Einzelheiten beschrieben.
  • Ein Beispiel einer Anwendung des MPEG-Videodecoders 150 wird nun unter Bezug auf 29 beschrieben. Hierbei hat der MPEG-Videodecoder 150 wie der in 25 dargestellte MPEG-Videodecoder 130 das Vermögen zum Decodieren mit einer Geschwindigkeit um sechs Mal schneller als der in 15 dargestellte herkömmliche Videodecoder. Mit anderen Worten ist der MPEG-Videodecoder 150 in der Lage, bis zu sechs Kanäle von codierten Datenströmen der auf einem eingegebenen gemultiplexten Datenstrom gemultiplexten codierten Datenströme zu decodieren.
  • Diese Technik kann verwendet werden, um eine als Wischen bekannte Bildkomposition zu realisieren, bei welcher, wie in 29 dargestellt, codierte Datenströme der Kanäle CH1 und CH2 wahlweise aus einem gemultiplexten Datenstrom getrennt und parallel decodiert werden, und die erhaltenen Videoausgänge der Kanäle CH1 und CH2 einem Videoschalter 161 zugeführt werden, der seinerseits allmählich ein Videobild des Kanals CH1 zu einem Videobild des Kanals CH2 schaltet.
  • Der oben beschriebene Prozess kann durch Software ausgeführt werden. Wenn der Prozess durch Software ausgeführt wird, kann ein die Software bildendes Programm auf einem Speichermedium auf einen Computer installiert werden, der als spezielle Hardware vorgesehen ist, oder kann auf einen Mehrzweck-Computer installiert werden, der zum Durchführen verschiedener Prozesse entsprechend verschiedenen darauf installierten Programmen in der Lage ist.
  • Verschiedene Arten von Speichermedien, wie beispielsweise die in 18 gezeigten, können für den obigen Zweck verwendet werden. Das heißt, spezielle Beispiele von Speichermedien für diesen Zweck enthalten eine Magnetplatte 101 (beispielsweise eine Floppydisk), eine optische Platte 102 (beispielsweise eine CD-ROM (Compact Disk-Read Only Memory) und eine DVD (Digital Versatile Disk)), eine magnetooptische Platte 103 (beispielsweise eine MD (Mini-Disk)) und einen Halbleiterspeicher 104, in der Form eines Verpackungsmediums, auf dem ein Programm gespeichert ist und der einem Benutzer separat von einem Computer geliefert wird.
  • In der vorliegenden Beschreibung können die in dem im Speichermedium gespeicherten Programm beschriebenen Schritte entweder zeitlich nacheinander entsprechend der im Programm beschriebenen Reihenfolge oder in einer parallelen oder getrennten Weise durchgeführt werden.
  • In der vorliegenden Beschreibung wird der Begriff „System" benutzt, um einen gesamten Satz an Vorrichtungen darzustellen.
  • Wie aus der obigen Beschreibung ersichtlich, stellen die Ausführungsbeispiele der vorliegenden Erfindung große Vorteile bereit. Das heißt, in der ersten Decodiervorrichtung, dem ersten Decodierverfahren und dem auf dem ersten Speichermedium gespeicherten Programm gemäß den Ausführungsbeispielen der vorliegenden Erfindung wird ein Decodieren eines beschleunigten codierten Datenstroms so gesteuert, dass das Decodieren parallel durchgeführt wird, und ein Bild entsprechend dem decodierten beschleunigten codierten Datenstrom wird mit einer beliebigen Geschwindigkeit ausgegeben, wodurch es möglich gemacht wird, einen Videodecoder mit einer realistischen Schaltungsgröße zu realisieren, der einen MP@ML/MPEG-2-Videobitstrom mit einer beliebigen Geschwindigkeit wiedergeben kann.
  • In der zweiten Decodiervorrichtung, dem zweiten Decodierverfahren und dem auf dem zweiten Speichermedium gespeicherten Programm gemäß den Ausführungsbeispielen der vorliegenden Erfindung werden mehrere Slice-Decoder so gesteuert, dass sie parallel arbeiten, um einen beschleunigten codierten Datenstrom zu decodieren, und ein Bild entsprechend dem decodierten beschleunigten codierten Datenstrom wird mit einer beliebigen Geschwindigkeit auszugeben, wodurch es möglich gemacht wird, einen Videodecoder mit einer realistischen Schaltungsgröße zu realisieren, der einen MP@ML/MPEG-2-Videobitstrom mit einer beliebigen Geschwindigkeit wiedergeben kann.
  • In der dritten Decodiervorrichtung, dem dritten Decodierverfahren und dem auf dem dritten Speichermedium gespeicherten Programm gemäß den Ausführungsbeispielen der vorliegenden Erfindung werden mehrere codierte Datenströme parallel decodiert, und mehrere Bilder entsprechend den resultierenden mehreren decodierten Datenströmen werden ausgegeben, wodurch es möglich gemacht wird, einen Videodecoder zu realisieren, der mehrere Kanäle von codierten Datenströmen parallel decodieren kann.
  • In der vierten Decodiervorrichtung, dem vierten Decodierverfahren und dem auf dem vierten Speichermedium gespeicherten Programm gemäß den Ausführungsbeispielen der vorliegenden Erfindung werden mehrere codierte Datenströme durch mehrere Slice-Decoder parallel decodiert, und mehrere Bilder entsprechend den mehreren durch die mehreren Slice-Decoder decodierten Datenströmen werden ausgegeben, wodurch es möglich gemacht wird, einen Videodecoder zu realisieren, der mehrere Kanäle von codierten Datenströmen parallel decodieren kann.
  • Insoweit die Ausführungsbeispiele der oben beschriebenen Erfindung zumindest teilweise mittels software-gesteuerter Datenverarbeitungsvorrichtungen realisiert werden, ist es offensichtlich, dass ein eine solche Softwaresteuerung bereitstellendes Computerprogramm und Speichermedium, durch welches ein solches Computerprogramm gespeichert wird, als Aspekte der vorliegenden Erfindung angesehen werden.

Claims (25)

  1. Decodiervorrichtung (130; 150) zum Decodieren eines codierten Datenstroms, mit einer Eingabeeinrichtung (41-4; 151) zum Eingeben eines beschleunigten codierten Datenstroms mit mehreren codierten Strömen; mehreren Decodiereinrichtungen (47-49) zum Decodieren der beschleunigten codierten Datenströme; einer Decodiersteuereinrichtung (46) zum Steuern der mehreren Decodiereinrichtungen derart, dass die mehreren Decodiereinrichtungen parallel arbeiten; und einer Ausgabesteuereinrichtung (51, 52, 53-1, 53-2) zum Ausgeben eines Bildes entsprechend jedem der mehreren codierten Ströme des beschleunigten codierten Datenstroms, die durch die mehreren Decodiereinrichtungen decodiert werden, mit einer beliebigen Wiedergabegeschwindigkeit.
  2. Decodiervorrichtung nach Anspruch 1, bei welcher der beschleunigte codierte Datenstrom ein MPEG-2-Videobitstrom mit einer um einen vorbestimmten Faktor erhöhten Bitrate ist.
  3. Decodiervorrichtung nach Anspruch 2, bei welcher die Ausgabesteuereinrichtung ein Bild entsprechend dem MPEG-2-Videobitstrom mit der um den vorbestimmten Faktor erhöhten Bitrate mit einer um einen Faktor im Bereich von Null bis zu einem vorbestimmten Wert erhöhten Wiedergabegeschwindigkeit ausgibt.
  4. Decodiervorrichtung nach Anspruch 1, bei welcher die Decodiereinrichtung ein einen Abschluss des Decodierens anzeigendes Signal an die Decodiersteuereinrichtung ausgibt, und die Decodiersteuereinrichtung die Decodiereinrichtung, die das den Abschluss des Decodierens anzeigende Signal ausgegeben hat, derart steuert, dass die Decodiereinrichtung einen weiteren codierten Datenstrom decodiert.
  5. Decodiervorrichtung nach Anspruch 1, ferner mit einer ersten Zwischenspeichereinrichtung (32) zum Zwischenspeichern des beschleunigten codierten Datenstroms; einer Leseeinrichtung (42; 42-1, 42-2) zum Lesen eines den Start einer vorbestimmten Informationseinheit, die in dem beschleunigten codierten Datenstrom enthalten ist, anzeigenden Startcodes aus dem beschleunigten codierten Datenstrom und weiter Lesen von eine Stelle in der Zwischenspeichereinrichtung, an welcher der Startcode gespeichert ist, angebenden Positionsinformation; einer zweiten Zwischenspeichereinrichtung zum Zwischenspeichern des Startcodes und der Positionsinformation, die durch die Leseeinrichtung gelesen werden; und einer Zwischenspeichersteuereinrichtung (43) zum Steuern des Zwischenspeicherns des beschleunigten codierten Datenstroms durch die erste Zwischenspeichereinrichtung und des Zwischenspeicherns des Startcodes und der Positionsinformation durch die zweite Zwischenspeichereinrichtung.
  6. Decodiervorrichtung nach Anspruch 1, ferner mit einer Auswahleinrichtung zum Auswählen von speziellen von mehreren Bilddaten, die durch die mehreren Decodiereinrichtungen decodiert und ausgegeben werden; und einer Kompensationseinrichtung (50), die die durch die Auswahleinrichtung ausgewählten Bilddaten empfängt und an den empfangenen Bilddaten gegebenenfalls eine Bewegungskompensation durchführt.
  7. Decodiervorrichtung nach Anspruch 6, bei welcher die mehreren Decodiereinrichtungen ein den Abschluss der Decodierung anzeigendes Endsignal an die Auswahleinrichtung ausgeben, die Auswahleinrichtung eine Speichereinrichtung zum Speichern eines Werts entsprechend einem Verarbeitungszustand jeder der mehreren Decodiereinrichtungen enthält, so dass wenn in der Speichereinrichtung gespeicherte Werte alle gleich einem ersten Wert werden, ein darin gespeicherter Wert entsprechend der das den Abschluss des Decodierens anzeigende Endsignal ausgebenden Decodiereinrichtung von dem ersten Wert auf einen zweiten Wert geändert wird, die einen Bilddaten, die durch die erste Decodiereinrichtung entsprechend dem in der Speichereinrichtung gespeicherten zweiten Wert decodiert werden, ausgewählt werden, und die in der Speichereinrichtung gespeicherten Werte entsprechend der Decodiereinrichtung, die die ausgewählten Bilddaten decodiert hat, auf den ersten Wert geändert werden.
  8. Decodiervorrichtung nach Anspruch 6, ferner mit einer Speichereinrichtung (71, 72) zum Speichern der durch die Auswahleinrichtung ausgewählten Bilddaten oder der einer durch die Bewegungskompensationseinrichtung durchgeführten Bewegungskompensation unterzogenen Bilddaten; und einer Speichersteuereinrichtung (51, 52) zum Steuern der Speicherung der durch die Auswahleinrichtung ausgewählten Bilddaten oder der einer durch die Bewegungskompensationseinrichtung durchgeführten Bewegungskompensation unterzogenen Bilddaten in der Speichereinrichtung.
  9. Decodiervorrichtung nach Anspruch 8, bei welcher die Speichereinrichtung eine Luminanzkomponente und eine Farbdifferenzkomponente der Bilddaten separat voneinander speichert.
  10. Decodiervorrichtung nach Anspruch 1, bei welcher die mehreren Decodiereinrichtungen mehrere Slice-Decoder aufweisen.
  11. Decodiervorrichtung nach Anspruch 1, bei welcher die Ausgabesteuereinrichtung ausgebildet ist, um mehrere Bilder entsprechend den mehreren codierten Datenströmen, die durch die mehreren Decodiereinrichtungen decodiert werden, auszugeben.
  12. Decodiervorrichtung nach Anspruch 1, bei welcher der codierte Datenstrom ein MPEG-2-Videobitstrom ist.
  13. Decodiervorrichtung nach Anspruch 11, bei welcher die Decodiereinrichtung ein den Abschluss des Decodierens anzeigendes Signal an die Decodiersteuereinrichtung ausgibt, und die Decodiersteuereinrichtung die Decodiereinrichtung, die das den Abschluss des Decodierens anzeigende Signal ausgegeben hat, derart steuert, dass die Decodiereinrichtung einen weiteren codierten Datenstrom decodiert.
  14. Decodiervorrichtung nach Anspruch 11, ferner mit einer ersten Zwischenspeichereinrichtung zum Zwischenspeichern des beschleunigten codierten Datenstroms; einer Leseeinrichtung zum Lesen eines den Start einer vorbestimmten Informationseinheit, die in dem beschleunigten codierten Datenstrom enthalten ist, anzeigenden Startcodes aus dem beschleunigten codierten Datenstrom und weiter Lesen von eine Stelle in der Zwischenspeichereinrichtung, an welcher der Startcode gespeichert wird, anzeigenden Positionsinformationen; einer zweiten Zwischenspeichereinrichtung zum Zwischenspeichern des Startcodes und der Positionsinformationen, die durch die Leseeinrichtung gelesen werden; und einer Zwischenspeichersteuereinrichtung zum Steuern des Zwischenspeicherns des beschleunigten codierten Datenstroms durch die erste Zwischenspeichereinrichtung und des Zwischenspeicherns des Startcodes und der Positionsinformationen durch die zweite Zwischenspeichereinrichtung.
  15. Decodiervorrichtung nach Anspruch 11, ferner mit einer Auswahleinrichtung zum Auswählen von speziellen aus mehreren Bilddaten, die durch die mehreren Decodiereinrichtungen decodiert und ausgegeben werden; und einer Kompensationseinrichtung, die die durch die Auswahleinrichtung ausgewählten Bilddaten empfängt und an den empfangenen Bilddaten gegebenenfalls eine Bewegungskompensation durchführt.
  16. Decodiervorrichtung nach Anspruch 15, bei welcher die mehreren Decodiereinrichtungen ein den Abschluss des Decodierens anzeigendes Endsignal an die Auswahleinrichtung ausgeben, die Auswahleinrichtung eine Speichereinrichtung zum Speichern eines Werts entsprechend einem Verarbeitungszustand jeder der mehreren Decodiereinrichtungen enthält, so dass wenn in der Speichereinrichtung gespeicherte Werte alle gleich einem ersten Wert werden, ein darin gespeicherter Wert entsprechend der das den Abschluss des Decodierens anzeigende Endsignal ausgebenden Decodiereinrichtung von dem ersten Wert zu einem zweiten Wert geändert wird, die einen Bilddaten, die durch die erste Decodiereinrichtung entsprechend dem in der Speichereinrichtung gespeicherten zweiten Wert decodiert werden, ausgewählt werden, und die in der Speichereinrichtung gespeicherten Werte entsprechend der Decodiereinrichtung, die die ausgewählten Bilddaten decodiert hat, zu dem ersten Wert geändert werden.
  17. Decodiervorrichtung nach Anspruch 15, ferner mit einer Speichereinrichtung zum Speichern der durch die Auswahleinrichtung ausgewählten Bilddaten oder der einer durch die Bewegungskompensationseinrichtung durchgeführten Bewegungskompensation unterzogenen Bilddaten; und einer Speichersteuereinrichtung zum Steuern der Speicherung der durch die Auswahleinrichtung ausgewählten Bilddaten oder der einer durch die Bewegungskompensationseinrichtung durchgeführten Bewegungskompensation unterzogenen Bilddaten in der Speichereinrichtung.
  18. Decodiervorrichtung nach Anspruch 17, bei welcher die Speichereinrichtung eine Luminanzkomponente und eine Farbdifferenzkomponente der Bilddaten separat voneinander speichert.
  19. Decodiervorrichtung nach Anspruch 11, ferner mit einer Annahmeeinrichtung zum Annehmen eines gemultiplexten Datenstroms, auf dem die mehreren codierten Datenströme gemultiplext sind; und einer Zuführeinrichtung zum Trennen des gemultiplexten Datenstroms in die mehreren codierten Datenströme und Zuführen der mehreren codierten Datenströme zur Eingabeeinrichtung.
  20. Decodiervorrichtung nach Anspruch 1, bei welcher die mehreren Decodiereinrichtungen mehrere Slice-Decoder aufweisen; und die Ausgabesteuereinrichtung ausgebildet ist, um mehrere Bilder entsprechend den mehreren codierten Datenströmen, die durch die mehreren Slice-Decoder decodiert werden, auszugeben.
  21. Decodierverfahren für eine Decodiervorrichtung zum Decodieren eines decodierten Datenstroms, mit einem Eingabeschritt des Eingebens eines beschleunigten codierten Datenstroms mit mehreren codierten Datenströmen; mehreren Decodierschritten des Decodierens des beschleunigten codierten Datenstroms; einem Decodiersteuerschritt des Steuerns der mehreren Decodierschritte derart, dass die mehreren Decodierschritte parallel durchgeführt werden; und einem Ausgabesteuerschritt des Ausgebens eines Bildes entsprechend jedem der mehreren codierten Datenströme des beschleunigten codierten Datenstroms, die in den mehreren Decodierschritten decodiert werden, mit einer beliebigen Wiedergabegeschwindigkeit.
  22. Decodierverfahren nach Anspruch 21, bei welchem die Decodiervorrichtung mehrere Slice-Decoder zum Decodieren des beschleunigten codierten Datenstroms enthält, der Decodiersteuerschritt einen Slice-Decoder-Steuerschritt des Steuerns der mehreren Slice-Decoder derart, dass die mehreren Slice-Decoder parallel arbeiten, aufweist, und der Ausgabesteuerschritt das Ausgeben eines Bildes entsprechend dem beschleunigten codierten Datenstrom, der durch die mehreren Slice-Decoder decodiert wird, mit einer beliebigen Wiedergabegeschwindigkeit aufweist.
  23. Decodierverfahren nach Anspruch 21, bei welchem der Ausgabesteuerschritt das Ausgeben mehrerer Bilder entsprechend den mehreren codierten Strömen, die in den mehreren Decodierschritten decodiert werden, aufweist.
  24. Decodierverfahren nach Anspruch 21, bei welchem die Decodiervorrichtung mehrere Slice-Decoder zum Decodieren des beschleunigten codierten Datenstroms enthält, der Decodiersteuerschritt einen Slice-Decoder-Steuerschritt des Steuerns der mehreren Slice-Decoder derart, dass die mehreren Slice-Decoder parallel arbeiten, aufweist, und der Ausgabesteuerschritt das Ausgeben mehrerer Bilder entsprechend den mehreren codierten Datenströmen, die durch die mehreren Slice-Decoder decodiert werden, aufweist.
  25. Speichermedium, auf dem ein computerlesbares Programm zum Decodieren eines codierten Datenstroms gespeichert ist, wobei das Programm ausgebildet ist, um die Verfahrensschritte eines der Ansprüche 21 bis 24 durchzuführen.
DE60123168T 2000-05-29 2001-05-29 MPEG-Dekoder Expired - Lifetime DE60123168T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000158546 2000-05-29
JP2000158546 2000-05-29

Publications (2)

Publication Number Publication Date
DE60123168D1 DE60123168D1 (de) 2006-11-02
DE60123168T2 true DE60123168T2 (de) 2007-08-30

Family

ID=18663007

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60123168T Expired - Lifetime DE60123168T2 (de) 2000-05-29 2001-05-29 MPEG-Dekoder

Country Status (3)

Country Link
US (1) US7292772B2 (de)
EP (1) EP1161097B1 (de)
DE (1) DE60123168T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072402B2 (en) * 2002-05-13 2006-07-04 General Instrument Corporation Methods and apparatus for dynamically adjusting f-codes for a digital picture header
JP4140709B2 (ja) * 2003-02-05 2008-08-27 松下電器産業株式会社 画像信号再生装置および画像信号再生方法
DE10304911B4 (de) * 2003-02-06 2014-10-09 Heinz Lindenmeier Kombinationsantennenanordnung für mehrere Funkdienste für Fahrzeuge
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US7769198B2 (en) * 2004-01-09 2010-08-03 Broadcom Corporation System, method, apparatus for repeating last line to scalar
US20050232355A1 (en) * 2004-04-15 2005-10-20 Srinivas Cheedela Video decoder for supporting both single and four motion vector macroblocks
ATE484157T1 (de) 2004-05-13 2010-10-15 Qualcomm Inc Synchronisierung von audio und video daten in einem drahtlosen nachrichtenübertragungssystem
US7864857B1 (en) * 2004-06-30 2011-01-04 Teradici Corporation Data comparison methods and apparatus suitable for image processing and motion search
JP3919115B2 (ja) * 2004-08-18 2007-05-23 ソニー株式会社 復号化装置、復号化方法、復号化プログラム及び復号化プログラムが記録された記録媒体、並びにリバース再生装置、リバース再生方法、リバース再生プログラム及びリバース再生プログラムが記録された記録媒体
JP4374548B2 (ja) * 2005-04-15 2009-12-02 ソニー株式会社 復号装置および方法、記録媒体、並びに、プログラム
EP1999965A4 (de) * 2006-03-28 2012-10-03 Samsung Electronics Co Ltd Verfahren, medium und system, die ein bild kodieren und/oder dekodieren
JP2007312002A (ja) * 2006-05-17 2007-11-29 Toshiba Corp Mpegビデオ再生装置、およびmpegビデオ再生方法
JP2008072647A (ja) * 2006-09-15 2008-03-27 Toshiba Corp 情報処理装置、デコーダおよび再生装置の動作制御方法
JP4664406B2 (ja) * 2006-12-11 2011-04-06 パナソニック株式会社 動画像復号化装置、半導体装置、映像機器および動画像復号化方法
KR100801630B1 (ko) * 2007-06-15 2008-02-05 디비코 주식회사 멀티코어 프로세서를 이용한 분산 디코딩 처리 장치 및방법
JP5170708B2 (ja) * 2008-01-24 2013-03-27 日本電気株式会社 動画像ストリーム加工方法及び装置、それを用いた動画像再生装置並びに動画像配信装置
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US8665996B2 (en) 2008-04-01 2014-03-04 Qualcomm Incorporated Efficient parallel sub-packet decoding using multiple decoders
WO2009150808A1 (ja) * 2008-06-10 2009-12-17 パナソニック株式会社 画像復号装置および画像符号化装置
JP4763822B2 (ja) * 2009-09-30 2011-08-31 パナソニック株式会社 映像信号処理装置及び映像信号処理方法
US8522074B2 (en) * 2009-10-29 2013-08-27 Cleversafe, Inc. Intentionally introduced storage deviations in a dispersed storage network
JP5979406B2 (ja) * 2012-02-22 2016-08-24 ソニー株式会社 画像処理装置、画像処理方法、および画像処理システム
US9973748B1 (en) * 2013-04-26 2018-05-15 Mediatek Inc. Multi-core video decoder system for decoding multiple coding rows by using multiple video decoder cores and related multi-core video decoding method
DE102014105935A1 (de) 2014-04-28 2015-10-29 Wolfcraft Gmbh Werkzeug mit Griffweitenverstellung
US10972744B2 (en) * 2018-11-12 2021-04-06 Analog Devices International Unlimited Company Image scaling

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640210A (en) * 1990-01-19 1997-06-17 British Broadcasting Corporation High definition television coder/decoder which divides an HDTV signal into stripes for individual processing
KR950009680B1 (ko) * 1992-05-19 1995-08-25 주식회사금성사 영상 압축/신장 시스템의 영상 디코더
US5379070A (en) * 1992-10-02 1995-01-03 Zoran Corporation Parallel encoding/decoding of DCT compression/decompression algorithms
US5377051A (en) * 1993-01-13 1994-12-27 Hitachi America, Ltd. Digital video recorder compatible receiver with trick play image enhancement
AU5632394A (en) 1993-03-05 1994-09-08 Sony Corporation Apparatus and method for reproducing a prediction-encoded video signal
US5699474A (en) 1993-07-12 1997-12-16 Sony Corporation Method and apparatus for decoding MPEG-type data reproduced from a recording medium during a high-speed reproduction operation
US5583652A (en) * 1994-04-28 1996-12-10 International Business Machines Corporation Synchronized, variable-speed playback of digitally recorded audio and video
US5510842A (en) * 1994-05-04 1996-04-23 Matsushita Electric Corporation Of America Parallel architecture for a high definition television video decoder having multiple independent frame memories
US5623615A (en) * 1994-08-04 1997-04-22 International Business Machines Corporation Circuit and method for reducing prefetch cycles on microprocessors
US5532744A (en) * 1994-08-22 1996-07-02 Philips Electronics North America Corporation Method and apparatus for decoding digital video using parallel processing
US5732217A (en) * 1995-12-01 1998-03-24 Matsushita Electric Industrial Co., Ltd. Video-on-demand system capable of performing a high-speed playback at a correct speed
KR100188701B1 (ko) * 1996-01-08 1999-06-01 윤종용 가변속 고속 재생기능을 갖는 가변 비트율 동화상복호화장치
US6625383B1 (en) * 1997-07-11 2003-09-23 Mitsubishi Denki Kabushiki Kaisha Moving picture collection and event detection apparatus
US6263023B1 (en) * 1998-10-15 2001-07-17 International Business Machines Corporation High definition television decoder
JP2000032396A (ja) 1999-06-07 2000-01-28 Victor Co Of Japan Ltd 画像圧縮記録媒体再生装置
WO2001080567A1 (en) * 2000-04-14 2001-10-25 Sony Corporation Decoder and decoding method, recorded medium, and program
US6505153B1 (en) * 2000-05-22 2003-01-07 Compaq Information Technologies Group, L.P. Efficient method for producing off-line closed captions

Also Published As

Publication number Publication date
US20020009287A1 (en) 2002-01-24
EP1161097B1 (de) 2006-09-20
EP1161097A1 (de) 2001-12-05
DE60123168D1 (de) 2006-11-02
US7292772B2 (en) 2007-11-06

Similar Documents

Publication Publication Date Title
DE60123168T2 (de) MPEG-Dekoder
DE60130180T2 (de) Verfahren zur kodierung und dekodierung, aufzeichnungsmedium und programm
DE60104013T2 (de) Transkodierung von progressiv-kodierten i-slice-aufgefrischten mpeg datenströmen für trickmodi
DE69913990T2 (de) System zum editieren komprimierter bildsequenzen
DE69836893T2 (de) Bewegtbildkompositionssystem
DE69535553T2 (de) Videokompression
DE69633815T2 (de) Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales
EP2198610B1 (de) Verfahren und vorrichtung zum erstellen eines kodierten ausgangsvideostroms aus mindestens zwei kodierten eingangsvideoströmen, sowie verwendung der vorrichtung
DE60020243T2 (de) Videokodierung
DE69824896T2 (de) Prediktives Bilddekodierungsverfahren
DE69838869T2 (de) Vorrichtung und Verfahren zum Spleißen von codierten Datenströmen sowie Vorrichtung und Verfahren zur Erzeugung von codierten Datenströmen
DE69936264T2 (de) Verfahren und vorrichtung zur verwaltung einer multimediadatei
DE4305578B4 (de) Fehlerverdeckung in decodierten Videosignalen
DE69727372T2 (de) System und verfahren zur erzeugung von trickwiedergabe-videodatenströmen aus einem komprimierten normalwiedergabe-videodatenstrom
DE69836195T2 (de) Digitaler camcorder mit mpeg-2-kompatibler videokompression
DE69633838T2 (de) Kodierung und Dekodierung von Bewegtbildern
DE69814642T2 (de) Verarbeitung codierter videodaten
DE69434395T2 (de) Kodierung und/oder Dekodierung von sich bewegenden Bildern
DE69929989T2 (de) Videokomponentanbindungsverfahren für zwei digitale bildtonprogramme mit duplikation von halbbildern
DE69630173T2 (de) Übertragungssystem und -einrichtung für sich bewegende Bilder
DE60125301T2 (de) Videosignaltranskodierung
DE69835211T2 (de) Umschaltung zwischen komprimierten videobitströmen
DE69916027T2 (de) Videokompressionssystem welches auch codierungsentscheidungsdaten komprimiert
DE10392282T5 (de) Verfahren und Vorrichtung zum Unterstützen von AVC in MP4
DE19755345C2 (de) Umgekehrtes Abspielen von Videosignalen im MPEG-Standard

Legal Events

Date Code Title Description
8364 No opposition during term of opposition