DE69830802T2 - Zuweisung von rechenleistung in einem informationsstrom-dekoder - Google Patents

Zuweisung von rechenleistung in einem informationsstrom-dekoder Download PDF

Info

Publication number
DE69830802T2
DE69830802T2 DE69830802T DE69830802T DE69830802T2 DE 69830802 T2 DE69830802 T2 DE 69830802T2 DE 69830802 T DE69830802 T DE 69830802T DE 69830802 T DE69830802 T DE 69830802T DE 69830802 T2 DE69830802 T2 DE 69830802T2
Authority
DE
Germany
Prior art keywords
function
format
idct
block
video
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
DE69830802T
Other languages
English (en)
Other versions
DE69830802D1 (de
Inventor
Alfonso Dinei FLORENCIO
Smith Freeman
Arthur Glenn REITMEIER
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of DE69830802D1 publication Critical patent/DE69830802D1/de
Application granted granted Critical
Publication of DE69830802T2 publication Critical patent/DE69830802T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20052Discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)

Description

  • Die Erfindung betrifft im allgemeinen Videoverarbeitungssysteme und insbesondere Videoverarbeitungssysteme, die in der Lage sind, eine Mehrzahl von Videosignalformaten, wie z.B. verschiedene hochauflösende Formate und Formate mit Standardauflösung, zu empfangen und zu verarbeiten.
  • Gegenwärtige Fernsehempfänger, wie z.B. NTSC- (National Television Standards Committee) Fernsehempfänger, beinhalten einen Videoverarbeitungsschaltkreis, der typischerweise ein Videosignal verarbeiten muß, das nur einem einzigen, vorbestimmten Videoformat entspricht. Von zukünftigen digitalen Fernsehempfängern (DTV) wird erwartet, daß sie im wesentlichen in Übereinstimmung mit den Übertragungsnormen, die von dem Advanced Television Standards Committee (ATSC) errichtet wurden, implementiert sind. Ein ähnlicher Standard ist der europäische digitale Videosendestandard (DVB). Ein komprimiertes digitales Videosystem wird beschrieben in dem ATSC-Digitalfernsehnormdokument A/53, das hier durch Bezugnahme aufgenommen wird. Darüber hinaus hat die Moving Pictures Experts Group (MPEG) verschiedene Standards, die digitale Datenliefersysteme betreffen, entwickelt. Der erste, bekannt als MPEG-1, bezieht sich auf die ISO/IEC-Normen 11172 und wird hier durch Bezugnahme aufgenommen. Der zweite, bekannt als MPEG-2, bezieht sich auf die ISO/IEC-Normen 13818 und wird hier durch Bezugnahme aufgenommen.
  • Die neuen DTV-Normen erlauben es Sendern, virtuell alle Formate bis zu 1920 × 1080 Pixeln zu liefern. Genauer gesagt müssen DTV-Empfänger in der Lage sein, ein Quellvideo zu empfangen, das Bildsequenzen aufweist, die in der Ortsauflösung (480 Zeilen, 720 Zeilen oder 1080 Zeilen), in der Zeitauflösung (60 fps, 30 fps oder 24 fps) und im Abtastformat (2:1 interlaced oder progressive scan) variieren. Zusätzlich ist es wünschenswert, das Format eines empfangenen Videosignals in ein bevorzugtes Format (d.h. ein "natives" Format) einer Anzeigeeinrichtung, die in Verbindung mit dem Empfänger verwendet wird, umzuwandeln.
  • In einem Ansatz des Standes der Technik wird das Format des empfangenen Fernsehsignals einer elektronischen Abtastumwandlung (Interpolation, Filterung und/oder Dezimierung) ausgesetzt, um das Format des Fernsehsignals an ein "natives Anzeigeformat" der in dem bestimmten DTV-Empfänger verwendeten Anzeigevorrichtung anzupassen. Anordnungen des Standes der Technik, die diesen Ansatz verwenden, decodieren als erstes das empfangene Signal, um einen Videoinformationsstrom bereitzustellen. Der Videoinformationsstrom wird dann einer z.B. vertikalen und/oder horizontalen Interpolation oder Filterung oder Dezimierung ausgesetzt, um das Format des Videosignals an das native Format der Anzeigevorrichtung anzupassen. Zusätzlich ist es bekannt, einen Einzelbildgeschwindigkeitsumwandlungsprozeß zu verwenden, um die Einzelbildgeschwindigkeit, z.B. 24 Hz, 30 Hz, 60 Hz, an die Einzelbildgeschwindigkeit anzupassen, die dem Anzeigeverarbeitungsschaltkreis eigen ist.
  • Die oben beschriebene bekannte Technik für das Anpassen von Mehrformat-Fernsehsignalen an ein bestimmtes eigenes Anzeigeformat verwendet in nachteiliger Weise diesel ben Berechnungsressourcen ungeachtet des Formats des empfangenen Fernsehsignals oder des eigenen Formats der Anzeigevorrichtung. Somit sind selbst in dem Fall des Anpassens eines Fernsehsignals mit einem Format niedriger Auflösung an ein eigenes Anzeigeformat mit niedriger Auflösung die von dem Videodecoder verwendeten Berechnungsressourcen die gleichen, die verwendet würden, um ein hochauflösendes Fernsehsignal an ein mittleres, niedriges oder hochauflösendes eigenes Anzeigeformat der Anzeigevorrichtung anzupassen. Es ist somit wünschenswert, die Berechnungsressourcenverwendung eines Videodecoders (d.h. die Verarbeitungs- und Speicherressourcen) an den Typ des empfangenen Signalformats und dessen geeignete Decodierung in ein eigenes Anzeigeformat eines DTV-Empfängers oder in ein eigenes Verarbeitungsformat eines Videoverarbeitungssystems, wie z.B. ein Videoeditiersystem, anzupassen.
  • Ein Aspekt der Erfindung stellt ein Verfahren zum Decodieren eines komprimierten Videostroms bereit, das den Schritt aufweist: Identifizieren eines Quellformats des komprimierten Videostroms, Bestimmen unter Verwendung des besagten identifizierten Quellformats von einer oder mehreren Rechenressourcenanforderungen, die geeignet sind für die Verarbeitung des komprimierten Videostroms, um einen dekomprimierten Videostrom mit einem Ausgabeformat zu erzeugen, Zuweisen der Ressourcen in Antwort auf die eine oder die mehreren bestimmten Rechenressourcenanforderungen und Verarbeiten des komprimierten Videostroms unter Verwendung des einen oder der mehreren zugewiesenen Rechenressourcen, um den dekomprimierten Videostrom zu erzeugen.
  • Die Erfindung stellt ein effizientes Mehrformat-Videosignalverarbeitungssystem bereit, das Verarbeitungsressourcen in Antwort auf das Format eines empfangenen Video- oder Fernsehsignals zuweist. Die Erfindung kann verwendet werden bei der Reformatierung oder Transcodierung von Videoinformation zwischen z.B. verschiedenen Speichermedien, Video- oder Fernsehnormen und/oder -formaten. Die Erfindung wird ebenso mit Vorteil eingesetzt innerhalb eines digitalen Fernsehsystems (DTV), um ein empfangenes Videoformat an ein eigenes Anzeigeformat anzupassen.
  • Die Erfindung beruht teilweise auf den Beobachtungen des Erfinders, daß die Dekomprimierung von unterschiedlichen Bildgrößen unterschiedliche Rechenressourcen erfordern, insbesondere in dem Fall eines nativen Anzeigeformats hoher Auflösung werden, wenn kleinere Bildgrößen decodiert werden (unter Verwendung von weniger IDCT-Ressourcen), größere Interpolationen (Berechnung von mehr Filterabgriffen) erforderlich.
  • In einer Ausführungsform der Erfindung erfaßt eine Videodecoderarchitektur das Format eines empfangenen Fernsehsignals und weist in Antwort darauf arithmetische und logische Ressourcen zwischen der inversen diskreten Kosinustransformation (IDCT-Operationen) und vertikalen und/oder horizontalen Interpolations- und/oder Dezimierungsoperationen zu.
  • Ein anderer Aspekt stellt eine Vorrichtung für das Verarbeiten eines komprimierten Videostroms bereit mit einem Quellvideoformat, um einen dekomprimierten Videostrom mit einem Ausgangsvideoformat zu erzeugen, das aufweist: einen Decoder einschließlich zuweisbarer Berechnungsressourcen für das Durchführen zumindest einer inversen diskreten Kosinustransformationsfunktion für das Decodieren des komprimierten Videostroms, um einen decodierten Videostrom zu erzeugen, und einen Controller für das Identifizieren eines Quellformats des komprimierten Videostroms für das Bestimmen unter Verwendung des identifizierten Quellformats von einer oder mehreren Rechenressourcenanforderungen, die geeignet sind für die Verarbeitung des komprimierten Videostroms, um den decodierten Videostrom mit dem gleichen Ausgabeformat zu erzeugen, und für das Zuweisen der Berechnungsressourcen in Antwort auf die eine oder die mehreren bestimmten Rechenressourcenanforderungen.
  • Die Lehren der vorliegenden Erfindung können leicht verstanden werden durch Inbetrachtziehen der folgenden detaillierten Beschreibung in Verbindung mit den begleitenden Zeichnungen, in denen:
  • 1 ein High-Level-Blockdiagramm eines Videodecoders entsprechend der Erfindung darstellt,
  • 2 ein High-Level-Blockdiagramm einer alternativen Ausführungsform eines Videodecoders entsprechend der Erfindung darstellt,
  • 3 ein Flußdiagramm eines Ressourcenzuweisungsverfahrens gemäß der Erfindung darstellt.
  • Um das Verständnis zu erleichtern, wurden identische Bezugszahlen verwendet, wo möglich, um identische Elemente, die gemeinsam in den Figuren gezeigt sind, zu bezeichnen.
  • Die Erfindung wird anhand eines MPEG-artigen Decoders und Formatumwandlers beschrieben. Während die Erfindung eine große Nützlichkeit innerhalb eines digitalen Fernsehempfängers (DTV), beispielsweise eines ATSC-Fernsehempfängers, hat, versteht es sich für den Fachmann, daß die Erfindung bei jedem Mehrformat-Videoverarbeitungssystem anwendbar ist, einschließlich denjenigen Systemen, die an DVB, MPEG-1, MPEG-2 und andere Informationsströme angepaßt sind. Beispielsweise kann die Erfindung verwendet werden für die Reformatierung oder Transcodierung von Videoinformation zwischen verschiedenen Speichermedien-, Video- oder Fernsehnormen und/oder Formaten.
  • 1 stellt ein High-Level-Blockdiagramm eines Videodecoders gemäß der Erfindung dar. Genauer gesagt weist der Videodecoder und Prozessor der 1 einen MPEG-artigen Decoder auf, der auf einer Block-per-Block-Basis einen komprimierten Videoinformationsstrom IN empfängt und decodiert, um einen Videoausgangsstrom OUT zu erzeugen. Der Videoausgangsstrom OUT ist geeignet für das Verbinden mit beispielsweise einem Anzeigetreiberschaltkreis innerhalb einer Darstellungseinrichtung (nicht gezeigt). Das Anzeigeformat des Videoausgangsstroms wird eingestellt durch Resizingoperationen (Größenveränderungsoperationen) in entweder der diskreten Kosinustransformationsdomäne (DCT) oder im Pixelraum.
  • Der MPEG-artige Decoder 100 weist ein Eingangspufferspeichermodul 111, ein variables Längendecodermodul (VLD) 112, ein inverses Quantisierungsmodul (IQ) 113, ein Blockspeichermodul 114, ein Bewegungskompensationsmodul 116, ein Ankereinzelbildspeichermodul 117, einen zuweisbaren Prozessor 120, ein optionales vertikales Größenveränderungsmodul 142, ein optionales horizontales Größenveränderungsmodul 143 und einen Controller 130 auf. Der zuweisbare Prozessor 120 führt eine inverse diskrete Kosinustransformationsfunktion (IDCT) 122, eine Summier funktion 124, eine Interpolationsfunktion 126 und eine Block-in-Abtastzeilen-Konvertierungsfunktion 128 durch. Der zuweisbare Prozessor 120 beinhaltet ebenso ein Blockspeichermodul 129, das mit den verschiedenen Komponenten innerhalb des zuweisbaren Prozessors 120 kooperiert, um beispielsweise einen Zwischenspeicher der Blockraum- und/oder Abtastzeilenraum-Videoinformation bereitzustellen.
  • Ein Vektor ist ein Satz von skalaren Dateneinträgen, alle derselben Art, die im Speicher abgelegt sind. Die Vektorelemente können so angeordnet sein, daß sie ein festes Adreßinkrement zwischen aufeinanderfolgenden Elementen haben, was Stride genannt wird. Ein Vektorprozessor ist eine Gruppe von Hardwareressourcen, einschließlich Vektorregistern, funktionalen Pipelines, Verarbeitungselementen und/oder Registerzählern für das Durchführen von Vektoroperationen. Die Vektorverarbeitung tritt auf, wenn arithmetische oder logische Operationen an Vektoren angewendet werden. Die Vektorverarbeitung wird von der Skalarverarbeitung unterschieden, die auf einem Datum oder einem Datumspaar arbeitet. Die Vektorverarbeitung ist im allgemeinen schneller und effizienter als die Skalarverarbeitung, wie dem Fachmann der fortgeschrittenen Computerarchitekturen bekannt ist. Aufgrund der inhärenten Ordnung von Videodaten (d.h. Reihen, Spalten, Einzelbilder, Felder und dergleichen) und der komprimierten Videodaten (d.h. Scheiben, Makroblöcke, Blöcke und dergleichen) sind solche Daten über die Vektorverarbeitung veränderbar.
  • Der zuweisbare Prozessor 120 kann irgendeine zuweisbare Verarbeitungsressource, wie z.B. einen Vektorprozessor, eine Mehrzahl von Skalarprozessoren in einer Mehrprozessorumgebung oder irgendein anderes Verarbeitungssystem aufweisen, in dem arithmetische und/oder logische Verarbeitungsressourcen zugewiesen werden können unter Verwendung von Hardware, Software oder einer Kombination aus Hardware und Software. Während somit der zuweisbare Prozessor 120 hauptsächlich innerhalb des Kontexts eines Vektorprozessors beschrieben wird, versteht es sich, daß solch eine Beschreibung nur aus anschaulichen Zwecken erfolgt und daß die Erfindung nicht in einer Art und Weise aufgefaßt werden darf, daß sie lediglich auf Vektorverarbeitungsanordnungen beschränkt wird.
  • Es sollte bemerkt werden, daß, während der zuweisbare Prozessor 120 der beispielhaften Ausführungsform eine IDCT-Funktion 122, eine Summierfunktion 124, eine Interpolationsfunktion 126 und eine Block-in-Abtastzeilen-Konvertierungsfunktion 128 durchführt, es nicht notwendig ist, daß alle diese Funktionen in dem zuweisbaren Prozessor 120 aufgenommen sind. Der zuweisbare Prozessor 120 beinhaltet diese Funktionen, da im Kontext des beispielhaften MPEG-artigen Codierers 100 von 1 solch eine Aufnahme die Gesamtkosten der Implementierung des MPEG-artigen Codierers in Bezug auf die Halbleiterfläche, die Systemkomplexität und damit die Stückkosten reduziert. In gleicher Weise kann der Blockspeicher 129 als separates Modul ausgeführt sein.
  • In einer Ausführungsform der Erfindung beinhaltet der zuweisbare Prozessor 120 nur die IDCT-Funktion 122 und die Interpolationsfunktion 126, während die Summierfunktion 124 und die Block-in-Abtastzeilen-Konvertierungsfunktion 128 durch speziell ausgebildete Hardware implementiert werden. In gleicher Weise kann die Interpolationsfunktion 126 nur eine vertikale Interpolations funktion, nur eine horizontale Interpolationsfunktion oder sowohl eine vertikale Interpolationsfunktion als auch eine horizontale Interpolationsfunktion bereitstellen.
  • Das Eingangspufferspeichermodul 111 empfängt den komprimierten Videostrom IN, anschaulich einen mit variabler Länge codierten Bitstrom, der z.B. ein Fernsehsignalausgang hoher Auflösung (HDTV) oder ein Fernsehsignal mit der Standardauflösung (SDTV) von einem Transportdemultiplexer/Decoderschaltkreis (nicht gezeigt). Das Eingangspufferspeichermodul 111 wird verwendet, um zeitweilig den empfangenen komprimierten Videostrom IN zu speichern, bis das variable Längendecodermodul 112 bereit ist, die Videodaten für die Verarbeitung zu akzeptieren. Der VLD 112 hat einen Eingang, der mit einem Datenausgang des Eingangspufferspeichermoduls 111 verbunden ist, um die gespeicherten variablen längencodierten Videodaten als Datenstrom S1 abzurufen.
  • Der VLD 112 decodiert die abgerufenen Daten, um einen Bitstrom S2 konstanter Länge zu erzeugen, der quantisierte Prädiktionsfehler-DCT-Koeffizienten, einen Bewegungsvektorstrom MV und einen Blockinformationsstrom DATA aufweist. Das IQ-Modul 113 führt eine inverse Quantisierungsoperation auf dem Bitstrom konstanter Länge S2 durch, um einen DCT-Koeffizientenvektor S3 zu erzeugen, der quantisierte Prädiktionsfehlerkoeffizienten in der Standardform, d.h. DCT-Koeffizienten aufweist.
  • Die IDCT-Funktion 122 des zuweisbaren Prozessors 120 führt eine inverse diskrete Kosinustransformationsoperation auf dem DCT-Koeffizientenvektor S3 durch, um einen Datenvektor S4 zu erzeugen, der Pixel per Pixel Prädiktionsfehler aufweist. Arithmetische und/oder logische Ressourcen des zuweisbaren Prozessors 120 werden der IDCT-Funktion 122 zugewiesen, und zwar basierend auf verschiedenen Faktoren, die unten detaillierter beschrieben werden. Kurz gesagt werden die Ressourcen zugewiesen basierend auf z.B. dem Videoformat eines empfangenen Videosignals, einem nativen Videoformat, wie z.B. einem nativen Anzeigevorrichtungsformat, irgendeiner Kombination des empfangenen und des nativen Videoformats und anderer Faktoren.
  • Die Summierfunktion 124 des zuweisbaren Prozessors 120 führt eine Additionsoperation auf dem Pixel-per-Pixel-Prädiktionsfehlerstrom S4 und einem bewegungskompensierten vorhergesagten Pixelwertstrom S6, der durch das Bewegungskompensationsmodul 116 erzeugt wird, durch. Die Ausgabe der Summierfunktion 124 ist somit in der beispielhaften Ausführungsform ein Videostrom S5, der rekonstruierte Pixelwerte im Pixelblockformat aufweist. Der Videostrom S5, der durch die Summierfunktion 124 erzeugt wurde, wird mit dem Ankerframespeicher 117 und der Interpolationsfunktion 126 des zuweisbaren Prozessors 120 verbunden. Das Ankerframespeichermodul 117 empfängt diejenigen Pixelblöcke und speichert sie, die mit den Ankerframes innerhalb des komprimierten Videostroms S5 verknüpft sind.
  • Das Bewegungskompensationsmodul 116 empfängt den Bewegungsvektorstrom MV von dem VLD 112 und greift auf die Bildinformation zu über den Signalpfad S7, die im Speichermodul 117 abgelegt ist. Der Bewegungsvektorstrom MV weist Bewegungsvektorinformation auf, die von dem Bewegungskompensationsmodul 116 verwendet wird, um individuelle Makroblöcke basierend auf der Bildinformation, die in dem Ankerframespeichermodul 117 abgespeichert ist, vorherzusagen.
  • Das Bewegungskompensationsmodul 116 verwendet ein oder mehrere gespeicherte Ankerframes (z.B. die Pixelblöcke, die in Bezug auf das letzte I-Frame oder P-Frame des Videosignals erzeugt wurden, das am Ausgang der Summierfunktion 124 erzeugt wurde), und der (die) Bewegungsvektor(en) MV, der (die) von dem VLD 112 empfangen wurde(n), um die Werte für jeden der Mehrzahl von vorhergesagten Blöcken zu berechnen. Jeder der Mehrzahl von vorhergesagten Blöcken wird dann mit einem Eingang der Summierfunktion 124 als ein bewegungskompensierter, vorhergesagter Pixelwertstrom S6 verbunden.
  • Die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 führt eine vertikale und/oder horizontale Interpolationsoperation durch, um die Pixelblöcke innerhalb des Videostroms S5, der durch die Summierfunktion 124 produziert wird, in der Größe zu verändern. Die Größe der Größenveränderung, die auf die Pixelblöcke ausgeübt wird, wird in Bezug auf ein Steuersignal SIZE, das von dem Controller 130 erzeugt wird, bestimmt. Die Interpolationsfunktion kann eine vertikale Interpolationsfunktion, eine horizontale Interpolationsfunktion oder sowohl eine vertikale als auch horizontale Interpolationsfunktion aufweisen. Die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 wird verwendet, um die vertikale und/oder horizontale Dimension eines Pixelblockes zu erhöhen, so daß z.B. ein Eingangsvideosignal mit relativ niedriger Auflösung (z.B. SDTV) auf eine Anzeigeeinrichtung mit relativ hoher Auflösung (z.B. HDTV) unter Verwendung von soviel verfügbarem Anzeigebereich wie praktisch möglich angezeigt werden kann.
  • Eine vertikale Interpolation kann durchgeführt werden, um eine vertikale Abmessung eines Pixelblockes zu erhöhen, beispielsweise durch Berechnen und Einfügen von zusätzlichen Pixelzeilen innerhalb des Pixelblockes. Beispielsweise kann ein 8 × 8-Pixelblock für ein 480 Zeilen-Bild in einen 8 × 18-Pixelblock erhöht werden für die Anzeige auf einer 1080 Zeilen-Anzeigevorrichtung.
  • Eine horizontale Interpolation kann durchgeführt werden, um eine horizontale Dimension eines Pixelblockes durch z.B. Berechnen und Einfügen von zusätzlichen Pixeln innerhalb jeder Zeile von Pixeln in dem Pixelblock zu erhöhen. Beispielsweise kann ein 8 × 8-Pixelblock für ein 640 Pixelzeilen-Bild auf einen 16 × 8-Pixelblock für die Anzeige auf einer 1280 Pixelzeilen-Anzeigevorrichtung erhöht werden.
  • Sowohl eine vertikale als auch eine horizontale Interpolation kann durchgeführt werden, um sowohl die vertikale als auch die horizontale Abmessung eines Pixelblocks durch z.B. Berechnen und Einfügen von Extrazeilen von Pixeln innerhalb des Pixelblockes und Berechnen und Einfügen von Extrapixeln innerhalb jeder Zeile von Pixeln in dem Pixelblock zu erhöhen. Beispielsweise kann ein 8 × 8-Pixelblock für ein 480 Zeilen, 640 Pixel-pro-Zeile-Bild auf einen 16 × 8-Pixelblock für die Anzeige auf einer 1080 Zeilen, 1280 Pixel-pro-Zeile-Anzeigevorrichtung erhöht werden.
  • Die Block-in-Abtastzeilen-Umwandlungsfunktion 128 des zuweisbaren Prozessors 120 führt eine Umwandlung des interpolierten, blockbasierten Videostroms S8 von dem Blockraum in den Abtastzeilenraum durch. Das heißt, die Block-in-Abtastzeilen-Konvertierungsfunktion 128 des zuweisbaren Prozessors 120 wandelt den blockbasierten Videostrom S8, der durch die Interpolationsfunktion 126 erzeugt wurde, in einen abtastzeilenbasierten Videostrom S9 um. Der abtastzeilenba sierte Videostrom S9 wird mit dem optionalen vertikalen Größenveränderer 122, dem optionalen horizontalen Größenveränderer 143 oder dem Ausgang OUT verbunden.
  • Der optionale vertikale Größenveränderer 142 empfängt den abtastzeilenbasierten Videostrom S9 und verändert in Antwort auf ein Steuersignal VS von einem Controller 130 selektiv die Anzeige von vertikalen Abtastzeilen pro Einzelbild der Videoinformation, die in dem abtastzeilenbasierten Videostrom S9 enthalten ist. Der optionale vertikale Größenveränderer 142 erzeugt ein vertikal in der Größe verändertes Videosignal S10. Der optionale vertikale Größenveränderer 142 ist in der Lage, die Anzahl von Zeilen pro Videoframe zu erhöhen durch z.B. Verwenden von Interpolationstechniken, um die Helligkeits- und Farbinformation von einer oder mehreren neuen Zeilen, die zwischen zwei existierenden Zeilen eingeführt werden, zu erhöhen. Der optionale vertikale Größenveränderer 142 ist ebenso in der Lage, die Anzahl von Zeilen pro Videoeinzelbild durch beispielsweise Dezimieren eines Videoframes und durch Verwendung von Interpolationstechniken zu verringern, um neue Abtastzeilen mit einer reduzierten Zeilendichte zu berechnen.
  • In einer Ausführungsform der Erfindung wird der optionale vertikale Größenveränderer 142 nur verwendet, um eine einfache, 2:3 vertikale Interpolation bereitzustellen, um das 720 Zeilen-Video in 1080 Zeilen-Video zu konvertieren. In dieser Ausführungsform werden alle anderen vertikalen Interpolationsfunktionen (z.B. 480 in 720, 480 in 1080 und dergleichen) durch die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 durchgeführt.
  • Der optionale horizontale Größenveränderer 143 empfängt das vertikal in der Größe veränderte Videosignal S10 (oder den abtastzeilenbasierten Videostrom S9) und verändert in Antwort auf ein Steuersignal HS von dem Controller 130 selektiv die Anzahl von Bildelementen (Pixeln) pro Zeile von Videoinformation, die in dem empfangenen Videosignal S10 oder S9 enthalten ist. Der optionale horizontale Größenveränderer 143 erzeugt ein horizontal größenverändertes Videosignal OUT. Der optionale horizontale Größenveränderer 143 ist in der Lage, die Anzahl von Pixeln pro Zeile zu erhöhen durch z.B. Verwenden von Interpolationstechniken, um die Helligkeits- und Farbinformation von einem oder mehreren neuen Pixeln zu berechnen, die zwischen zwei existierenden Pixeln eingefügt werden. Der optionale horizontale Größenveränderer 143 ist ebenso in der Lage, die Anzahl von Pixeln pro Zeile zu verringern durch beispielsweise Dezimieren einer Videozeile durch Verwenden von Interpolationstechniken, um die Anzahl von Pixeln in der Zeile zu reduzieren.
  • Der Controller 130 empfängt das Format (z.B. die Anzahl von Zeilen, die Anzahl von Pixeln pro Zeile, die Framegeschwindigkeit und dergleichen), die Farbmetrie und andere Information betreffend das decodierte Videosignal S4 von dem VLD 112 über das Headerdatensignal HD. Der Controller 130 verwendet diese Information und zusätzliche Information, wie z.B. ein natives Anzeige- oder Verarbeitungsformat einer Anzeige oder eines Videoprozessors (nicht gezeigt), der die Erfindung einsetzt, um ein optionales vertikales Größensteuersignal VS für den optionalen vertikalen Größenveränderer 142 und ein optionales horizontales Größensteuersignal HS für den optionalen horizontalen Größenveränderer 143 zu erzeugen. Der Controller 130 kann optional verwendet werden, um ein Steuersignal FR zu einem Einzelbildgeschwindigkeitswandler (nicht gezeigt) zu liefern für das Konvertieren der Einzelbildgeschwindigkeit des Ausgangssignals OUT in eine andere Ein zelbildgeschwindigkeit (z.B. 60 Einzelbilder pro Sekunde in 30 Einzelbilder pro Sekunde) in Erfüllung z.B. des nativen Anzeige- oder Verarbeitungsformats eines Anzeige- oder Videoprozessors, der die Erfindung einsetzt. Die native Formatinformation kann innerhalb des Controllers 130 gespeichert werden oder optional dem Controller 130 über ein Steuersignal NATIVE FORMAT bereitgestellt werden.
  • Der zuweisbare Prozessor 130 weist in Antwort auf ein Steuersignal A vom Controller 130 Verarbeitungsressourcen zu, anschaulich Vektorverarbeitungsressourcen, zwischen der IDCT-Funktion 122 und der vertikalen Interpolationsfunktion 126. Der Controller 130 veranlaßt, daß die Vektorverarbeitungsressourcen zwischen den beiden Funktionen zugewiesen werden, und zwar in Antwort auf z.B. das Format des Eingangsvideosignals IN und des nativen Anzeige- oder Verarbeitungsformats eines Anzeige- oder Videoprozessors, der die Erfindung einsetzt.
  • Der zuweisbare Prozessor 120 stellt ebenso im wesentlichen konstante Ressourcen für die Summierfunktion 124 und die Block-in-Abtastzeilen-Umwandlungsfunktion 128 bereit. In einer Ausführungsform der Erfindung sind jedoch die Ressourcen, die der Block-in-Abtastzeilen-Konvertierungsfunktion 128 zugewiesen werden, nicht konstant. In dieser Ausführungsform werden die Ressourcen in einer Art und Weise zugewiesen, die an die Größe der Pixelblöcke innerhalb des blockbasierten Videostroms S8, der durch die Interpolationsfunktion 126 erzeugt wird, angepaßt sind. Das heißt, falls die Blöcke in der Größe verändert wurden, und zwar vergrößert wurden, dann werden die Ressourcen, die der Block-in-Abtastzeilen-Konvertierungsfunktion 128 zugewiesen werden, entsprechend erhöht, um ausreichend Verarbeitungsleistung bereitzustellen.
  • Der zuweisbare Prozessor 120 adaptiert in Antwort auf das Steuersignal SIZE vom Controller 130 einen Größen- oder Auflösungsparameter eines Blockes, der verarbeitet wird. Das heißt, ein empfangener N × M- (oder N × N-) DCT-Koeffizientenblock, der der IDCT-Verarbeitung ausgesetzt ist, erzeugt typischerweise einen N × M- (oder N × N-) Pixelblock. Falls der Controller 130 bestimmt, daß der produzierte Pixelblock in z.B. der vertikalen Richtung expandiert werden sollte (d.h. ein 480 Zeilen-Block expandiert für die Verwendung in einer 1080 Zeilen-Anzeige), dann wird das Steuersignal SIZE verwendet, um solch eine Expansion anzuzeigen. In Antwort wird die vertikale Interpolationsfunktion solch eine Expansion bereitstellen (z.B. ein 8 × 8-Pixelblock in einen 8 × 18-Pixelblock umwandeln).
  • Der Erfinder bemerkt, daß die Dekomprimierung von Informationsströmen, die Videoinformation mit unterschiedlichen Bildgrößen aufweisen, unterschiedliche Berechnungsressourcen erfordern. Wenn sich beispielsweise die Bildgröße eines Videostroms verringert, verringern sich ebenso die Rechenressourcen, die erforderlich sind, um die oben beschriebene IDCT-Funktion zu implementieren (d.h. es müssen weniger DCT-Koeffizienten in der Zeit verarbeitet werden, aufgrund der reduzierten Anzahl von DCT-Koeffizientenblöcken, die verwendet werden, um die Pixelinformation in einem Einzelbild eines Videos mit reduzierter Auflösung darzustellen). In gleicher Weise, wenn sich die Bildgröße eines Videostroms erhöht, werden sich die Rechenressourcen, die erforderlich sind, um die oben beschriebene IDCT-Funktion zu implementieren, ebenso erhöhen (d.h. mehr DCT-Koeffizienten sind über der Zeit zu verarbeiten aufgrund der erhöhten Anzahl von DCT- Koeffizientenblöcken, die verwendet werden, um die Pixelinformation in einem Einzelbild eines Videos mit verbesserter Auflösung darzustellen). Die Beziehung zwischen IDCT-Verarbeitungsressourcen und dem Bildformat können berechnet oder empirisch bestimmt werden.
  • Der Erfinder bemerkt weiterhin, daß, da das native Anzeige- oder Verarbeitungsformat eines Anzeige- oder Videoprozessors, der einen decodierten Videostrom verwendet, sich typischerweise nicht verändert, es notwendig wird, einen decodierten Videostrom in der Größe zu verändern, um ein Bild bereitzustellen, das z.B. einen verfügbaren Anzeigebereich der Anzeigevorrichtung maximal ausnutzt. Nimmt man beispielsweise an, daß eine HDTV-Anzeigevorrichtung verwendet wird, um den decodierten Videostrom anzuzeigen, werden sich, wenn sich die Bildgröße eines Videostroms verringert, die Rechenressourcen, die erforderlich sind, um die oben beschriebene vertikale und/oder horizontale Interpolationsfunktion zu implementieren, erhöhen (d.h. die Berechnung von mehr Filterabgriffen). In ähnlicher Weise, wenn die Bildgröße des Videostroms das native Anzeigeformat erreicht (oder falls eine "letterbox"- oder Abschneide- bzw. Cropping-Technik verwendet wird), werden die Rechenressourcen, die erforderlich sind, um die oben beschriebene vertikale und/oder horizontale Interpolationsfunktion zu implementieren, Null erreichen (d.h. es ist nicht nötig, Filterabgriffe zu berechnen).
  • Es sollte ebenso erwähnt werden, daß die Rechenressourcen, die notwendig sind, um die oben beschriebene vertikale und/oder horizontale Dezimierungsfunktion durchzuführen, ebenso mit dem Verhältnis der Bildgröße zum nativen Format variieren. Es wird ebenso bemerkt, daß die Einzelbildgeschwindigkeitsunterschiede zwischen einem übertragenen Videoformat und einem nativen Anzeigeformat die Rechenressourcenanforderungen beeinflussen. Beispielsweise, falls das transmittierte Videoformat 24 Einzelbilder pro Sekunde (fps) Videoinformation aufweist (z.B. einen Film), dann wird mehr Zeit verfügbar, um die Interpolation durchzuführen und somit können Interpolationsfilter mit mehr Abgriffen verwendet werden.
  • In einer Ausführungsform der Erfindung weist die IDCT-Funktion 122 des zuweisbaren Prozessors 120 einen Vektorprozessor (d.h. einen zugewiesenen Abschnitt von einer verfügbaren zuweisbaren Vektorverarbeitungsressource 120) auf, die anschaulich eine 8 Abgriffs-Multiplikations/Summationsfunktion durchführt. Ein lokaler Speicherblock (z.B. das Blockspeichermodul 114), anschaulich ein 8 × 8-Pixelblock, wird verwendet, so daß sowohl horizontale als auch vertikale Vektoroperationen durchgeführt werden können. Wenn das transmittierte Videoformat nicht die Anzahl von IDCT-Operationen erfordert, um die gesamte Verarbeitungszeit zu verbrauchen (z.B. ein empfangener SDTV-Videostrom), werden die nicht verwendeten Rechenressourcen zugewiesen, um die Interpolationsfilterfunktion durchzuführen.
  • Die horizontale Interpolationsfunktion wird auf dem Blockniveau durch Interpolieren von anschaulich 8 × 8 Blöcken in eines einer Mehrzahl von Blockformaten, die unten in Tabelle 1 gezeigt sind, durchgeführt. Falls beispielsweise das übertragene Videoformat (z.B. das Quellformat) ein 480 Zeilen-Format (z.B. SDTV), dargestellt durch 8 × 8 Pixelblöcke, ist, und das Anzeigeformat ein 180 Zeilen-Format (z.B. HDTV) ist, dann ist der Quelle-in-Anzeige-Umwandlungsfaktor 4:9. Genauer gesagt werden die Vektorprozessorressourcen verwendet, um eine 4:9-Interpolationsfunktion zu bewirken (d.h. 480 Zeilen in 1080 Zeilen). Dies wird verwirklicht durch Verändern der Größe der Blöcke von in der beispielhaften Ausführungsform 8 × 8 Blöcken in 8 × 18 Blöcken. Es sollte erwähnt werden, daß im Falle eines verzahnten Videos (interlaced), das anschaulich durch 8 × 4 Pixelblöcke dargestellt wird, dasselbe Verfahren anwendbar ist.
  • Figure 00100001
    Tabelle 1
  • Es sollte erwähnt werden, daß die 1280*720 und 1920*1080 Modi die IDCT-Verarbeitungsressourcen maximal ausnutzen. Das heißt, diese Modi repräsentieren den Fall, wo der zuweisbare Prozessor 120 einen wesentlichen Teil der Ressourcen der IDCT-Funktion 122 zugewiesen hat und daß dieser wesentliche Anteil einer maximalen IDCT-Funktion 122 Ressourcenzuweisung darstellt basierend auf z.B. einer Bestimmung der maximalen IDCT-Ressourcenbelastung für die höchste zu verarbeitende Auflösung (d.h. ressourcenbeanspruchenden Auflösung). Da es keine Notwendigkeit gibt, die vertikale Interpolationsfunktion während dieser Betriebsmoden durchzuführen (abhängig von z.B. einem nativen Anzeigeformat), werden Ressourcen der Interpolationsfunktion 126 nicht zugewiesen.
  • Die in der Größe veränderten Pixelblöcke, die durch die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 erzeugt werden, werden durch die Block-in-Abtastzeilen-Konvertierungsfunktion 128 in eine Mehrzahl von Abtastzeilen umgewandelt. In dem Fall eines 8 × 8-Pixelblocks, der interpoliert wird, um einen 8 × 18-Pixelblock zu erzeugen, wird beispielsweise die Block-in-Abtastzeilen-Konvertierungsfunktion 128 18 Videoabtastzeilen statt 8 Videoabtastzeilen für den Pixelblock erzeugen. Auf diese Art und Weise kann die vertikale Dimension eines Bildes, das gebildet wird unter Verwendung der interpolierten Pixelblöcke in der vertikalen Richtung erhöht werden, um vollständig z.B. den Anzeigebereich einer HDTV-Anzeigevorrichtung auszunutzen. Um vollständig einen horizontalen Anzeigebereich auszunutzen, kann der horizontale Größenveränderer 143 verwendet werden, um zusätzliche Pixel innerhalb jeder Abtastzeile zu interpolieren, wodurch die Länge oder die Pixelzeile durch die Zahl von jeder Abtastzeile erhöht wird.
  • Der Controller 130 adaptiert die Funktion bzw. den Betrieb der vertikalen Interpolationsfunktion 126 des zuweisbaren Prozessors 120 und den horizontalen Größenveränderer 143, um ein Ausgangsvideosignal OUT zu erzeugen, das den Anzeigebereiche einer Anzeigevorrichtung maximal verwendet oder ein natives oder gewünschtes Videoformat für die nachfolgende Verarbeitung adaptiert. Es muß erwähnt werden, daß der Controller 130 den vertikalen Größenveränderer 142 verwenden kann, um vertikal die Abtastmodenvideodaten in der Größe zu verändern, die vorher durch die vertikale Interpolationsfunktion 126 des zuweisbaren Prozessors 120 in der Größe verändert wurden. Somit gleicht der Controller 130 optional die Ressourcenverwendung des zuweisbaren Prozessors 120 und den Qualitätsgrad des Ausgangsvideostroms OUT aus, um einen gewünschten Videodecodier- und Formatierzweck zu erzielen, wie z.B. ein Eingangsvideosignal an ein natives Anzeige- oder Verarbeitungsformat anzupassen.
  • Die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 wurde beschrieben in Bezug auf das Vergrößern der Anzahl von Zeilen und/oder der Anzahl von Pixeln pro Zeile eines Pixelblocks. Es versteht sich, daß die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 ebenso in der Lage ist, die Anzahl der Zeilen und/oder der Pixel pro Zeile eines Pixelblocks zu verringern. In einer Ausführungsform der Erfindung wird solch eine Verringerung in der Anzahl der Zeilen und/oder der Pixel pro Zeile bewirkt durch Dezimieren der Zeilen und/oder Pixel pro Zeile, um einen reduzierten vertikalen und/oder horizontalen Auflösungspixelblock zu erzeugen. Die Dezimierung kann auf einer ganzzahligen Basis (d.h. jede zweite oder jede dritte Zeile und/oder Pixel pro Zeile) oder auf einer nicht-ganzzahligen Basis (d.h. alle anderthalb Zeilen und/oder Pixel pro Zeile) durchgeführt werden. Im letzten Fall wird eine Kombination aus einer Dezimierung und Interpolation erforderlich sein, um die gewünschte vertikale und/oder horizontale Auflösung für den Pixelblock zu erzeugen. Diese Funktionalität wird weiter in der Ausführungsform von 2 ausgewertet.
  • Es muß erwähnt werden, daß in dem MPEG-artigen Decoder 100, der oben beschrieben wurde, die IDCT-Funktion 122 des zuweisbaren Prozessors 120 auf beispielsweise einem DCT-Koeffizientenblock der Standardgröße, wie z.B. ein 8 × 8-DCT-Koeffizientenblock, arbeitet. Somit wird ungeachtet des empfangenen Videoformats und z.B. des nativen Anzeigeformats die IDCT-Funktion 122 in der gleichen Art und Weise auf einer konsistenten Blockgröße durchgeführt. Während somit der MPEG-artige Decoder 100 eine Bildgrößenveränderungsfunktionalität beinhaltet, liegt diese Funktionalität nicht in der Bewegungskompensationsschleife.
  • Wenn es wünschenswert ist, den Speicher zu reduzieren, der erforderlich ist, um den Ankerframespeicher 117 zu implementieren (z.B. erfordert eine SDTV-Anzeigeeinrichtung nicht die HDTV-Bewegungsgenauigkeit und -Auflösung), kann eine Bildreduktionsfunktionalität in die Bewegungskompensationsschleife aufgenommen werden. Solch eine Ausführungsform der Erfindung wird nun in Bezug auf 2 beschrieben.
  • 2 stellt ein High-Level-Blockdiagramm eines Videodecoders gemäß der Erfindung dar. Genauer gesagt weist der Videodecoder und Prozessor der 2 ähnlich dem Decoder 100 von
  • 1 einen MPEG-artigen Decoder auf, der auf einer Block-per-Block-Basis einen komprimierten Videoinformationsstrom IN empfängt und decodiert, um einen Videoausgangsstrom OUT zu erzeugen. Der Videoausgangsstrom OUT ist geeignet für die Verbindung mit z.B. einem Anzeigetreiberschaltkreis innerhalb einer Darstellungseinrichtung (nicht gezeigt). Das Anzeigeformat des Videoausgangsstroms wird eingestellt durch Größenveränderungsoperationen in entweder dem diskreten Kosinustransformationsraum (DCT) oder dem Pixelraum.
  • Der MPEG-artige Decoder 200 von 2 beinhaltet eine Vorrichtung für das Reduzieren von Speicher- und Speicherbandbreitenerfordernissen, wodurch die Kosten und die Komplexität des Decoders reduziert werden. Genauer gesagt werden die Speicher- und Speicherbandbreitenanforderungen reduziert durch Komprimieren der Bildinformation vor dem Speichern in dem Ankerframespeicher 117, so daß ein reduziertes Auflösungsbildinformationsframe gespeichert und nachfolgend von dem Bewegungskompensationsmodul 116 des Decoders 200 verwendet wird. Die Erfindung beinhaltet ebenso einen Bewegungsvektorprozessor 118, der die Bewegungsvektorinformation verarbeitet, die von dem VLD 112 erhalten wurde, und zwar in einer Art und Weise, die konsistent mit der Größe der Komprimierung, die einem vorhergesagten Bildinformationsframe weitergegeben wurde, und dem Typ der Vorhersage, der beim Bilden des vorhergesagten Informationsframes verwendet wird, ist.
  • Der MPEG-artige Decoder 200 weist ein Eingangspufferspeichermodul 111, ein variable-Längen-Decodermodul (VLD) 112, ein inverses Quantisierungsmodul (IQ) 113, ein Blockspeichermodul 114, ein Bewegungskompensationsmodul 116, ein Ankerframespeichermodul 117, einen zuweisbaren Prozessor 120, ein optionales vertikales Größenveränderungsmodul 142, ein optionales horizontales Größenveränderungsmodul 143, einen Controller 130 und einen Bewegungsvektorprozessor 118 auf. Der zuweisbare Prozessor 120 führt eine inverse diskrete Kosinustransformationsfunktion (IDCT) 122, eine Summierfunktion 124, eine Interpolationsfunktion 126 und eine Block-in-Abtastzeilen-Umwandlungsfunktion 128 durch. Der zuweisbare Prozessor 120 beinhaltet ebenso ein Blockspeichermodul 129, das mit den verschiedenen Komponenten innerhalb des zuweisbaren Prozessors 120 zusammenarbeitet, um beispielsweise Zwischenspeicher der Blockraum- und/oder Abtastzeilenraumvideoinformation bereitzustellen.
  • Da die Mehrzahl der Elemente des MPEG-artigen Decoders 200 von 2 in im wesentlichen derselben Art und Weise arbeiten wie die entsprechenden Elemente in dem MPEG-artigen Decoder 100 von 1, werden nur die Unterschiede zwischen den zwei Figuren detailliert erörtert. Beispielsweise beinhaltet der MPEG-artige Decoder 200 von 2 einen Bewegungsvektorprozessor 118, während der MPEG-artige Decoder 100 von 1 dies nicht tut. Dies liegt daran, daß in dem MPEG-artigen Decoder 200 von 2 die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 "innerhalb der Schleife" liegt (d.h. zwischen der IDCT-Funktion 122 und der Summierfunktion 124 des zuweisbaren Prozessors 120). Im Gegensatz dazu liegt in dem MPEG-artigen Decoder 100 von 1 die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 "außerhalb der Schleife" (d.h. nach der IDCT-Funktion 122 und der Summierfunktion 124 des zuweisbaren Prozessors 120). Da die Interpolationsfunktion 126 die Größe eines Ankerframeblocks, der verwendet wird, um andere Blöcke entsprechend den jeweiligen Bewegungsvektoren vorherzusagen, vergrößert oder verkleinert, ist es notwendig, diese Bewegungsvektoren an die größere oder kleinere Größe der jeweiligen Blöcke anzupassen.
  • Das Eingangspufferspeichermodul 111 wird verwendet, um zeitweilig den empfangenen komprimierten Videostrom IN zu speichern, bis das variable-Längen-Decodermodul 112 bereit ist, die Videodaten für die Verarbeitung aufzunehmen. Der VLD 112 hat einen Eingang, der mit einem Datenausgang des Eingangspufferspeichermoduls 111 verbunden ist, um z.B. die gespeicherten Videodaten, die mit variabler Länge codiert sind, als Datenstrom S1 abzurufen. Der VLD 112 decodiert die abgerufenen Daten, um einen Bitstrom S2 mit konstanter Länge, der quantisierte Prädiktionsfehler-DCT-Koeffizienten aufweist, einen Bewegungsvektorstrom MV und einen Blockinformationsstrom DATA zu erzeugen. Das IQ-Modul 113 führt eine inverse Quantisierungsoperation auf dem Bitstrom S2 konstanter Länge durch, um einen DCT-Koeffizientenvektor S3 zu erzeugen, der quantisierte Prädiktionsfehlerkoeffizienten in der Standardform aufweist, d.h. DCT-Koeffizienten.
  • Die IDCT-Funktion 122 des zuweisbaren Prozessors 120 führt eine inverse diskrete Kosinustransformationsoperation auf dem DCT-Koeffizientenvektor S3 durch, um einen Datenvektor S4 zu erzeugen, der Pixel-per-Pixel-Vorhersagefehler aufweist. Arithmetische und/oder logische Ressourcen des zuweisbaren Prozessors 120 werden der IDCT-Funktion 122 basierend auf den vorher beschriebenen Faktoren und verschiedenen Faktoren, die unten detaillierter beschrieben werden, zugewiesen.
  • Die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 führt eine vertikale und/oder horizontale Interpolationsoperation durch, um die Pixelblöcke innerhalb des Pixel-per-Pixel-Vorhersagefehler-Datenvektors S4 in der Größe zu verändern, um einen in der Größe veränderten Pixel-per-Pixel-Vorhersagefehler-Datenvektor S11 zu erzeugen. Das Ausmaß der Größenveränderung, die den Pixelblöcken weitergegeben wird, wird in Bezug auf ein Steuersignal SIZE, das von dem Controller 130 erzeugt wird, bestimmt. Die Größenveränderung kann das Vergrößern (z.B. über eine Interpolation) oder das Verringern (z.B. über eine Dezimierung oder eine Dezimierung und Interpolation) einer vertikalen und/oder horizontalen Abmessung der Pixelblöcke aufweisen. Durch Verringern der Größe der Pixelblöcke kann die Menge der Speicherressourcen, die von dem Ankerframespeicher 117 verwendet werden, reduziert werden.
  • Die Summierfunktion 124 des zuweisbaren Prozessors 120 führt eine Additionsoperation des in der Größe veränderten Pixel-per-Pixel-Vorhersagefehler-Datenvektors S11 und eines bewegungskompensierten, vorhergesagten Pixelwertdatenvektors S6, der durch das Bewegungskompensationsmodul 116 erzeugt wurde, durch. Die Ausgabe der Summierfunktion 124 ist somit in der beispielhaften Ausführungsform von 2 ein in der Größe veränderter Videodatenvektor S12, der rekonstruierte, in der Größe veränderte Pixelwerte aufweist. Der in der Größe veränderte Videodatenvektor S12, der durch die Summierfunktion 124 erzeugt wurde, wird mit dem Ankerframespeicher 117 und der Block-zu-Abtastzeilen-Konvertierungsfunktion 128 des zuweisbaren Prozessors 120 verbunden. Das Ankerframespeichermodul 117 empfängt diese in der Größe veränderten Pixelblöc ke, die mit den Ankerframes innerhalb des in der Größe veränderten Videodatenvektors S12 verknüpft sind, und speichert sie.
  • Die Block-in-Abtastzeilen-Konvertierungsfunktion 128 des zuweisbaren Prozessors 120 führt eine Konversion des blockbasierten, in der Größe veränderten Videodatenvektors S12 von dem Blockraum in den Abtastzeilenraum durch. Das heißt, die Block-in-Abtastzeilen-Konvertierungsfunktion 128 des zuweisbaren Prozessors 120 konvertiert den blockbasierten, in der Größe veränderten Videodatenvektor S12, der durch die Interpolationsfunktion 126 erzeugt worden ist, in einen abtastzeilenbasierten Videostrom S9. Der abtastzeilenbasierte Videostrom S9 wird mit dem optionalen vertikalen Größenveränderer 142, dem optionalen horizontalen Größenveränderer 143 oder dem Ausgang OUT verbunden.
  • Der optionale vertikale Größenveränderer 142 und der optionale horizontale Größenveränderer 143 arbeiten in im wesentlichen der gleichen Art und Weise wie vorher beschrieben. Der Controller 130 benutzt optional diese optionalen Größenveränderer in Verbindung mit der Interpolationsfunktion 126 des zuweisbaren Prozessors 120, um ein geeignetes Videoausgangssignal OUT zu erzielen.
  • In 2 weist ein zuweisbarer Prozessor 120 in Antwort auf das Steuersignal A von dem Controller 130 Rechenressourcen zwischen zumindest der IDCT-Funktion 122 und der Interpolationsfunktion 126 zu. Der Controller 130 veranlaßt, daß zuweisbare Rechenressourcen, wie z.B. Vektorverarbeitungsressourcen, zwischen den zwei Funktionen zugewiesen werden in Antwort auf z.B. das Format des Eingangsvideosignals IN und das native Anzeige- oder Verarbeitungsformat eines Anzeige- oder Videoprozessors, der die Erfindung einsetzt.
  • Der zuweisbare Prozessor 120 adaptiert in Antwort auf ein Steuersignal SIZE vom Controller 130 eine Größe oder einen Auflösungsparameter eines Blockes, der verarbeitet wird. Das heißt, ein empfangener N × M- (oder N × N-) DCT-Koeffzientenblock, der der IDCT-Verarbeitung ausgesetzt ist, erzeugt typischerweise einen N × M- (oder N × N-) Pixelblock. Wenn der Controller 130 bestimmt, daß der produzierte Pixelblock in der Größe reduziert werden muß in sowohl horizontaler als auch vertikaler Richtung (d.h. ein HDTV-Block reduziert für die Verwendung bei einer SDTV-Anzeige), dann wird das Steuersignal SIZE verwendet, um solch eine Reduktion anzuzeigen. In Antwort darauf wird die IDCT-Funktion solch eine Reduktion bereitstellen (z.B. ein 8 × 8-Pixelblock in einen Pixelblock mit reduzierter Auflösung, wie z.B. ein 4 × 4-, 4 × 8-, 2 × 4- oder einen anderen Pixelblock mit reduzierter Auflösung M' × N' umwandeln). Diese Adaption der IDCT-Funktion wird nun detaillierter beschrieben.
  • Die IDCT-Funktion 122 des zuweisbaren Prozessors 120 wird verwendet, um einen reduzierten Auflösungspixelblock durch Durchführen der IDCT-Funktion auf einer Untergruppe der DCT-Koeffizienten innerhalb eines empfangenen DCT-Koeffizientenblockes bereitzustellen. Auf diese Art und Weise muß die Interpolationsfunktion 126 nicht verwendet werden, um einen Pixelblock mit reduzierter Größe bereitzustellen, da die IDCT-Funktion 122 solch einen Block erzeugen wird.
  • In einer Ausführungsform der Erfindung wird ein Teil der IDCT-Koeffizienten vor der tatsächlichen IDCT-Operation abgeschnitten. Der verbleibende Teil (z.B. die Koeffizienten relativ niedriger Ordnung) des DCT-Koeffizientenblocks wird dann einer inversen DCT ausgesetzt, um einen Pixel block mit reduzierter Auflösung zu erzeugen. Die Größe der tatsächlichen Auflösungsreduzierung wird bestimmt durch die Anzahl von DCT-Koeffizienten, die verwendet werden, um den abgeschnittenen Pixelblock zu rekonstruieren. Die Menge der Abschneidung wird bestimmt durch den geeigneten Reduktionsgrad der Pixelauflösung, wie durch den Controller in Bezug auf das empfangene Videoformat und das native Anzeigeformat und wie durch das Steuersignal SIZE angezeigt, bestimmt wird.
  • Die IDCT-Funktion 122 des zuweisbaren Prozessors 120 erzeugt somit einen komprimierten Videodatenvektor S4 entsprechend einem Skalierungsfaktor SF (angezeigt durch das Steuersignal SIZE) und mit einem Kompressionsverhältnis von 1:SF. Die IDCT-Funktion 122 des zuweisbaren Prozessors 120 arbeitet auf einer Pixelblock-per-Pixelblock-Basis (z.B. ein 4 × 4-, 4 × 8- oder 8 × 8-Pixelblock), um jeden Pixelblock, der ein Ankerframe bildet, zu komprimieren, so daß ein resultierendes komprimiertes Ankerframe dem Ankerframespeicher als komprimierter Videodatenvektor S5 bereitgestellt wird. Die Speicheranforderungen des Ankerframespeichermoduls 117 werden somit um einen Faktor SF reduziert.
  • In einer anderen Ausführungsform der Erfindung, wo die Hälfte der DCT-Koeffizienten abgeschnitten wird und die verbleibenden DCT-Koeffizienten der IDCT-Verarbeitung ausgesetzt sind, wird der resultierende Pixelblock näherungsweise die halbe Auflösung (d.h. ein 2:1-Kompressionsverhältnis) des ursprünglichen Pixelblocks (z.B. ein 4 × 8- oder 8 × 4-Pixelblock) haben. In ähnlicher Weise wird, wenn drei Viertel der DCT-Koeffizienten abgeschnitten werden und die verbleibenden DCT-Koeffizienten der IDCT-Verarbeitung ausgesetzt werden, dann der resultierende Pixelblock näherungsweise ein Viertel der Auflösung (d.h. ein 4:1-Komprimierungsverhältnis) des ursprünglichen Pixelblocks (d.h. ein 4 × 4-Pixelblock) haben. Es ist wichtig, festzustellen, daß die Größe der Reduktion kein Faktor 2 (d.h. 1/2, 1/4 usw.) sein muß. Die Größe der Reduktion kann in irgendeiner Art und Weise beschrieben werden, die für die Anwendung als geeignet erachtet wird. Beispielsweise in dem Fall eines HDTV-Videoformatstroms, der für die Anzeige auf einer SDTV-Formatanzeigevorrichtung reduziert wird, kann die Größe der Reduktion (d.h. der Skalierungsfaktor SF) in vertikaler Richtung als eine 9:4-Reduktion (d.h. 1080 Zeilen zu 480 Zeilen) und in der horizontalen Richtung als eine 3:1-Reduktion (d.h. 1920 Pixel zu 640 Pixel) beschrieben werden.
  • Der Bewegungsvektorprozessor 130 empfängt den Bewegungsvektorstrom MV von dem VLD 112 und das Steuersignal SIZE, das von dem Controller 130 erzeugt wird. Der Bewegungsvektorstrom MV weist eine Bewegungsvektorinformation auf, die von dem Bewegungskompensationsmodul 116 verwendet wird, um individuelle Makroblöcke vorherzusagen basierend auf der Bildinformation, die in dem Ankerframespeichermodul abgelegt ist. Da die Bildinformation, die in dem Ankerframespeichermodul 117 abgelegt ist, durch die IDCT-Funktion 122 des zuweisbaren Prozessors 122 skaliert wird, wie oben beschrieben, ist es ebenso notwendig, die Bewegungsvektordaten zu skalieren, die verwendet werden, um Makroblöcke unter Verwendung der skalierten Pixelinformation vorherzusagen. Die skalierten Bewegungsvektoren MV sind über den Pfad MV' mit dem Bewegungskompensationsmoduls 116 verbunden.
  • Das Bewegungskompensationsmodul 116 greift auf die komprimierte (d.h. skalierte) Bildinformation, die im Speichermodul 117 abgelegt ist, über den Signalpfad S7' und den (die) skalierten Bewegungsvektoren) MV' zu, um einen skalierten vorhergesagten Makroblock zu erzeugen. Das heißt, das Bewegungskompensationsmodul 116 verwendet ein oder mehrere gespeicherte Ankerframes (z.B. die Pixelblöcke mit reduzierter Auflösung, die in Bezug auf das letzte I-Frame oder P-Frame des Videosignals, das beim Ausgang der Summierfunktion 124 erzeugt wird, erzeugt wurden) und den (die) Bewegungsvektoren) MV', die von dem Bewegungsvektorprozessor 130 empfangen wurden, um die Werte für jeden der Mehrzahl von skalierten, vorhergesagten Makroblöcken, die einen skalierten vorhergesagten Informationsdatenvektor S6 bilden, zu berechnen.
  • Wie vorher erwähnt, arbeitet die Interpolationsfunktion 126 im Pixelraum, um eine oder mehrere zusätzliche Pixelzeilen zwischen ausgewählten existierenden Reihen oder Zeilen oder Zeilen von Pixeln in einem Pixelblock, der verarbeitet wird, einzufügen. Die Anzahl von eingefügten Zeilen hängt von der Differenz zwischen z.B. dem Eingangsvideoformat und dem nativen Anzeige- oder Videoverarbeitungsformat ab. Beispielsweise ist die Umwandlung von 480 Zeilen in 1080 Zeilen ein 4:9-Umwandlungsverhältnis, die Umwandlung zwischen 480 Zeilen und 720 Zeilen ist ein 2:3-Umwandlungsverhältnis.
  • In einer Ausführungsform der Erfindung werden die IDCT-Funktion 122 und die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 fest integriert und arbeiten hauptsächlich im DCT-Raum. In dieser Ausführungsform arbeitet die Interpolationsfunktion 126 des zuweisbaren Prozessors 120 in dem DCT-Raum, um die vertikale Dimension eines Pixelblockes zu erhöhen durch beispielsweise Hinzufügen zusätzlicher "Padding"- bzw. "Füll"-DCT-Koeffizienten zu einem empfangenen DCT-Koeffizientenblock vor der Durchführung der IDCT-Funktion. Beispielsweise kann ein 8 × 8-DCT-Koeffizientenblock in einen 8 × 12- oder 8 × 18-DCT-Koeffizientenblock aufgefüllt und verarbeitet werden unter Verwendung der DCT-Basisfunktionen (d.h. der Koeffizientenmatrizen), die für die aufgefüllte DCT-Größe geeignet sind.
  • Ein ATSC-Fernsehempfänger muß die Eingangsvideosignale verarbeiten entsprechend zumindest den ATSC-empfohlenen Komprimierungsformaten. Diese Formate sind unten in Tabelle 2 gezeigt. In Tabelle 2 bezeichnet "P" den progressive scan bzw. die Zeile-für-Zeile-Abtastung und "I" bezeichnet den sogenannten interlaced scan bzw. die Zeilensprungabtastung. Es soll ebenso erwähnt werden, daß die Einzelbildgeschwindigkeitszahlen, die in Tabelle 2 gezeigt sind, ganzzahlige Werte sind; der ATSC-Standard erlaubt es auch, daß die Einzelbildgeschwindigkeitswerte mit 1000/1001 multipliziert werden (d.h. 59,94 Hz statt 60 Hz).
  • Figure 00170001
    Tabelle 2
  • Die Erfindung spricht die vertikalen Interpolationsausgaben in Bezug auf das Umwandeln eines Eingangsvideoformat in ein natives Anzeigeformat an. Da die vertikale Interpolation des Abtastmodus notwendigerweise die Speicherung von zumindest zwei Videozeilen erfordert, führt der Blockmodusansatz, der durch die Erfindung ermöglicht wird, zu einer signifikanten Einsparung von Speicher und Speicherbandbreite. Darüber hinaus reduziert der Ansatz der gemeinsam genutzten Ressourcen der Erfindung die Gesamtrechenressourcenanforderungen innerhalb z.B. eines ATSC- oder anderen Videoverarbeitungssystems.
  • 3 stellt ein Flußdiagramm eines Verfahrens 300 entsprechend der Erfindung dar. Genauer gesagt ist das Verfahren 300 von 3 geeignet für die Verwendung in z.B. dem Controller 130 von 1 oder 2. Darüber hinaus kann das Verfahren 300 von 1 leicht durch den Fachmann an die verschiedenen alternativen Ausführungsformen der Erfindung, die in Bezug auf die 1 und 2 beschrieben worden sind, angepaßt werden.
  • In das Verfahren 300 wird in Schritt 310 eingetreten und es wird zu Schritt 320 fortgesetzt, wo das Quellformat eines empfangenen Videostroms bestimmt wird. Das Quellformat wird bestimmt in Bezug auf z.B. die formatanzeigende Information, die dem Controller 130 über das Kopfzeilendatensignal HD bereitgestellt wird, wie oben beschrieben. Das Verfahren 300 setzt dann mit Schritt 330 fort.
  • In Schritt 330 bestimmt der Controller die Verarbeitungsressourcen, die notwendig sind, um einen Videostrom mit dem Quellformat, das in Schritt 320 bestimmt worden ist, zu verarbeiten. Das heißt, der Controller 130 bestimmt, welche Verarbeitungsressourcen der IDCT-Funktion 122 zugewiesen werden sollen, welche Verarbeitungsressourcen der Interpolationsfunktion 126 zugewiesen werden sollten und optional, welche Verarbeitungsressourcen der Block-in-Abtastzeilen-Umwandlungsfunktion 128 zugewiesen werden sollten. Beispielsweise erfordert ein SDTV-Videostrom weniger IDCT-Ressourcen verglichen mit einem HDTV-Videostrom aufgrund der reduzierten Anzahl von zu verarbeitenden DCT-Koeffizienten. Jedoch erfordert, wie vorher beschrieben, ein SDTV-Videostrom die Hochkonversion oder die Interpolation, um einen Anzeigebereich einer HDTV-Anzeigevorrichtung vollständig auszunutzen. In gleicher Weise wird im Falle eines HDTV-Videostroms, der als Eingangsvideostrom IN bei einem System, das ein HDTV-natives Anzeigeformat oder ein natives Videoverarbeitungsformat einsetzt, empfangen wird, eine große Menge der Verarbeitungsressourcen der IDCT-Funktion 122 des zuweisbaren Prozessors 120 zugewiesen. In dem Fall eines Eingangsvideostroms IN, der ein Bild kleinerer Auflösung (z.B. ein 480 Zeilen- oder 720 Zeilen-Bild) aufweist, werden zuweisbare Verarbeitungsressourcen, die ausreichend sind, um die reduzierte Anzahl von DCT-Koeffizienten, die mit solch einem Bild reduzierter Auflösung verknüpft sind, der IDCT-Funktion 122 zugewiesen. Einige oder alle der verbleibenden zuweisbaren Verarbeitungsressourcen 120 werden der Interpolationsfunktion 126 und optional der Block-zu-Abtastzeilen-Umwandlungsfunktion 128 zugewiesen. Das Verfahren 300 setzt dann mit Schritt 340 fort.
  • In Schritt 340 werden die zuweisbaren Verarbeitungsressourcen des zuweisbaren Prozessors 120 zwischen der IDCT-Funktion 122 und der Interpolationsfunktion 126 entsprechend der Bestimmung, die in Schritt 330 durchgeführt wurde, zugewiesen. Das Verfahren 300 setzt dann mit Schritt 350 fort.
  • In Schritt 350 wird der Bitstrom verarbeitet. Das heißt, der DCT-Koeffizientenblock, der gegenwärtig in dem Blockspeichermodul 114 gespeichert ist, wird von der IDCT-Funktion 122 und möglicherweise von der Interpolationsfunktion 126 des zuweisbaren Prozessors 120 verarbeitet, um einen resultierenden Pixelblock zu erzeugen. Der resultierende Pixelblock wird mit der Summierfunktion 124 als Videostrom S4 in der vorher beschriebenen Art und Weise verbunden. Die Routine setzt dann optional mit Schritt 360 fort.
  • Bei dem optionalen Schritt 360 wird eine Abfrage durchgeführt, ob ein Formatveränderungspunkt innerhalb des Eingangsvideostroms erreicht wurde. Das heißt, eine Abfrage wird durchgeführt, ob eine Sequenzkopfzeile, der Beginn eines I-Frames oder ein anderer Punkt innerhalb des Eingangsstroms, der geeignet ist für die Verwendung eines Formatveränderungspunktes, erreicht wurde. Das Format kann verändert werden, wenn beispielsweise ein Tuner/Demodulatorpaar (nicht gezeigt) oder ein Transportstromdemultiplexer (nicht gezeigt) dazu gebracht wurde (über beispielsweise Benutzermanipulation einer Fernsteuerungseinrichtung), einen neuen Videoeingangsstrom IN mit einem Format als dem gegenwärtigen Videoeingangsstrom IN mit dem MPEG-artigen Decoder 100 (oder 200) von 1 (oder 2) zu verbinden. Falls die Abfrage in Schritt 360 negativ beantwortet wird, setzt die Routine mit Schritt 350 fort, wo der Bitstrom fortgesetzt verarbeitet wird (d.h. der nächste Block wird verarbeitet). Falls die Abfrage in Schritt 360 bestätigend beantwortet wird, setzt die Routine mit dem optionalen Schritt 370 fort.
  • Bei dem optionalen Schritt 370 wird eine Abfrage durchgeführt, ob es eine tatsächliche Formatveränderung in dem Eingangsvideostrom gab. Falls die Abfrage in Schritt 370 negativ beantwortet wird, setzt die Routine mit Schritt 350 fort, wo der Bitstrom weiter verarbeitet wird (d.h. der nächste Block wird verarbeitet). Falls die Abfrage in Schritt 360 bestätigend beantwortet wird, setzt die Routine mit Schritt 330 fort, wo eine Bestimmung der notwendigen Ressourcen, um den Eingangsvideostrom zu verarbeiten, entsprechend dem neuen Format berechnet wird. Die Schritte 360 und 370 können in vielen Fällen ignoriert werden, z.B. wo die Gesamtroutine 300 automatisch durchgeführt wird, jedesmal, wenn ein neuer Kanal ausgewählt wird.
  • In einer Ausführungsform der Erfindung wird die Zuweisung der Verarbeitungsressourcen verwirklicht unter Verwendung von Softwareimplementierungen von einer oder mehreren der inver sen diskreten Kosinustransformationsfunktion (IDCT) 122, der Summierfunktion 124, der Interpolationsfunktion 126 und der Block-in-Abtastzeilen-Konvertierungsfunktion 128, die oben in Bezug auf den zuweisbaren Prozessor 120 beschrieben wurden. In dieser Ausführungsform werden alle Funktionen, die zuzuweisen sind (z.B. die IDCT-Funktion 122 und die Interpolationsfunktion 126), mit einer Mehrzahl von Softwareroutinen verknüpft. Jede der Mehrzahl von Softwareroutinen weist sich selbst bei der Ausführung eine geeignete Menge der Verarbeitungsressourcen zu.
  • Beispielsweise wird eine IDCT-Funktionssoftwareroutine, die mit dem Quellvideoformat (z.B. dem empfangenen Videoformat) verknüpft ist, ausgeführt, um die DCT-Koeffizientenblöcke in Pixelblöcke umzuwandeln. In gleicher Weise wird eine Interpolationsfunktionssoftwareroutine, die mit dem Quellvideoformat und dem Ausgangsvideoformat (z.B. dem nativen Format einer Anzeigevorrichtung) verknüpft ist, ausgeführt, um die Größe der Pixelblöcke, die mit der Block-zu-Abtastzeilen-Konvertierungsfunktion 128 verbunden werden, anzupassen. Jede der ausgeführten IDCT-Funktions- und Interpolationsfunktionssoftwareroutinen weist sich selbst eine geeignete Menge der Verarbeitungsressourcen mit der Ausführung zu. Die Gesamtmenge der Rechen- und anderer Ressourcen, die von den verschiedenen Softwareroutinen reserviert werden, werden dazu neigen, sich etwas auszugleichen, da die Routinen ausgewählt werden basierend auf den Quell- und Ausgangsvideoformaten und konstruiert sind, um nur die notwendige Menge von Ressourcen zuzuweisen und diese Ressourcen in einer umgekehrt proportionalen Art und Weise reservieren (d.h. die IDCT-Funktionsressourcenanforderung neigt dazu, reduziert zu werden, wenn die Interpolationsressourcen dazu neigen, erhöht zu werden). Somit kann die Softwarezuweisung von Ressourcen einer Vektorverarbeitung, einem Mehrfachprozessor oder einer anderen zuweisbaren Rechenarchitektur mit Vorteil verwendet werden, um die Erfindung auszuüben.
  • In einer Ausführungsform der Erfindung ist die Menge der Verarbeitungsressourcen, die ein oder mehreren inversen diskreten Kosinustransformationsfunktionen (IDCT) 122, der Summierfunktion 124, der Interpolationsfunktion 126 und der Block-zu-Abtastzeilen-Konvertierungsfunktion 128 bereitgestellt wird, im wesentlichen fixiert. Dies wird verwirklicht durch Auswählen eines Zwischenvideoformats für das Verarbeiten und Zuweisen der verschiedenen Ressourcen basierend auf dem Zwischenvideoformat. Auf diese Art und Weise ist die Zuweisung der Verarbeitungsressourcen und des Speichers zwischen den verschiedenen Funktionen konstant. Diese Zuweisung kann durchgeführt werden z.B. in einer Fabrik oder mit Einschalten eines Videodecoders gemäß der Erfindung.
  • Der MPEG-artige Decoder 100 von 1 weist einen oder mehrere integrierte Schaltkreise auf, die in einer Art und Weise konstruiert sind, die die steuerbare Zuweisung der Vektorverarbeitung oder anderer arithmetischer und/oder logischer Verarbeitungsressourcen zu den IDCT- und Interpolationsoperationen erlaubt, wie dies durch die Kombination von anschaulich übertragenem Videoformat und nativem Anzeigeformat erfordert wird. Von einem praktischen Gesichtspunkt aus kann die Zuweisung von Ressourcen, wie z.B. Vektorverarbeitungsressourcen, einen leichten Anstieg im Zwischenspeicher erfordern, da der interpolierte (d.h. aufwärts konvertierte) Pixelblock (z.B. ein 8 × 12- oder 8 × 18-Pixelblock) mehr Pixel enthalten wird als der ursprüngliche Pixelblock (z.B. ein 8 × 8-Pixelblock). Das Nettoergebnis des Reduzierens der arithmetischen Ressourcen und des Erhö hens der Speicheranforderungen wird ein Nettoabfall in dem Halbleitergebiet sein, das benötigt wird, um die erforderliche Videodecoderfunktionalität auf einem integrierten Schaltkreis zu implementieren. Das heißt, durch Adaptieren der IDCT-Ressourcen, so daß diese Ressourcen reduziert werden abhängig von dem Format des Eingangsbildes, selbst auf Kosten eines kleinen zusätzlichen Speichers, wird das gesamte Halbleiter-"Grundstück", das notwendig ist, um den integrierten Schaltkreis zu implementieren, reduziert, was zu einer wesentlichen Einsparung führt und zu höheren Gewinnen führt aufgrund z.B. einer reduzierten Komplexität und einer kleineren Rohchipgröße.
  • Obgleich verschiedene Ausführungsformen, die die Lehren der vorliegenden Erfindung verwirklichen, gezeigt und im Detail hier beschrieben wurden, kann der Fachmann leicht viele andere variierte Ausführungsformen ableiten, die immer noch diese Lehren verwirklichen.

