DE102013223304B4 - Verwalten von Kodiererparametern für ein paralleles Umkodieren - Google Patents

Verwalten von Kodiererparametern für ein paralleles Umkodieren Download PDF

Info

Publication number
DE102013223304B4
DE102013223304B4 DE102013223304.3A DE102013223304A DE102013223304B4 DE 102013223304 B4 DE102013223304 B4 DE 102013223304B4 DE 102013223304 A DE102013223304 A DE 102013223304A DE 102013223304 B4 DE102013223304 B4 DE 102013223304B4
Authority
DE
Germany
Prior art keywords
transcoding
segment
manager
segments
input
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.)
Active
Application number
DE102013223304.3A
Other languages
English (en)
Other versions
DE102013223304A1 (de
Inventor
Alexander G. MacInnis
Hongtao Zhu
Jason Herrick
Brian Schoner
Junlin Li
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Avago Technologies International Sales Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/840,026 external-priority patent/US8928804B2/en
Application filed by Avago Technologies International Sales Pte Ltd filed Critical Avago Technologies International Sales Pte Ltd
Publication of DE102013223304A1 publication Critical patent/DE102013223304A1/de
Application granted granted Critical
Publication of DE102013223304B4 publication Critical patent/DE102013223304B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers

Landscapes

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

Abstract

System mit:einem Speicher zur Speicherung einer Mediendatei;einer Vielzahl von Transkodiereinrichtungen, wobei die Vielzahl von Transkodiereinrichtungen konfiguriert ist, zumindest einen Abschnitt der Mediendatei parallel zu transkodieren, indem ein jeweiliger Transkodiervorgang ausgeführt wird, wobei der jeweilige Transkodiervorgang ein Kodieren von Abschnitten der Mediendatei entsprechend einem jeweiligen Quantisierungsparameter (QP) umfasst;einer Transkodierverwaltungseinrichtung, die konfiguriert ist, die Mediendatei in eine Vielzahl von Segmenten zu teilen und jeweilige Segmente der geteilten Vielzahl von Segmenten zu jeweiligen Transkodiereinrichtungen der Vielzahl von Transkodiereinrichtungen zu senden, um entsprechende Ausgabesegmente zu erzeugen;wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist, die jeweiligen Transkodiereinrichtungen, die die geteilte Vielzahl von Segmenten empfangen, den jeweiligen QP näherungsweise an einen vorbestimmten finalen QP anzunähern, wobei der vorbestimmte finale QP einen vorbestimmten QP-Bereich oder einen vorbestimmten QP-Wert umfasst, dadurch gekennzeichnet, dassdie Vielzahl von Segmenten ein erstes Segment und ein zweites Segment umfasst, wobei das zweite Segment nachfolgend zu dem ersten Segment in einer Präsentationsreihenfolge ist; unddie Transkodierverwaltungseinrichtung ferner konfiguriert ist, den vorbestimmten finalen QP für das erste Segment auf der Grundlage zumindest eines initialisierten QP für das zweite Segment zu bestimmen.

Description

  • HINTERGRUND
  • Medienelemente, wie beispielsweise Spielfilme, Fernsehshows, Musik usw. können digital als Mediendateien in verschiedenen Dateiformaten gespeichert sein. Medienvorrichtungen bzw. Mediengeräte, die diese Mediendateien abspielen, können auf einen Satz von Dateiformaten begrenzt sein, die durch die Medienvorrichtung unterstützt werden. Beispielsweise kann eine Medienvorrichtung möglicherweise bestimmte Formate nicht unterstützen, wie beispielsweise eine hohe Auflösung (High Definition), hohe Bildfrequenzen, verschiedene Komprimierungsformate usw.. Um Mediendateien in derartigen Vorrichtungen erfolgreich abzuspielen, müssen die Mediendateien möglicherweise umkodiert bzw. transkodiert werden. Ein Umkodieren bzw. ein Transkodieren ist ein Vorgang, der ein Umwandeln einer Datei von einem Format in ein anderes Format betrifft. Ein Umkodieren bzw. Transkodieren kann ein vollständiges Dekodieren jedes Bild- oder Audiorahmens einer Mediendatei in ein Rohformat, ein Verarbeiten des Rohformats, indem eine beliebige Anzahl spezifizierter Operationen ausgeführt wird, und ein Kodieren des Rohformats in ein Zielformat umfassen. Medienvorrichtungen können eine begrenzte Speicherkapazität aufweisen, wobei es wünschenswert sein kann, Mediendateien in ein Format mit einer kleineren Dateigröße umzukodieren bzw. zu transkodieren. Durch Ausführen eines Umkodierens bzw. Transkodierens bei einer Mediendatei kann die Mediendatei von einem nicht unterstützten Dateiformat zu einem unterstützten Dateiformat umgewandelt werden, die Mediendatei kann von einer größeren Dateigröße zu einer kleineren Dateigröße umgewandelt werden, oder sie kann in anderer Weise einem anderen Umwandlungstyp unterzogen werden.
  • EP 1 170 954 A beschreibt Informationslieferungssysteme, die als objektbasierte komprimierte Bitströme codierte Informationen an verfügbare Bitraten eines Netzwerks anpassen. Dabei wird ein komprimierter Bitstrom auf einen reduzierten Ratenbitstrom verkleinert, indem zunächst ein komprimierter Eingangsbitstrom demultiplext wird, um Videoobjekte als elementare Eingangsbitströme mit einer ersten Bitrate zu extrahieren. Ein Transcoder konvertiert jeden elementaren Eingangsbitstrom in einen elementaren Ausgangsbitstrom mit einer zweiten Bitrate, wobei die erste Bitrate geringer ist als die zweite Bitrate. Eine Transcodierungssteuereinheit, die mit dem Transcodierer gekoppelt ist, liefert Steuerinformationen für den Transcodierer und ein Multiplexer setzt die elementaren Ausgangsbitströme in einen komprimierten Ausgangsbitstrom mit der zweiten Bitrate zusammen.
  • Die vorliegende Erfindung bezieht sich auf Mediengeräte, die Mediendateien nur in einem begrenzten Satz von Dateiformaten abspielen können oder eine begrenzte Speicherkapazität aufweisen. Durch das Transkodieren kann die Mediendatei von einem nicht unterstützten Dateiformat zu einem unterstützten Dateiformat umgewandelt werden und/oder die Mediendatei kann zu einer kleineren Dateigröße umgewandelt werden. Aufgabe der vorliegenden Erfindung ist es, einen solchen Transkodiervorgang zu verbessern. Die vorliegende Erfindung löst diese Aufgabe durch den Gegenstand des unabhängigen Anspruchs.
  • Figurenliste
  • Viele Ausgestaltungen der vorliegenden Offenbarung können unter Bezugnahme auf die nachstehend angegebenen Zeichnungen besser verstanden werden. Die Komponenten in den Zeichnungen sind nicht notwendigerweise maßstabsgetreu, stattdessen wird die Betonung auf eine deutliche Veranschaulichung der Prinzipien der Offenbarung gelegt. Außerdem bezeichnen in den Zeichnungen gleiche Bezugszeichen entsprechende Teile innerhalb der verschiedenen Darstellungen.
    • 1 zeigt eine Zeichnung eines Beispiels eines Transkodiersystems bzw. Umkodiersystems gemäß verschiedener Ausführungsbeispiele der vorliegenden Offenbarung.
    • 2 zeigt ein Diagramm eines Beispiels einer Eingangsmediendatei in dem Transkodiersystem bzw. Umkodiersystem gemäß 1 entsprechend verschiedenen Ausführungsbeispielen.
    • 3 zeigt ein Diagramm eines Beispiels einer Eingangsmediendatei in dem Transkodiersystem bzw. Umkodiersystem gemäß 1 entsprechend verschiedenen Ausführungsbeispielen.
    • 4 zeigt ein Diagramm eines Beispiels einer Transkodier- bzw. Umkodierverwaltungseinrichtung, die in dem Transkodiersystem bzw. Umkodiersystem gemäß 1 implementiert ist, entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung.
    • 5 zeigt ein Diagramm eines Beispiels des Betriebs des Transkodiersystems bzw. Umkodiersystems gemäß 1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung.
    • 6 zeigt ein Diagramm eines Beispiels des Betriebs des Transkodiersystems bzw. Umkodiersystems gemäß 1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung.
    • 7 zeigt ein Flussdiagramm, das ein Beispiel einer Funktionalität, die als Abschnitte der Transkodier- bzw. Umkodierverwaltungseinrichtung gemäß 1 implementiert ist, entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung veranschaulicht.
    • 8 zeigt ein Flussdiagramm, das ein Beispiel einer Funktionalität, die als ein anderer Abschnitt der Transkodier- bzw. Umkodierverwaltungseinrichtung gemäß 1 implementiert ist, entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung veranschaulicht.
    • 9A und 9B zeigen Diagramme von Beispielen des Betriebs des Transkodiersystems bzw. Umkodiersystems gemäß 1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung.
    • 10 zeigt ein Flussdiagramm, das ein Beispiel einer Funktionalität, die als ein anderer Abschnitt der Transkodier- bzw. Umkodierverwaltungseinrichtung gemäß 1 implementiert ist, entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Offenbarung betrifft ein Transkodieren bzw. Umkodieren (eine Codeumwandlung bzw. Codeumsetzung) einer Mediendatei, um eine transkodierte bzw. umkodierte Mediendatei zu erzeugen. Ein Medienelement, wie beispielsweise ein Video, ein Bild, eine Abbildung, eine Grafik, eine Fernsehshow, ein Spielfilm, ein Lied, ein Audioinhalt, ein Audio-Buch usw., kann als eine digitale Datei in einer Vielzahl von Formaten oder einer Kombination von Formaten gespeichert werden. Beispielsweise kann eine Mediendatei entsprechend einem bestimmten Standard, einem bestimmten Dateiformat, einer bestimmten Bildfrequenz bzw. Frame-Rate, einer bestimmten Medienqualität oder einem anderen Format zur Speicherung einer digitalen Mediendatei kodiert sein. Mediendateien, die in einem ursprünglichen Format gespeichert sind, können möglicherweise für eine Darstellung in bestimmten Medienvorrichtungen nicht geeignet sein, oder sie können zu groß sein, um in bestimmten Medienvorrichtungen gespeichert zu werden, oder es ist möglicherweise aus einem anderen Grund wünschenswert, die Größe der Mediendateien zu verringern. Somit ist eine Formatumwandlung erforderlich, um die Mediendatei zu modifizieren, um sie in einer Zielmedienvorrichtung darstellbar zu machen, oder die Größe der Mediendatei zu verringern, um sie für eine Speicherung in eine oder eine Übertragung zu einer Zielmediendatei geeignet zu machen. Ein Transkodieren bzw. Umkodieren kann verwendet werden, um eine Datei von einem Format in ein anderes Format umzuwandeln. In anderen Ausführungsbeispielen umfasst ein Transkodieren bzw. Umkodieren eine vollständige Dekodierung der Mediendatei in ein Rohformat, ein Verarbeiten des Rohformats, indem eine beliebige Anzahl spezifizierter Operationen ausgeführt wird, und ein Kodieren des Rohformats in ein Zielformat. Alternativ hierzu kann ein Transkodieren bzw. Umkodieren ohne eine vollständige Dekodierung der Mediendatei verwendet werden.
  • Verschiedene Ausführungsbeispiele der vorliegenden Offenbarung sind darauf gerichtet, einen Satz von Transkodiervorrichtungen bzw. Umkodiervorrichtungen parallel einzusetzen, um eine Mediendatei zu transkodieren bzw. umzukodieren. Die Mediendatei kann als ein Bitstrom formatiert sein, der in eine Vielzahl von Segmenten aufgeteilt ist. Jedes Segment kann einer verfügbaren Transkodiervorrichtung bzw. Umkodiervorrichtung zugeordnet werden, um ein entsprechendes Ausgabesegment zu erzeugen. Die Ausgabesegmente werden kodiert und dann zusammengeheftet, um eine Ausgabedatei zu erzeugen, die eine transkodierte bzw. umkodierte Version der Mediendatei ist. Verschiedene Ausführungsbeispiele der vorliegenden Offenbarung befassen sich mit Verwaltungskodiererparametern, wie beispielsweise einem Quantisierungsparameter (QP) für jede parallele Transkodiereinrichtung bzw. Umkodiereinrichtung, um eine Erzeugung einer Ausgabedatei zu vereinfachen, die im Hinblick auf eine Qualität gleichförmig ist. Wenn die Grenzen der Ausgabesegmente einem relativ diskontinuierlichen QP entsprechen, dann kann die Ausgabemediendatei eine relativ niedrige subjektive Qualität aufweisen. Das heißt, ein Betrachter, der die Ausgabemediendatei abspielt, kann möglicherweise visuelle Artefakte wahrnehmen, wenn der QP zwischen weit variierenden Werten springen würde. Die vorliegende Offenbarung ist darauf gerichtet, den QP zu verwalten, um eine relativ hohe subjektive Qualität während eines parallelen Transkodier- bzw. Umkodiervorgangs zu erreichen. Der QP kann in einem konstanten Bitratensystem oder alternativ hierzu in einem variablen Bitratensystem verwaltet werden. Ein konstantes Bitratensystem ist ein System, das einen Kodiervorgang verwenden kann, bei dem Bits von einem Ratenpuffer mit einer konstanten Rate bzw. Geschwindigkeit ausgegeben werden. Diesbezüglich ist die Anzahl von Bits pro Einheitszeit auf einem konstanten Wert. In einem variablen Bitratensystem werden Bits von einem Ratenpuffer mit einer variablen Rate bzw. Geschwindigkeit ausgegeben.
  • In einigen Ausführungsbeispielen, die ein konstantes Bitratensystem oder ein variables Bitratensystem verwenden, ist der QP für jede Transkodiervorrichtung bzw. Umkodiervorrichtung darauf gerichtet, sich näherungsweise einem bestimmten QP-Bereich oder einem Wert anzunähern, um einen relativ kontinuierlichen QP zwischen benachbarten Segmenten zu erreichen. Der bestimmte QP-Bereich kann auf der Grundlage eines Anfangs-QP eines nachfolgenden Segments in einer Präsentationsreihenfolge bestimmt werden. Alternativ hierzu kann der Anfangs-QP eines nachfolgenden Segments in der Präsentationsreihenfolge auf der Grundlage des bestimmten QP-Bereichs bestimmt werden. Hierzu kann der Grad einer Diskontinuität des QP verringert werden oder auf andere Weise minimiert werden.
  • In noch weiteren Ausführungsbeispielen, die ein konstantes Bitratensystem oder ein variables Bitratensystem verwenden, kann eine relativ konstante subjektive Videoqualität aufrechterhalten werden, einschließlich bei den Grenzen des Ausgabesegments, indem jeder Kodiervorgang mit einem Videoqualitätspegel initialisiert wird. Entsprechend dem Videoqualitätspegel kann jede Kodiereinrichtung einen geeigneten QP oder einen anderen Kodiererparameter auswählen, um den Videoqualitätspegel zu erreichen. Diesbezüglich kann jede Kodiereinrichtung einen zugehörigen jeweiligen QP unabhängig von den QP anderer Kodiereinrichtungen variieren. Des Weiteren kann, um eine Solldurchschnittsbitrate (BR) aufrechtzuerhalten, der Videoqualitätspegel justiert werden. Beispielsweise kann ein Spezifizieren einer Kodiereinrichtung, um den Videoqualitätspegel zu vergrößern, die Kodiereinrichtung veranlassen, einen zugehörigen QP zu verringern. Somit kann der Videoqualitätspegel zumindest auf einem QP-Wert beruhen.
  • In Ausführungsbeispielen, die ein variables Bitratensystem verwenden, kann der QP für jeden Transkodiervorgang bzw. Umkodiervorgang verwaltet werden, während eine Durchschnittsbitrate (BR) aufrechterhalten wird. In diesem Fall kann ein Videoqualitätspegel verwendet werden, um eine Solldurchschnitts-BR zu erreichen, während der QP langsam variiert wird. Indem der QP langsam variiert wird, kann ein relativ kontinuierlicher QP zwischen benachbarten Segmenten die Folge sein, während eine Solldurchschnitts-BR aufrechterhalten wird.
  • Unter Bezugnahme auf 1 ist eine Zeichnung eines Beispiels eines Transkodiersystem bzw. Umkodiersystems 100 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt. Ein Transkodiersystem bzw. Umkodiersystem 100 kann als zumindest ein Abschnitt einer Set-Top-Box (STB), eines Medienservers, eines Fernsehgeräts oder einer anderen Berechnungsvorrichtung bzw. Computervorrichtung, die konfiguriert ist, Mediendateien handzuhaben, implementiert sein. Das Transkodiersystem bzw. Umkodiersystem 100 umfasst einen Quellenspeicher 112, einen Zielspeicher 118, eine Transkodier- bzw. Umkodierverwaltungseinrichtung 123, eine Vielzahl von Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n und einen Multiplexer (Mux) 143.
  • Nicht einschränkende Beispiele des Quellenspeichers 112 sind Magnetbänder, magnetische Floppy-Disketten, magnetische Festplatten, Speicherkarten, Festkörperlaufwerke, USB-Flashlaufwerke, optische Platten oder ein Speicher mit wahlfreiem Zugriff (RAM), der beispielsweise einen statischen Speicher mit wahlfreiem Zugriff (SRAM) und einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) oder einen magnetischen Speicher mit wahlfreiem Zugriff (MRAM) umfasst. Zusätzlich kann der Quellenspeicher 112 ein Nurlesespeicher (ROM), ein programmierbarer Nurlesespeicher (PROM), ein löschbarer programmierbarer Nurlesespeicher (EPROM), ein elektrisch löschbarer programmierbarer Nurlesespeicher (EEPROM) oder ein anderer Typ einer Speichervorrichtung sein.
  • Der Quellenspeicher 112 ist konfiguriert, eine Eingangsmediendatei 115 zu speichern. Die Eingangsmediendatei 115 kann ein Audio- und/oder Videoprogramm darstellen, wie beispielsweise eine Fernsehshow, einen Spielfilm, ein Lied, ein Audio-Buch usw.. Der Quellenspeicher 112 kann als ein Abschnitt einer STB zur Speicherung von über Rundfunk gesendeten Medien implementiert sein. Hierzu kann die Eingangsmediendatei 115 ein Programm sein, das zu einer STB über ein Netzwerk übertragen wird.
  • Der Zielspeicher 118 kann beispielsweise magnetische Bänder, magnetische Floppy-Disketten, magnetische Festplatten, Speicherkarten, Festkörperlaufwerke, USB-Flashlaufwerke, optische Platten oder einen Speicher mit wahlfreiem Zugriff (RAM) umfassen, der beispielsweise einen statischen Speicher mit wahlfreiem Zugriff (SRAM) und einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) oder einen magnetischen Speicher mit wahlfreiem Zugriff (MRAM) umfasst. Zusätzlich kann der Zielspeicher 118 ein Nur-Lese-Speicher (ROM), ein programmierbarer Nur-Lese-Speicher (PROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM), ein elektrisch löschbarer programmierbarer Nur-Lese-Speicher (EEPROM) oder ein anderer Typ einer Speichervorrichtung sein.
  • Der Zielspeicher 118 ist konfiguriert, eine Ausgabemediendatei 121 zu speichern, die eine transkodierte bzw. umkodierte Version der Eingabemediendatei 115 umfassen kann. Hierzu drückt die Ausgabemediendatei 121 den gleichen wesentlichen Inhalt wie die Eingabemediendatei 115 aus. Die Ausgabemediendatei 121 kann einen Untersatz des Inhalts der Eingabemediendatei 115 ausdrücken. Die Ausgabemediendatei 121 ist jedoch in einem Format kodiert, das sich von dem Format der Eingabemediendatei 115 unterscheidet. Ein unterschiedliches Format der Ausgabemediendatei 121 kann dem gleichen Standard wie die Eingabemediendatei 115 entsprechen, während es eine unterschiedliche Bitrate oder Dateigröße aufweist. Der Zielspeicher 118 kann in einer Medienvorrichtung implementiert sein, die von einer Medienvorrichtung getrennt ist, die den Quellenspeicher 112 umfasst. Beispielsweise kann der Quellenspeicher 112 als ein Abschnitt einer STB implementiert sein, und der Zielspeicher 118 kann eine entfernte Medienvorrichtung sein, wie beispielsweise eine Computervorrichtung, die konfiguriert ist, die Ausgabemediendatei 121 einem Benutzer zu präsentieren. Eine Medienvorrichtung kann beispielsweise ein Laptop-Computer, ein Desktop-Computer, ein Notepad, ein Notebook, ein Ultrabook, ein Tablet-Computer, ein Mobiltelefon bzw. Handy, ein Mikrocomputer bzw. Personal Digital Assistant (PDA), eine STB, eine Digitalkamera, ein tragbarer Medienabspieler oder eine andere Computervorrichtung sein, die konfiguriert ist, eine Mediendatei abzuspielen. Alternativ hierzu kann der Zielspeicher 118 in einer Medienvorrichtung implementiert sein, die die gleiche ist wie eine Medienvorrichtung, die den Quellenspeicher 112 umfasst.
  • Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ist konfiguriert, das Transkodieren bzw. Umkodieren der Eingabemediendatei 115 zu verwalten. In verschiedenen Ausführungsbeispielen ist die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 als zumindest ein Abschnitt eines Mikroprozessors bzw. einer Mikroverarbeitungseinrichtung implementiert. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann eine Schaltung oder mehrere Schaltungen, einen Mikroprozessor oder mehrere Mikroprozessoren oder eine beliebige Kombination hiervon umfassen. In noch weiteren Ausführungsbeispielen kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ein Softwaremodul oder mehrere Softwaremodule umfassen, die in einer Verarbeitungsschaltung oder mehreren Verarbeitungsschaltungen ausführbar ist/sind. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann ferner ein computerlesbares Medium umfassen. Das computerlesbare Medium kann Anweisungen und/oder einen Code speichern, um die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 zu veranlassen, Transkodier- bzw. Umkodieroperationen in dem Transkodier- bzw. Umkodiersystem 100 zu verwalten.
  • Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann die Eingabemediendatei 115 abrufen und die Eingabemediendatei 115 für ein Transkodieren bzw. Umkodieren vorbereiten. Beispielsweise handhabt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die Eingabemediendatei 115 als einen digitalen Bitstrom und ordnet Segmente des Bitstroms verschiedenen Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n zu. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ein Segment zu einer Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n als einen Datenstrom senden, ohne eine Segmentlänge oder einen Endpunkt in dem Datenstrom zu spezifizieren. Wenn die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n sich einem Abschluss des Transkodiervorgangs bzw. Umkodiervorgangs nähert oder den Transkodiervorgang bzw. Umkodiervorgang abgeschlossen hat, kann die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 anzeigen, ein Zuführen des Eingabesegmentdatenstroms zu stoppen. Alternativ hierzu kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ein Eingabesegment als einen Datenstrom zuordnen, während eine voreingestellte oder nominale Länge/ein voreingestellter oder nominaler Endpunkt spezifiziert wird. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ist ebenso konfiguriert, jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n zu überwachen, indem ein Transkodier- bzw. Umkodierparameter oder mehrere Transkodier- bzw. Umkodierparameter verwaltet wird/werden.
  • Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann konfiguriert sein, einen Transkodier- bzw. Umkodiervorgang oder mehrere Transkodier- bzw. Umkodiervorgänge für ein Transkodieren bzw. Umkodieren der Eingabemediendatei 115 zu initiieren. Jeder Transkodier- bzw. Umkodiervorgang kann gleichzeitig ausgeführt werden, um Abschnitte der Eingabemediendatei 115 parallel zu bearbeiten. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann konfiguriert sein, einen Transkodier- bzw. Umkodiervorgang oder mehrere Transkodier- bzw. Umkodiervorgänge zu initiieren, indem eine Transkodier- bzw. Umkodiervorrichtung oder mehrere Transkodier- bzw. Umkodiervorrichtungen 134a-n verwendet wird/werden. Des Weiteren kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen Mux 143 für ein Sequenzieren der Ausgaben der Transkodier- bzw. Umkodiervorrichtungen 134a-n zur Erzeugung einer Ausgabemediendatei 121 betreiben.
  • Der Mux 143 ist konfiguriert, die Ausgaben jeder Transkodier- bzw. Umkodiervorrichtung 134a-n handzuhaben. Der Mux 143 kann ebenso jede der Ausgaben zusammenfügen, um die Ausgabemediendatei zu erzeugen. Die Ausgabemediendatei 121 kann dann in den Zielspeicher 118 geschrieben werden. In verschiedenen Ausführungsbeispielen ist der Mux 143 kommunikationsfähig an einen Speicherpuffer gekoppelt, um die Transkodier- bzw. Umkodiervorrichtungsausgaben in einer Reihe (einem Queue) zu speichern.
  • Das Transkodiersystem bzw. Umkodiersystem 100 umfasst eine Vielzahl von Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ist konfiguriert, Abschnitte der Eingabemediendatei 115 zu bearbeiten, um eine parallele Transkodierung bzw. Umkodierung zu bewirken. Eine Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n führt einen Transkodier- bzw. Umkodiervorgang oder mehrere Transkodier- bzw. Umkodiervorgänge aus. Diesbezüglich kann eine Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n konfiguriert sein, mehrere Transkodier- bzw. Umkodiervorgänge parallel auszuführen, um verschiedene Eingaben gleichzeitig zu transkodieren bzw. umzukodieren. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n kann eine Video-Transkodier- bzw. -Umkodiereinrichtung oder eine Audio-Transkodier- bzw. -Umkodiereinrichtung sein. In verschiedenen Ausführungsbeispielen ist jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n als zumindest ein Abschnitt eines Mikroprozessors implementiert. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n kann eine Schaltung oder mehrere Schaltungen, einen Mikroprozessor oder mehrere Mikroprozessoren oder eine Kombination hiervon umfassen. Hierzu können die verschiedenen Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n durch eine Schaltung und/oder einen Mikroprozessor implementiert sein, oder sie können durch mehrere Schaltungen und/oder Mikroprozessoren implementiert sein, sodass die Funktionalität der Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n über eine Schaltung oder mehrere Schaltungen und/oder einen Mikroprozessor oder mehrere Mikroprozessoren verteilt ist. In noch weiteren Ausführungsbeispielen kann jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ein Softwaremodul oder mehrere Softwaremodule umfassen, das/die in einer Verarbeitungsschaltung oder in mehreren Verarbeitungsschaltungen ausführbar ist/sind. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n kann ferner ein computerlesbares Medium umfassen. Das computerlesbare Medium kann Anweisungen und/oder einen Code speichern, um die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n zu veranlassen, Abschnitte der Eingabemediendatei 115 zu transkodieren bzw. umzukodieren.
  • Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ist konfiguriert, ein Segment der Eingabemediendatei 115 zu empfangen und ein entsprechendes Ausgabesegment zu erzeugen. Dementsprechend ist das Ausgabesegment eine transkodierte bzw. umkodierte Version des Eingabesegments. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n umfasst eine jeweilige Steuerungseinrichtung 149, einen jeweiligen Dekodierer 153, eine jeweilige Verarbeitungseinrichtung 156 und einen jeweiligen Kodierer 158.
  • Die Steuerungseinrichtung 149 für jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n stellt eine Schnittstelle zwischen der Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n und der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 bereit. Beispielsweise kann die Steuerungseinrichtung 149 es einer Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ermöglichen, aktiviert oder deaktiviert zu werden. Die Steuerungseinrichtung 149 kann einen Transkodier- bzw. Umkodierfortschritt der Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 anzeigen. Die Steuerungseinrichtung 149 kann ebenso eine Arbeitslastreihe bzw. Arbeitslastwarteschlange (workload queue) einer Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n aufrechterhalten, die eine Arbeitsmenge anzeigt, die für eine Ausführung durch eine Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n eingeplant ist. Ein Transkodierfortschritt bzw. Umkodierfortschritt kann beispielsweise anzeigen, ob eine Transkodiereinrichtung bzw. Umkodiereinrichtung beschäftigt ist oder nicht.
  • Der Dekodierer 153 jeder Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ist konfiguriert, empfangene Eingaben in ein Rohformat zu dekodieren und/oder zu dekomprimieren. Beispielsweise kann der Dekodiererabschnitt 153 einer Video-Transkodiervorrichtung bzw. -Umkodiervorrichtung 134a-n Eingabemediendateisegmente in Rohbildelementdaten bzw. Rohpixeldaten umwandeln.
  • Die Verarbeitungseinrichtung 156 jeder Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ist konfiguriert, die Rohausgaben des Dekodierers 153 zu bearbeiten. Für Video-Transkodiervorrichtungen bzw. Video-Umkodiervorrichtungen 134a-n ist die Verarbeitungseinrichtung 156 eine Bildelementverarbeitungseinrichtung, die Bildelementbearbeitungsfunktionen ausführen kann. Nicht einschränkende Beispiele einer Bildelementverarbeitung sind eine Bildgrößenjustierung, ein Verflechten/Entflechten (Interlacing/De-Interlacing), eine Farbraumumwandlung, eine Rauschverringerung und eine Bildverbesserung. Eine Bildelementverarbeitung kann ein Ändern eines Formats umfassen. Beispielsweise kann eine Formatänderung eine Umwandlung in eine hohe Auflösung oder aus einer hohen Auflösung (High Definition bzw. HD) und einer unterschiedlichen Auflösung, eine Umwandlung in eine oder aus einer Standardauflösung (SD) und einer unterschiedlichen Auflösung, eine Umwandlung von 3D zu 2D, eine Entflechtung bzw. De-Interlacing usw. sein. Nachdem die Verarbeitungseinrichtung 156 ein dekodiertes Eingabemediendateisegment empfangen hat und das Eingabemediendateisegment verarbeitet hat, sendet die Verarbeitungseinrichtung 156 das verarbeitete Eingabemediendateisegment als ein Ausgabesegment an den Kodierer 158.
  • Der Kodierer 158 für jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ist konfiguriert, verarbeitete Eingabemediendateisegmente zu kodieren, indem die verarbeiteten Eingabemediendatensegmente in ein Zielformat kodiert werden. Für Video-Transkodiereinrichtungen bzw. Video-Umkodiereinrichtungen 134a-n kodiert der Kodierer 158 jedes Ausgabesegment entsprechend einem Quantisierungsparameter (QP) 159 und einer Bitrate (BR) 162, die konfiguriert sein können zu variieren. Der Kodierer 158 kann einen Zwischenspeicher bzw. Puffer, wie beispielsweise einen First-In-First-Out-(FIFO-)Puffer, zur Speicherung kodierter Bits umfassen. Die Ausgabe des Puffers kann ein Bitstrom sein, der durch eine BR 162 und einen QP 159 charakterisiert ist. Die BR kann als die Rate definiert sein, mit der Bits von einem Puffer übertragen werden sollen, wobei sie als Bits pro Einheitszeit ausgedrückt sein kann. Der Inhalt in einem Bild oder mehreren Bildern und/oder die Komplexität eines Videos beeinflusst dynamisch eine geeignete BR 162 in dem Kodiervorgang einer Mediendatei. Der Kodierer 158 kann die BR 162 variieren, um sicherzustellen, dass der Puffer keinen Unterlaufzustand und/oder Überlaufzustand erreicht. Der Kodierer 158 kann ebenso die BR 162 variieren, um sicherzustellen, dass der Bitstrom einen bestimmten Videostandard bestätigt, um eine bestimmte Durchschnitts-BR zu erreichen, eine Videoqualität zu maximieren, oder eine Kombination hiervon. Der Kodierer 158 kann ebenso den QP 159 variieren, um einen Qualitätsgrad zu steuern, der in der Ausgabe des Kodierers 158 ausgedrückt wird.
  • Obwohl der Kodierer 158 jeder Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n den QP 159 dynamisch justieren kann, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ebenso den QP 159 für jeden Kodierer 158 steuern. In verschiedenen Ausführungsbeispielen initialisiert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 jeden QP 159 auf einen Anfangswert zur Steuerung der Gleichförmigkeit jedes QP 159 von einem Segment zu dem nächsten. Die Anfangswerte der QP 159 von verschiedenen Segmenten können unterschiedlich sein. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann den QP 159 jedes Kodierers 158 zwingen oder andernfalls leiten, sich einem vorbestimmten QP-Bereich anzunähern. Der vorbestimmte QP-Bereich, der auf ein Segment zutrifft, kann auf dem Anfangs-QP-Wert des nachfolgenden Segments in einer Präsentationsreihenfolge basieren. Diesbezüglich wird ein Kodierer 158 angewiesen zu veranlassen, dass der QP 159, der mit dem Ende eines Segments verbunden ist, im Allgemeinen in einen vorbestimmten QP-Bereich fällt.
  • In anderen Ausführungsbeispielen leitet die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den QP 159, während eine Zieldurchschnitts-BR über den Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n aufrechterhalten wird. In diesem Fall weist die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen nominalen QP-Wert einem Kodierer oder mehreren Kodierern 158 zu, um einen relativ kontinuierlichen QP 159 über Segmentgrenzen in der Ausgabemediendatei 121 zu erreichen. Der nominale QP-Wert, der so zugewiesen wird, kann zwischen Segmenten unterschiedlich sein. Der nominale QP kann als ein Basiswert fungieren. Ein Kodierer 158 kann von dem nominalen QP abweichen, solange der Kodierer 158 versucht, zu dem nominalen QP am Ende des Segments zurückzukehren. Die Rate einer Änderung von nominalen QP-Werten, die durch die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 zugewiesen werden, kann durch eine vorbestimmte maximale Rate begrenzt werden. Indem der nominale QP langsam variiert wird, kann ein relativ kontinuierlicher QP 159 zwischen benachbarten Ausgabesegmenten aufrechterhalten werden. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann einen nominalen QP einer Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehreren Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n in Reaktion auf einen Vergleich der Durchschnitts-BR einer vorgegebenen Durchschnittsfunktion mit einer Solldurchschnitts-BR zuweisen. Alternativ hierzu kann eine Durchschnitts-BR unter Verwendung eines rekursiven Filters bestimmt werden, indem die Bitrate der Ausgabedatei gemessen wird, oder unter Verwendung einer anderen Funktion zum Bestimmen einer BR eines Abschnitts des Bitstroms bestimmt werden.
  • Die Transkodier- bzw. Umkodierverwaltungseinrichtungen 123 kann eine Durchschnitts-BR für einen Satz sequentieller Ausgabesegmente bestimmen, wobei die Ausgabesegmente in Hinblick auf eine Präsentationsreihenfolge sequentiell sind. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann dann eine Durchschnitts-BR entsprechend einem mittelnden Fenster bzw. Mittelungsfenster bestimmen, wobei das Mittelungsfenster als eine Zeitlänge ausgedrückt wird, die den Satz von Ausgabesegmenten abdeckt. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann sowohl eine längerfristige Durchschnitts-BR, beispielsweise über fünf Minuten gemittelt, als auch eine kurzfristigere Durchschnitts-BR bestimmen, beispielsweise über 30 Sekunden gemittelt, und beide Messungen verwenden, um die Produktionsrate von Bits durch das parallele Transkodiersystem bzw. Umkodiersystem zu steuern. Wenn eine Durchschnitts-BR sich von einer Solldurchschnitts-BR unterscheidet, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen nominalen QP für eine Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehrere Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n justieren bzw. einstellen, um die Durchschnitts-BR hin zu der Solldurchschnitts-BR zu leiten. Hierzu leitet die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die BR hin zu einer Solldurchschnitts-BR, während der QP 159 langsam variiert wird, um einen relativ kontinuierlichen QP bei den Grenzen der Ausgabesegmente zu erreichen.
  • In anderen Ausführungsbeispielen spezifiziert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen Videoqualitätspegel für jeden der Kodierer 158, um eine relativ konstante subjektive Videoqualität zwischen Ausgabesegmenten innerhalb eines parallelen Kodiervorgangs zu erreichen. In diesem Fall kann jeder Kodierer 158 ein jeweiliges Ausgabesegment entsprechend einem beliebigen QP 159 kodieren, solange der Kodierer 158 näherungsweise den spezifizierten Videoqualitätspegel erreicht. Wenn die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 bestimmt, dass die Durchschnitts-BR des Bitstroms justiert werden sollte, um eine Solldurchschnitts-BR zu erfüllen, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den Videoqualitätspegel justieren. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann zumindest einen Abschnitt der Kodierer 158 anweisen, den justierten Videoqualitätspegel zu erfüllen. In Reaktion auf diese Anweisung kann ein Kodierer 158 den QP 159 justieren oder einen anderen Kodiererparameter justieren, um den modifizierten Sollvideoqualitätspegel zu berücksichtigen. Hierzu überwacht die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine Durchschnitts-BR des Bitstroms und justiert den Videoqualitätsparameter, um sicherzustellen, dass die Durchschnitts-BR für den Bitstrom innerhalb eines annehmbaren Bereichs einer Solldurchschnitts-BR fällt.
  • Als nächstes ist in 2 ein Diagramm eines Beispiels einer Eingabemediendatei 115 in dem Transkodiersystem bzw. Umkodiersystem 100 gemäß 1 entsprechend verschiedenen Ausführungsbeispielen gezeigt. 2 zeigt eine Eingabemediendatei 115, die in Hinblick auf eine Reihe von Bildern ausgedrückt ist, die entsprechend einer Reihenfolge einer Präsentation abschließend geordnet werden können. Die Reihenfolge der Bilder in dem Bitstrom kann sich von der Reihenfolge unterscheiden, in der die Bilder präsentiert werden sollen, was für spezifische Videokomprimierungsstandards der Fall sein kann. Die Eingabemediendatei 115 kann ebenso im Hinblick auf einen Bitstrom ausgedrückt werden. Diesbezüglich bildet eine Abfolge von Bits ein individuelles Bild.
  • Die Eingabemediendatei 115 umfasst eine Vielzahl von Bildern 201a-n, 204a-n, 207a-n. Die Eingabemediendatei 115 umfasst ebenso wahlfreie Zugriffspunkte (Random Access Point bzw. RAP) 231a-c. Jeder RAP 231a-c ist ein Bild mit Eigenschaften, die einen Dekodierungsstart von dem RAP 231a-c ermöglichen. Eine RAP-Liste 231 identifiziert RAP, die in dem Eingabebitstrom der Eingabemediendatei 115 existieren.
  • In verschiedenen Ausführungsbeispielen kann die RAP-Liste 231 aus einer Verarbeitung erhalten werden, die die Stellen von RAP 231a-c in einem Datenstrom (stream) angibt, wenn der Datenstrom in einer Eingabemediendatei 115 empfangen und gespeichert wird. In alternativen Ausführungsbeispielen kann die RAP-Liste 231 durch das Transkodier- bzw. Umkodiersystem 100 (1) erhalten werden, das die Eingabemediendatei 115 bearbeitet. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 (1) konfiguriert sein, den Bitstrom der Eingabemediendatei 115 zu zergliedern bzw. zu analysieren und einen Satz von RAP 231a-c zu identifizieren. Unabhängig davon, wie die RAP-Liste 231 ermittelt wird, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die RAP-Liste 231 verwenden, um die Eingabemediendatei 115 in Segmente zu teilen, um ein paralleles Transkodieren bzw. Umkodieren zu vereinfachen.
  • In verschiedenen Ausführungsbeispielen ist ein RAP 231a-c ein I-Bild (Intra-Bild bzw. intra-coded picture). Ein I-Bild ist ein vollständig spezifiziertes Bild, das keine anderen Bilder für ein Dekodieren erfordert. Das heißt, I-Bilder sind unabhängige Bilder. Unter Bezugnahme auf 2 beginnt ein erster Satz von Bildern 201a-n mit einem ersten RAP 231a, ein zweiter Satz von Bildern 204a-n beginnt mit einem zweiten RAP 231b, und ein dritter Satz von Bildern 207a-n beginnt mit einem dritten RAP 231c. Ein RAP kann irgendein Bild sein, das Eigenschaften aufweist, die einen Dekodierungsstart von diesem Bild ermöglichen.
  • In verschiedenen Ausführungsbeispielen kann jeder Satz von Bildern 201a-n, 204a-n, 207a-n ein jeweiliges letztes Bild 201n, 204n, 207n umfassen, wobei das jeweilige letzte Bild ein P-Bild (vorausgesagtes Bild bzw. predicted picture) oder ein B-Bild (bi-vorausgesagtes Bild bzw. bi-predicted picture) ist. P-Bilder und B-Bilder sind teilweise spezifizierte Bilder, die andere Bilder für ein Dekodieren erfordern.
  • Unter Bezugnahme auf 3 ist ein Diagramm eines Beispiels einer Eingabemediendatei 115 in dem Transkodier- bzw. Umkodiersystem gemäß 1 entsprechend verschiedenen Ausführungsbeispielen gezeigt. 3 zeigt eine Eingabemediendatei 115, die in Hinblick auf eine Sequenz von Bildern ausgedrückt ist, die entsprechend einer Präsentation geordnet sind. Die Eingabemediendatei 115 umfasst eine Vielzahl von RAP 231a-f. Die Eingabemediendatei umfasst ebenso einen ersten Satz von Bildern 312a-n, einen zweiten Satz von Bildern 315a-n, einen dritten Satz von Bildern 318a-n, einen vierten Satz von Bildern 321a-n und/oder beliebige zusätzliche nachfolgende Sätze von Bildern. Zusätzlich stellt 3 ein nicht einschränkendes Beispiel eines Teilens der Eingabemediendatei 115 in eine Vielzahl von Eingabesegmenten 333a-c bereit.
  • Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 (1) kann die Eingabemediendatei 115 analysieren und eine RAP-Liste 231 (2) für die Eingabemediendatei 115 bestimmen. Auf der Grundlage der Stelle bzw. Position der RAP 231a-f kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen Startpunkt für jedes Eingabesegment identifizieren. Jedes Eingabesegment 333a-c beginnt bei einem RAP 231a, 231d, 231f. Beispielsweise kann der erste RAP 231a der Eingabemediendatei 115 der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die Erzeugung des Startpunkts für das erste Eingabesegment 333a anzeigen.
  • Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann konfiguriert sein, jedes Eingabesegment 333a-c entsprechend einer optimalen Länge zu erzeugen. Die Länge eines Eingabesegments 333a-c kann in Hinblick auf eine Anzahl von Bildern, einer Zeitgröße, einer Anzahl von Bits, einer Anzahl von RAP, die in dem Eingabesegment 333a-c umfasst sind, usw. ausgedrückt werden. Obwohl jedes Eingabesegment 333a-c nicht notwendigerweise identisch gleich zu anderen Eingabesegmenten 333a-c in Hinblick auf eine Länge ist, kann jedes Eingabesegment 333a-c in einer Länge näherungsweise gleich zu anderen Eingabesegmenten 333a-c sein.
  • Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 teilt die Eingabemediendatei 115 in Eingabesegmente, um eine parallele Verarbeitung der Eingabemediendatei 115 zu bewirken. Wenn die Eingabesegmente 333a-c zu lang sind, können die Anlaufkosten zum Verwirklichen der Vorteile einer parallelen Verarbeitung hoch sein. Beispielsweise werden, wenn eine Eingabemediendatei 115 in vier Eingabesegmente 333c geteilt wird, wobei jedes Segment näherungsweise ein Viertel im Hinblick auf die Länge ist, die Vorteile einer parallelen Verarbeitung für das erste Viertel des Transkodiervorgangs bzw. Umkodiervorgangs nicht verwirklicht.
  • Wenn Eingabesegmente zu kurz sind, kann die Effizienz eines parallelen Transkodiersystems bzw. Umkodiersystems aufgrund eines Overheads verringert werden. Die Verwendung von kurzen Segmenten kann ebenso die Sichtbarkeit oder Hörbarkeit bestimmter audiovisueller Artefakte/Anomalien in dem Ausgabedatenstrom vergrößern. Beispielsweise wird, indem eine Eingabemediendatei 115 in kurze Segmente geteilt wird und die kurzen transkodierten bzw. umkodierten Segmente zusammengeheftet werden, die Anzahl von Zusammenheftungen vergrößert, wobei dies das Auftreten diskontinuierlicher Werte einiger Parameter in der transkodierten bzw. umkodierten Ausgabe vergrößern kann.
  • In verschiedenen Ausführungsbeispielen ist die Eingabesegmentlänge näherungsweise 10 Sekunden. Entsprechend dieser Solllänge kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ein Endbild 318b, 324b für jedes Eingabesegment 333a-c finden. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den nächsten RAP 231d, f für jedes Segment 333a-c identifizieren, der 10 Sekunden jenseits eines jeweiligen Startbildes 312a, 318a, 324a liegt. Auf der Grundlage des nächsten RAP 231d, f kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine vorbestimmte Länge jenseits des nächsten RAP 231d, f addieren, um ein Endbild für jedes Eingabesegment 333a-c zu bestimmen. Beispielsweise kann das Endbild des Eingabesegments A 333a eine Anzahl von zusätzlichen Bildern 318a-b jenseits des Startbilds des Eingabesegments B 333b umfassen, um ein Überlappen für eine Verwendung in einer Bearbeitung durch eine Verarbeitungseinrichtung 156 (1) bereitzustellen, wie es nachstehend weiter ausführlich beschrieben ist.
  • In anderen Ausführungsbeispielen ist die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n (1) konfiguriert, der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 anzuzeigen, ein Zuführen eines Eingabesegments 333a-c zu stoppen, wenn die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n den Transkodiervorgang bzw. Umkodiervorgang abgeschlossen hat oder sich einem Abschluss des Transkodiervorgangs bzw. Umkodiervorgangs nähert. Außerdem können zusätzliche Daten jenseits des Endbildes, die der Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n zugeführt werden, durch die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n fallen gelassen werden. Hierzu kann die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n das Endbild eines Eingabesegments 333a-c bestimmen.
  • In dem nicht einschränkenden Beispiel gemäß 3 identifiziert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ein Startbild 312a für das erste Eingabesegment 333a. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 identifiziert einen nachfolgenden RAP 231d, der näherungsweise 10 Sekunden nach dem Startbild 312a in Hinblick auf eine Präsentationszeit liegt. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 und/oder die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n addiert eine vorbestimmte Länge jenseits des nachfolgenden RAP 231d, um das Endbild 318d für das erste Eingabesegment 333a zu identifizieren. In diesem nicht einschränkenden Beispiel ist die vorbestimmte Länge vier Bilder. Somit umfasst das erste Eingabesegment 333a eine Vielzahl von RAP 231b, 231c zusätzlich zu dem nachfolgenden RAP 231d.
  • Um das nächste Eingabesegment 333b zu identifizieren, stellt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 das Startbild des nächsten Eingabesegments 333b als den letzten RAP 231d des vorangegangen Eingabesegments 333a ein. Dies führt zu einem Überlappen zwischen jedem Eingabesegment 333a-d. Die Überlappungslänge ist gleich der vorbestimmten Länge. Die vorbestimmte Länge kann im Hinblick auf eine Anzahl von Bildern, eine Zeit, eine Anzahl von Bits usw. ausgedrückt werden.
  • Indem das Endbild 318b, 324b auf eine vorbestimmte Länge nach einem nachfolgenden RAP 231d, f jeweils ausgedehnt wird, um eine Überlappungsgröße zu erzeugen, weist die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n (1), die ein Eingabesegment 333a-d transkodiert bzw. umkodiert, zusätzliche Informationen auf, um die letzten paar Bilder in einem Eingabesegment 333a-c auf adäquate Weise zu dekodieren. Beispielsweise können, wenn ein Zielbild dekodiert wird, mehrere Bilder, die sich jenseits des Zielbildes in dem Bitstrom erstrecken, erforderlich sein. Beispielsweise kann unter Bezugnahme auf das nicht einschränkende Beispiel gemäß 3 ein Dekodieren eines Zielbildes 321n eines Eingabesegments B 333b zumindest einen Abschnitt nachfolgender Bilder 324a-b erfordern. Indem diese nachfolgenden Bilder 324a-c als ein Teil des Eingabesegments B 333b umfasst werden, ist sichergestellt, dass das Zielbild 321n auf adäquate Weise dekodiert wird.
  • In verschiedenen Ausführungsbeispielen kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine vorbestimmte Länge auf der Grundlage von zumindest den Verarbeitungsfunktionen auswählen, die durch die Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n auszuführen sind. Beispielsweise können Entflechtungsoperationen bzw. De-Interlacing-Operationen eine Verwendung einer größeren vorbestimmten Länge als Bildverbesserungsoperationen erfordern.
  • Unter Bezugnahme auf 4 ist als nächstes ein Beispiel eines Betriebs der Transkodier- bzw. Umkodierverwaltungseinrichtung 123, die in dem Transkodiersystem bzw. Umkodiersystem 100 gemäß 1 implementiert ist, entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt. 4 stellt ein nicht einschränkendes Beispiel einer Transkodier- bzw. Umkodierverwaltungseinrichtung 123 bereit, das eine Vielzahl von Eingabesegmenten 333a-f verschiedenen Transkodiervorgängen bzw. Umkodiervorgängen zuordnet. Diese Transkodiervorgänge bzw. Umkodiervorgänge können gleichzeitig für ein Transkodieren bzw. Umkodieren der Eingabesegmente 333a-f parallel arbeiten. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die Eingabesegmente 333a-f Transkodiervorgängen bzw. Umkodiervorgängen in drei Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c zuordnen. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c ist konfiguriert, empfangene Eingabesegmente 333a-f zu transkodieren bzw. umzukodieren und entsprechende Ausgabesegmente 405a-f zu erzeugen.
  • Die Eingabesegmente 333a-f können in einer Reihenfolge einer Präsentation angeordnet sein. Das heißt, ein Benutzer, der die Mediendatei abspielt, beobachtet die Eingabesegmente 333a-f, die in einer chronologischen Sequenz entsprechend der Präsentationsreihenfolge angeordnet sind. Wenn die Eingabesegmente 333a-f parallel durch die Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c transkodiert bzw. umkodiert werden, kann eine Transkodier- bzw. Umkodierreihenfolge derart auftreten, dass die Ausgaben der Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c möglicherweise neu sequenziert werden muss, um die ursprüngliche Reihenfolge der Präsentation beizubehalten. Diesbezüglich kann die Transkodierreihenfolge bzw. Umkodierreihenfolge von der Präsentationsreihenfolge variieren.
  • In dem Transkodiersystem bzw. Umkodiersystem 100 gemäß 4 kann jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c durch variierende Transkodiergeschwindigkeiten bzw. Umkodiergeschwindigkeiten charakterisiert sein. Beispielsweise kann die erste Transkodiervorrichtung bzw. Umkodiervorrichtung 134a eine inhärent langsamere Transkodiervorrichtung bzw. Umkodiervorrichtung sein als die zweite Transkodiervorrichtung bzw. Umkodiervorrichtung 134b. In diesem Fall kann eine physikalische Implementierung jeder Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c Transkodiergeschwindigkeiten bzw. Umkodiergeschwindigkeiten beeinflussen und Transkodier- bzw. Umkodierverarbeitungsressourcen für jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c variieren.
  • Zusätzlich kann jedes Eingabesegment 333a-f in Hinblick auf die Anzahl von Bildern in jedem Eingabesegment oder die Komplexität der Bilder in jedem Eingabesegment variieren. Beispielsweise kann das Eingabesegment A 333a eine größere Anzahl von Bildern als das Eingabesegment C 333c umfassen. Somit kann das Transkodier- bzw. Umkodiereingabesegment A 333a eine wesentlich längere Zeit benötigen als das Transkodier- bzw. Umkodiereingabesegment C 333c. Für ein anderes Beispiel kann das Eingabesegment A 333a eine Reihe von Bildern umfassen, die durch komplexe Farbmuster, eine Wanderung und/oder eine Bewegung gekennzeichnet sind. Das Eingabesegment C 333c kann eine Reihe von monotonen Bildern mit einer geringen bis gar keiner Wanderung oder Bewegung umfassen. Somit kann das Transkodier- bzw. Umkodiereingabesegment A 333a eine wesentlich längere Zeit erfordern als das Transkodier- bzw. Umkodiereingabesegment C 333c.
  • Wenn Eingabesegmente 333a-f Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c zugeordnet werden, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine Zuordnung bestimmen, indem eine Arbeitslastwarteschlange bzw. Arbeitslastreihe (workload queue) jeder Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c analysiert wird. In verschiedenen Ausführungsbeispielen verfolgt jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c die Anzahl von Eingabesegmenten 333a-f, die für ein Transkodieren bzw. Umkodieren eingeteilt (gescheduled) sind. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c kann einen Zähler aufrechterhalten, um die Anzahl von eingeteilten Eingabesegmenten 333a-f in einer Arbeitswarteschlange zu zählen. In einem anderen Beispiel stellt jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c eine Angabe bereit, wann sie ein Transkodieren bzw. Umkodieren jedes Eingabesegments abgeschlossen hat. In anderen Ausführungsbeispielen quantifiziert jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c einen Fortschrittsstatus, der mit der Arbeitslast der Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c korreliert. Beispielsweise kann jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c eine geschätzte Zeit für einen Abschluss der Arbeit, die in der Arbeitswarteschlange eingeteilt ist, bereitstellen. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann den Arbeitsfortschritt jeder Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c verfolgen und dementsprechend nachfolgende Eingabesegmente 333a-f zuordnen.
  • In dem nicht einschränkenden Beispiel gemäß 4 sendet die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 das Eingabesegment A 333a an die erste Transkodiervorrichtung bzw. Umkodiervorrichtung 134a, das Eingabesegment B 333b zu der zweiten Transkodiervorrichtung bzw. Umkodiervorrichtung 134b und das Eingabesegment C 333c zu der dritten Transkodiervorrichtung bzw. Umkodiervorrichtung 134c. Bei diesem Punkt transkodiert bzw. umkodiert jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c derzeit ein jeweiliges Eingabesegment 333a-c, sodass die Arbeitswarteschlange für jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c bestückt ist. Außerdem transkodiert bzw. umkodiert jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c die jeweiligen Eingabesegmente 333a-c, um jeweils entsprechende Ausgabesegmente 405a-c zu erzeugen.
  • Das nächste nachfolgende Eingabesegment, das Eingabesegment D 333d, wird durch die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 zugeordnet. In verschiedenen Ausführungsbeispielen berücksichtigt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den Transkodier- bzw. Umkodierfortschritt jeder Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann das Eingabesegment D 333d der Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-c zuordnen, die mit einer Verarbeitung des Eingabesegments D 333d zu dem frühesten Zeitpunkt beginnen könnte. Unter der Annahme, dass die erste Transkodiervorrichtung bzw. Umkodiervorrichtung 134a und die zweite Transkodiervorrichtung bzw. Umkodiervorrichtung 134b später geschätzte Zeiten für einen Abschluss als die dritte Transkodiervorrichtung bzw. Umkodiervorrichtung 134c aufweisen, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 das Eingabesegment D 333d der dritten Transkodiervorrichtung bzw. Umkodiervorrichtung 134c zuordnen.
  • Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann ein Zuordnen von Eingabesegmenten 333a-f auf der Grundlage des Fortschrittstatus jeder Transkodiervorrichtung bzw. Umkodiervorrichtung fortsetzen. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a erzeugt entsprechende Ausgabesegmente 405a-f. Es kann der Fall sein, dass die Ausgabesegmente 405a-f in einer Reihenfolge erzeugt werden, die sich von der Präsentationsreihenfolge der Eingabesegmente 333a-f unterscheidet.
  • In verschiedenen Ausführungsbeispielen ist die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 konfiguriert, anderen Transkodiersystemen bzw. Umkodiersystemen 100 (1) einen Zugang zu einer Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehreren Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c zu gewähren. Beispielsweise kann ein erstes Transkodiersystem bzw. Umkodiersystem 100 eine Transkodiervorrichtung bzw. Umkodiervorrichtung bzw. mehrere Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c mit einem anderen Transkodiersystem bzw. Umkodiersystem 100 teilen. Jedes Transkodiersystem bzw. Umkodiersystem 100 kann als ein Abschnitt einer jeweiligen STB oder einer anderen Computervorrichtung implementiert sein. Diesbezüglich kann ein Netzwerk von STB konfiguriert sein, zugehörige Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c mit anderen STB zu teilen. Alternativ hierzu kann eine STB konfiguriert sein, eine Vielzahl von Transkodieroperationen bzw. Umkodieroperationen bei einer Vielzahl von Eingabedateien oder Strömen gleichzeitig auszuführen. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann einen Zugriff auf Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c, die durch die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 verwaltet werden, gestatten oder verweigern. Auf ähnliche Weise kann eine Transkodier- bzw. Umkodierverwaltungseinrichtung 123 anfordern, eine Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehrere Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c eines anderen Transkodiersystems bzw. Umkodiersystems 100 zu verwenden. In diesem Fall kann ein Satz von Transkodiersystemen bzw. Umkodiersystemen 100 vernetzt werden, um ein Ressourcenteileh jeweiliger Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-c zu erleichtern.
  • Unter Bezugnahme auf 5 ist ein Diagramm eines Betriebs bzw. einer Operation des Transkodiersystems bzw. Umkodiersystems 100 gemäß 1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt. 5 stellt ein nicht einschränkendes Beispiel sequentieller Eingabesegmente 333a-d und entsprechender Ausgabesegmente 405a-d, die in einer Präsentationsreihenfolge angeordnet sind, bereit. In verschiedenen Ausführungsbeispielen sind die Ausgabesegmente 405a-d konfiguriert, eine Reihe von aneinandergrenzenden Ausgabesegmenten zu bilden, sodass jedes Ausgabesegment 405a-d mit einem benachbarten Ausgabesegment 405a-d in der Reihe von Ausgabesegmenten nicht überlappt.
  • Eingabesegmente 333a-d stellen sequentielle überlappende Zeitbereiche einer Eingabemediendatei 115 dar (1). Somit kann jedes Eingabesegment 333a-d durch eine Startzeit und eine Stoppzeit in Hinblick auf eine Präsentationszeit charakterisiert werden. Das heißt, jedes Eingabesegment 333a deckt einen Zeitbereich oder ein Fenster des Medienelements ab, das durch die Eingabemediendatei 15 ausgedrückt wird. Beispielsweise deckt unter der Annahme, dass das Medienelement ein Spielfilm ist, das Eingabesegment A 333a 0 Sekunden bis 10,5 Sekunden des Spielfilms ab, und das Eingabesegment B deckt 10,4 Sekunden bis 20,2 des Spielfilms ab.
  • Jedes Eingabesegment 333a-d wird zu einer jeweiligen Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n gesendet (1). Eine Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n, die ein Eingabesegment 333a-d empfängt, transkodiert bzw. umkodiert das empfangene Eingabesegment 333a-d und erzeugt ein entsprechendes Ausgabesegment 405a-d. Jedes Ausgabesegment 405a-d wird ebenso durch einen Bereich einer Präsentationszeit mit einer Startzeit und einer Stoppzeit charakterisiert. Beispielsweise deckt im Nachgang zu dem Beispiel des vorangegangenen Absatzes ein Ausgabesegment A 405a, das eine transkodierte bzw. umkodierte Version des Eingabesegments A 333a ist, 0 Sekunden bis 10,5 Sekunden des transkodierten bzw. umkodierten Spielfilms ab. Das Ausgabesegment B 405b, das eine transkodierte bzw. umkodierte Version des Eingabesegments B 333b ist, deckt 10,5 Sekunden bis 20,2 Sekunden des transkodierten bzw. umkodierten Spielfilms ab.
  • Wie es in dem nicht einschränkenden Beispiel in 5 ersichtlich ist, sind die Ausgabesegmente 405a-d der entsprechenden Eingabesegmente 333a-d sequentiell, aneinandergrenzend und nicht überlappend. Beispielsweise geht das letzte Bild des Ausgabesegments A 405a dem ersten Bild des Ausgabesegments B 405b unmittelbar voran. Diesbezüglich bilden die Ausgabesegmente 405a-d eine kontinuierliche Reihe von Segmenten, die zusammengefügt werden können, um eine transkodierte bzw. umkodierte Ausgabemediendatei 121 zu erzeugen (1).
  • Jedes Ausgabesegment 405a-d deckt den gleichen Zeitbereich des entsprechenden Eingabesegments 333a-d ab, oder es deckt einen Untersatz des Zeitbereichs des entsprechenden Eingabesegments 333a-d ab. Beispielsweise ist der Zeitbereich für das Ausgabesegment A 405a 0 Sekunden bis 10,5 Sekunden, was der gleiche Zeitbereich des Eingabesegments A 333a ist. Der Zeitbereich für das Ausgabesegment B 405b ist jedoch 10,5 Sekunden bis 20,2 Sekunden, was ein Untersatz des Zeitbereichs des Eingabesegments B 333b ist, der 10,4 Sekunden bis 20,2 Sekunden beträgt. Somit empfängt die Verarbeitungseinrichtung 156 (1) einer Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-d ein dekodiertes Eingabesegment eines bestimmten Fensters einer Präsentationszeit und erzeugt ein entsprechendes Ausgabesegment, das mit einem Untersatz des Fensters der Präsentationszeit des Eingabesegments verbunden ist. Dies ermöglicht es der Verarbeitungseinrichtung 156, die Vorteile einer seriellen Umkodierung bzw. Transkodierung zu erreichen, während tatsächlich ein paralleles Transkodieren bzw. Umkodieren implementiert wird.
  • Beispielsweise kann die Verarbeitungseinrichtung 156 einen Entknüpfungsbetrieb bzw. eine De-Interlacing-Operation ausführen, um ein Ausgabesegment zu erzeugen, das mit einem bestimmten Fenster der Präsentationszeit verbunden ist. Um das Ausgabesegment zu erzeugen, sollte die Eingabe für die De-Interlacing-Operation mit einem Eingabefenster verbunden sein, das groß genug ist, um eine ausreichende De-Interlacing-Operation zur Folge zu haben, um das Ausgabesegment zu erzeugen, das mit dem bestimmten Fenster der Präsentationszeit verbunden ist. In dem nicht einschränkenden Beispiel gemäß 5 ist das Ausgabesegment B 405b mit einem Fenster von 10,5 Sekunden bis 20,2 Sekunden verbunden. Die De-Interlacing-Operation, die zur Erzeugung des Ausgabesegments B 405 verwendet wird, kann möglicherweise ein Eingabesegment benötigen, das mit einem Fenster verbunden ist, das sich in dem Bereich von zumindest 10,4 Sekunden bis 20,2 Sekunden erstreckt. Anders ausgedrückt kann, um dekodierte Bilder, die mit dem Bereich von 10,5 Sekunden bis 20,2 Sekunden verbunden sind, zu entflechten (De-Interlacing), die De-Interlacing-Operation eine Verwendung von dekodierten Bildern erfordern, die 10,5 Sekunden vorangehen.
  • In verschiedenen Ausführungsbeispielen deckt das erste Eingabesegment 333a einer Eingabemediendatei 115 den gleichen Zeitbereich wie das entsprechend Ausgabesegment 405a ab. Nach dem ersten Ausgabesegment 405a sind nachfolgende Ausgabesegmente mit jeweiligen Zeitbereichen verbunden, die Untersätze von entsprechenden Eingabesegmentzeitbereichen sind.
  • Unter Bezugnahme auf 6 ist ein Beispiel des Betriebs bzw. der Operation des Transkodiersystem bzw. Umkodiersystems 100 gemäß 1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt. 6 stellt ein nicht einschränkendes Beispiel eines Transkodierens bzw. Umkodierens von vier Eingabesegmenten 333a-d unter Verwendung paralleler Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n (1) bereit, wobei jedes Eingabesegment 333a-d durch eine Transkodier- bzw. Umkodierverwaltungseinrichtung 123 (1) einer jeweiligen Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n zugeordnet wird.
  • Jedes Eingabesegment 333a-d ist entlang einer y-Achse im Hinblick auf eine Präsentationsreihenfolge angeordnet. Ein Eingabesegment A 333a ist zuerst zu präsentieren, ein Eingabesegment B 333b ist das unmittelbar nächste, ein Eingabesegment C 333c folgt unmittelbar dem Eingabesegment B 333b und ein Eingabesegment D 333d folgt unmittelbar dem Eingabesegment C 333c. Je niedriger ein Eingabesegment 333a-d entlang der y-Achse gezeigt ist, desto früher ist das Eingabesegment 333a-d zu präsentieren.
  • Jedes Eingabesegment 333a-d ist ebenso entlang einer x-Achse in Hinblick auf eine Transkodierreihenfolge bzw. Umkodierreihenfolge angeordnet. Die Eingabesegmente 333a-d, die näher an der linken Seite auf der x-Achse sind, zeigen an, dass das Eingabesegment 333a-d zu einem früheren Zeitpunkt transkodiert bzw. umkodiert wird. Somit ist das Eingabesegment A 333a das erste Eingabesegment, das zu transkodieren bzw. umzukodieren ist, gefolgt durch das Eingabesegment D 333d, gefolgt durch das Eingabesegment B 333b, gefolgt durch das Eingabesegment C 333c. Die versetzte Transkodierreihenfolge bzw. Umkodierreihenfolge kann sich aus den parallelen Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n ergeben, die die Eingabesegmente 333a-d zu variierenden Zeitpunkten verarbeiten. Es kann aus dem Beispiel gemäß 6 geschlossen werden, dass die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n, die für ein Transkodieren bzw. Umkodieren des Eingabesegments A 333a bestimmt ist, nicht die gleiche Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ist, die für ein Transkodieren bzw. Umkodieren des Eingabesegments D 333d bestimmt ist. Dieser Schluss beruht auf der Tatsache, dass das Eingabesegment A 333a und das Eingabesegment D 333d überlappende Transkodierzeiten bzw. Umkodierzeiten haben, und der Annahme, dass die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ein Eingabesegment 333a-d nach dem anderen verarbeiten kann. Es kann jedoch gefolgert werden, dass die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n, die für ein Transkodieren bzw. Umkodieren des Eingabesegments A 333a bestimmt ist, ebenso die gleiche Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n sein könnte, die für ein Transkodieren bzw. Umkodieren des Eingabesegments B 333b oder des Eingabesegments C 333c bestimmt ist. Dies ist aufgrund der Tatsache der Fall, dass die Transkodierzeit bzw. Umkodierzeit des Eingabesegments A 333a weder mit dem Eingabesegment B 333b noch dem Eingabesegment C 333c überlappt. Eine Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n kann jedoch ebenso in der Lage sein, mehr als ein Eingabesegment 333a-d gleichzeitig zu verarbeiten. Der Satz von Bildern eines Eingabesegments 333a-c, die durch eine Transkodiereinrichtung bzw. Umkodiereinrichtung kodiert sind, kann als ein Ausgabesegment bezeichnet werden. Die kodierte Version desselben Satzes von Bildern kann ebenso als ein Ausgabesegment bezeichnet werden.
  • 6 stellt ebenso ein nicht einschränkendes Beispiel der dynamischen Einstellung bzw. Justierung des QP 159a-d jedes Kodierers 158 (1) bereit, der in einer entsprechenden Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n implementiert ist. Beispielsweise kann der QP 159a, der mit dem Kodieren des Eingabesegments A 333a verbunden ist, dynamisch über den Kodiervorgang justiert werden, der durch die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n implementiert wird, die für ein Transkodieren bzw. Umkodieren des Eingabesegments A 333a verantwortlich ist. Hierzu umfasst die Kodierung jedes Eingabesegments 333a-d einen entsprechenden QP 159a-d, der durch den Kodierungsverlauf justiert werden kann. Wenn ein bestimmtes Eingabesegment 333a-d kodiert wird, kann der QP 159a-d auf Anfangs-QP-Werte 502a-d initialisiert werden. Zusätzlich kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 jeden Transkodiervorgang bzw. Umkodiervorgang lenken, um einen zugehörigen jeweiligen QP 159a-d in einer derartigen Art und Weise zu verarbeiten, dass er sich einem vorbestimmten QP-Bereich 505a-d annähert, wie es nachstehend ausführlicher diskutiert ist.
  • In verschiedenen Ausführungsbeispielen ist eine Transkodier- bzw. Umkodierverwaltungseinrichtung 123 konfiguriert, den QP 159a-d für jeden Transkodiervorgang bzw. Umkodiervorgang zu verwalten, wenn die Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n verschiedene Reihen von Eingabesegmenten 333a-d verarbeiten. Der Kodierer 158 einer Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n kann den QP 159a-d justieren, wenn er den Kodiervorgang ausführt. Dementsprechend ist jedes Eingabesegment 333a-d mit einem Ausgabesegment 405a-d verbunden. Jedes Ausgabesegment 405a-d ist mit einem Anfangs-QP 502a-d und einem End-QP verbunden, wobei der QP durch jeden Transkodiervorgang bzw. Umkodiervorgang verwendet wird, um ein entsprechendes kodiertes Ausgabesegment 405a-d zu erzeugen. Wenn der End-QP eines bestimmten Ausgabesegments 405a-d deutlich von dem Anfangs-QP 502a-d des nächsten Ausgabesegments 405a-d, das zu präsentieren ist, variiert, tritt ein unzusammenhängender QP-Übergang auf. Unzusammenhängende QP-Übergänge können zu visuellen Artefakten zwischen den Ausgabesegmenten 405a-d führen, die den transkodierten bzw. umkodierten Eingabesegmenten 333a-d entsprechen. Somit kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 konfiguriert sein, den QP 159a-d jedes Ausgabesegments 405a-d, das kodiert wird, zu beeinflussen, um einen relativ kontinuierlichen QP 159 über eine Reihe von sequentiellen Ausgabesegmenten 405a-d zu erzeugen, sodass es eine relativ kleine Differenz in dem QP 159 von einem kodierten Ausgabesegment zu dem nächsten gibt.
  • In einem Ausführungsbeispiel unter anderen erhält die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den End-QP-Wert eines vollständig kodierten Ausgabesegments 405a-d und verwendet diesen End-QP-Wert, um den Anfangs-QP 502a-d des nächsten Ausgabesegments 405a-d in der Präsentationsreihenfolge einzustellen. Beispielsweise kann der End-QP des Ausgabesegments A 405a verwendet werden, um den Anfangs-QP 502 des Ausgabesegments B 405b zu initialisieren. In diesem Fall kommuniziert die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n, die für eine Verarbeitung des Eingabesegments A 333a verantwortlich ist, den End-QP, der mit dem Ausgabesegment A 405a verbunden ist, zu der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 oder berichtet ihn auf andere Weise. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann dann die Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n, die für eine Verarbeitung des Eingabesegments B 333b verantwortlich ist, steuern, indem der Anfangs-QP 502b eingestellt wird.
  • Es kann jedoch der Fall vorliegen, dass ein Eingabesegment 333b gleichzeitig zusammen mit dem nächsten Eingabesegment 333c, das zu präsentieren ist, transkodiert bzw. umkodiert wird. Beispielsweise hat zu der Zeit, bei der das Eingabesegment B 333b den Transkodiervorgang bzw. Umkodiervorgang abschließt, das Eingabesegment C 333c bereits den Transkodiervorgang bzw. Umkodiervorgang begonnen. Um sich mit diesem Fall zu befassen, betreffen verschiedene Ausführungsbeispiele ein Lenken des QP 159b, um näherungsweise in einem vorbestimmten QP-Bereich 505b zu konvergieren. Beispielsweise kann, wenn die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 das Kodieren des Ausgabesegments B 405B überwacht, das mit dem Eingabesegment B 333b verbunden ist, die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen vorbestimmten QP-Bereich 505b einstellen, um den QP 159b anzuweisen oder auf andere Weise zu lenken, um in dem vorbestimmten QP-Bereich 505b zu konvergieren. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann dann den QP 159c des Ausgabesegments C 405c initialisieren, indem der Anfangs-QP 502 des Ausgabesegments C 405c auf der Grundlage zumindest des vorbestimmten QP-Bereichs 505b des Ausgabesegments B 405b eingestellt wird. In einem anderen Ausführungsbeispiel bestimmt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 Anfangswerte der QP 159b und 159c der Ausgabesegmente 405b bzw. 405c. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann einen vorbestimmten QP-Bereich 505b auf der Grundlage des Anfangswerts von QP 159c des Ausgabesegments 405c bestimmen und den QP 159b anweisen oder auf andere Weise lenken, um allgemein in dem vorbestimmten QP-Bereich 505b zu konvergieren. Dies kann die Gefahr eines unzusammenhängenden QP zwischen dem Ausgabesegment B 405b und dem Ausgabesegment C 405c verringern, wodurch eine hohe visuelle Qualität der sich ergebenden Ausgabedatei (Datenstrom) resultiert.
  • In verschiedenen Ausführungsbeispielen kann der vorbestimmte QP-Bereich 505a-d dynamisch zumindest teilweise auf der Grundlage des Kodiervorgangs justiert werden, der bei den Ausgabesegmenten 405a-d angewendet wird. Beispielsweise kann während des Kodiervorgangs ein QP 159a-d durch den Kodierer an die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 berichtet werden, wobei auf der Grundlage dieses QP 159a-d die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den vorbestimmten QP-Bereich 505a-d für diese Ausgabesegmente 405a-d, die eingeteilt sind, um kodiert zu werden, dynamisch justieren kann. In alternativen Ausführungsbeispielen kann der vorbestimmte QP-Bereich 505a-d nicht von den QP-Werten 159a-d abhängen, die durch Kodierer 158 verwendet werden. Diesbezüglich ist jeder Kodierer an den gleichen vorbestimmten QP-Bereich 505a-d gebunden. In einem anderen alternativen Ausführungsbeispiel kann der vorbestimmte QP-Bereich 505a-d näherungsweise gleich für alle Kodierer sein, die die Ausgabesegmente 405a-d kodieren, wobei der vorbestimmte QP-Bereich 505a-d über der Zeit variieren kann. Alternativ hierzu kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen QP oder einen QP-Bereich unabhängig für jedes Ausgabesegment 405a-d und für jeden Kodierer bestimmen. Diese QP oder QP-Bereiche können sich zwischen Segmenten und zwischen Kodierern unterscheiden. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann die QP oder QP-Bereiche zumindest teilweise auf der Grundlage der gemessenen oder tatsächlichen BR, die durch die Kodierer erzeugt wird, und der Solldurchschnittsbitrate bestimmen. Alternativ hierzu kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen QP oder QP-Bereich zumindest teilweise auf der Grundlage von Attributen des Eingabedatenstroms bestimmen. Nicht einschränkende Beispiele von Attributen des Eingabedatenstroms umfassen eine Anzahl von Bits, die Bilder oder Sätze von Bildern darstellen, QP-Werte, Szenenänderungen, Bewegungsvektoren oder Eigenschaften von Bildern.
  • Es kann ebenso der Fall sein, dass ein Eingabesegment 333d, das mit einer späteren Präsentationszeit verbunden ist, vor einem Eingabesegment 333b, c kodiert wird, das mit einer früheren Präsentationszeit verbunden ist. Beispielsweise beginnt das Eingabesegment D 333d den Kodierungsvorgang vor einer Kodierung der Eingabesegmente B und C 333b, c. Verschiedene Ausführungsbeispiele der vorliegenden Offenbarung sind darauf gerichtet, einen sofortigen QP 159a-d eines Ausgabesegmentes 405a-d zu erhalten, das derzeit kodiert wird, und den sofortigen QP 159a-d zu verwenden, um den Anfangs-QP 502a-d eines anderen Ausgabesegments 405a-d zu initialisieren. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen sofortigen QP des Ausgabesegments A 405a erhalten, während das Ausgabesegment A derzeit kodiert wird, und einen Anfangs-QP 502d für das Ausgabesegment D 405d auf dem sofortigen QP basieren. Somit ermöglicht das Transkodiersystem bzw. Umkodiersystem 100 es einer Transkodier- bzw. Umkodierverwaltungseinrichtung 123, einen QP 159a-d von den Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-d zu lesen.
  • Unter Bezugnahme auf 7 ist als nächstes ist ein Flussdiagramm gezeigt, das Beispiele einer Funktionalität veranschaulicht, die als Abschnitte der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 gemäß 1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung implementiert ist. Es ist ersichtlich, dass das Flussdiagramm gemäß 7 lediglich ein Beispiel der vielen unterschiedlichen Typen von funktionalen Anordnungen bereitstellt, die eingesetzt werden können, um den Betrieb bzw. die Operation der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 zu implementieren, wie sie hier beschrieben ist. Als eine Alternative kann das Flussdiagramm gemäß 7 betrachtet werden, dass es ein Beispiel von Schritten eines Verfahrens zeigt, das in der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 entsprechend einem Ausführungsbeispiel oder mehreren Ausführungsbeispielen implementiert ist.
  • Zu Beginn greift bei Bezugszeichen 703 die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 auf eine Eingabemediendatei 115 (1) zu. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ist konfiguriert, die Eingabemediendatei aus einem Quellenspeicher 112 zu lesen (1). Die Eingabemediendatei 115 kann als ein Bitstrom gelesen werden, der eine Reihe von Bildern ausdrückt. Bei Bezugszeichen 706 identifiziert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 wahlfreie Zugangspunkte (RAP) 231a-c (2). Die RAP können auf der Grundlage einer RAP-Liste 231 (2) identifiziert werden. Die RAP-Liste 231 kann Teil der Metadaten sein, die mit der Eingabemediendatei 115 verbunden sind. Die RAP-Liste 231 kann ebenso durch die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 berechnet werden. In diesem Fall analysiert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die Eingabemediendatei 115 und identifiziert die Stellen bzw. Positionen der RAP.
  • Bei Bezugszeichen 709 erzeugt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ein Eingabesegment oder mehrere Eingabesegmente 333a-c ( 3). Die Eingabesegmente 333a-c werden zumindest auf der Grundlage der Stelle der RAP 231a-f erzeugt (3). Jedes Eingabesegment 333a-c kann einen Startpunkt und einen Endpunkt umfassen. Der Startpunkt für jedes Eingabesegment 333a-c kann ein jeweiliger RAP 231a-f in der RAP-Liste 231 sein. Des Weiteren kann jedes Eingabesegment 333a-c eine Anzahl von RAP 231a-f umfassen. In verschiedenen Ausführungsbeispielen ist der Endpunkt eine vorbestimmte Anzahl von Bildern jenseits des letzten RAP 231a-f eines bestimmten Eingabesegments 333a-c. Ein nachfolgendes Eingabesegment 333a-c kann einen Startpunkt des letzten RAP 231a-f des vorangegangenen Eingabesegments 333a-c aufweisen. Diesbezüglich sind die Reihen der Eingabesegmente 333a-c sequenziell, kontinuierlich und überlappend.
  • Bei Bezugszeichen 712 wählt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehrere Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n (1) aus, um entsprechende Ausgabesegmente 405a-f (4) zu erzeugen. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n ist konfiguriert, ein Eingabesegment 333a-f (4) zu empfangen, das Eingabesegment 333a-n zu transkodieren bzw. umzukodieren und ein entsprechendes Ausgabesegment 405a-f (4) zu erzeugen. In verschiedenen Ausführungsbeispielen können die Ausgabesegmente 405a-f, die von der Ausgabe der Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-f erhalten werden, entsprechend einer Präsentationsreihenfolge sequenziert werden. Wenn sie sequenziert sind, sind die Ausgabesegmente 405a-f nicht überlappend und aneinandergrenzend. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann die Ausgabesegmente 405a-f unter Verwendung eines Mux 143 (1) und/oder eines Pufferspeichers sequenzieren. Bei Bezugszeichen 715 speichert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die Ausgabesegmente 405a-f in einem Speicher. Beispielsweise können die Ausgabesegmente 405a-f sequenziert, zusammengefügt und als eine Ausgabemediendatei 121 (1) in einem Zielspeicher 118 (1) gespeichert werden. Das Aneinanderheften kann ein Verbinden bzw. Verknüpfen jedes Ausgabesegments 405a-f in einer Präsentationsreihenfolge umfassen.
  • Unter Bezugnahme auf 8 ist als nächstes ein Flussdiagramm gezeigt, das Beispiele einer Funktionalität veranschaulicht, die als Abschnitte der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 gemäß 1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung implementiert ist. Es ist ersichtlich, dass das Flussdiagramm gemäß 8 lediglich ein Beispiel von vielen unterschiedlichen Typen funktionaler Anordnungen bereitstellt, die verwendet werden können, um den Betrieb bzw. die Operation der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 zu implementieren, wie sie hier beschrieben ist. Als eine Alternative kann das Flussdiagramm gemäß 8 so betrachtet werden, dass es ein Beispiel von Schritten eines Verfahrens zeigt, das in der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 entsprechend einem Ausführungsbeispiel oder mehreren Ausführungsbeispielen implementiert ist. Außerdem stellt 8 ein nicht einschränkendes Beispiel einer Funktionalität bereit, die entweder in einem konstanten BR-System oder einem variablen BR-System implementiert ist.
  • Zu Beginn teilt bei Bezugszeichen 805 die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine Eingabemediendatei 115 (1) in Eingabesegmente 333a-c (3). Die Eingabesegmente 333a-c können zumindest auf der Grundlage der Stelle von RAP 231a-f (3) erzeugt werden. Jedes Eingabesegment 333a-c kann einen Startpunkt und einen Endpunkt umfassen. Der Startpunkt für jedes Eingabesegment 333a-c kann ein jeweiliger RAP 231a-f in der RAP-Liste 231 sein. Des Weiteren kann jedes Eingabesegment 333a-c eine Anzahl von RAP 231a-f umfassen. In verschiedenen Ausführungsbeispielen ist der Endpunkt eine vorbestimmte Anzahl von Bildern jenseits des letzten RAP 231a-f eines bestimmten Eingabesegments 333a-c. Ein nachfolgendes Eingabesegment 333a-c kann einen Startpunk des letzten RAP 231a-f des vorangegangenen Eingabesegments 333a-c aufweisen. Diesbezüglich sind die Reihen von Eingabesegmenten 333a-c sequenziell, kontinuierlich und überlappend.
  • In verschiedenen Ausführungsbeispielen ist die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 konfiguriert, ein Eingabesegment als einen Datenstrom, der ein Startbild umfasst, einer Transkodiervorrichtung bzw. Umkodiervorrichtung 134a-n (1) bereitzustellen. Diesbezüglich kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 anfänglich einen nominalen Wert als ein Endbild in dem Eingabesegment 333a-c spezifizieren oder alternativ hierzu kein Endbild spezifizieren. In diesem nicht einschränkenden Beispiel kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine Zufuhr des Eingabesegmentdatenstroms bei Empfang einer Anweisung von der Transkodiervorrichtung bzw. Umkodiervorrichtung 134 stoppen, um eine Zufuhr des Eingabesegments 333a-c zu stoppen.
  • Bei Bezugszeichen 808 initialisiert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den QP 159 (1) eines ersten Kodierers 158 (1). Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann mit einer Steuerungseinrichtung 149 (1) einer Transkodiereinrichtung bzw. Umkodiereinrichtung gekoppelt sein, um den Anfangs-QP 502a-d (6) des Kodierers 158 der Transkodiereinrichtung bzw. Umkodiereinrichtung einzustellen. In verschiedenen Ausführungsbeispielen kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den Anfangs-QP 502a-d auf einen Voreinstellungswert einstellen. Bei Bezugszeichen 811 initialisiert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den QP 159 für den zweiten Kodierer 158. Der zweite Kodierer wird eingeteilt (gescheduled), um ein zweites Ausgabesegment 405a-d zu kodieren.
  • Bei Bezugszeichen 814 bestimmt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen vorbestimmten QP-Bereich 505a-d auf der Grundlage der Anfangs-QP-Werte 502a-d. Die Transkodier- bzw. Umkodierverwaltungseinrichtung weist den QP 159 des ersten Kodierers 158 auf einen vorbestimmten QP-Bereich 505a-d an oder lenkt ihn auf andere Weise dort hin. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die Steuerungseinrichtung 149 der Transkodiereinrichtung bzw. Umkodiereinrichtung verwenden, um den vorbestimmten QP-Bereich 505a-d des Kodierers einzustellen. Indem ein vorbestimmter QP-Bereich 505a-d eingestellt wird, kann der Kodierer 158, der eingeteilt ist, ein erstes Ausgabesegment 405a-d zu kodieren, den QP 159 lenken, um im Allgemeinen mit einem End-QP in dem vorbestimmten QP-Bereich 505a-d zu konvergieren. Der vorbestimmte QP-Bereich 505a-d kann ein fixierter Bereich sein, der für alle Transkodiervorgänge bzw. Umkodiervorgänge allgemein gültig ist, oder er kann durch die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 dynamisch berechnet werden. Indem der QP 159, der mit dem ersten Kodierer 158 verbunden ist, gelenkt wird, mit dem vorbestimmten QP-Bereich 505a-d zu konvergieren, wo der vorbestimmte QP-Bereich 505a-d auf einem Anfangs-QP 502a-d für das zweite Ausgabesegment 405a-d beruht, kann erwartet werden, dass der End-QP 159 des ersten Ausgabesegments 405a-d näherungsweise mit dem Anfangs-QP 502a-d des zweiten Ausgabesegments 405a-d übereinstimmt. Hierzu ist die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 konfiguriert, die Wahrscheinlichkeit von unzusammenhängenden QP 159 zu verringern, die bei den Nähten von Ausgabesegmenten 405a-d (4) auftreten.
  • Bei Bezugszeichen 817 verwaltet die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 das Kodieren des ersten Ausgabesegments 405a-d und des zweiten Ausgabesegments 405a-d, wobei das Kodieren des ersten Ausgabesegments 405a-d und des zweiten Ausgabesegments 405a-d durch den ersten Kodierer 158 bzw. den zweiten Kodierer 159 parallel ausgeführt werden.
  • Unter Bezugnahme auf 9A ist nachstehend ein Beispiel des Betriebs bzw. der Operation des Transkodiersystems bzw. Umkodiersystems 100 gemäß 1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt. 9A stellt ein nichteinschränkendes Beispiel eines Kodierens von vier Ausgabesegmenten 405a-d unter Verwendung paralleler Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134 (1) bereit. 9A zeigt ein nicht einschränkendes Beispiel einer Verwendung eines Videoqualitätspegels 906, um eine relativ konstante subjektive Qualität für konstante BR- und variable BR-Systeme aufrechtzuerhalten. Zusätzlich zeigt 9A ein nicht einschränkendes Beispiel einer Verwendung eines Videoqualitätspegels 906, um eine Solldurchschnitts-BR für variable BR-Systeme zu erreichen.
  • Jedes Ausgabesegment 405a-d ist entlang einer y-Achse in Hinblick auf eine Präsentationsreihenfolge angeordnet. Ein Ausgabesegment A 405a ist zuerst zu präsentieren, ein Ausgabesegment B 405b ist das unmittelbar Nächste, ein Ausgabesegment C 405c folgt unmittelbar dem Ausgabesegment B 405b, und ein Ausgabesegment D 405d folgt unmittelbar dem Ausgabesegment C 405c in der Präsentationsreihenfolge.
  • Jedes Ausgabesegment 405a-d ist ebenso entlang einer x-Achse in Hinblick auf eine Transkodierreihenfolge bzw. Umkodierreihenfolge angeordnet. Das Ausgabesegment A 405a, das Ausgabesegment B 405b und das Ausgabesegment C 405c werden näherungsweise zur gleichen Zeit durch entsprechende Kodierer 158 (1) kodiert. Das Ausgabesegment D 405d wird nach dem parallelen Kodieren des Ausgabesegments A 405a, des Ausgabesegments B 405b und des Ausgabesegments C 405c kodiert.
  • Für jedes Ausgabesegment 405a-d zeigt 9A einen entsprechenden Videoqualitätspegel (VQL) 906a-d. Wie es in dem nicht einschränkenden Beispiel gemäß 9A gezeigt ist, werden das Ausgabesegment A 405a, das Ausgabesegment B 405b und das Ausgabesegment C 405c parallel kodiert, wobei sie den gleichen Videoqualitätspegel 906a-c aufweisen. Das Ausgabesegment D 405d wird zu einem späteren Zeitpunkt kodiert und weist einen niedrigeren Videoqualitätspegel 906d als die Videoqualitätspegel 906a-c der anderen Segmente auf.
  • Der Videoqualitätspegel 906 kann ein Wert sein, der zumindest auf einem nominalen QP, einem QP, einem QP-Bereich, einem beliebigen Kodiererparameter oder einer Kombination hiervon beruht. Gemäß verschiedenen Ausführungsbeispielen kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen Videoqualitätspegel 906 für jeden der Kodierer 158 spezifizieren, die die Ausgabesegmente 405a-d verarbeiten, um eine relativ kontinuierliche subjektive Videoqualität bei dem Grenzen von benachbarten Ausgabesegmenten 405a-d zu erreichen. Jeder Kodierer 158 kann autonom einen zugehörigen jeweiligen QP-Wert entsprechend einem spezifizierten Videoqualitätspegel 906 justieren. Diesbezüglich kann jeder Kodierer 158 einen QP 159 entsprechend den Videoqualitätspegel 906 variieren. Zusätzlich kann diesbezüglich jeder Kodierer 158 einen QP 159 entsprechend Aspekten des Videos, das kodiert wird, variieren, beispielsweise einem Schätzwert der subjektiven Wirkung einer Quantisierung bei dem Video. Der Videoqualitätspegel kann durch eine Transkodier- bzw. Umkodierverwaltungseinrichtung 123 zur Verwaltung der Kontinuität einer subjektiven Qualität von einem Segment zu dem nächsten zugewiesen werden. Wie es nachstehend ausführlicher beschrieben ist, weist die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen Videoqualitätspegel 906 einem Kodierer oder mehreren Kodierern 158 zu, um eine relativ konstante subjektive Qualität über den Ausgabesegmenten 405a-d aufrechtzuerhalten.
  • In dem Fall eines variablen Bitratensystems kann jeder Kodierer 158 autonom einen zugehörigen jeweiligen QP-Wert entsprechend dem spezifizierten Videoqualitätspegel 906 justieren und autonom eine jeweilige BR justieren, um ein wünschenswertes Ratenpufferverhalten entsprechend dem spezifizierten Videoqualitätspegel 906 aufrechtzuerhalten. Wie es nachstehend ausführlicher beschrieben ist, weist die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einem Kodierer oder mehreren Kodierern 158 einen Videoqualitätspegel 906 zu, um eine relativ konstante subjektive Qualität über den Ausgabesegmenten 405a-d aufrechtzuerhalten, während eine Solldurchschnitts-BR aufrechterhalten wird.
  • Beispielsweise kann in einem variablen BR-System die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine Solldurchschnitts-BR als eine Benutzerspezifikation erhalten. Die Solldurchschnitts-BR kann als eine gewünschte Durchschnitts-BR über einem bestimmten Zeitintervall ausgedrückt werden. Als ein nicht einschränkendes Beispiel kann die Solldurchschnitts-BR 4Mbits pro Sekunde über ein Fünf-Minuten-Zeitfenster sein. Als ein anderes nicht einschränkendes Beispiel kann die Solldurchschnitts-BR 4Mbits pro Sekunde über eine vollständige Datei sein. Die verschiedenen Transkodiervorrichtungen bzw. Umkodiervorrichtungen 134a-n, die die Ausgabesegmente 405a-d erzeugen, können eine jeweilige BR 162 berichten, die durch einen entsprechenden Kodierer 158 verwendet wird. Alternativ hierzu kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die BR bestimmen, indem der transkodierte bzw. umkodierte Bitstrom analysiert wird. Auf der Grundlage der bestimmten BR 162 kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine gemessene Durchschnitts-BR entsprechend einem Mittelungsfenster bestimmen. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine jeweilige BR 162 für einen Satz von Ausgabesegmenten 405a-d identifizieren, die in ein Mittelungsfenster von fünf Minuten der Präsentationszeit fallen. Diesbezüglich kann jedes der Ausgabesegmente 405a-d gemäß Fi. 9A die gemessene Durchschnitts-BR beeinflussen.
  • In verschiedenen Ausführungsbeispielen umfasst der Videoqualitätspegel 906 einen nominalen QP. In konstanten BR- und variablen BR-Systemen kann jeder Kodierer 158 den QP 159 auf der Grundlage eines nominalen QP variieren. Der Kodierer 158 kann den QP 159 entsprechend dem nominalen QP justieren, indem er inkrementell von dem nominalen QP abweicht. Der Kodierer 158 kann dann versuchen, zu dem nominalen QP zurückzukehren. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann eine maximale Änderungsrate des QP spezifizieren, um die Kodierer 158 zu veranlassen, den QP 159 langsam von dem nominalen QP zu variieren. Schließlich kann durch Zuweisen eines nominalen QP zu einer Sequenz von Ausgabesegmenten 405a-c die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die Wahrscheinlichkeit von unzusammenhängenden QP 159 zwischen benachbarten Ausgabesegmenten 405a-d verringern.
  • Mit Bezug auf variable BR-Systeme kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die Durchschnitts-BR, die über ein Zeitfenster gemessen wird, mit einer Solldurchschnitts-BR vergleichen, um zu bestimmen, ob die Durchschnitts-BR über ein Zeitfenster Gefahr läuft, aus der Solldurchschnitts-BR zu fallen. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann auf der Grundlage einer Vielzahl von Faktoren bestimmen, ob der Videoqualitätspegel 906 für einen Kodierer oder mehrere Kodierer 158 zu justieren ist. Nicht einschränkende Beispiele dieser Faktoren umfassen die Differenz zwischen der gemessenen Durchschnitts-BR und der Solldurchschnitts-BR, die Änderungsrate der gemessenen Durchschnitts-BR, eine kurzfristige Durchschnitts-BR, eine langfristige Durchschnitts-BR, eine Durchschnitts-BR seit dem Beginn des Datenstroms oder eine beliebige Kombination hiervon. Beispielsweise kann, wenn die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 bestimmt, dass die gemessene Durchschnitts-BR hochgerechnet die Solldurchschnitts-BR überschreitet, die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den Videoqualitätspegel 906 für einen Kodierer oder mehrere Kodierer 158 justieren, die Ausgabesegmente 405a-d verarbeiten.
  • In konstanten BR- und variablen BR-Systemen kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 konfiguriert sein, sicherzustellen, dass ein relativ konstanter QP bei den Grenzen der Ausgabesegmente 405a-d aufrechterhalten wird. Wie es in 9A gezeigt ist, kann, um einen relativ kontinuierlichen QP 159 zwischen einem Ausgabesegment C 405c und einem Ausgabesegment D 405d zu erreichen, die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den Videoqualitätspegel 906 bei einem Justierpunkt 912 justieren. Bei dem Justierpunkt 912 weist die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen Kodierer oder mehrere Kodierer 158 an, den Videoqualitätspegel 906 zu justieren, um eine relativ kontinuierliche subjektive Qualität zwischen dem Ausgabesegment C 405c und dem Ausgabesegment D 405d zu erreichen. Beispielsweise können die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 und der eine Kodierer oder die mehreren Kodierer 158 eine relativ kontinuierliche subjektive Qualität zwischen benachbarten Segmenten erreichen, indem ein relativ kontinuierlicher QP 159 über die Grenzen zwischen benachbarten Segmenten verwendet wird.
  • In variablen Bitratensystemen kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 konfiguriert sein sicherzustellen, dass eine Solldurchschnitts-BR erreicht wird. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 kann den Videoqualitätspegel 906 justieren, um die Durchschnitts-BR hin zu der Solldurchschnitts-BR zu lenken. Wie es in 9A gezeigt ist, justiert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den Videoqualitätspegel 906 bei einem Justierpunkt 912. Eine Justierung in dem Videoqualitätspegel 906 kann einen Kodierer 158 beeinflussen, ein Segment in einer Art und Weise zu kodieren, die eine Justierung in der BR 162 zur Folge hat. Zu diesem Zweck kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine relativ kontinuierliche subjektive Qualität erreichen, während eine Solldurchschnitts-BR aufrechterhalten wird. Beispielsweise kann, um zu veranlassen, dass die tatsächliche Durchschnitts-BR über ein Zeitfenster zunimmt, die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den Videoqualitätspegel vergrößern. In Reaktion hierauf kann/können ein Kodierer oder mehrere Kodierer ihren jeweiligen QP verringern, während er/sie durch den Videoqualitätspegel eingeschränkt ist/sind, der durch die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 spezifiziert ist. Somit ist die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 konfiguriert, einen Videoqualitätspegel, einen QP-Bereich, einen nominalen QP oder einen anderen Kodiererparameter bei einem Justierpunkt 912 zu justieren, um die tatsächliche Durchschnitts-BR zu beeinflussen.
  • Unter Bezugnahme auf 9B ist ein Beispiel des Betriebs bzw. der Operation des Transkodiersystems bzw. Umkodiersystems 100 gemäß 1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt. Spezifisch führt 9B das nicht einschränkende Beispiel gemäß 9A in dem Fall eines variablen BR-Systems näher aus. 9B veranschaulicht eine gemessene Durchschnitts-BR 926 über einem Zeitfenster. Die gemessene Durchschnitts-BR 926 kann ein gleitender Mittelwert bzw. Durchschnittswert sein, der durch die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 (1) entsprechend einem Mittelungsfenster bestimmt wird. Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 vergleicht die gemessene Durchschnitts-BR 926 mit einer Solldurchschnitts-BR. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 eine lineare Regelschleife bzw. Regelkreis oder Steuerkreis umfassen, der verwendet wird, um BR von verschiedenen Segmenten zu verwalten, um eine Solldurchschnitts-BR zu erreichen. Der lineare Regelkreis kann die gemessene Durchschnitts-BR 926 als eine Eingabe empfangen. Um die tatsächliche Durchschnitts-BR zu steuern, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den Videoqualitätspegel 906 justieren (9A). Wie es in 9B gezeigt ist, justiert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 den Videoqualitätspegel 906 bei einem Justierpunkt 912. In Reaktion auf ein Justieren des Videoqualitätspegels 906 wird die gemessene Durchschnitts-BR 926 letztendlich verringert.
  • Die gemessene Durchschnitts-BR 926 vor dem Justierpunkt 912 kann zumindest teilweise auf der tatsächlichen BR des Ausgabesegments A 405a, des Ausgabesegments B 405b und/oder des Ausgabesegments C 405c beruhen. Die gemessene Durchschnitts-BR 926 nach dem Justierpunkt kann zumindest teilweise auf dem Ausgabesegment D 405d beruhen.
  • Unter Bezugnahme auf 10 ist als nächstes ein Flussdiagramm gezeigt, das Beispiele einer Funktionalität, die als Abschnitte der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 gemäß 1 implementiert ist, entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung veranschaulicht. Es ist ersichtlich, dass das Flussdiagramm gemäß 10 lediglich ein Beispiel der vielen unterschiedlichen Typen von funktionalen Anordnungen bereitstellt, die eingesetzt werden können, um den Betrieb bzw. die Operation der Transkodier- bzw. Umkodierverwaltungseinrichtung 123, wie sie hier beschrieben ist, zu implementieren. Als eine Alternative kann das Flussdiagramm gemäß 10 betrachtet werden, ein Beispiel von Schritten eines Verfahrens zu zeigen, das in der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 gemäß einem Ausführungsbeispiel oder mehreren Ausführungsbeispielen implementiert ist. 10 stellt ein nicht einschränkendes Beispiel einer Steuerung eines Satzes von Kodierern 158 (8) bereit, um Segmente eines Bitstroms parallel zu kodieren. Jeder Kodierer 158 kodiert ein Bestandteilsegment des Bitstroms (beispielsweise ein Ausgabesegment 405 (4) usw.). Außerdem zeigt 10 eine Transkodier- bzw. Umkodierverwaltungseinrichtung 123, die konfiguriert ist, das parallele Kodieren eines Bitstroms zu verwalten, um eine relativ kontinuierliche subjektive Videoqualität über den kodierten Segmenten sicherzustellen, während eine Solldurchschnitts-BR in einem variablen BR-System erreicht wird.
  • Zu Beginn verfolgt bei Bezugszeichen 1001 die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die gemessene Durchschnitts-BR für einen Bitstrom. Der Bitstrom kann in einem Satz von Segmenten geteilt sein, wobei jedes Segment durch einen entsprechenden Kodierer 158 zu kodieren ist. Jeder Kodierer 158 kodiert ein jeweiliges Segment, wobei die Transkodier- bzw. Umkodierverwaltungseinrichtung die gemessene Durchschnitts-BR des transkodierten bzw. umkodierten Datenstroms verfolgt. Beispielsweise kann die gemessene Durchschnitts-BR unter Verwendung eines gleitenden Mittelungsfensters bzw. Durchschnittfensters entlang der Präsentationszeitlinie bestimmt werden. Diesbezüglich kann die gemessene Durchschnitts-BR für den Bitstrom kontinuierlich aktualisiert werden, wenn die verschiedenen Segmente kodiert werden. In einigen Ausführungsbeispielen berichten die Kodierer 158 die BR für jedes Segment, wenn das Segment kodiert wird. In anderen Ausführungsbeispielen analysiert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 die Ausgabe des Kodierers 158, um die gemessene Durchschnitts-BR zu bestimmen.
  • Die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 fährt mit dem Verfolgen der gemessene Durchschnitts-BR für den Bitstrom fort, bis ein Kodieren des Bitstroms abgeschlossen ist, wie es bei Bezugszeichen 1004 gezeigt ist. Bei Bezugszeichen 1007 bestimmt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123, ob sich die gemessene Durchschnitts-BR von einer Solldurchschnitts-BR entsprechend einem Schwellenwert oder einer Toleranz unterscheidet. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen Regelkreis bzw. einen Steuerkreis verwenden, um ein lineares Steuerungssystem zu implementieren, um die BR der verschiedenen Segmente zu verwalten, eine gewünschte langfristige Durchschnittsbitrate zu erfüllen. Der Regelkreis kann beispielsweise einen Proportional-, Integral- und Differenzialregler umfassen.
  • In verschiedenen Ausführungsbeispielen bestimmt der Regelkreis eine gemessene kurzfristige Durchschnitts-BR, eine gemessene langfristige Durchschnitts-BR, eine gemessene Gesamtdurchschnitts-BR seit dem Beginn des Bitstroms oder der Datei oder eine beliebige Kombination hiervon. Ein kurzfristiger Durchschnitt kann beispielsweise auf einem Mittelungsfenster beruhen, das eine Länge von einem Segment oder einigen wenigen Segmenten aufweist. Ein langfristiger Durchschnitt kann beispielsweise auf einem Mittelungsfenster beruhen, das die Länge von 5 Minuten oder einer anderen Zeitdauer aufweist, die ausreichend lang ist. Der Regelkreis kann die Differenz zwischen der Solldurchschnitts-BR und jeder einer Vielzahl von unterschiedlichen gemessenen Durchschnitts-BR bestimmen, um zu bestimmen, ob ein Videoqualitätspegel zu justieren ist. Diesbezüglich ist eine Differenz zwischen einer kurzfristig gemessenen Durchschnitts-BR und der Solldurchschnitts-BR ein erster Differenzwert. Eine Differenz zwischen einer langfristig gemessenen Durchschnitts-BR und der Solldurchschnitts-BR ist ein zweiter Differenzwert. Ferner ist eine Differenz zwischen der Gesamtdurchschnitts-BR und der Solldurchschnitts-BR ein dritter Differenzwert. Jeder dieser Differenzwerte kann entsprechend Koeffizienten gewichtet werden oder kombiniert werden, um zu bestimmen, ob Kodierereinstellungen zu justieren sind, um die BR des Bitstroms zu beeinflussen.
  • Wenn die gemessene Durchschnitts-BR nicht Gefahr läuft, wesentlich von dem Solldurchschnitts-BR-Bereich abzuweichen, setzt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ein Verfolgen der Durchschnitts-BR für den Bitstrom fort, ohne den Videoqualitätspegel 906 (9A) zu justieren. Wenn jedoch die gemessene Durchschnitts-BR Gefahr läuft, wesentlich von dem Solldurchschnitts-BR-Bereich abzuweichen, zweigt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 zu Bezugszeichen 1009 ab.
  • Bei Bezugszeichen 1009 justiert die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 einen Videoqualitätspegel 906 für einen Kodierer oder mehrere Kodierer 158. Entsprechend verschiedenen Ausführungsbeispielen ist der Videoqualitätspegel 906 ein quantitativer Parameter, der eine subjektive Videoqualität ausdrückt. In alternativen Ausführungsbeispielen ist der Videoqualitätspegel eine Umkehrfunktion eines QP-Parameters. In alternativen Ausführungsbeispielen ist der Videoqualitätspegel ein QP-Parameter. Der Videoqualitätspegel 906 kann positiv mit der BR des Bitstroms korrelieren. Indem der Videoqualitätspegel 906 justiert wird, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung diejenigen Kodierer 158 anweisen, die derzeit kodieren und/oder eingeteilt sind, Segmente zu kodieren. In Reaktion auf den justierten Videoqualitätspegel können die Kodierer 158 ihre jeweiligen QP, ihre jeweiligen nominalen QP oder beliebige andere Kodiererparameter justieren, um den modifizierten Videoqualitätspegel 906 zu berücksichtigen. Im Nachgang zu einem Abschluss von Bezugszeichen 1009 springt die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 zu Bezugszeichen 1001 zurück, wobei die gemessene Durchschnittsbittrate des Bitstroms verfolgt wird.
  • Entsprechend verschiedenen Ausführungsbeispielen kann ein Justieren des Videoqualitätspegels durch die Transkodier- bzw. Umkodierverwaltungseinrichtung 123 ein Anweisen eines Kodierers oder mehrerer Kodierer 158 umfassen, den QP eines jeweiligen Segments hin zu einem bestimmen QP-Bereich oder einem nominalen QP-Wert zu lenken.
  • Die Flussdiagramme gemäß den 7, 8 und 10 zeigen die Funktionalität und den Betrieb bzw. die Operation einer Implementierung von Abschnitten der Transkodier- bzw. Umkodierverwaltungseinrichtung 123 (1). Wenn sie in Software zum Ausdruck gebracht wird, kann jedes Bezugszeichen, das als ein Block gezeigt ist, ein Modul, ein Segment oder einen Abschnitt eines Codes darstellen, der Programmanweisungen umfasst, um die spezifizierte logische Funktion (spezifizierten logischen Funktionen) zu implementieren. Die Programmanweisungen können in der Form eines Quellcodes verkörpert werden, der durch einen Menschen lesbare Anweisungen umfasst, die in einer Programmiersprache oder einem Maschinencode geschrieben sind, die/der numerische Anweisungen umfasst, die durch ein geeignetes Ausführungssystem, wie beispielsweise der Transkodier- bzw. Umkodierverwaltungseinrichtung 123, in einem Computersystem oder einem anderen System erkennbar sind. Die Programmanweisungen können in einem Speicher gespeichert sein. Der Maschinencode kann von dem Quellcode usw. umgewandelt sein. Wenn sie in Hardware zum Ausdruck gebracht wird, kann jeder Block eine Schaltung bzw. einen Schaltkreis oder eine Anzahl von untereinander verbundenen Schaltungen bzw. Schaltkreisen darstellen, um die spezifizierte logische Funktion (spezifizierten logischen Funktionen) zu implementieren.
  • Obwohl die Flussdiagramme gemäß den 7, 8 und 10 eine spezifische Reihenfolge einer Ausführung zeigen, ist es ersichtlich, dass die Reihenfolge einer Ausführung von der unterschiedlich sein kann, die gezeigt ist. Beispielsweise kann die Reihenfolge einer Ausführung von zwei oder mehr Blöcken in Bezug auf die gezeigte Reihenfolge gemischt sein. Ebenso können zwei oder mehr Blöcke, die in den 7, 8 und 10 aufeinanderfolgend gezeigt sind, gleichzeitig oder mit einer teilweisen Gleichzeitigkeit ausgeführt werden. Ferner können in einigen Ausführungsbeispielen einer oder mehrere der Blöcke, die in den 7, 8 und 10 gezeigt sind, übersprungen oder weggelassen werden. Zusätzlich kann eine beliebige Anzahl von Zählern, Zustandsvariablen, Warnsignalen oder Nachrichten zu dem hier beschriebenen logischen Ablauf für Zwecke einer verbesserten Verwendbarkeit, eines Abrechnens, einer Leistungsmessung oder einer Bereitstellung von Fehlerbehebungshilfsmitteln, usw. hinzugefügt werden. Es ist ersichtlich, dass alle derartigen Variationen innerhalb des Umfangs der vorliegenden Offenbarung liegen.
  • Ebenso kann jede hier beschriebene Logik oder Anwendung, die Software oder einen Code umfasst, beispielsweise einen Code oder Anweisungen zur Ausführung von Abschnitten der Transkodier- bzw. Umkodierverwaltungseinrichtung 123, in einem beliebigen nicht-transitorischen computerlesbaren Medium für eine Verwendung durch ein oder in Verbindung mit einem Anweisungsausführungssystem, wie beispielsweise der Transkodier- bzw. Umkodierverwaltungseinrichtung 123, in einem Computersystem oder anderen System verkörpert werden. In diesem Sinne kann die Logik beispielsweise Angaben einschließlich Anweisungen und Erklärungen umfassen, die von dem computerlesbaren Medium abgerufen und durch das Anweisungsausführungssystem ausgeführt werden können. In Zusammenhang mit der vorliegenden Offenbarung kann ein „computerlesbares Medium“ ein beliebiges Medium sein, das die Logik oder Anwendung, die hier beschrieben ist, für eine Verwendung durch ein oder in Verbindung mit dem Anweisungsausführungssystem beinhalten, speichern oder aufrechterhalten kann.
  • Das computerlesbare Medium kann eines aus mehreren physikalischen Medien umfassen, wie beispielsweise magnetische Medien, optische Medien oder Halbleitermedien. Spezifischere Beispiele eines geeigneten computerlesbaren Mediums würden magnetische Bänder, magnetische Floppy-Disketten, magnetische Festplattenlaufwerke, Speicherkarten, Festkörperlaufwerke, USB-Flash-Laufwerke oder optische Platten umfassen, wobei sie nicht darauf begrenzt sind. Ebenso kann das computerlesbare Medium ein Speicher mit wahlfreiem Zugriff (RAM) sein, der beispielsweise einen statischen Speicher mit wahlfreiem Zugriff (SRAM) und einem dynamischen Speicher mit wahlfreiem Zugriff (DRAM) oder einen magnetischen Speicher mit wahlfreiem Zugriff (MRAM) umfasst. Zusätzlich kann das computerlesbare Medium ein Nurlesespeicher (ROM), ein programmierbarer Nurlesespeicher (PROM), ein löschbarer programmierbarer Nurlesespeicher (EPROM), ein elektrisch löschbarer programmierbarer Nurlesespeicher (EEPROM) oder ein anderer Typ einer Speichervorrichtung sein.
  • Es ist hervorzuheben, dass die vorstehend beschriebenen Ausführungsbeispiele der vorliegenden Offenbarung lediglich mögliche Beispiele von Implementierungen sind, die für ein klares Verständnis der Prinzipien der Offenbarung dargelegt sind. Viele Variationen und Modifikationen können bei dem vorstehend beschriebenen Ausführungsbeispiel bzw. den vorstehend beschriebenen Ausführungsbeispielen gemacht werden, ohne im Wesentlichen von dem Umfang und den Prinzipien der Erfindung abzuweichen. Alle derartigen Modifikationen und Variationen sollen hier in dem Umfang dieser Offenbarung beinhaltet sein und durch die nachstehenden Patentansprüche geschützt sein.
  • Es sind verschiedene Ausführungsbeispiele offenbart, die auf ein paralleles Transkodieren bzw. Umkodieren eines Bitstroms gerichtet sind. Ein Bitstrom kann in eine Vielzahl von Segmenten geteilt werden, wobei eine Vielzahl von Transkodiereinrichtungen bzw. Umkodiereinrichtungen zumindest einen Abschnitt der Segmente parallel kodiert. Wenn ein Kodieren unter Verwendung einer variablen Bitraten-(BR-)Kodierung ausgeführt wird, kann jeder Kodierer ein Segment kodieren und eine BR für das Segment variieren. Eine gemessene Durchschnitts-BR wird mit einer Solldurchschnitts-BR verglichen, um zu bestimmen, ob ein Videoqualitätspegel (VQL) oder ein beliebiger anderer Kodiererparameter zu justieren ist. Eine relativ konstante subjektive Qualität kann unter Verwendung einer variablen BR-Kodierung aufrechterhalten werden, während eine Solldurchschnitts-BR erreicht wird. Wenn eine konstante BR-Kodierung verwendet wird, wird ein VQL oder ein anderer Kodiererparameter durch Kodierer verwendet, um eine relativ konstante subjektive Qualität zu erreichen. Beispielsweise kann ein relativ konstanter Quantisierungsparameter zwischen benachbarten kodierten Segmenten erreicht werden.

