DE102013223304B4 - Verwalten von Kodiererparametern für ein paralleles Umkodieren - Google Patents
Verwalten von Kodiererparametern für ein paralleles Umkodieren Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details 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
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 und9B 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. Umkodiersystems100 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt. Ein Transkodiersystem bzw. Umkodiersystem100 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. Umkodiersystem100 umfasst einen Quellenspeicher112 , einen Zielspeicher118 , eine Transkodier- bzw. Umkodierverwaltungseinrichtung123 , eine Vielzahl von Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-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 Quellenspeicher112 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 Eingangsmediendatei115 zu speichern. Die Eingangsmediendatei115 kann ein Audio- und/oder Videoprogramm darstellen, wie beispielsweise eine Fernsehshow, einen Spielfilm, ein Lied, ein Audio-Buch usw.. Der Quellenspeicher112 kann als ein Abschnitt einer STB zur Speicherung von über Rundfunk gesendeten Medien implementiert sein. Hierzu kann die Eingangsmediendatei115 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 Zielspeicher118 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 Ausgabemediendatei121 zu speichern, die eine transkodierte bzw. umkodierte Version der Eingabemediendatei115 umfassen kann. Hierzu drückt die Ausgabemediendatei121 den gleichen wesentlichen Inhalt wie die Eingabemediendatei115 aus. Die Ausgabemediendatei121 kann einen Untersatz des Inhalts der Eingabemediendatei115 ausdrücken. Die Ausgabemediendatei121 ist jedoch in einem Format kodiert, das sich von dem Format der Eingabemediendatei115 unterscheidet. Ein unterschiedliches Format der Ausgabemediendatei121 kann dem gleichen Standard wie die Eingabemediendatei115 entsprechen, während es eine unterschiedliche Bitrate oder Dateigröße aufweist. Der Zielspeicher118 kann in einer Medienvorrichtung implementiert sein, die von einer Medienvorrichtung getrennt ist, die den Quellenspeicher112 umfasst. Beispielsweise kann der Quellenspeicher112 als ein Abschnitt einer STB implementiert sein, und der Zielspeicher118 kann eine entfernte Medienvorrichtung sein, wie beispielsweise eine Computervorrichtung, die konfiguriert ist, die Ausgabemediendatei121 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 Zielspeicher118 in einer Medienvorrichtung implementiert sein, die die gleiche ist wie eine Medienvorrichtung, die den Quellenspeicher112 umfasst. - Die Transkodier- bzw. Umkodierverwaltungseinrichtung
123 ist konfiguriert, das Transkodieren bzw. Umkodieren der Eingabemediendatei115 zu verwalten. In verschiedenen Ausführungsbeispielen ist die Transkodier- bzw. Umkodierverwaltungseinrichtung123 als zumindest ein Abschnitt eines Mikroprozessors bzw. einer Mikroverarbeitungseinrichtung implementiert. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 ein Softwaremodul oder mehrere Softwaremodule umfassen, die in einer Verarbeitungsschaltung oder mehreren Verarbeitungsschaltungen ausführbar ist/sind. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann ferner ein computerlesbares Medium umfassen. Das computerlesbare Medium kann Anweisungen und/oder einen Code speichern, um die Transkodier- bzw. Umkodierverwaltungseinrichtung123 zu veranlassen, Transkodier- bzw. Umkodieroperationen in dem Transkodier- bzw. Umkodiersystem100 zu verwalten. - Die Transkodier- bzw. Umkodierverwaltungseinrichtung
123 kann die Eingabemediendatei115 abrufen und die Eingabemediendatei115 für ein Transkodieren bzw. Umkodieren vorbereiten. Beispielsweise handhabt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die Eingabemediendatei115 als einen digitalen Bitstrom und ordnet Segmente des Bitstroms verschiedenen Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-n zu. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 ein Segment zu einer Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n als einen Datenstrom senden, ohne eine Segmentlänge oder einen Endpunkt in dem Datenstrom zu spezifizieren. Wenn die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n sich einem Abschluss des Transkodiervorgangs bzw. Umkodiervorgangs nähert oder den Transkodiervorgang bzw. Umkodiervorgang abgeschlossen hat, kann die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n der Transkodier- bzw. Umkodierverwaltungseinrichtung123 anzeigen, ein Zuführen des Eingabesegmentdatenstroms zu stoppen. Alternativ hierzu kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 ein Eingabesegment als einen Datenstrom zuordnen, während eine voreingestellte oder nominale Länge/ein voreingestellter oder nominaler Endpunkt spezifiziert wird. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 ist ebenso konfiguriert, jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-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 Eingabemediendatei115 zu initiieren. Jeder Transkodier- bzw. Umkodiervorgang kann gleichzeitig ausgeführt werden, um Abschnitte der Eingabemediendatei115 parallel zu bearbeiten. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann konfiguriert sein, einen Transkodier- bzw. Umkodiervorgang oder mehrere Transkodier- bzw. Umkodiervorgänge zu initiieren, indem eine Transkodier- bzw. Umkodiervorrichtung oder mehrere Transkodier- bzw. Umkodiervorrichtungen134a-n verwendet wird/werden. Des Weiteren kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einen Mux143 für ein Sequenzieren der Ausgaben der Transkodier- bzw. Umkodiervorrichtungen134a-n zur Erzeugung einer Ausgabemediendatei121 betreiben. - Der Mux
143 ist konfiguriert, die Ausgaben jeder Transkodier- bzw. Umkodiervorrichtung134a-n handzuhaben. Der Mux143 kann ebenso jede der Ausgaben zusammenfügen, um die Ausgabemediendatei zu erzeugen. Die Ausgabemediendatei121 kann dann in den Zielspeicher118 geschrieben werden. In verschiedenen Ausführungsbeispielen ist der Mux143 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. Umkodiervorrichtungen134a-n . Jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n ist konfiguriert, Abschnitte der Eingabemediendatei115 zu bearbeiten, um eine parallele Transkodierung bzw. Umkodierung zu bewirken. Eine Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n führt einen Transkodier- bzw. Umkodiervorgang oder mehrere Transkodier- bzw. Umkodiervorgänge aus. Diesbezüglich kann eine Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n konfiguriert sein, mehrere Transkodier- bzw. Umkodiervorgänge parallel auszuführen, um verschiedene Eingaben gleichzeitig zu transkodieren bzw. umzukodieren. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n kann eine Video-Transkodier- bzw. -Umkodiereinrichtung oder eine Audio-Transkodier- bzw. -Umkodiereinrichtung sein. In verschiedenen Ausführungsbeispielen ist jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n als zumindest ein Abschnitt eines Mikroprozessors implementiert. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n kann eine Schaltung oder mehrere Schaltungen, einen Mikroprozessor oder mehrere Mikroprozessoren oder eine Kombination hiervon umfassen. Hierzu können die verschiedenen Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-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. Umkodiervorrichtungen134a-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. Umkodiervorrichtung134a-n ein Softwaremodul oder mehrere Softwaremodule umfassen, das/die in einer Verarbeitungsschaltung oder in mehreren Verarbeitungsschaltungen ausführbar ist/sind. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n kann ferner ein computerlesbares Medium umfassen. Das computerlesbare Medium kann Anweisungen und/oder einen Code speichern, um die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n zu veranlassen, Abschnitte der Eingabemediendatei115 zu transkodieren bzw. umzukodieren. - Jede Transkodiervorrichtung bzw. Umkodiervorrichtung
134a-n ist konfiguriert, ein Segment der Eingabemediendatei115 zu empfangen und ein entsprechendes Ausgabesegment zu erzeugen. Dementsprechend ist das Ausgabesegment eine transkodierte bzw. umkodierte Version des Eingabesegments. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n umfasst eine jeweilige Steuerungseinrichtung149 , einen jeweiligen Dekodierer153 , eine jeweilige Verarbeitungseinrichtung156 und einen jeweiligen Kodierer158 . - Die Steuerungseinrichtung
149 für jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n stellt eine Schnittstelle zwischen der Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n und der Transkodier- bzw. Umkodierverwaltungseinrichtung123 bereit. Beispielsweise kann die Steuerungseinrichtung149 es einer Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n ermöglichen, aktiviert oder deaktiviert zu werden. Die Steuerungseinrichtung149 kann einen Transkodier- bzw. Umkodierfortschritt der Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n der Transkodier- bzw. Umkodierverwaltungseinrichtung123 anzeigen. Die Steuerungseinrichtung149 kann ebenso eine Arbeitslastreihe bzw. Arbeitslastwarteschlange (workload queue) einer Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n aufrechterhalten, die eine Arbeitsmenge anzeigt, die für eine Ausführung durch eine Transkodiervorrichtung bzw. Umkodiervorrichtung134a-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. Umkodiervorrichtung134a-n ist konfiguriert, empfangene Eingaben in ein Rohformat zu dekodieren und/oder zu dekomprimieren. Beispielsweise kann der Dekodiererabschnitt153 einer Video-Transkodiervorrichtung bzw. -Umkodiervorrichtung134a-n Eingabemediendateisegmente in Rohbildelementdaten bzw. Rohpixeldaten umwandeln. - Die Verarbeitungseinrichtung
156 jeder Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n ist konfiguriert, die Rohausgaben des Dekodierers153 zu bearbeiten. Für Video-Transkodiervorrichtungen bzw. Video-Umkodiervorrichtungen134a-n ist die Verarbeitungseinrichtung156 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 Verarbeitungseinrichtung156 ein dekodiertes Eingabemediendateisegment empfangen hat und das Eingabemediendateisegment verarbeitet hat, sendet die Verarbeitungseinrichtung156 das verarbeitete Eingabemediendateisegment als ein Ausgabesegment an den Kodierer158 . - Der Kodierer
158 für jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n ist konfiguriert, verarbeitete Eingabemediendateisegmente zu kodieren, indem die verarbeiteten Eingabemediendatensegmente in ein Zielformat kodiert werden. Für Video-Transkodiereinrichtungen bzw. Video-Umkodiereinrichtungen134a-n kodiert der Kodierer158 jedes Ausgabesegment entsprechend einem Quantisierungsparameter (QP)159 und einer Bitrate (BR)162 , die konfiguriert sein können zu variieren. Der Kodierer158 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 BR162 und einen QP159 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 BR162 in dem Kodiervorgang einer Mediendatei. Der Kodierer158 kann die BR162 variieren, um sicherzustellen, dass der Puffer keinen Unterlaufzustand und/oder Überlaufzustand erreicht. Der Kodierer158 kann ebenso die BR162 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 Kodierer158 kann ebenso den QP159 variieren, um einen Qualitätsgrad zu steuern, der in der Ausgabe des Kodierers158 ausgedrückt wird. - Obwohl der Kodierer
158 jeder Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n den QP159 dynamisch justieren kann, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 ebenso den QP159 für jeden Kodierer158 steuern. In verschiedenen Ausführungsbeispielen initialisiert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 jeden QP159 auf einen Anfangswert zur Steuerung der Gleichförmigkeit jedes QP159 von einem Segment zu dem nächsten. Die Anfangswerte der QP159 von verschiedenen Segmenten können unterschiedlich sein. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann den QP159 jedes Kodierers158 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 Kodierer158 angewiesen zu veranlassen, dass der QP159 , 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 QP159 , während eine Zieldurchschnitts-BR über den Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-n aufrechterhalten wird. In diesem Fall weist die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einen nominalen QP-Wert einem Kodierer oder mehreren Kodierern158 zu, um einen relativ kontinuierlichen QP159 über Segmentgrenzen in der Ausgabemediendatei121 zu erreichen. Der nominale QP-Wert, der so zugewiesen wird, kann zwischen Segmenten unterschiedlich sein. Der nominale QP kann als ein Basiswert fungieren. Ein Kodierer158 kann von dem nominalen QP abweichen, solange der Kodierer158 versucht, zu dem nominalen QP am Ende des Segments zurückzukehren. Die Rate einer Änderung von nominalen QP-Werten, die durch die Transkodier- bzw. Umkodierverwaltungseinrichtung123 zugewiesen werden, kann durch eine vorbestimmte maximale Rate begrenzt werden. Indem der nominale QP langsam variiert wird, kann ein relativ kontinuierlicher QP159 zwischen benachbarten Ausgabesegmenten aufrechterhalten werden. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann einen nominalen QP einer Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehreren Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-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. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 einen nominalen QP für eine Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehrere Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-n justieren bzw. einstellen, um die Durchschnitts-BR hin zu der Solldurchschnitts-BR zu leiten. Hierzu leitet die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die BR hin zu einer Solldurchschnitts-BR, während der QP159 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 Kodierer158 , um eine relativ konstante subjektive Videoqualität zwischen Ausgabesegmenten innerhalb eines parallelen Kodiervorgangs zu erreichen. In diesem Fall kann jeder Kodierer158 ein jeweiliges Ausgabesegment entsprechend einem beliebigen QP159 kodieren, solange der Kodierer158 näherungsweise den spezifizierten Videoqualitätspegel erreicht. Wenn die Transkodier- bzw. Umkodierverwaltungseinrichtung123 bestimmt, dass die Durchschnitts-BR des Bitstroms justiert werden sollte, um eine Solldurchschnitts-BR zu erfüllen, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den Videoqualitätspegel justieren. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann zumindest einen Abschnitt der Kodierer158 anweisen, den justierten Videoqualitätspegel zu erfüllen. In Reaktion auf diese Anweisung kann ein Kodierer158 den QP159 justieren oder einen anderen Kodiererparameter justieren, um den modifizierten Sollvideoqualitätspegel zu berücksichtigen. Hierzu überwacht die Transkodier- bzw. Umkodierverwaltungseinrichtung123 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 Eingabemediendatei115 in dem Transkodiersystem bzw. Umkodiersystem100 gemäß1 entsprechend verschiedenen Ausführungsbeispielen gezeigt.2 zeigt eine Eingabemediendatei115 , 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 Eingabemediendatei115 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 Bildern201a-n ,204a-n ,207a-n . Die Eingabemediendatei115 umfasst ebenso wahlfreie Zugriffspunkte (Random Access Point bzw. RAP)231a-c . Jeder RAP231a-c ist ein Bild mit Eigenschaften, die einen Dekodierungsstart von dem RAP231a-c ermöglichen. Eine RAP-Liste231 identifiziert RAP, die in dem Eingabebitstrom der Eingabemediendatei115 existieren. - In verschiedenen Ausführungsbeispielen kann die RAP-Liste
231 aus einer Verarbeitung erhalten werden, die die Stellen von RAP231a-c in einem Datenstrom (stream) angibt, wenn der Datenstrom in einer Eingabemediendatei115 empfangen und gespeichert wird. In alternativen Ausführungsbeispielen kann die RAP-Liste231 durch das Transkodier- bzw. Umkodiersystem100 (1 ) erhalten werden, das die Eingabemediendatei115 bearbeitet. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 (1 ) konfiguriert sein, den Bitstrom der Eingabemediendatei115 zu zergliedern bzw. zu analysieren und einen Satz von RAP231a-c zu identifizieren. Unabhängig davon, wie die RAP-Liste231 ermittelt wird, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die RAP-Liste231 verwenden, um die Eingabemediendatei115 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 auf2 beginnt ein erster Satz von Bildern201a-n mit einem ersten RAP231a , ein zweiter Satz von Bildern204a-n beginnt mit einem zweiten RAP231b , und ein dritter Satz von Bildern207a-n beginnt mit einem dritten RAP231c . 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 Bild201n ,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 Eingabemediendatei115 in dem Transkodier- bzw. Umkodiersystem gemäß1 entsprechend verschiedenen Ausführungsbeispielen gezeigt.3 zeigt eine Eingabemediendatei115 , die in Hinblick auf eine Sequenz von Bildern ausgedrückt ist, die entsprechend einer Präsentation geordnet sind. Die Eingabemediendatei115 umfasst eine Vielzahl von RAP231a-f . Die Eingabemediendatei umfasst ebenso einen ersten Satz von Bildern312a-n , einen zweiten Satz von Bildern315a-n , einen dritten Satz von Bildern318a-n , einen vierten Satz von Bildern321a-n und/oder beliebige zusätzliche nachfolgende Sätze von Bildern. Zusätzlich stellt3 ein nicht einschränkendes Beispiel eines Teilens der Eingabemediendatei115 in eine Vielzahl von Eingabesegmenten333a-c bereit. - Die Transkodier- bzw. Umkodierverwaltungseinrichtung
123 (1 ) kann die Eingabemediendatei115 analysieren und eine RAP-Liste231 (2 ) für die Eingabemediendatei115 bestimmen. Auf der Grundlage der Stelle bzw. Position der RAP231a-f kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einen Startpunkt für jedes Eingabesegment identifizieren. Jedes Eingabesegment333a-c beginnt bei einem RAP231a ,231d ,231f . Beispielsweise kann der erste RAP231a der Eingabemediendatei115 der Transkodier- bzw. Umkodierverwaltungseinrichtung123 die Erzeugung des Startpunkts für das erste Eingabesegment333a anzeigen. - Die Transkodier- bzw. Umkodierverwaltungseinrichtung
123 kann konfiguriert sein, jedes Eingabesegment333a-c entsprechend einer optimalen Länge zu erzeugen. Die Länge eines Eingabesegments333a-c kann in Hinblick auf eine Anzahl von Bildern, einer Zeitgröße, einer Anzahl von Bits, einer Anzahl von RAP, die in dem Eingabesegment333a-c umfasst sind, usw. ausgedrückt werden. Obwohl jedes Eingabesegment333a-c nicht notwendigerweise identisch gleich zu anderen Eingabesegmenten333a-c in Hinblick auf eine Länge ist, kann jedes Eingabesegment333a-c in einer Länge näherungsweise gleich zu anderen Eingabesegmenten333a-c sein. - Die Transkodier- bzw. Umkodierverwaltungseinrichtung
123 teilt die Eingabemediendatei115 in Eingabesegmente, um eine parallele Verarbeitung der Eingabemediendatei115 zu bewirken. Wenn die Eingabesegmente333a-c zu lang sind, können die Anlaufkosten zum Verwirklichen der Vorteile einer parallelen Verarbeitung hoch sein. Beispielsweise werden, wenn eine Eingabemediendatei115 in vier Eingabesegmente333c 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 Endbild318b ,324b für jedes Eingabesegment333a-c finden. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den nächsten RAP231d , f für jedes Segment333a-c identifizieren, der 10 Sekunden jenseits eines jeweiligen Startbildes312a ,318a ,324a liegt. Auf der Grundlage des nächsten RAP231d , f kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 eine vorbestimmte Länge jenseits des nächsten RAP231d , f addieren, um ein Endbild für jedes Eingabesegment333a-c zu bestimmen. Beispielsweise kann das Endbild des Eingabesegments A333a eine Anzahl von zusätzlichen Bildern318a-b jenseits des Startbilds des Eingabesegments B333b umfassen, um ein Überlappen für eine Verwendung in einer Bearbeitung durch eine Verarbeitungseinrichtung156 (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. Umkodierverwaltungseinrichtung123 anzuzeigen, ein Zuführen eines Eingabesegments333a-c zu stoppen, wenn die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-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. Umkodiervorrichtung134a-n zugeführt werden, durch die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n fallen gelassen werden. Hierzu kann die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n das Endbild eines Eingabesegments333a-c bestimmen. - In dem nicht einschränkenden Beispiel gemäß
3 identifiziert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 ein Startbild312a für das erste Eingabesegment333a . Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 identifiziert einen nachfolgenden RAP231d , der näherungsweise 10 Sekunden nach dem Startbild312a in Hinblick auf eine Präsentationszeit liegt. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 und/oder die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n addiert eine vorbestimmte Länge jenseits des nachfolgenden RAP231d , um das Endbild318d für das erste Eingabesegment333a zu identifizieren. In diesem nicht einschränkenden Beispiel ist die vorbestimmte Länge vier Bilder. Somit umfasst das erste Eingabesegment333a eine Vielzahl von RAP231b ,231c zusätzlich zu dem nachfolgenden RAP231d . - Um das nächste Eingabesegment
333b zu identifizieren, stellt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 das Startbild des nächsten Eingabesegments333b als den letzten RAP231d des vorangegangen Eingabesegments333a ein. Dies führt zu einem Überlappen zwischen jedem Eingabesegment333a-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 RAP231d , f jeweils ausgedehnt wird, um eine Überlappungsgröße zu erzeugen, weist die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n (1 ), die ein Eingabesegment333a-d transkodiert bzw. umkodiert, zusätzliche Informationen auf, um die letzten paar Bilder in einem Eingabesegment333a-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 Zielbildes321n eines Eingabesegments B333b zumindest einen Abschnitt nachfolgender Bilder324a-b erfordern. Indem diese nachfolgenden Bilder324a-c als ein Teil des Eingabesegments B333b umfasst werden, ist sichergestellt, dass das Zielbild321n 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. Umkodiervorrichtungen134a-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. Umkodierverwaltungseinrichtung123 , die in dem Transkodiersystem bzw. Umkodiersystem100 gemäß1 implementiert ist, entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt.4 stellt ein nicht einschränkendes Beispiel einer Transkodier- bzw. Umkodierverwaltungseinrichtung123 bereit, das eine Vielzahl von Eingabesegmenten333a-f verschiedenen Transkodiervorgängen bzw. Umkodiervorgängen zuordnet. Diese Transkodiervorgänge bzw. Umkodiervorgänge können gleichzeitig für ein Transkodieren bzw. Umkodieren der Eingabesegmente333a-f parallel arbeiten. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die Eingabesegmente333a-f Transkodiervorgängen bzw. Umkodiervorgängen in drei Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-c zuordnen. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c ist konfiguriert, empfangene Eingabesegmente333a-f zu transkodieren bzw. umzukodieren und entsprechende Ausgabesegmente405a-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 Eingabesegmente333a-f , die in einer chronologischen Sequenz entsprechend der Präsentationsreihenfolge angeordnet sind. Wenn die Eingabesegmente333a-f parallel durch die Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-c transkodiert bzw. umkodiert werden, kann eine Transkodier- bzw. Umkodierreihenfolge derart auftreten, dass die Ausgaben der Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-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. Umkodiervorrichtung134a-c durch variierende Transkodiergeschwindigkeiten bzw. Umkodiergeschwindigkeiten charakterisiert sein. Beispielsweise kann die erste Transkodiervorrichtung bzw. Umkodiervorrichtung134a eine inhärent langsamere Transkodiervorrichtung bzw. Umkodiervorrichtung sein als die zweite Transkodiervorrichtung bzw. Umkodiervorrichtung134b . In diesem Fall kann eine physikalische Implementierung jeder Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c Transkodiergeschwindigkeiten bzw. Umkodiergeschwindigkeiten beeinflussen und Transkodier- bzw. Umkodierverarbeitungsressourcen für jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-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 A333a eine größere Anzahl von Bildern als das Eingabesegment C333c umfassen. Somit kann das Transkodier- bzw. Umkodiereingabesegment A333a eine wesentlich längere Zeit benötigen als das Transkodier- bzw. Umkodiereingabesegment C333c . Für ein anderes Beispiel kann das Eingabesegment A333a eine Reihe von Bildern umfassen, die durch komplexe Farbmuster, eine Wanderung und/oder eine Bewegung gekennzeichnet sind. Das Eingabesegment C333c kann eine Reihe von monotonen Bildern mit einer geringen bis gar keiner Wanderung oder Bewegung umfassen. Somit kann das Transkodier- bzw. Umkodiereingabesegment A333a eine wesentlich längere Zeit erfordern als das Transkodier- bzw. Umkodiereingabesegment C333c . - Wenn Eingabesegmente
333a-f Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-c zugeordnet werden, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 eine Zuordnung bestimmen, indem eine Arbeitslastwarteschlange bzw. Arbeitslastreihe (workload queue) jeder Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c analysiert wird. In verschiedenen Ausführungsbeispielen verfolgt jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c die Anzahl von Eingabesegmenten333a-f , die für ein Transkodieren bzw. Umkodieren eingeteilt (gescheduled) sind. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c kann einen Zähler aufrechterhalten, um die Anzahl von eingeteilten Eingabesegmenten333a-f in einer Arbeitswarteschlange zu zählen. In einem anderen Beispiel stellt jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c eine Angabe bereit, wann sie ein Transkodieren bzw. Umkodieren jedes Eingabesegments abgeschlossen hat. In anderen Ausführungsbeispielen quantifiziert jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c einen Fortschrittsstatus, der mit der Arbeitslast der Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c korreliert. Beispielsweise kann jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c eine geschätzte Zeit für einen Abschluss der Arbeit, die in der Arbeitswarteschlange eingeteilt ist, bereitstellen. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann den Arbeitsfortschritt jeder Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c verfolgen und dementsprechend nachfolgende Eingabesegmente333a-f zuordnen. - In dem nicht einschränkenden Beispiel gemäß
4 sendet die Transkodier- bzw. Umkodierverwaltungseinrichtung123 das Eingabesegment A333a an die erste Transkodiervorrichtung bzw. Umkodiervorrichtung134a , das Eingabesegment B333b zu der zweiten Transkodiervorrichtung bzw. Umkodiervorrichtung134b und das Eingabesegment C333c zu der dritten Transkodiervorrichtung bzw. Umkodiervorrichtung134c . Bei diesem Punkt transkodiert bzw. umkodiert jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c derzeit ein jeweiliges Eingabesegment333a-c , sodass die Arbeitswarteschlange für jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c bestückt ist. Außerdem transkodiert bzw. umkodiert jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c die jeweiligen Eingabesegmente333a-c , um jeweils entsprechende Ausgabesegmente405a-c zu erzeugen. - Das nächste nachfolgende Eingabesegment, das Eingabesegment D
333d , wird durch die Transkodier- bzw. Umkodierverwaltungseinrichtung123 zugeordnet. In verschiedenen Ausführungsbeispielen berücksichtigt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den Transkodier- bzw. Umkodierfortschritt jeder Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c . Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann das Eingabesegment D333d der Transkodiervorrichtung bzw. Umkodiervorrichtung134a-c zuordnen, die mit einer Verarbeitung des Eingabesegments D333d zu dem frühesten Zeitpunkt beginnen könnte. Unter der Annahme, dass die erste Transkodiervorrichtung bzw. Umkodiervorrichtung134a und die zweite Transkodiervorrichtung bzw. Umkodiervorrichtung134b später geschätzte Zeiten für einen Abschluss als die dritte Transkodiervorrichtung bzw. Umkodiervorrichtung134c aufweisen, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 das Eingabesegment D333d der dritten Transkodiervorrichtung bzw. Umkodiervorrichtung134c zuordnen. - Die Transkodier- bzw. Umkodierverwaltungseinrichtung
123 kann ein Zuordnen von Eingabesegmenten333a-f auf der Grundlage des Fortschrittstatus jeder Transkodiervorrichtung bzw. Umkodiervorrichtung fortsetzen. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a erzeugt entsprechende Ausgabesegmente405a-f . Es kann der Fall sein, dass die Ausgabesegmente405a-f in einer Reihenfolge erzeugt werden, die sich von der Präsentationsreihenfolge der Eingabesegmente333a-f unterscheidet. - In verschiedenen Ausführungsbeispielen ist die Transkodier- bzw. Umkodierverwaltungseinrichtung
123 konfiguriert, anderen Transkodiersystemen bzw. Umkodiersystemen100 (1 ) einen Zugang zu einer Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehreren Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-c zu gewähren. Beispielsweise kann ein erstes Transkodiersystem bzw. Umkodiersystem100 eine Transkodiervorrichtung bzw. Umkodiervorrichtung bzw. mehrere Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-c mit einem anderen Transkodiersystem bzw. Umkodiersystem100 teilen. Jedes Transkodiersystem bzw. Umkodiersystem100 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. Umkodiervorrichtungen134a-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. Umkodierverwaltungseinrichtung123 kann einen Zugriff auf Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-c , die durch die Transkodier- bzw. Umkodierverwaltungseinrichtung123 verwaltet werden, gestatten oder verweigern. Auf ähnliche Weise kann eine Transkodier- bzw. Umkodierverwaltungseinrichtung123 anfordern, eine Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehrere Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-c eines anderen Transkodiersystems bzw. Umkodiersystems100 zu verwenden. In diesem Fall kann ein Satz von Transkodiersystemen bzw. Umkodiersystemen100 vernetzt werden, um ein Ressourcenteileh jeweiliger Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-c zu erleichtern. - Unter Bezugnahme auf
5 ist ein Diagramm eines Betriebs bzw. einer Operation des Transkodiersystems bzw. Umkodiersystems100 gemäß1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt.5 stellt ein nicht einschränkendes Beispiel sequentieller Eingabesegmente333a-d und entsprechender Ausgabesegmente405a-d , die in einer Präsentationsreihenfolge angeordnet sind, bereit. In verschiedenen Ausführungsbeispielen sind die Ausgabesegmente405a-d konfiguriert, eine Reihe von aneinandergrenzenden Ausgabesegmenten zu bilden, sodass jedes Ausgabesegment405a-d mit einem benachbarten Ausgabesegment405a-d in der Reihe von Ausgabesegmenten nicht überlappt. - Eingabesegmente
333a-d stellen sequentielle überlappende Zeitbereiche einer Eingabemediendatei115 dar (1 ). Somit kann jedes Eingabesegment333a-d durch eine Startzeit und eine Stoppzeit in Hinblick auf eine Präsentationszeit charakterisiert werden. Das heißt, jedes Eingabesegment333a deckt einen Zeitbereich oder ein Fenster des Medienelements ab, das durch die Eingabemediendatei15 ausgedrückt wird. Beispielsweise deckt unter der Annahme, dass das Medienelement ein Spielfilm ist, das Eingabesegment A333a 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. Umkodiervorrichtung134a-n gesendet (1 ). Eine Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n , die ein Eingabesegment333a-d empfängt, transkodiert bzw. umkodiert das empfangene Eingabesegment333a-d und erzeugt ein entsprechendes Ausgabesegment405a-d . Jedes Ausgabesegment405a-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 A405a , das eine transkodierte bzw. umkodierte Version des Eingabesegments A333a ist, 0 Sekunden bis 10,5 Sekunden des transkodierten bzw. umkodierten Spielfilms ab. Das Ausgabesegment B405b , das eine transkodierte bzw. umkodierte Version des Eingabesegments B333b 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 Ausgabesegmente405a-d der entsprechenden Eingabesegmente333a-d sequentiell, aneinandergrenzend und nicht überlappend. Beispielsweise geht das letzte Bild des Ausgabesegments A405a dem ersten Bild des Ausgabesegments B405b unmittelbar voran. Diesbezüglich bilden die Ausgabesegmente405a-d eine kontinuierliche Reihe von Segmenten, die zusammengefügt werden können, um eine transkodierte bzw. umkodierte Ausgabemediendatei121 zu erzeugen (1 ). - Jedes Ausgabesegment
405a-d deckt den gleichen Zeitbereich des entsprechenden Eingabesegments333a-d ab, oder es deckt einen Untersatz des Zeitbereichs des entsprechenden Eingabesegments333a-d ab. Beispielsweise ist der Zeitbereich für das Ausgabesegment A405a 0 Sekunden bis 10,5 Sekunden, was der gleiche Zeitbereich des Eingabesegments A333a ist. Der Zeitbereich für das Ausgabesegment B405b ist jedoch 10,5 Sekunden bis 20,2 Sekunden, was ein Untersatz des Zeitbereichs des Eingabesegments B333b ist, der 10,4 Sekunden bis 20,2 Sekunden beträgt. Somit empfängt die Verarbeitungseinrichtung156 (1 ) einer Transkodiervorrichtung bzw. Umkodiervorrichtung134a-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 Verarbeitungseinrichtung156 , 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 B405b mit einem Fenster von 10,5 Sekunden bis 20,2 Sekunden verbunden. Die De-Interlacing-Operation, die zur Erzeugung des Ausgabesegments B405 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 Eingabemediendatei115 den gleichen Zeitbereich wie das entsprechend Ausgabesegment405a ab. Nach dem ersten Ausgabesegment405a 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. Umkodiersystems100 gemäß1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt.6 stellt ein nicht einschränkendes Beispiel eines Transkodierens bzw. Umkodierens von vier Eingabesegmenten333a-d unter Verwendung paralleler Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-n (1 ) bereit, wobei jedes Eingabesegment333a-d durch eine Transkodier- bzw. Umkodierverwaltungseinrichtung123 (1 ) einer jeweiligen Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n zugeordnet wird. - Jedes Eingabesegment
333a-d ist entlang einer y-Achse im Hinblick auf eine Präsentationsreihenfolge angeordnet. Ein Eingabesegment A333a ist zuerst zu präsentieren, ein Eingabesegment B333b ist das unmittelbar nächste, ein Eingabesegment C333c folgt unmittelbar dem Eingabesegment B333b und ein Eingabesegment D333d folgt unmittelbar dem Eingabesegment C333c . Je niedriger ein Eingabesegment333a-d entlang der y-Achse gezeigt ist, desto früher ist das Eingabesegment333a-d zu präsentieren. - Jedes Eingabesegment
333a-d ist ebenso entlang einer x-Achse in Hinblick auf eine Transkodierreihenfolge bzw. Umkodierreihenfolge angeordnet. Die Eingabesegmente333a-d , die näher an der linken Seite auf der x-Achse sind, zeigen an, dass das Eingabesegment333a-d zu einem früheren Zeitpunkt transkodiert bzw. umkodiert wird. Somit ist das Eingabesegment A333a das erste Eingabesegment, das zu transkodieren bzw. umzukodieren ist, gefolgt durch das Eingabesegment D333d , gefolgt durch das Eingabesegment B333b , gefolgt durch das Eingabesegment C333c . Die versetzte Transkodierreihenfolge bzw. Umkodierreihenfolge kann sich aus den parallelen Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-n ergeben, die die Eingabesegmente333a-d zu variierenden Zeitpunkten verarbeiten. Es kann aus dem Beispiel gemäß6 geschlossen werden, dass die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n , die für ein Transkodieren bzw. Umkodieren des Eingabesegments A333a bestimmt ist, nicht die gleiche Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n ist, die für ein Transkodieren bzw. Umkodieren des Eingabesegments D333d bestimmt ist. Dieser Schluss beruht auf der Tatsache, dass das Eingabesegment A333a und das Eingabesegment D333d überlappende Transkodierzeiten bzw. Umkodierzeiten haben, und der Annahme, dass die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n ein Eingabesegment333a-d nach dem anderen verarbeiten kann. Es kann jedoch gefolgert werden, dass die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n , die für ein Transkodieren bzw. Umkodieren des Eingabesegments A333a bestimmt ist, ebenso die gleiche Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n sein könnte, die für ein Transkodieren bzw. Umkodieren des Eingabesegments B333b oder des Eingabesegments C333c bestimmt ist. Dies ist aufgrund der Tatsache der Fall, dass die Transkodierzeit bzw. Umkodierzeit des Eingabesegments A333a weder mit dem Eingabesegment B333b noch dem Eingabesegment C333c überlappt. Eine Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n kann jedoch ebenso in der Lage sein, mehr als ein Eingabesegment333a-d gleichzeitig zu verarbeiten. Der Satz von Bildern eines Eingabesegments333a-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 QP159a-d jedes Kodierers158 (1 ) bereit, der in einer entsprechenden Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n implementiert ist. Beispielsweise kann der QP159a , der mit dem Kodieren des Eingabesegments A333a verbunden ist, dynamisch über den Kodiervorgang justiert werden, der durch die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n implementiert wird, die für ein Transkodieren bzw. Umkodieren des Eingabesegments A333a verantwortlich ist. Hierzu umfasst die Kodierung jedes Eingabesegments333a-d einen entsprechenden QP159a-d , der durch den Kodierungsverlauf justiert werden kann. Wenn ein bestimmtes Eingabesegment333a-d kodiert wird, kann der QP159a-d auf Anfangs-QP-Werte502a-d initialisiert werden. Zusätzlich kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 jeden Transkodiervorgang bzw. Umkodiervorgang lenken, um einen zugehörigen jeweiligen QP159a-d in einer derartigen Art und Weise zu verarbeiten, dass er sich einem vorbestimmten QP-Bereich505a-d annähert, wie es nachstehend ausführlicher diskutiert ist. - In verschiedenen Ausführungsbeispielen ist eine Transkodier- bzw. Umkodierverwaltungseinrichtung
123 konfiguriert, den QP159a-d für jeden Transkodiervorgang bzw. Umkodiervorgang zu verwalten, wenn die Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-n verschiedene Reihen von Eingabesegmenten333a-d verarbeiten. Der Kodierer158 einer Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n kann den QP159a-d justieren, wenn er den Kodiervorgang ausführt. Dementsprechend ist jedes Eingabesegment333a-d mit einem Ausgabesegment405a-d verbunden. Jedes Ausgabesegment405a-d ist mit einem Anfangs-QP502a-d und einem End-QP verbunden, wobei der QP durch jeden Transkodiervorgang bzw. Umkodiervorgang verwendet wird, um ein entsprechendes kodiertes Ausgabesegment405a-d zu erzeugen. Wenn der End-QP eines bestimmten Ausgabesegments405a-d deutlich von dem Anfangs-QP502a-d des nächsten Ausgabesegments405a-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 Ausgabesegmenten405a-d führen, die den transkodierten bzw. umkodierten Eingabesegmenten333a-d entsprechen. Somit kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 konfiguriert sein, den QP159a-d jedes Ausgabesegments405a-d , das kodiert wird, zu beeinflussen, um einen relativ kontinuierlichen QP159 über eine Reihe von sequentiellen Ausgabesegmenten405a-d zu erzeugen, sodass es eine relativ kleine Differenz in dem QP159 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 Ausgabesegments405a-d und verwendet diesen End-QP-Wert, um den Anfangs-QP502a-d des nächsten Ausgabesegments405a-d in der Präsentationsreihenfolge einzustellen. Beispielsweise kann der End-QP des Ausgabesegments A405a verwendet werden, um den Anfangs-QP502 des Ausgabesegments B405b zu initialisieren. In diesem Fall kommuniziert die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n , die für eine Verarbeitung des Eingabesegments A333a verantwortlich ist, den End-QP, der mit dem Ausgabesegment A405a verbunden ist, zu der Transkodier- bzw. Umkodierverwaltungseinrichtung123 oder berichtet ihn auf andere Weise. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann dann die Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n , die für eine Verarbeitung des Eingabesegments B333b verantwortlich ist, steuern, indem der Anfangs-QP502b eingestellt wird. - Es kann jedoch der Fall vorliegen, dass ein Eingabesegment
333b gleichzeitig zusammen mit dem nächsten Eingabesegment333c , das zu präsentieren ist, transkodiert bzw. umkodiert wird. Beispielsweise hat zu der Zeit, bei der das Eingabesegment B333b den Transkodiervorgang bzw. Umkodiervorgang abschließt, das Eingabesegment C333c bereits den Transkodiervorgang bzw. Umkodiervorgang begonnen. Um sich mit diesem Fall zu befassen, betreffen verschiedene Ausführungsbeispiele ein Lenken des QP159b , um näherungsweise in einem vorbestimmten QP-Bereich505b zu konvergieren. Beispielsweise kann, wenn die Transkodier- bzw. Umkodierverwaltungseinrichtung123 das Kodieren des Ausgabesegments B405B überwacht, das mit dem Eingabesegment B333b verbunden ist, die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einen vorbestimmten QP-Bereich505b einstellen, um den QP159b anzuweisen oder auf andere Weise zu lenken, um in dem vorbestimmten QP-Bereich505b zu konvergieren. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann dann den QP159c des Ausgabesegments C405c initialisieren, indem der Anfangs-QP502 des Ausgabesegments C405c auf der Grundlage zumindest des vorbestimmten QP-Bereichs505b des Ausgabesegments B405b eingestellt wird. In einem anderen Ausführungsbeispiel bestimmt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 Anfangswerte der QP159b und159c der Ausgabesegmente405b bzw.405c . Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann einen vorbestimmten QP-Bereich505b auf der Grundlage des Anfangswerts von QP159c des Ausgabesegments405c bestimmen und den QP159b anweisen oder auf andere Weise lenken, um allgemein in dem vorbestimmten QP-Bereich505b zu konvergieren. Dies kann die Gefahr eines unzusammenhängenden QP zwischen dem Ausgabesegment B405b und dem Ausgabesegment C405c 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 Ausgabesegmenten405a-d angewendet wird. Beispielsweise kann während des Kodiervorgangs ein QP159a-d durch den Kodierer an die Transkodier- bzw. Umkodierverwaltungseinrichtung123 berichtet werden, wobei auf der Grundlage dieses QP159a-d die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den vorbestimmten QP-Bereich505a-d für diese Ausgabesegmente405a-d , die eingeteilt sind, um kodiert zu werden, dynamisch justieren kann. In alternativen Ausführungsbeispielen kann der vorbestimmte QP-Bereich505a-d nicht von den QP-Werten159a-d abhängen, die durch Kodierer158 verwendet werden. Diesbezüglich ist jeder Kodierer an den gleichen vorbestimmten QP-Bereich505a-d gebunden. In einem anderen alternativen Ausführungsbeispiel kann der vorbestimmte QP-Bereich505a-d näherungsweise gleich für alle Kodierer sein, die die Ausgabesegmente405a-d kodieren, wobei der vorbestimmte QP-Bereich505a-d über der Zeit variieren kann. Alternativ hierzu kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einen QP oder einen QP-Bereich unabhängig für jedes Ausgabesegment405a-d und für jeden Kodierer bestimmen. Diese QP oder QP-Bereiche können sich zwischen Segmenten und zwischen Kodierern unterscheiden. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 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 Eingabesegment333b , c kodiert wird, das mit einer früheren Präsentationszeit verbunden ist. Beispielsweise beginnt das Eingabesegment D333d den Kodierungsvorgang vor einer Kodierung der Eingabesegmente B und C333b , c. Verschiedene Ausführungsbeispiele der vorliegenden Offenbarung sind darauf gerichtet, einen sofortigen QP159a-d eines Ausgabesegmentes405a-d zu erhalten, das derzeit kodiert wird, und den sofortigen QP159a-d zu verwenden, um den Anfangs-QP502a-d eines anderen Ausgabesegments405a-d zu initialisieren. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einen sofortigen QP des Ausgabesegments A405a erhalten, während das Ausgabesegment A derzeit kodiert wird, und einen Anfangs-QP502d für das Ausgabesegment D405d auf dem sofortigen QP basieren. Somit ermöglicht das Transkodiersystem bzw. Umkodiersystem100 es einer Transkodier- bzw. Umkodierverwaltungseinrichtung123 , einen QP159a-d von den Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-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. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 entsprechend einem Ausführungsbeispiel oder mehreren Ausführungsbeispielen implementiert ist. - Zu Beginn greift bei Bezugszeichen
703 die Transkodier- bzw. Umkodierverwaltungseinrichtung123 auf eine Eingabemediendatei115 (1 ) zu. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 ist konfiguriert, die Eingabemediendatei aus einem Quellenspeicher112 zu lesen (1 ). Die Eingabemediendatei115 kann als ein Bitstrom gelesen werden, der eine Reihe von Bildern ausdrückt. Bei Bezugszeichen706 identifiziert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 wahlfreie Zugangspunkte (RAP)231a-c (2 ). Die RAP können auf der Grundlage einer RAP-Liste231 (2 ) identifiziert werden. Die RAP-Liste231 kann Teil der Metadaten sein, die mit der Eingabemediendatei115 verbunden sind. Die RAP-Liste231 kann ebenso durch die Transkodier- bzw. Umkodierverwaltungseinrichtung123 berechnet werden. In diesem Fall analysiert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die Eingabemediendatei115 und identifiziert die Stellen bzw. Positionen der RAP. - Bei Bezugszeichen
709 erzeugt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 ein Eingabesegment oder mehrere Eingabesegmente333a-c (3 ). Die Eingabesegmente333a-c werden zumindest auf der Grundlage der Stelle der RAP231a-f erzeugt (3 ). Jedes Eingabesegment333a-c kann einen Startpunkt und einen Endpunkt umfassen. Der Startpunkt für jedes Eingabesegment333a-c kann ein jeweiliger RAP231a-f in der RAP-Liste231 sein. Des Weiteren kann jedes Eingabesegment333a-c eine Anzahl von RAP231a-f umfassen. In verschiedenen Ausführungsbeispielen ist der Endpunkt eine vorbestimmte Anzahl von Bildern jenseits des letzten RAP231a-f eines bestimmten Eingabesegments333a-c . Ein nachfolgendes Eingabesegment333a-c kann einen Startpunkt des letzten RAP231a-f des vorangegangenen Eingabesegments333a-c aufweisen. Diesbezüglich sind die Reihen der Eingabesegmente333a-c sequenziell, kontinuierlich und überlappend. - Bei Bezugszeichen
712 wählt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 eine Transkodiervorrichtung bzw. Umkodiervorrichtung oder mehrere Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-n (1 ) aus, um entsprechende Ausgabesegmente405a-f (4 ) zu erzeugen. Jede Transkodiervorrichtung bzw. Umkodiervorrichtung134a-n ist konfiguriert, ein Eingabesegment333a-f (4 ) zu empfangen, das Eingabesegment333a-n zu transkodieren bzw. umzukodieren und ein entsprechendes Ausgabesegment405a-f (4 ) zu erzeugen. In verschiedenen Ausführungsbeispielen können die Ausgabesegmente405a-f , die von der Ausgabe der Transkodiervorrichtungen bzw. Umkodiervorrichtungen134a-f erhalten werden, entsprechend einer Präsentationsreihenfolge sequenziert werden. Wenn sie sequenziert sind, sind die Ausgabesegmente405a-f nicht überlappend und aneinandergrenzend. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann die Ausgabesegmente405a-f unter Verwendung eines Mux143 (1 ) und/oder eines Pufferspeichers sequenzieren. Bei Bezugszeichen715 speichert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die Ausgabesegmente405a-f in einem Speicher. Beispielsweise können die Ausgabesegmente405a-f sequenziert, zusammengefügt und als eine Ausgabemediendatei121 (1 ) in einem Zielspeicher118 (1 ) gespeichert werden. Das Aneinanderheften kann ein Verbinden bzw. Verknüpfen jedes Ausgabesegments405a-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. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 entsprechend einem Ausführungsbeispiel oder mehreren Ausführungsbeispielen implementiert ist. Außerdem stellt8 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. Umkodierverwaltungseinrichtung123 eine Eingabemediendatei115 (1 ) in Eingabesegmente333a-c (3 ). Die Eingabesegmente333a-c können zumindest auf der Grundlage der Stelle von RAP231a-f (3 ) erzeugt werden. Jedes Eingabesegment333a-c kann einen Startpunkt und einen Endpunkt umfassen. Der Startpunkt für jedes Eingabesegment333a-c kann ein jeweiliger RAP231a-f in der RAP-Liste231 sein. Des Weiteren kann jedes Eingabesegment333a-c eine Anzahl von RAP231a-f umfassen. In verschiedenen Ausführungsbeispielen ist der Endpunkt eine vorbestimmte Anzahl von Bildern jenseits des letzten RAP231a-f eines bestimmten Eingabesegments333a-c . Ein nachfolgendes Eingabesegment333a-c kann einen Startpunk des letzten RAP231a-f des vorangegangenen Eingabesegments333a-c aufweisen. Diesbezüglich sind die Reihen von Eingabesegmenten333a-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. Umkodiervorrichtung134a-n (1 ) bereitzustellen. Diesbezüglich kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 anfänglich einen nominalen Wert als ein Endbild in dem Eingabesegment333a-c spezifizieren oder alternativ hierzu kein Endbild spezifizieren. In diesem nicht einschränkenden Beispiel kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 eine Zufuhr des Eingabesegmentdatenstroms bei Empfang einer Anweisung von der Transkodiervorrichtung bzw. Umkodiervorrichtung134 stoppen, um eine Zufuhr des Eingabesegments333a-c zu stoppen. - Bei Bezugszeichen
808 initialisiert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den QP159 (1 ) eines ersten Kodierers158 (1 ). Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann mit einer Steuerungseinrichtung149 (1 ) einer Transkodiereinrichtung bzw. Umkodiereinrichtung gekoppelt sein, um den Anfangs-QP502a-d (6 ) des Kodierers158 der Transkodiereinrichtung bzw. Umkodiereinrichtung einzustellen. In verschiedenen Ausführungsbeispielen kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den Anfangs-QP502a-d auf einen Voreinstellungswert einstellen. Bei Bezugszeichen811 initialisiert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den QP159 für den zweiten Kodierer158 . Der zweite Kodierer wird eingeteilt (gescheduled), um ein zweites Ausgabesegment405a-d zu kodieren. - Bei Bezugszeichen
814 bestimmt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einen vorbestimmten QP-Bereich505a-d auf der Grundlage der Anfangs-QP-Werte502a-d . Die Transkodier- bzw. Umkodierverwaltungseinrichtung weist den QP159 des ersten Kodierers158 auf einen vorbestimmten QP-Bereich505a-d an oder lenkt ihn auf andere Weise dort hin. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die Steuerungseinrichtung149 der Transkodiereinrichtung bzw. Umkodiereinrichtung verwenden, um den vorbestimmten QP-Bereich505a-d des Kodierers einzustellen. Indem ein vorbestimmter QP-Bereich505a-d eingestellt wird, kann der Kodierer158 , der eingeteilt ist, ein erstes Ausgabesegment405a-d zu kodieren, den QP159 lenken, um im Allgemeinen mit einem End-QP in dem vorbestimmten QP-Bereich505a-d zu konvergieren. Der vorbestimmte QP-Bereich505a-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. Umkodierverwaltungseinrichtung123 dynamisch berechnet werden. Indem der QP159 , der mit dem ersten Kodierer158 verbunden ist, gelenkt wird, mit dem vorbestimmten QP-Bereich505a-d zu konvergieren, wo der vorbestimmte QP-Bereich505a-d auf einem Anfangs-QP502a-d für das zweite Ausgabesegment405a-d beruht, kann erwartet werden, dass der End-QP159 des ersten Ausgabesegments405a-d näherungsweise mit dem Anfangs-QP502a-d des zweiten Ausgabesegments405a-d übereinstimmt. Hierzu ist die Transkodier- bzw. Umkodierverwaltungseinrichtung123 konfiguriert, die Wahrscheinlichkeit von unzusammenhängenden QP159 zu verringern, die bei den Nähten von Ausgabesegmenten405a-d (4 ) auftreten. - Bei Bezugszeichen
817 verwaltet die Transkodier- bzw. Umkodierverwaltungseinrichtung123 das Kodieren des ersten Ausgabesegments405a-d und des zweiten Ausgabesegments405a-d , wobei das Kodieren des ersten Ausgabesegments405a-d und des zweiten Ausgabesegments405a-d durch den ersten Kodierer158 bzw. den zweiten Kodierer159 parallel ausgeführt werden. - Unter Bezugnahme auf
9A ist nachstehend ein Beispiel des Betriebs bzw. der Operation des Transkodiersystems bzw. Umkodiersystems100 gemäß1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt.9A stellt ein nichteinschränkendes Beispiel eines Kodierens von vier Ausgabesegmenten405a-d unter Verwendung paralleler Transkodiervorrichtungen bzw. Umkodiervorrichtungen134 (1 ) bereit.9A zeigt ein nicht einschränkendes Beispiel einer Verwendung eines Videoqualitätspegels906 , um eine relativ konstante subjektive Qualität für konstante BR- und variable BR-Systeme aufrechtzuerhalten. Zusätzlich zeigt9A ein nicht einschränkendes Beispiel einer Verwendung eines Videoqualitätspegels906 , 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 A405a ist zuerst zu präsentieren, ein Ausgabesegment B405b ist das unmittelbar Nächste, ein Ausgabesegment C405c folgt unmittelbar dem Ausgabesegment B405b , und ein Ausgabesegment D405d folgt unmittelbar dem Ausgabesegment C405c in der Präsentationsreihenfolge. - Jedes Ausgabesegment
405a-d ist ebenso entlang einer x-Achse in Hinblick auf eine Transkodierreihenfolge bzw. Umkodierreihenfolge angeordnet. Das Ausgabesegment A405a , das Ausgabesegment B405b und das Ausgabesegment C405c werden näherungsweise zur gleichen Zeit durch entsprechende Kodierer158 (1 ) kodiert. Das Ausgabesegment D405d wird nach dem parallelen Kodieren des Ausgabesegments A405a , des Ausgabesegments B405b und des Ausgabesegments C 405c kodiert. - Für jedes Ausgabesegment
405a-d zeigt9A einen entsprechenden Videoqualitätspegel (VQL)906a-d . Wie es in dem nicht einschränkenden Beispiel gemäß9A gezeigt ist, werden das Ausgabesegment A405a , das Ausgabesegment B405b und das Ausgabesegment C405c parallel kodiert, wobei sie den gleichen Videoqualitätspegel906a-c aufweisen. Das Ausgabesegment D405d wird zu einem späteren Zeitpunkt kodiert und weist einen niedrigeren Videoqualitätspegel906d als die Videoqualitätspegel906a-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. Umkodierverwaltungseinrichtung123 einen Videoqualitätspegel906 für jeden der Kodierer158 spezifizieren, die die Ausgabesegmente405a-d verarbeiten, um eine relativ kontinuierliche subjektive Videoqualität bei dem Grenzen von benachbarten Ausgabesegmenten405a-d zu erreichen. Jeder Kodierer158 kann autonom einen zugehörigen jeweiligen QP-Wert entsprechend einem spezifizierten Videoqualitätspegel906 justieren. Diesbezüglich kann jeder Kodierer158 einen QP159 entsprechend den Videoqualitätspegel906 variieren. Zusätzlich kann diesbezüglich jeder Kodierer158 einen QP159 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. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 einen Videoqualitätspegel906 einem Kodierer oder mehreren Kodierern158 zu, um eine relativ konstante subjektive Qualität über den Ausgabesegmenten405a-d aufrechtzuerhalten. - In dem Fall eines variablen Bitratensystems kann jeder Kodierer
158 autonom einen zugehörigen jeweiligen QP-Wert entsprechend dem spezifizierten Videoqualitätspegel906 justieren und autonom eine jeweilige BR justieren, um ein wünschenswertes Ratenpufferverhalten entsprechend dem spezifizierten Videoqualitätspegel906 aufrechtzuerhalten. Wie es nachstehend ausführlicher beschrieben ist, weist die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einem Kodierer oder mehreren Kodierern158 einen Videoqualitätspegel906 zu, um eine relativ konstante subjektive Qualität über den Ausgabesegmenten405a -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. Umkodiervorrichtungen134a-n , die die Ausgabesegmente405a-d erzeugen, können eine jeweilige BR162 berichten, die durch einen entsprechenden Kodierer158 verwendet wird. Alternativ hierzu kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die BR bestimmen, indem der transkodierte bzw. umkodierte Bitstrom analysiert wird. Auf der Grundlage der bestimmten BR162 kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 eine gemessene Durchschnitts-BR entsprechend einem Mittelungsfenster bestimmen. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 eine jeweilige BR162 für einen Satz von Ausgabesegmenten405a-d identifizieren, die in ein Mittelungsfenster von fünf Minuten der Präsentationszeit fallen. Diesbezüglich kann jedes der Ausgabesegmente405a-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 Kodierer158 den QP159 auf der Grundlage eines nominalen QP variieren. Der Kodierer158 kann den QP159 entsprechend dem nominalen QP justieren, indem er inkrementell von dem nominalen QP abweicht. Der Kodierer158 kann dann versuchen, zu dem nominalen QP zurückzukehren. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 kann eine maximale Änderungsrate des QP spezifizieren, um die Kodierer158 zu veranlassen, den QP159 langsam von dem nominalen QP zu variieren. Schließlich kann durch Zuweisen eines nominalen QP zu einer Sequenz von Ausgabesegmenten405a-c die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die Wahrscheinlichkeit von unzusammenhängenden QP159 zwischen benachbarten Ausgabesegmenten405a-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. Umkodierverwaltungseinrichtung123 kann auf der Grundlage einer Vielzahl von Faktoren bestimmen, ob der Videoqualitätspegel906 für einen Kodierer oder mehrere Kodierer158 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. Umkodierverwaltungseinrichtung123 bestimmt, dass die gemessene Durchschnitts-BR hochgerechnet die Solldurchschnitts-BR überschreitet, die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den Videoqualitätspegel906 für einen Kodierer oder mehrere Kodierer158 justieren, die Ausgabesegmente405a-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 Ausgabesegmente405a-d aufrechterhalten wird. Wie es in9A gezeigt ist, kann, um einen relativ kontinuierlichen QP159 zwischen einem Ausgabesegment C405c und einem Ausgabesegment D405d zu erreichen, die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den Videoqualitätspegel906 bei einem Justierpunkt912 justieren. Bei dem Justierpunkt912 weist die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einen Kodierer oder mehrere Kodierer158 an, den Videoqualitätspegel906 zu justieren, um eine relativ kontinuierliche subjektive Qualität zwischen dem Ausgabesegment C405c und dem Ausgabesegment D405d zu erreichen. Beispielsweise können die Transkodier- bzw. Umkodierverwaltungseinrichtung123 und der eine Kodierer oder die mehreren Kodierer158 eine relativ kontinuierliche subjektive Qualität zwischen benachbarten Segmenten erreichen, indem ein relativ kontinuierlicher QP159 ü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. Umkodierverwaltungseinrichtung123 kann den Videoqualitätspegel906 justieren, um die Durchschnitts-BR hin zu der Solldurchschnitts-BR zu lenken. Wie es in9A gezeigt ist, justiert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den Videoqualitätspegel906 bei einem Justierpunkt912 . Eine Justierung in dem Videoqualitätspegel906 kann einen Kodierer158 beeinflussen, ein Segment in einer Art und Weise zu kodieren, die eine Justierung in der BR162 zur Folge hat. Zu diesem Zweck kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 spezifiziert ist. Somit ist die Transkodier- bzw. Umkodierverwaltungseinrichtung123 konfiguriert, einen Videoqualitätspegel, einen QP-Bereich, einen nominalen QP oder einen anderen Kodiererparameter bei einem Justierpunkt912 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. Umkodiersystems100 gemäß1 entsprechend verschiedenen Ausführungsbeispielen der vorliegenden Offenbarung gezeigt. Spezifisch führt9B das nicht einschränkende Beispiel gemäß9A in dem Fall eines variablen BR-Systems näher aus.9B veranschaulicht eine gemessene Durchschnitts-BR926 über einem Zeitfenster. Die gemessene Durchschnitts-BR926 kann ein gleitender Mittelwert bzw. Durchschnittswert sein, der durch die Transkodier- bzw. Umkodierverwaltungseinrichtung123 (1 ) entsprechend einem Mittelungsfenster bestimmt wird. Die Transkodier- bzw. Umkodierverwaltungseinrichtung123 vergleicht die gemessene Durchschnitts-BR926 mit einer Solldurchschnitts-BR. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 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-BR926 als eine Eingabe empfangen. Um die tatsächliche Durchschnitts-BR zu steuern, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den Videoqualitätspegel906 justieren (9A) . Wie es in9B gezeigt ist, justiert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 den Videoqualitätspegel906 bei einem Justierpunkt912 . In Reaktion auf ein Justieren des Videoqualitätspegels906 wird die gemessene Durchschnitts-BR926 letztendlich verringert. - Die gemessene Durchschnitts-BR
926 vor dem Justierpunkt912 kann zumindest teilweise auf der tatsächlichen BR des Ausgabesegments A405a , des Ausgabesegments B405b und/oder des Ausgabesegments C405c beruhen. Die gemessene Durchschnitts-BR926 nach dem Justierpunkt kann zumindest teilweise auf dem Ausgabesegment D405d beruhen. - Unter Bezugnahme auf
10 ist als nächstes ein Flussdiagramm gezeigt, das Beispiele einer Funktionalität, die als Abschnitte der Transkodier- bzw. Umkodierverwaltungseinrichtung123 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. Umkodierverwaltungseinrichtung123 , 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. Umkodierverwaltungseinrichtung123 gemäß einem Ausführungsbeispiel oder mehreren Ausführungsbeispielen implementiert ist.10 stellt ein nicht einschränkendes Beispiel einer Steuerung eines Satzes von Kodierern158 (8 ) bereit, um Segmente eines Bitstroms parallel zu kodieren. Jeder Kodierer158 kodiert ein Bestandteilsegment des Bitstroms (beispielsweise ein Ausgabesegment405 (4 ) usw.). Außerdem zeigt10 eine Transkodier- bzw. Umkodierverwaltungseinrichtung123 , 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. Umkodierverwaltungseinrichtung123 die gemessene Durchschnitts-BR für einen Bitstrom. Der Bitstrom kann in einem Satz von Segmenten geteilt sein, wobei jedes Segment durch einen entsprechenden Kodierer158 zu kodieren ist. Jeder Kodierer158 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 Kodierer158 die BR für jedes Segment, wenn das Segment kodiert wird. In anderen Ausführungsbeispielen analysiert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 die Ausgabe des Kodierers158 , 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 Bezugszeichen1004 gezeigt ist. Bei Bezugszeichen1007 bestimmt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 , ob sich die gemessene Durchschnitts-BR von einer Solldurchschnitts-BR entsprechend einem Schwellenwert oder einer Toleranz unterscheidet. Beispielsweise kann die Transkodier- bzw. Umkodierverwaltungseinrichtung123 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ätspegel906 (9A) zu justieren. Wenn jedoch die gemessene Durchschnitts-BR Gefahr läuft, wesentlich von dem Solldurchschnitts-BR-Bereich abzuweichen, zweigt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 zu Bezugszeichen1009 ab. - Bei Bezugszeichen
1009 justiert die Transkodier- bzw. Umkodierverwaltungseinrichtung123 einen Videoqualitätspegel906 für einen Kodierer oder mehrere Kodierer158 . Entsprechend verschiedenen Ausführungsbeispielen ist der Videoqualitätspegel906 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ätspegel906 kann positiv mit der BR des Bitstroms korrelieren. Indem der Videoqualitätspegel906 justiert wird, kann die Transkodier- bzw. Umkodierverwaltungseinrichtung diejenigen Kodierer158 anweisen, die derzeit kodieren und/oder eingeteilt sind, Segmente zu kodieren. In Reaktion auf den justierten Videoqualitätspegel können die Kodierer158 ihre jeweiligen QP, ihre jeweiligen nominalen QP oder beliebige andere Kodiererparameter justieren, um den modifizierten Videoqualitätspegel906 zu berücksichtigen. Im Nachgang zu einem Abschluss von Bezugszeichen1009 springt die Transkodier- bzw. Umkodierverwaltungseinrichtung123 zu Bezugszeichen1001 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 Kodierer158 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 und10 zeigen die Funktionalität und den Betrieb bzw. die Operation einer Implementierung von Abschnitten der Transkodier- bzw. Umkodierverwaltungseinrichtung123 (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. Umkodierverwaltungseinrichtung123 , 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 und10 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 den7 ,8 und10 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 den7 ,8 und10 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. Umkodierverwaltungseinrichtung123 , 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)
- 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.
- System nach
Anspruch 1 , wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist, den jeweiligen QP für die entsprechenden Transkodiervorgänge zu initialisieren. - System nach
Anspruch 1 , wobei die Vielzahl von Transkodiereinrichtungen konfiguriert ist, der Transkodierverwaltungseinrichtung den jeweiligen QP zu berichten. - System nach
Anspruch 1 , wobei die Transkodierverwaltungseinrichtung ferner konfiguriert ist, den vorbestimmten finalen QP zu justieren. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - System nach
Anspruch 5 , wobei der erste Kodierer und der zweite Kodierer konfiguriert sind, ein Kodieren mit variabler Bitrate auszuführen. - System nach
Anspruch 5 , wobei der erste Kodierer und der zweite Kodierer konfiguriert sind, ein Kodieren mit konstanter Bitrate auszuführen.
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)
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 |
-
2013
- 2013-11-15 DE DE102013223304.3A patent/DE102013223304B4/de active Active
Patent Citations (3)
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)
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 |