Claims (17)

  1. Verfahren zum Decodieren eines komprimierten Videostroms, das die Schritte aufweist: Identifizieren (320) eines Quellformats des komprimierten Videostroms, Bestimmen (330) unter Verwendung des identifizierten Quellformats von einer oder mehreren Rechenressourcenanforderungen, die geeignet sind für die Verarbeitung des komprimierten Videostroms, um einen dekomprimierten Videostrom mit einem Ausgabeformat zu erzeugen, Zuweisen (340) der Ressourcen in Antwort auf die eine oder die mehreren bestimmten Rechenressourcenanforderungen und Verarbeiten (350) des komprimierten Videostroms unter Verwendung des einen oder der mehreren zugewiesenen Rechenressourcen, um den dekomprimierten Videostrom zu erzeugen.
  2. Verfahren nach Anspruch 1, bei dem die eine oder die mehreren Rechenressourcenanforderungen Ressourcenanforderungen für eine inverse diskrete Kosinustransformationsfunktion (IDCT) (122) und eine Interpolationsfunktion (126) aufweisen.
  3. Verfahren nach Anspruch 2, bei dem die IDCT-Funktion arbeitet, um diskrete Kosinustransformationsblöcke (DCT) innerhalb des komprimierten Videostroms in Pixelblöcke zu transformieren, und in einem ersten Betriebsmodus die Interpolationsfunktion arbeitet, um eine Anzahl von Zeilen und/oder eine Anzahl von Pixeln pro Zeile des Pixelblocks zu erhöhen, in einem zweiten Betriebsmodus die Interpolationsfunktion nicht arbeitet, um die Anzahl der Zeilen und/oder die Anzahl von Pixeln pro Zeile des Pixelblockes zu erhöhen.
  4. Verfahren nach Anspruch 3, bei dem das Quellformat mit einem Videobild verknüpft ist mit einer Anzahl von Zeilen, die durch einen ersten Wert festgelegt sind, und einer Anzahl von Pixeln pro Zeile, die durch einen zweiten Wert festgelegt ist, das Ausgabeformat mit einem Videobild verknüpft ist mit einer Anzahl von Zeilen, die durch einen dritten Wert festgelegt ist, und einer Anzahl von Pixeln pro Zeile, die durch einen vierten Wert festgelegt ist, und in den ersten Betriebsmodus eingetreten wird in Reaktion darauf, daß entweder der erste Wert kleiner als der dritte Wert oder der zweite Wert kleiner als der vierte Wert ist.
  5. Verfahren nach Anspruch 4, bei dem in den zweiten Betriebsmodus eingetreten wird in Antwort darauf, daß der erste Wert nicht kleiner als der dritte Wert und der zweite Wert nicht kleiner als der vierte Wert ist.
  6. Verfahren nach Anspruch 2, bei dem die IDCT-Funktion arbeitet, um die DCT-Koeffizientenblöcke innerhalb des komprimierten Videostroms in Pixelblöcke zu transformieren, und die Interpolationsfunktion arbeitet, um eine Anzahl von Zeilen des Pixelblocks zu erhöhen, wobei das Erhöhen der Anzahl von Zeilen mit einem Vergrößern der vertikalen Größe zwischen dem Quellvideoformat und dem ursprünglichen Anzeigeformat verknüpft ist.
  7. Verfahren nach Anspruch 3, das weiterhin den Schritt aufweist des in-der-Größe-Änderns unter Verwendung einer nicht zugewiesenen Berechnungsressource von der vertikalen Größe und/oder einer horizontalen Größe der Pixelblöcke, die von den zugewiesenen Berechnungsressourcen verarbeitet wurden.
  8. Verfahren nach Anspruch 1, bei dem die eine oder die mehreren Berechnungsressourcenanforderungen zugewiesen werden, um zumindest die Schritte einer inversen diskreten Kosinustransformationsfunktion (IDCT), einer Interpolationsfunktion und einer Block-in-Abtastzeilen-Umwandlungsfunktion durchzuführen, die IDCT-Funktion arbeitet, um die DCT-Koeffizientenblöcke innerhalb des komprimierten Videostroms in Pixelblöcke umzuwandeln, die Interpolationsfunktion arbeitet, um zumindest die Anzahl der Zeilen oder eine Anzahl von Pixeln pro Zeile des Pixelblocks zu erhöhen, und wobei die Block-in-Abtastzeilen-Funktion arbeitet, um eine Mehrzahl von entweder transformierten Pixelblöcken oder interpolierten Pixelblöcken in eine Mehrzahl von Videoabtastzeilen umzuwandeln.
  9. Verfahren nach Anspruch 1, bei dem der Zuweisungsschritt aufweist das Zuweisen (340) in Antwort auf die eine oder die mehreren bestimmten Ressourcenanforderungen von Berechnungsressourcen (120) für das Durchführen zumindest einer inversen diskreten Kosinustransformationsfunktion (IDCT) (122).
  10. Verfahren nach Anspruch 9, bei dem die IDCT-Funktion (122) mit einer Mehrzahl von IDCT-Funktionssoftwareroutinen verknüpft ist, wobei jede der IDCT-Funktionssoftwareroutinen mit einem entsprechenden Quellformat verknüpft ist, und die zuweisbaren Berechnungsressourcen zugewiesen werden durch Ausführen der IDCT-Funktionssoftwareroutine, die mit dem identifizierten Quellformat verknüpft ist.
  11. Verfahren nach Anspruch 9, bei dem die Decoderressource zwischen der IDCT-Funktion (122) und einer Interpolationsfunktion (126) zugewiesen wird.
  12. Verfahren nach Anspruch 11, bei dem die IDCT-Funktion (122) mit einer Mehrzahl von IDCT-Funktionssoftwareroutinen verknüpft wird, wobei jede der IDCT-Funktionssoftwareroutinen mit einem entsprechenden Quellformat verknüpft ist, die Interpolationsfunktion (126) mit einer Mehrzahl von Interpolationsfunktionssoftwareroutinen verknüpft wird, wobei jede der Interpolationssoftwareroutinen mit zumindest einem entsprechenden Ausgabeformat verknüpft ist, und die zuweisbaren Ressourcen zugewiesen werden durch Ausführen einer IDCT-Funktionssoftwareroutine, die mit dem identifizierten Quellformat verknüpft ist, und eine Interpolationsfunktion, die mit der Ausgabefunktion verknüpft ist, zugewiesen werden.
  13. Verfahren nach Anspruch 10, bei dem die zuweisbaren Berechnungsressourcen (120) zwischen der IDCT-Funktion (122) und einer Block-in-Abtastzeilen-Wandlerfunktion (128) zugewiesen werden, wobei die Block-in-Abtastzeilen-Wandlerfunktion mit einer Mehrzahl von Block-in-Abtastzeilen-Wandlerfunktionssoftwareroutinen verknüpft ist, wobei jede Block-in-Abtastzeilen-Wandlerfunktionssoftwareroutine mit einem entsprechenden Quellformat und einem entsprechenden Ausgabeformat verknüpft ist, die Block-in-Abtastzeilen-Wandlerfunktion mit dem Quellformat und dem Ausgangsformat verknüpft ist.
  14. Verfahren nach Anspruch 11, bei dem das Quellformat eine Quellbildauflösung aufweist, und in Antwort auf einen Anstieg der Quellbildauflösung die Decoderressource, die der IDCT-Funktion zugewiesen ist, erhöht wird, und die Decoderressource, die der Interpolationsfunktion zugewiesen ist, verkleinert wird.
  15. Vorrichtung für das Verarbeiten eines komprimierten Videostroms (IN) mit einem Quellvideoformat, um einen dekomprimierten Videostrom mit einem Ausgangsvideoformat zu erzeugen, die aufweist: einen Decoder (100) einschließlich zuweisbarer Rechenressourcen (120) für das Durchführen zumindest einer inversen diskreten Kosinustransformationsfunktion (IDCT) (122) für das Decodieren des komprimierten Videostroms, um einen decodierten Videostrom (OUT) zu erzeugen, und einen Controller (130) für das Identifizieren eines Quellformats des komprimierten Videostroms für das Bestimmen unter Verwendung des identifizierten Quellformats von einer oder mehreren Berechnungsressourcenanforderungen, die für die Verarbeitung des komprimierten Videostroms geeignet sind, um den decodierten Videostrom mit dem Ausgangsformat zu erzeugen, und für das Zuweisen der Rechenressourcen geeignet sind in Antwort auf eine oder mehrere bestimmte Berechnungsressourcenanforderungen.
  16. Vorrichtung nach Anspruch 5, bei der die zuweisbaren Berechnungsressourcen eine Interpolationsfunktion (126) durchführen und der Controller die zuweisbaren Berechnungsressourcen an zumindest eine, die IDCT-Funktion oder die Interpolationsfunktion, anpaßt.
  17. Vorrichtung nach Anspruch 15, bei der die IDCT-Funktion arbeitet, um einen Pixelblock reduzierter Größe entsprechend einem Skalierungsfaktor zu erzeugen, und wobei die Vorrichtung weiterhin aufweist: einen Bewegungsvektorprozessor für das Empfangen der Bewegungsvektorinformation, die mit einem vorhergesagten Pixelblock verknüpft ist, und für das hieraus Erzeugen eines skalierten Bewegungsvektors entsprechend dem Skalierungsfaktor.