Claims (13)

  1. System mit: einem Speicher zur Speicherung einer Mediendatei; einer Vielzahl von Transkodiereinrichtungen, wobei die Vielzahl von Transkodiereinrichtungen konfiguriert ist, zumindest einen Abschnitt der Mediendatei parallel zu transkodieren, indem ein jeweiliger Transkodiervorgang ausgeführt wird, wobei der jeweilige Transkodiervorgang ein Kodieren von Abschnitten der Mediendatei entsprechend einem jeweiligen Quantisierungsparameter (QP) umfasst; einer Transkodierverwaltungseinrichtung, die konfiguriert ist, die Mediendatei in eine Vielzahl von Segmenten zu teilen und jeweilige Segmente der geteilten Vielzahl von Segmenten zu jeweiligen Transkodiereinrichtungen der Vielzahl von Transkodiereinrichtungen zu senden, um entsprechende Ausgabesegmente zu erzeugen; wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist, die jeweiligen Transkodiereinrichtungen, die die geteilte Vielzahl von Segmenten empfangen, den jeweiligen QP näherungsweise an einen vorbestimmten finalen QP anzunähern, wobei der vorbestimmte finale QP einen vorbestimmten QP-Bereich oder einen vorbestimmten QP-Wert umfasst, dadurch gekennzeichnet, dass die Vielzahl von Segmenten ein erstes Segment und ein zweites Segment umfasst, wobei das zweite Segment nachfolgend zu dem ersten Segment in einer Präsentationsreihenfolge ist; und die Transkodierverwaltungseinrichtung ferner konfiguriert ist, den vorbestimmten finalen QP für das erste Segment auf der Grundlage zumindest eines initialisierten QP für das zweite Segment zu bestimmen.
  2. System nach Anspruch 1, wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist, den jeweiligen QP für die entsprechenden Transkodiervorgänge zu initialisieren.
  3. System nach Anspruch 1, wobei die Vielzahl von Transkodiereinrichtungen konfiguriert ist, der Transkodierverwaltungseinrichtung den jeweiligen QP zu berichten.
  4. System nach Anspruch 1, wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist, den vorbestimmten finalen QP zu justieren.
  5. System nach Anspruch 1, wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist: eine Mediendatei zu segmentieren, um das erste Segment und das zweite Segment zu erzeugen; einen ersten Kodierer zu initiieren, um das erste Segment zu verarbeiten; einen zweiten Kodierer zu initiieren, um das zweite Segment für ein Kodieren parallel mit dem ersten Segment zu verarbeiten; und einen Videoqualitätspegel für das erste Segment und das zweite Segment zuzuweisen, um einen relativ konstanten Videoqualitätspegel zwischen dem ersten Segment und dem zweiten Segment aufrechtzuerhalten.
  6. System nach Anspruch 5, wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist: die Mediendatei zu segmentieren, um ein drittes Segment zu erzeugen, wobei das dritte Segment nachfolgend zu dem zweiten Segment in einer Präsentationsreihenfolge ist; ein Kodieren des dritten Segments zu initiieren; und den Videoqualitätspegel für das dritte Segment zu justieren, um einen relativ konstanten Videoqualitätspegel zwischen dem zweiten Segment und dem dritten Segment aufrechtzuerhalten.
  7. System nach Anspruch 6, wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist: eine Durchschnittsbitrate auf der Grundlage zumindest eines Abschnitts der Mediendatei zu bestimmen, wobei der Abschnitt der Mediendatei das erste Segment und das zweite Segment umfasst; und die Durchschnittsbitrate mit einer Solldurchschnittsbitrate zu vergleichen, um zu bestimmen, ob der Videoqualitätspegel für das dritte Segment zu justieren ist.
  8. System nach Anspruch 7, wobei das Bestimmen der Durchschnittsbitrate ein Bestimmen einer kurzfristigen Durchschnittsbitrate umfasst, wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist, eine langfristige Durchschnittsbitrate zu bestimmen, um zu bestimmen, ob der Videoqualitätspegel für das dritte Segment zu justieren ist.
  9. System nach Anspruch 6, wobei das Justieren des Videoqualitätspegels ein Justieren zumindest eines Parameters aus einem Quantisierungsparameter-(QP-)Wert, einem QP-Bereich oder einem nominalen QP-Wert für das dritte Segment umfasst.
  10. System nach Anspruch 6, wobei die Transkodierverwaltungseinrichtung einen Regelkreis umfasst, um zu bestimmen, ob der Videoqualitätspegel für das dritte Segment zu justieren ist.
  11. System nach Anspruch 5, wobei ein Zuweisen des Videoqualitätspegels ein Zuweisen zumindest eines Parameters aus einem QP-Wert, einem QP-Bereich oder einem nominalen QP-Wert für das erste Segment und das zweite Segment umfasst.
  12. System nach Anspruch 5, wobei der erste Kodierer und der zweite Kodierer konfiguriert sind, ein Kodieren mit variabler Bitrate auszuführen.
  13. System nach Anspruch 5, wobei der erste Kodierer und der zweite Kodierer konfiguriert sind, ein Kodieren mit konstanter Bitrate auszuführen.