DE69830802T 1997-09-26 1998-09-28 Zuweisung von rechenleistung in einem informationsstrom-dekoder Expired - Lifetime DE69830802T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US6011297P 1997-09-26 1997-09-26
US60112P 1997-09-26
US09/160,729 US6549577B2 (en) 1997-09-26 1998-09-25 Computational resource allocation in an information stream decoder
US160729 1998-09-25
PCT/US1998/020319 WO1999016235A2 (en) 1997-09-26 1998-09-28 Computational resource allocation in an information stream decoder

Publications (2)

Publication Number Publication Date
DE69830802D1 DE69830802D1 (de) 2005-08-11
DE69830802T2 true DE69830802T2 (de) 2006-04-27

Family

ID=26739575

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69830802T Expired - Lifetime DE69830802T2 (de) 1997-09-26 1998-09-28 Zuweisung von rechenleistung in einem informationsstrom-dekoder

Country Status (6)

Country Link
US (1) US6549577B2 (de)
EP (1) EP1025692B8 (de)
JP (1) JP4344472B2 (de)
AU (1) AU9778898A (de)
DE (1) DE69830802T2 (de)
WO (1) WO1999016235A2 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6310919B1 (en) * 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
JP2000023063A (ja) * 1998-06-26 2000-01-21 Sony Corp 映像再生装置及び再生方法
US7982740B2 (en) 1998-11-09 2011-07-19 Broadcom Corporation Low resolution graphics mode support using window descriptors
US6798420B1 (en) 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6768774B1 (en) * 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US6661427B1 (en) 1998-11-09 2003-12-09 Broadcom Corporation Graphics display system with video scaler
US6470051B1 (en) * 1999-01-25 2002-10-22 International Business Machines Corporation MPEG video decoder with integrated scaling and display functions
JP2001036801A (ja) * 1999-07-23 2001-02-09 Sharp Corp 撮像装置
US7269785B1 (en) * 1999-12-30 2007-09-11 Genesis Microchip Inc. Digital manipulation of video in digital video player
TW519840B (en) * 2000-06-02 2003-02-01 Sony Corp Image coding apparatus and method, image decoding apparatus and method, and recording medium
EP1323308B1 (de) * 2000-08-15 2014-08-20 Polycom Israel Ltd. Verzögerungsreduktion zur übertragung und verarbeitung von videodaten
US6628709B2 (en) * 2000-12-21 2003-09-30 Matsushita Electric Corporation Of America Bit number prediction for VLC coded DCT coefficients and its application in DV encoding/transcoding
US20030021347A1 (en) * 2001-07-24 2003-01-30 Koninklijke Philips Electronics N.V. Reduced comlexity video decoding at full resolution using video embedded resizing
FR2831380A3 (fr) * 2001-10-22 2003-04-25 Bahia 21 Corp Procede pour visualiser une sequence video sur un ecran d'un dispositif portable, dispositif portable et procede de conditionnement de sequence video associes
JP2003173625A (ja) * 2001-12-04 2003-06-20 Hitachi Ltd ファイル変換方法、ファイル変換装置、及びファイル生成装置
US7181010B2 (en) 2002-05-24 2007-02-20 Scientific-Atlanta, Inc. Apparatus for entitling remote client devices
US7861082B2 (en) * 2002-05-24 2010-12-28 Pinder Howard G Validating client-receivers
KR100466237B1 (ko) * 2002-06-20 2005-01-13 한국전자통신연구원 디지털 방송 프로토콜 변환 방법 및 그 시스템
US7154941B2 (en) * 2002-06-28 2006-12-26 Nokia Corporation Modem having a vector-architecture processor, and associated methodology therefor
US7009655B2 (en) * 2002-07-23 2006-03-07 Mediostream, Inc. Method and system for direct recording of video information onto a disk medium
JP2005057738A (ja) * 2003-07-18 2005-03-03 Canon Inc 信号処理装置、信号処理方法及びプログラム
US7412100B2 (en) * 2003-09-04 2008-08-12 Qualcomm Incorporated Apparatus and method for sub-sampling images in a transform domain
TWI236605B (en) * 2003-10-02 2005-07-21 Pixart Imaging Inc Data flow conversion method and its buffer device
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
WO2006000977A1 (en) * 2004-06-21 2006-01-05 Koninklijke Philips Electronics N.V. Image processor and image processing method using scan rate conversion
WO2006027846A1 (ja) * 2004-09-10 2006-03-16 Matsushita Electric Industrial Co., Ltd. ザッピングストリームの生成装置とその方法
US7860168B2 (en) * 2004-10-27 2010-12-28 Lsi Corporation Method and apparatus for improved increased bit-depth display from a transform decoder by retaining additional inverse transform bits
US20060256865A1 (en) * 2005-05-16 2006-11-16 Ensequence, Inc. Flexible use of MPEG encoded images
JP4593437B2 (ja) * 2005-10-21 2010-12-08 パナソニック株式会社 動画像符号化装置
JP4878487B2 (ja) * 2006-03-30 2012-02-15 キヤノン株式会社 情報配信装置、情報配信システム、情報処理方法、およびプログラム
US8208796B2 (en) * 2006-04-17 2012-06-26 Prus Bohdan S Systems and methods for prioritizing the storage location of media data
US9277295B2 (en) * 2006-06-16 2016-03-01 Cisco Technology, Inc. Securing media content using interchangeable encryption key
US8135699B2 (en) * 2006-06-21 2012-03-13 Gupta Puneet K Summarization systems and methods
US7978720B2 (en) * 2006-06-30 2011-07-12 Russ Samuel H Digital media device having media content transfer capability
US20080022304A1 (en) * 2006-06-30 2008-01-24 Scientific-Atlanta, Inc. Digital Media Device Having Selectable Media Content Storage Locations
US9137480B2 (en) * 2006-06-30 2015-09-15 Cisco Technology, Inc. Secure escrow and recovery of media device content keys
US8134640B2 (en) * 2006-12-26 2012-03-13 Broadcom Corporation Video processor architecture and method for frame rate conversion
JP2010528555A (ja) * 2007-05-29 2010-08-19 エルジー エレクトロニクス インコーポレイティド ビデオ信号の処理方法および装置
EP2198618A2 (de) * 2007-10-08 2010-06-23 Nxp B.V. Videodekodierung
US9002826B2 (en) * 2010-10-27 2015-04-07 Qualcomm Incorporated Media file caching for an electronic device to conserve resources
US20120170653A1 (en) * 2010-12-30 2012-07-05 General Instrument Corporation Block based sampling coding systems
CN103975583A (zh) * 2011-12-12 2014-08-06 英特尔公司 捕获多个视频通道用于视频分析和编码
CN104301779B (zh) * 2013-07-16 2018-10-26 腾讯科技(深圳)有限公司 一种视频文件的播放方法、***和装置
US9286653B2 (en) 2014-08-06 2016-03-15 Google Inc. System and method for increasing the bit depth of images
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04365278A (ja) * 1991-06-13 1992-12-17 Matsushita Electric Ind Co Ltd 多画面表示回路
US5355328A (en) 1991-09-27 1994-10-11 Northshore Laboratories, Inc. Resampling apparatus suitable for resizing a video image
US5262854A (en) * 1992-02-21 1993-11-16 Rca Thomson Licensing Corporation Lower resolution HDTV receivers
US5436665A (en) 1992-03-03 1995-07-25 Kabushiki Kaisha Toshiba Motion picture coding apparatus
KR100283343B1 (ko) 1992-06-25 2001-03-02 이데이 노부유끼 화상신호 부호화방법 및 복호화방법과 화상신호 부호화장치 및 복호화장치
US5614952A (en) * 1994-10-11 1997-03-25 Hitachi America, Ltd. Digital video decoder for decoding digital high definition and/or digital standard definition television signals
US5450140A (en) * 1993-04-21 1995-09-12 Washino; Kinya Personal-computer-based video production system
US5442400A (en) 1993-04-29 1995-08-15 Rca Thomson Licensing Corporation Error concealment apparatus for MPEG-like video data
WO1995004348A1 (en) 1993-08-02 1995-02-09 Aware, Inc. Multimedia playblack system
US5519446A (en) * 1993-11-13 1996-05-21 Goldstar Co., Ltd. Apparatus and method for converting an HDTV signal to a non-HDTV signal
US5587742A (en) * 1995-08-25 1996-12-24 Panasonic Technologies, Inc. Flexible parallel processing architecture for video resizing
US5999220A (en) * 1997-04-07 1999-12-07 Washino; Kinya Multi-format audio/video production system with frame-rate conversion

Also Published As

Publication number Publication date
EP1025692A4 (de) 2001-05-02
US20020176506A1 (en) 2002-11-28
JP2002517109A (ja) 2002-06-11
AU9778898A (en) 1999-04-12
EP1025692B1 (de) 2005-07-06
WO1999016235A2 (en) 1999-04-01
DE69830802D1 (de) 2005-08-11
WO1999016235A3 (en) 1999-05-20
US6549577B2 (en) 2003-04-15
EP1025692B8 (de) 2005-08-31
EP1025692A2 (de) 2000-08-09
JP4344472B2 (ja) 2009-10-14

Similar Documents

Publication Publication Date Title
DE69830802T2 (de) Zuweisung von rechenleistung in einem informationsstrom-dekoder
DE69529323T2 (de) Digitaler Videodekoder zum Dekodieren von digitalen hochauflösenden und/oder standardauflösenden Fernsehsignalen
DE69522861T2 (de) Verfahren und Einrichtung zur Codeumwandlung von codiertem Datenstrom
DE69728801T2 (de) Verfahren und Vorrichtung zum Verändern der Auflösung durch direkte DCT Koeffizenten-Umsetzung
DE69423798T2 (de) Vorrichtungungen und Verfahren zur skalierbaren Kodierung und Dekodierung von Videosignalen
DE69924102T2 (de) Skalierung komprimierter bilder
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69838639T2 (de) Prädiktives kodierungs- und dekodierungsverfahren für dynamische bilder
DE69821693T2 (de) Mpeg-decoder zur erzeugung multipler standardausgangssignale
DE69714071T2 (de) Vorrichtung zur kompression von pixelblöcken in einem bildverarbeitungssystem
DE102013013636B4 (de) Pixel Bufferung
DE69836696T2 (de) Verfahren und vorrichtung zur durchführung einer hierarchischen bewegungsschätzung unter verwendung einer nicht-linearen pyramide
DE69719069T2 (de) Bilddatenprozessor für bildspeichersystem mit erneuter komprimierung
DE69838729T2 (de) Verfahren und vorrichtung zur verringerung des benötigten speicherplatzes zur speicherung von referenzbildern in einem videodekoder
DE69418372T2 (de) Übertragung und Dekodierung von Bildsignalen
DE69909364T2 (de) Vorrichtung und Methode zur Änderung der Grösse eines komprimiertes Bildes
DE69614675T2 (de) MPEG-2 Dekodierung mit reduziertem RAM Bedürfnis durch ADPCM Rekomprimierung vor der Speicherung von dekomprimierten MPEG-2 Daten, wahlweise nach einem Unterabtastungsalgorithmus
JP2002517109A5 (de)
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE19907132B4 (de) Videodecoder für einen Digitalfernseher
DE69433537T2 (de) Vorrichtung zur Dekodierung von Bewegtbilddaten
DE19919412A1 (de) Decoder für einen digitalen Fernsehempfänger
DE69629442T2 (de) Verfahren und Einrichtung zur Kodierung digitaler Videosignale
DE69616850T2 (de) Videodecodersystem
DE69709293T2 (de) Verfahren und Vorrichtung zur Kodierung und Dekodierung von Bewegtbildern

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: MEDIATEK INC., HSINCHU, TW

8364 No opposition during term of opposition