DE102013223304.3A 2012-11-19 2013-11-15 Verwalten von Kodiererparametern für ein paralleles Umkodieren Active DE102013223304B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261727919P 2012-11-19 2012-11-19
US61/727,919 2012-11-19
US13/840,026 US8928804B2 (en) 2012-11-19 2013-03-15 Managing encoder parameters for parallel transcoding
US13/840,026 2013-03-15

Publications (2)

Publication Number Publication Date
DE102013223304A1 DE102013223304A1 (de) 2014-05-22
DE102013223304B4 true DE102013223304B4 (de) 2019-03-07

Family

ID=50625810

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013223304.3A Active DE102013223304B4 (de) 2012-11-19 2013-11-15 Verwalten von Kodiererparametern für ein paralleles Umkodieren

Country Status (1)

Country Link
DE (1) DE102013223304B4 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1170954A1 (de) 2000-02-14 2002-01-09 Mitsubishi Denki Kabushiki Kaisha Vorrichtung und verfahren zum umsetzen von komprimierten bit-stroemen
US20090274212A1 (en) * 2008-04-30 2009-11-05 Kabushiki Kaisha Toshiba Semiconductor Device Having Moving Image Transcoder and Transcoding Method Therefor
US8175167B2 (en) * 2005-07-01 2012-05-08 Sonic Solutions Llc Method, apparatus and system for use in multimedia signal encoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1170954A1 (de) 2000-02-14 2002-01-09 Mitsubishi Denki Kabushiki Kaisha Vorrichtung und verfahren zum umsetzen von komprimierten bit-stroemen
US8175167B2 (en) * 2005-07-01 2012-05-08 Sonic Solutions Llc Method, apparatus and system for use in multimedia signal encoding
US20090274212A1 (en) * 2008-04-30 2009-11-05 Kabushiki Kaisha Toshiba Semiconductor Device Having Moving Image Transcoder and Transcoding Method Therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YANG, Kyeong Ho, et.al.: "A normalized rate-distortion model for H.263-compatible codecs and its application to quantizer selection" in Proceedings of International Conference on Image Processing, Santa Barbara, CA, 1997, pp. 41-44 vol.2. *

Also Published As

Publication number Publication date
DE102013223304A1 (de) 2014-05-22

Similar Documents

Publication Publication Date Title
DE102013221798A1 (de) Parallele Transcodierung
US8928804B2 (en) Managing encoder parameters for parallel transcoding
DE69837081T2 (de) Videopufferspeicher zur nahtlosen verbindung von mpeg-strömen
DE69829345T2 (de) Verfahren zur Verminderung des Verarbeitungsleistungsbedarfs eines Videodekoders
DE602004012540T2 (de) Videocodierer und videocodierungsverfahren
DE69530908T2 (de) Verfahren und Vorrichtung zur Bildkodierung
DE112012000421B4 (de) Wiedergabevorrichtung, Verfahren zum Steuern der Wiedergabevorrichtung, Erzeugungsvorrichtung, Verfahren zum Steuern der Erzeugungsvorrichtung, Aufzeichnungsmedium, Datenstruktur, Steuerprogramm und Aufzeichnungsmedium, auf welchem das Programm gespeichert ist
DE69835211T2 (de) Umschaltung zwischen komprimierten videobitströmen
DE60033485T2 (de) Formatierung und Speicherung von Videodaten
DE102016209126A1 (de) Erstellen dynamischer zeitlicher Versionen von Inhalt
DE102020108357A1 (de) Umkodieren vorhergesagter bilder in live-videostream-anwendungen
DE102009046945A1 (de) Optimale Energienutzung beim Codieren von Datenströmen
DE102005032952A1 (de) Statistischer Multiplexer mit schützenden Charakteristika vor durch redundante Systemelemente erzeugten äußeren Nachrichten
DE10300048A1 (de) Verfahren und Vorrichtung zur Bildcodierung und -decodierung
DE102019209067A1 (de) Adaptive in-loop filtering for video coding
DE10113880B4 (de) Verfahren zur Komprimierung und Dekomprimierung von Videodaten
DE112015002650B4 (de) Systeme und Verfahren zur prädiktiven Auslieferung von Inhalten mit hohen Bitraten zur Wiedergabe
DE102020133238A1 (de) An das menschliche sehsystem angepasste videocodierung
DE60031746T2 (de) Videosignalverarbeitung
DE60212401T2 (de) Übertragungssteuerung in einem hybriden zeitlich - snr feingranularskalierbaren videokodierungsverfahren
DE102012209760A1 (de) Reproduktionsvorrichtung
DE112016004532T5 (de) Ressourcenbewusster Videoprozessor
DE102014214838A1 (de) Aufzeichnungsvorrichtung und Aufzeichnungsverfahren
DE102022106872A1 (de) Verfahren und system zur mehrschichtigen videocodierung
DE102013223304B4 (de) Verwalten von Kodiererparametern für ein paralleles Umkodieren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20140704

R082 Change of representative

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, DE

R081 Change of applicant/patentee

Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LT, SG

Free format text: FORMER OWNER: BROADCOM CORPORATION, IRVINE, CALIF., US

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE., SG

Free format text: FORMER OWNER: BROADCOM CORPORATION, IRVINE, CALIF., US

R082 Change of representative

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, DE

R081 Change of applicant/patentee

Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LT, SG

Free format text: FORMER OWNER: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE, SG

R082 Change of representative

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final