-
Die
Erfindung betrifft ein Verfahren gemäß dem Oberbegriff des Anspruchs
1 und eine Vorrichtung gemäß dem Oberbegriff
des Anspruchs 10.
-
In
vielen Anwendungen werden Mediadatenströme zum Beispiel Videodatenströme oder
Audiodatenströme,
in unterschiedlichen Qualitäten
benötigt.
Beispielsweise ist ein Mobiltelefon nur in der Lage den Videodatenstrom
mit einer kleinen Bildauflösung,
zum Beispiel 176 × 144
Bildpunkten, wiederzugeben. Hingegen können tragbare Computer, wie zum
Beispiel ein Tablet PC, auf ihrem Display den Videodatenstrom mit
bis zu 1280 × 768
Bildpunkten anzeigen.
-
Um
einen Mediadatenstrom für
unterschiedliche Endgeräte
mit verschiedenen Endgeräteeigenschaften
anzubieten, kann der Mediadatenstrom in mehrere Datenströme unterschiedlicher
Qualität
erstellt werden. Diese Vorgehensweise ist nachteilig, da zur Speicherung
dieser Vielzahl von Datenströmen
für einen
Mediadatenstrom eine große
Speicherkapazität
zur Verfügung
gestellt werden muss.
-
In
einer anderen Variante wird der Mediadatenstrom in einem Basisdatenstrom
und mehrere Teildatenströme
codiert, wobei durch Hinzunahme eines oder mehrerer Teildatenströme zum Basisdatenstrom
eine Verbesserung der Qualität,
zum Beispiel Bildqualität,
gegenüber
dem Basisdatenstrom erzielt wird. Durch diese skalierbare Codierung
kann ein Endgerät
durch Hinzunahme eines oder mehrerer Teildatenströme zum Basisdatenstrom
einen zu decodierenden Datenstrom mit einer wählbaren Qualität derart
erhalten, dass dieser für
die Geräteeigenschaften
des spezifischen Endgeräts
geeignet ist. Durch die skalierbare Codierung wird erreicht, dass zum
einen ein geringer Speicherplatzbedarf besteht und zum anderen dass
durch die Hinzunahme eines oder mehrerer Teildatenströme eine
Anpassung der Geräteeigenschaften
für die
Endgeräte
ermöglicht wird.
-
Codierte
Mediadatenströme,
wie zum Beispiel ein Videodatenstrom, werden in Dateien organisiert
abgelegt. Aus [1] ist beispielsweise ein Dateiformat bekannt, in
dem codierte Mediadatenströme
abgelegt werden. Gemäß Kapitel
7 des Dokuments [1] unterstützt
dieses Dateiformat "Layers" und "Subsequences". Dabei wird explizit
darauf hingewiesen, dass sich die "Layers" und die "Subsequences" auf das Lesen des Datenformats beschränkt, wohingegen
diese Information nicht zum Beschreiben von Eigenschaften eines
Codecs, das heißt
von skalierbaren Datenströmen
vorgesehen ist.
-
Ferner
wird auf das Dokument [2] verwiesen, welches ein spezielles hierarchisches
Format mit fester Struktur für
die Reihenfolge von Skalierbarkeitsrichtungen, das heißt für einen
speziellen bevorzugten Anwendungsfall, definiert. Das in [2] vorgeschlagene
Format zeigt den Nachteil, dass es keine flexible Definition von
Skalierungsrichtungen unterstützt.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung
anzugeben, welche bei der Erstellung zumindest einer Datei zur Speicherung
von skalierbaren Datenströmen
sowohl eine flexible Definition von Skalierungsrichtungen als auch
eine Anpassung der skalierbaren Datenströme an Geräteeigenschaften eines oder
mehrerer unterschiedlicher Endgeräte in einfacher und effizienter Weise
ermöglicht.
-
Diese
Aufgabe wird ausgehend von dem Verfahren gemäß dem Oberbegriff des Anspruchs
1 durch dessen kennzeichnende Merkmale gelöst. Ferner wird diese Aufgabe
gemäß dem Oberbegriff
des Anspruchs 10 durch dessen kennzeichnende Merkmale gelöst.
-
Sonstige
Weiterbildungen der Erfindung sind in den Unteransprüchen wiedergegeben.
-
Bei
dem Verfahren zur Speicherung einzelner Datenelemente eines skalierbaren
Datenstroms in zumindest eine Datei, wobei Qualitätsstufen
des skalierbaren Datenstroms durch zumindest ein Skalierungsmerkmal
in jeweils mehreren Skalierungsstufen beschrieben werden, jeder
Skalierungsstufe der Skalierungsmerkmale jeweils zumindest ein Datenelement
zugewiesen wird, der skalierbare Datenstrom in einer hohen Qualitätsstufe
durch zumindest eines derjenigen Datenelemente repräsentiert
wird, deren Skalierungsstufen der jeweiligen Skalierungsmerkmale
gleich wie oder kleiner als die jeweils zur hohen Qualitätsstufe
dazugehörigen
Skalierungsstufen der jeweiligen Skalierungsmerkmale sind, dem Datenelement
ein Zeitindex zugeordnet wird, an dem das jeweilige Datenelement
relativ zu anderen Datenelementen dargestellt werden soll, werden
dem Datenelement ein Verarbeitungsindex derart zugewiesen, dass
zur Verarbeitung des Datenelements lediglich ein oder mehrere Datenelement
mit einem niedrigeren Wert des jeweiligen Verarbeitungsindices zu
berücksichtigen
sind, zumindest eine Beschreibungsliste derart erzeugt, dass diese
für das
Datenelement dazugehörige
Beschreibungselemente, bestehend aus der Skalierungsstufe der jeweiligen
Skalierungsmerkmale, dem Zeitindex und/oder dem Verarbeitungsindex,
umfasst, zumindest eine der Beschreibungslisten und die dazugehörigen Datenelemente in
einer der Dateien organisiert gespeichert.
-
Durch
das erfindungsgemäße Verfahren
wird erreicht, dass Datenelemente und deren Beschreibung, welche
in Form zumindest einer Beschreibungsliste dargestellt sind, in
sehr flexibler Art und Weise gespeichert werden können.
-
Werden
die Beschreibungselemente in der Beschreibungsliste nach zumindest
einem Sortierkriterium, insbesondere sortiert von der niedrigsten Skalierungsstufe
zu der höchsten
Skalierungsstufe, organisiert angeordnet, so kann ein rasches Auffinden
von zur Bearbeitung benötigten
Datenelementen erzielt werden.
-
Vorzugsweise
wird die Beschreibungsliste derart erzeugt, dass die Beschreibungsliste
einer Endgerätefunktionalität, insbesondere
einer Rechenleistung oder Wiedergabeeinheit des Endgeräts, zuweisbar
ist. Dadurch kann in einfacher Art und Weise ein Endgerät mit einer
speziellen Endgerätefunktionalität die für sich benötigten Datenelemente
rasch in der Datei finden. Ferner können durch Angabe mehrerer
Beschreibungslisten Endgeräte
mit unterschiedlichsten Endgerätefunktionalitäten bedient werden.
-
Werden
vorzugsweise in die Beschreibungsliste Verweise zum Auffinden der
dazugehörigen
Datenelemente hinzugefügt
und die Datenelemente in einem Datenbereich in einer der Dateien
organisiert abgelegt, so können
die Beschreibungsliste und der Datenbereich separat von einander
verwaltet und bspw. bei einer Übermittlung
der Datei bzw. der Dateien getrennt von einander übertragen
werden. Bei dieser Übertragung
kann jeweils ein spezieller Fehlerschutz für die Beschreibungsliste und
den Datenbereich eingesetzt werden, wodurch Bandbreite gegenüber einem
einzigen Fehlerschutz erreicht werden kann.
-
Wird
zusätzlich
der Wert des Verarbeitungsindices des Datenelements aus dem zum
Datenelement dazugehörigen
Verweis ermittelt, so kann eine Datenmenge der zu speichernden Beschreibungsliste
reduziert werden.
-
Vorzugsweise
können
zusätzlich
die Datenelemente in dem Datenbereich in Abhängigkeit des zum jeweiligen
Datenelement dazugehörigen
Verweises organisiert gespeichert werden. Damit kann durch eine
Position des jeweils gespeicherten Datenelements der dazugehörige Verarbeitungsindex
ermittelt werden. Hierdurch kann zum einen das Datenvolumen durch
ein Weglassen der konkreten Verarbeitungsindices reduziert werden.
Zu anderen muss der Datenbereich zum Lesen der Datenelemente nur in
einer Richtung abgearbeitet werden, so dass dadurch zeitaufwendige
Sprünge
vermieden werden.
-
In
einer alternativen Erweiterung des erfindungsgemäßen Verfahrens wird zusätzlich zu
einer Beschreibungsliste eine Datenliste gemäß einem MPEG-4 AVC Beschreibungsformat
für MPEG-4 AVC-kompatible
Datenelemente zur Beschreibung einer der niedrigsten Qualitätsstufen
in einer der Dateien organisiert abgelegt. Das MEPG-4 AVC Beschreibungsformat
ist aus dem Standard ISO/IEC MPEG-4 AVC bekannt. Dadurch wird erreicht,
dass das File auch von Endgeräten,
die nur das MEPG-4 AVC Beschreibungsformat kennen gelesen und ausgewertet
werden kann.
-
Vorzugsweise
werden weiterhin aus den Qualitätsstufen
Qualitätsgruppen
derart gebildet, dass die Qualitätsgruppe
einer der Qualitätsstufen zugewiesen
und alle Datenelemente zum Verarbeiten dieser Qualitätsgruppe
zugeordnet werden. Dadurch kann ein skalierbares Codierverfahren
unterstützt
werden, welches schichtenweise (layered) mehrere Skalierungsstufen
unterstützt.
-
Werden
dazu in der Beschreibungsliste lediglich diejenigen Datenelemente
oder Verweise der Qualitätsgruppe
zugeordnet, welche zusätzlich
zu den in der zur Qualitätsgruppe
nächst
niedrigeren Qualitätsgruppe
aufgeführten
Datenelementen oder Verweise zur Bildung der Qualitätsgruppe
hinzugefügt
bzw. benötigt
werden, so kann dadurch eine kompakte und speichereffiziente Darstellung
der Beschreibungsliste gewährleistet
werden.
-
Ferner
betrifft die Erfindung eine Vorrichtung zur Speicherung einzelner
Datenelemente eines skalierbaren Datenstroms in zumindest eine Datei,
wobei Qualitätsstufen
des skalierbaren Datenstroms durch zumindest ein Skalierungsmerkmal
in jeweils mehreren Skalierungsstufen beschrieben werden, jeder
Skalierungsstufe der Skalierungsmerkmale jeweils zumindest ein Datenelement
zugewiesen wird, der skalierbare Datenstrom in einer hohen Qualitätsstufe
durch zumindest eines derjenigen Datenelemente repräsentiert
wird, deren Skalierungsstufen der jeweiligen Skalierungsmerkmale
gleich wie oder kleiner als die jeweils zur hohen Qualitätsstufe
dazugehörigen
Ska lierungsstufen der jeweiligen Skalierungsmerkmale sind, dem Datenelement
ein Zeitindex zugeordnet wird, an dem das jeweilige Datenelement
relativ zu anderen Datenelementen dargestellt werden soll, das ein
Generatormodul aufweist, das dazu geeignet ist, dass dem Datenelement
ein Verarbeitungsindex derart zugewiesen werden, dass zur Verarbeitung
des Datenelements lediglich ein oder mehrere Datenelement mit einem
niedrigeren Wert des jeweiligen Verarbeitungsindices zu berücksichtigen
sind, zumindest eine Beschreibungsliste derart erzeugt wird, dass
diese für
das Datenelement dazugehörige
Beschreibungselemente, bestehend aus der Skalierungsstufe der jeweiligen
Skalierungsmerkmale, dem Zeitindex und/oder dem Verarbeitungsindex,
umfasst, zumindest eine der Beschreibungslisten und die dazugehörigen Datenelemente in
einer der Dateien organisiert gespeichert werden.
-
Mit
dieser Vorrichtung ist das erfindungsgemäße Verfahren implementierbar
und ausführbar. Die
Vorrichtung kann in Hardware, in auf einem Prozessor ablaufende
Software oder aus einer Kombination aus Hardware und Software realisiert
werden.
-
Die
Erfindung und ihre Weiterbildungen werden nachfolgend anhand der 1 bis 15 näher
erläutert.
-
Es
zeigen:
-
1 Qualitätsstufen
eines skalierbaren Datenstroms;
-
2 Vorgehensweisen
zum Erreichen von Datenelementen, die unterschiedliche Skalierungsmerkmale
(Bildwiederholrate und Bildauflösung)
repräsentieren;
-
3 Beschreibungselemente
und Datenelement für
jede Qualitätsstufe;
-
4 Schaltbild
zum Erzeugen von Datenelementen aus mehreren Bildern und zum Erstellen von
rekonstruierten Bildern;
-
5A Vorgehensweise
zum Erstellen eines rekonstruierten Bilds für die Qualitätsstufe
mit hoher Bildauflösung;
-
5B Vorgehensweise
zum Erstellen eines rekonstruierten Bilds für die Qualitätsstufe
mit hoher Bildwiederholrate;
-
6 Eine
Beschreibungsliste für
die Qualitätsstufen
bzw. Datenelement gemäß 2 bzw. 3;
-
7 Ein
Aufbau einer Datei, bestehend aus Beschreibungsliste und Datenbereich;
-
8A Eine
Variante einer Beschreibungsliste;
-
8B Eine
binäre
Darstellung der Beschreibungsliste gemäß 8A;
-
9 Eine
Vorrichtung zur Speicherung einzelner Datenelemente eines skalierbaren
Datenstroms in einer Datei;
-
10 Ein
Anwendungsbeispiel zur Verwendung der Vorrichtung innerhalb eines
Videoservers in einem Netzwerk;
-
11 Eine
Beschreibungsliste unter Berücksichtigung
von Qualitätsgruppen;
-
12 Eine
weitere Variante einer Beschreibungsliste unter Berücksichtigung
von Geräteeigenschaften;
-
13 Abhängigkeiten
einer Anzahl an Bildern in einer Beschreibungsliste;
-
14 Zwei
Dateien, wobei in de ersten Datei mehrere Beschreibungslisten und
eine Datenliste und in der zweiten Datei die Datenelemente organisiert
abgelegt sind.
-
Elemente
mit gleicher Funktion und Wirkungsweise sind in den 1 bis 14 mit
denselben Bezugszeichen versehen.
-
Das
erfindungsgemäße Verfahren
zur Speicherung einzelner Datenelemente eines skalierbaren Datenstroms
in eine Datei wird anhand eines Videodatenstroms näher erläutert. Der
Videodatenstrom stellt einen möglichen
Typ eines skalierbaren Datenstroms dar. Andere Typen von skalierbaren
Datenströmen
sind beispielsweise ein Sprachsignal, ein Musikstück oder
ein Datensatz, der in mehreren Qualitätsstufen darstellbar ist.
-
Skalierbare
Videodatenströme
besitzen beispielsweise die Eigenschaft, dass Teile dieser Datenströme in verminderter
Qualität,
das heißt
z.B. geringere Schärfe,
geringere örtliche
oder zeitliche Auflösung
und/oder Weglassen bestimmter Objekte, decodiert werden können. Bei
bestimmten Codierverfahren ist es möglich, beliebige zusammenhängende Untermengen
aus dem Gesamtdatenstrom herauszulösen, was zu einer verminderten örtlichen und/oder
zeitlichen und/oder zu einer verschlechterten Schärfe führt. Ferner
können
Abschnitte des skalierbaren Datenstroms SD in Abhängigkeit
eines Verwendungszwecks markiert werden, z.B. dass bestimmte Szenen
des skalierbaren Datenstroms nur bestimmten Altersgruppen zugänglich sind.
-
In 1 ist
das Konzept einer "full
scalable" Videocodierung
dargestellt. Dabei sind auf den Achsen drei Skalierungsmerkmale,
Bildwiederholrate T, Ortsauflösung
S und Bildschärfe
B, aufgetragen. Jedes der Skalierungsmerkmale T, S, B ist jeweils
in mehreren Skalierungsstufen auflösbar. Dabei entspricht T0 =
7,5 fps (fps – frames
per second = Bilder pro Sekunde), T1 = 15 fps und T2 = 30 fps. Ferner
betragen die Skalierungsstufen der Ortsauflösung S in 1 S0
= QCIF (QCIF = Quarter Common Intermediate Format = 176 × 144 Bild punkte),
S1 = CIF (CIF – Common
Intermediate Format = 352 × 288
Bildpunkte) und S2 = 4CIF (4CIF – 4 times Common Interchange
Format = 704 × 576
Bildpunkte). Schließlich
umfasst das Skalierungsmerkmal Bildschärfe B zwei Skalierungsstufen
B0, B1, wobei B0 einer groben Quantisierung und B1 einer feinen
Quantisierung entspricht.
-
In 1 stellt
jeder Kasten eine der möglichen
Qualitätsstufen
Q0, ..., Q4 dar, wobei jede Qualitätsstufe durch ein individuelles
Triple an Skalierungsstufen der Skalierungsmerkmale T, S, B repräsentiert
wird. Beispielsweise ist die Qualitätsstufe Q3 durch die Skalierungsstufen
T1, S1, B0 der Skalierungsmerkmale T, S, B gekennzeichnet. In 1 repräsentiert
jede Qualitätsstufe
Q0, ... Q4 eine bestimmte Qualität
des skalierbaren Datenstroms SD. Dabei ist die Qualität der Qualitätsstufe
Q0 niedrig, da sowohl die Bildwiederholrate, die Ortsauflösung als
auch die Bildschärfe
gering bzw. grob sind. Zur Verbesserung der Qualität des skalierbaren
Datenstroms SD wird beispielsweise die zweite Qualitätsstufe
Q2 ausgewählt.
Dabei wird die Ortsauflösung
S von QCIF auf CIF erhöht.
Somit kann bei einem "full scalable" Codierverfahren,
wie in 1 dargestellt, durch ein Wandern entlang der Achsen,
die die Skalierungsstufen der einzelnen Skalierungsmerkmale repräsentieren,
eine Verbesserung der Bildqualität erzielt
werden.
-
Mit
Hilfe der 2 bis 5B wird
im Folgenden näher
auf die Erzeugung bzw. Codierung und Verarbeitung bzw. Decodierung
des skalierbaren Datenstroms eingegangen. Verfahren zur Codierung und
Decodierung eines skalierbaren Datenstroms sind dem Fachmann bekannt,
wie zum Beispiel die ISO/IEC MPEG Standardisierungsaktivitäten zu dem SVC
(SVC – Scalable
Video Coding). Deswegen wird mit Hilfe der 2 bis 5B lediglich
allgemein die Codierung und Decodierung eines skalierbaren Datenstroms
erklärt.
Es soll ein skalierbarer Datenstrom bzw. Datenelemente eines skalierbaren
Datenstroms erzeugt werden, die eine Bildwiederholrate von T0 = 15
fps und T1 = 30 fps, sowie eine Ortsauflösung S0 = QCIF und S1 = CIF
ermöglichen.
Wie in Fi gur 3 zu sehen, können
damit vier verschiedene Qualitätsstufen
Q0, ... Q3 realisiert werden. Zu jeder Qualitätsstufe wird jeweils zumindest
ein Datenelement D0, ..., D5 erzeugt, welches die relevanten Daten
der jeweiligen Qualitätsstufen
Q0, ..., Q3 enthalten.
-
Anhand
von 2 wird auf die Generierung der Datenelemente D0,
..., D5 näher
eingegangen. Zur Erzeugung dieser Datenelemente werden drei Bilder
P0, P1, P2 betrachtet, die z.B. zu den Zeitpunkten t0, t1, t2 aufgenommen
worden sind. Diese Bilder P0, P1, P2 haben eine Ortsauflösung von
CIF. Zunächst
wird in einem ersten Schritt X10 das Bild P0 von CIF in QCIF gewandelt,
z.B. mittels eines zwei-dimensionalen Subsampling Filters, und optional
komprimiert, so dass als Ergebnis das Datenelement D0 entsteht.
Dieser Schritt wird analog im Schritt X12 für das Bild P2 durchgeführt, welcher
das Datenelement D1 erzeugt. Zur Generierung des Datenelements D2
wird im Schritt X11 bspw. zunächst das
Bild P1 von CIF in QCIF gewandelt, und dann mittels der dekomprimierten
Datenelemente D0, D1 (Schritte X20, X21) ein Differenzbild in Form
eines B-Bildes erzeugt.
Dieses Differenzbild wird komprimiert und ergibt somit das Datenelement
D2.
-
In
einem nächsten
Schritt X30 wird das dekomprimierte Datenelement D0 von QCIF in
CIF vergrößert, z.B.
mittels eines zwei-dimensionalen Filters. Dann wird im Schritt X40
ein Differenzbild aus dem Bild P0 und dem vergrößerten und dekomprimierten
Datenelement D0 ermittelt und komprimiert. Dieses komprinierte Differenzbild
wird als Datenelement D3 bezeichnet. Zur Erstellung des Datenelements
D4 wird analog mittels der Schritte X32 und X42 vorgegangen.
-
Zur
Erzeugung des Datenelements D5 wird zunächst im Schritt X31 das Datenelement
D2 dekomprimiert und von QCIF nach CIF vergrößert. Anschließend wird
ein Differenzbild unter Berücksichtigung
des Bildes P1, des dekomprimierten und vergrößerten Bildes D2 und der dekomprimierten
und der rekonstruierten Bilder auf Basis der Datenelemente D0, D3
und der Datenele mente D1 und D4 erstellt. Im Schritt X50 wird dabei
aus dem dekomprimierten und von QCIF nach CIF vergrößerten Datenelements
D0 zusammen mit dem dekomprimierten Datenelement D3 eines der rekonstruierten
Bilder ermittelt. Dies erfolgt analog im Schritt X51 für die Datenelemente
D1 und D4. Im Schritt X41 erfolgt auch die Generierung des Differenzbildes
und dessen Komprimierung, so dass dort das Datenelement D5 entsteht.
-
In 3 sind
entlang der Skalierungsstufen der Skalierungsmerkmale Ortsauflösung S und
Wiederholfrequenz T der in 2 erzeugten
Datenelemente aufgetragen. Ferner ist ein jeweiliger Zeitindex ZI0,
..., ZI5 angegeben, an dem das dazugehörige Datenelement ausgegeben,
d.h. bspw. an einem Bildschirm angezeigt, werden soll.
-
Zusätzlich ist
in 3 zu jedem Datenelement D0, ..., D5 ein dazugehöriger Verarbeitungsindex
V0, ..., V5 aufgeführt.
Der Verarbeitungsindex gibt an, in welcher Reihenfolge die einzelnen
Datenelemente verarbeitet, z.B. dekomprimiert und prozessiert werden
müssen.
Soll bspw. das Datenelement D4, d.h. die Qualitätsstufe Q2, verarbeitet werden,
so muss zumindest das Datenelement D1 prozessiert, z.B. dekomprimiert
und vergrößert, worden
sein. Im Allgemeinen zeigt der Verarbeitungsindex an, dass vor der
Verarbeitung des dazugehörigen
Datenelements D4 ein oder mehrere Datenelemente D1 mit einem kleineren
Wert des Verarbeitungsindices V1 bereits bearbeitet worden sein
müssen.
Im unteren Abschnitt der 2 sind Werte für den jeweiligen
Verarbeitungsindex V0, ..., V5 des dazugehörigen Datenelements D0, ...,
D5 aufgetragen. Diese Aufstellung ist exemplarisch und kann auch
durch ein oder mehrere alternative Reihenfolgen dargestellt werden.
-
In
den 2 bzw. 3 sind nur einige wenige Bilder,
z.B. P0, P1 und P2, betrachtet worden. Für einen skalierbaren Datenstrom
DS wird eine Vielzahl von Bildern berücksichtigt, für die jeweils
Datenelemente erzeugt werden. Ferner wird darauf verwiesen, dass
eine Komprimierung bzw. Dekomprimie rung optional ist. Diese Komprimierung
bzw. Dekomprimierung kann durch den Standard ISO/IEC MPEG-4 AVC
ermöglicht
werden.
-
In 4 ist
ein Schaltbild zum Erzeugen von Datenelementen aus mehreren Bildern
und zum Erstellen von rekonstruierten Bildern zu sehen. Wie bspw.
aus 2 bekannt werden mit Hilfe eines Codiermoduls
COD aus den Bildern P0, ..., P2 die Datenelemente D0, ..., D5 generiert.
Unter Benutzung eines Decodiermoduls DEC können aus ein oder mehreren
Datenelementen ein oder mehrere rekonstruierte Bilder R1, R1', R2, R2' erzeugt werden.
Dabei weisen die rekonstruierten Bilder R1, R2 eine niedrige Ortsauflösung S0
und die Bilder R1',
R2' eine hohe Ortsauflösung S1
auf. Werden lediglich die Bilder der niedrigen Wiederholrate T0,
d.h. die rekonstruierten Bilder R1 bzw. R1' angezeigt, so beträgt die Wiederholrate T0 = 7.5
fps. Werden zusätzlich
die rekonstruierten Bilder R2 bzw. R2' zur Anzeige gebracht, so entsteht ein
rekonstruierter Datenstrom von T1 = 15 fps.
-
In
den 5A und 5B wird
das Vorgehen zur Generierung von rekonstruierten Bildern näher erläutert. Entspricht
bspw. das rekonstruierte Bild R1 der in 3 dargestellten
Qualitätsstufe
Q1, so werden zu dessen Erstellung die Datenelemente D0, D1 und
D2 benötigt.
Diese Abhängigkeit
ist aus 2 entnehmbar. Wurde die Qualitätsstufe
Q2 ausgewählt,
so wird, wie in 5B zusehen, das rekonstruierte
Bild R2' mittels
der Datenelemente D1 und D2 erstellt.
-
Aufgrund
dieser modularen Vorgehensweise bei der Generierung von rekonstruierten
Bildern kann ein Endgerät,
in Abhängigkeit
seiner Endgerätefunktionalitäten, nur
die Qualitätsstufe
und somit nur diejenigen Datenelemente betrachten, die es bspw.
verarbeiten oder darstellen kann.
-
Ferner
wird angemerkt, dass ein skalierbarer Datenstrom einer hohen Qualitätsstufe
sowohl das Datenelement dieser hohen Qualitätsstufe als auch ein oder mehrere
Datenelemente der niedrigeren Qualitätsstufen berücksichtigt.
Das bedeutet, dass der skalierbare Datenstrom einer hohen Qualitätsstufe
durch einen oder mehrere derjenigen Datenelemente wiedergegeben
wird, die Skalierungsstufen der jeweiligen Skalierungsmerkmale gleich
wie oder kleiner als die jeweils zu dieser hohen Qualitätsstufe dazugehörigen Skalierungsstufen
der jeweiligen Skalierungsmerkmale gehören. Diese Art der Skalierung
wird auch als "Full
Scalability" bezeichnet.
Ist beispielsweise die hohe Qualitätsstufe Q3, so muss zur Generierung
des skalierbaren Datenstroms DS in dieser Qualität das Datenpaket D5 als auch
bspw. alle Datenpakete der niedrigeren Qualitätsstufen berücksichtigt,
und zwar D0, ..., D4.
-
In
einem nachfolgenden Schritt des erfindungsgemäßen Verfahrens wird eine Beschreibungsliste
L1 durch Sortieren der Beschreibungselemente, die z.B. die Skalierungsstufen
der Skalierungsmerkmale, und/oder den Zeitindex ZI9, ..., ZI5 und/oder
den Verarbeitungsindex V0, ..., V5 umfassen. Das Ergebnis dieser
Sortierung ist bspw. in 6 abgebildet. Dabei ist folgende
drei Sortierkriterien in folgender Sortierreigenfolge ausgeführt worden:
- 1. Zeitindex ZI0, ..., ZI5 bzw. t0, ..., t2
- 2. Bildwiederholrate T0, T1
- 3. Ortsauflösung
S0, S1.
-
Die
Beschreibungsliste L1 ist in der Datei F derart angeordnet, dass
nach Angabe der Sortierungsparameter das dazugehörige Datenelement zusammen
mit dessen Verarbeitungsindex angegeben wird, wie bspw. "t0, T0, S0, V0, D0".
-
In 7 ist
eine alternative Darstellungsform der Beschreibungsliste aus 6 zu
sehen. Dabei werden anstelle des Verarbeitungsindices V0, ..., V5 und
des dazugehörigen
Datenelements D0, ..., D5 ein jeweiliger Verweis VD0, ..., VD5 in
die Beschreibungsliste L1 eingefügt.
Dieser Verweis VD0, ..., VD5 hat zwei Funktionen. Zum einen zeigt
er auf einen Eintrag innerhalb eines Datenabschnitts DAT der Datei
F, in dem die einzelnen Datenelemente D0, ..., D5 organisiert abgelegt
sind. Somit kann mittels des Verweises VD0, ..., VD5 das Datenelement
D0, ..., D5 aufgefunden werden. Dies ist in 7 mit gestrichelten
Pfeilen mit den Bezugszeichen VD0, ..., DV5 symbolhaft angedeutet.
Zum anderen kann aus dem Verweis VD0, ..., VD5 der zum jeweiligen
Datenelement D0, ..., D5 dazugehörige
Verarbeitungsindex V0, ..., V5 gewonnen werden. So kann der Verarbeitungsindex
V0 aus der Lage des Datenelements D0 innerhalb des Datenabschnitts
DAT ermittelt werden. Liegt das Datenelement D0 an erster Stelle,
so beträgt
der dazugehörige
Verarbeitungsindex V0 = 0. Liegt dieses Datenelement D0 an vierten
Stelle, so beträgt
der Verarbeitungsindex V0 = 3. Dies gilt analog für die weiteren
Datenelemente D1, ..., D5.
-
In
den obigen Ausführungsbeispielen
gemäß 6 und 7 sind
die Datenelemente und die Beschreibungsliste in einer einzigen Datei
F sortiert abgelegt. Im Allgemeinen können diese in mehr als einer
einzigen Datei gespeichert werden, z.B. in der Datei F die Beschreibungsliste
L1 und in einer weiteren Datei F1 die Datenelemente D0, ..., D5.
-
In 8A ist
eine weitere alternative Darstellungsform der Beschreibungsliste
L2 zu sehen. Dabei sind diejenigen Einträge innerhalb der Beschreibungsliste
L2, für
die kein Datenelement existiert anstelle des Verweises mit einem
Markierungswort "FREI" belegt worden.
-
In
der 8B ist eine binäre Darstellung der Einträge der 8A abgedruckt.
Dies ist bspw. eine Beschreibungsliste L2'. Dabei nehmen die Beschreibungselemente
folgende binären
Werte an:
- 00: t0, 01: t1, 10: t2
- 0: T0, 1: T1
- 0: S0, 1: 51
- VD0: 000, ..., VD5:101, FREI:111
-
Beispielsweise
weist die vierte Zeile folgendes Bitmuster auf: "00, 1, 1, 111". Werden die einzelnen binären Symbole
durch die vorher genannten Bezugszeichen ersetzt, so liest sich
diese vierte Zeile zu: "t0,
T1, S1, FREI". Die
Bedeutung der Bezugszeichen als binäre Symbole t0, t1, T0, T1,
S0, S1, D0, D1, D2, D3, FREI sind einem Decoder bzw. Endgerät bspw.
a priori bekannt oder werden diesem separat mitgeteilt.
-
In
den 6 bis 8B ist eine einheitliche Sortierreihenfolge
gewählt
worden. Dies stellt eine der möglichen
Ausführungen
des erfindungsgemäßen Verfahrens
dar. Im Allgemeinen kann jede beliebige Reihenfolge bei Sortierung
der Beschreibungselemente, d.h. z.B. des Zeitindex und der Skalierungsstufen
der Skalierungsmerkmale, berücksichtigt
werden. Insbesondere können
bei der Erstellung der Beschreibungslisten Endgerätefunktionalitäten, wie zum
Beispiel eine Rechenleistung oder eine Wiedergabeeinheit eines Endgeräts beachtet
werden. Beispielsweise kann auf einem Endgerät maximal ein skalierbarer
Datenstrom SD mit einer Ortsauflösung S0
= QCIF prozessiert und dargestellt werden. In 12 ist
beispielhaft eine Beschreibungsliste L4 nach folgender Sortierreihenfolge
dargestellt:
- 1. Ortsauflösung S
- 2. Zeitindex bzw. Zeitpunkt
- 3. Bildwiederholrate T.
-
Beim
Auswerten der Beschreibungsliste L4 sucht das Endgerät lediglich
in demjenigen Abschnitt der Datei F, der als ersten Sortierparameter
die Ortsauflösung
S0 aufweist. In dem Abschnitt der Beschreibungsliste L4, welche
mit der Ortsauflösung
S1 beginnt, muss das Endgerät
nicht nach möglichen Datenelementen
suchen, da das Endgerät
eine Ortsauflösung
S1 nicht prozessieren und darstellen kann.
-
Zusätzlich können einzelne
Datenelemente und/oder Skalierungsstufen der Skalierungsmerkmale
und/oder Zeitindices mit einem Zugriffsindex markiert werden. Der
Zugriffsindex ermög licht
ein zusätzliches
Sortierungskriterium bei der Auswahl der zu verarbeitenden Datenelemente.
So können
zeitliche Abschnitte des skalierbaren Datenstroms SD nur für Erwachsene
zugelassen sein, während übrige zeitliche
Abschnitte für
Jugendliche von 12 bis 18 Jahre geeignet sind. Durch eine Markierung
der Zeitindices ZI0, ..., ZI5 mittels jeweils eines Zugriffsindices
kann ein Verarbeiten von unerwünschten
Datenelementen unterbunden bzw. zugelassen werden.
-
Anhand
des Ausführungsbeispiels
gemäß 2 sind
drei Bilder P0, ..., P2 verarbeitet worden. Dabei beträgt eine
Einflusslänge
der Verarbeitung (=Codierung) GOP = 2, da bis auf ein zur Verarbeitung
benötigtes
Hilfsbild P0 die Einflusslänge
die Bilder P1 und P2 umfasst. Im Allgemeinen kann jede beliebige
Einflusslänge
GOP mit Hilfe des erfindungsgemäßen Verfahrens
dargestellt werden. Wird eine größere Einflusslänge GOP,
z.B. GOP = 16, gewählt
so kann eine Anzahl an Skalierungsstufen der Skalierungsmerkmals
Bildwiederholfrequenz T erhöht
werden. In 13 ist exemplarisch dargestellt, dass
sich die Einflusslängen
GOP, GOP1, GOP2 über
die Zeit t ändern
können
z.B. GOP1 = 2 Bilder, GOP2 = 3 Bilder.
-
In
einer Erweiterung des erfindungsgemäßen Verfahrens kann mehr als
eine Beschreibungsliste L1, L2, 13 in der Datei F enthalten sein.
Dabei kann ein Endgerät
individuell eine der Beschreibungslisten zur Verarbeitung der Datenelemente auswählen. Dabei
kann, z.B. durch Angabe einer Nummer einer Beschreibungsliste L1,
dem Endgerät eine
bestimmte Vorgehensweise bei dem Verarbeiten der Datenelemente vorgegeben
werden. Bspw. soll einem Endgerät
nur eine Skalierbarkeit in Qualitätsgruppen ermöglicht werden.
Dazu wird das Endgerät
angewiesen lediglich die Beschreibungsliste L3 zu verarbeiten. Diese
Beschreibungsliste L3 wird an späterer
Stelle erläutert.
-
In
einer alternativen Erweiterung des erfindungsgemäßen Verfahrens kann eine Datenliste
DL der Datei F hinzugefügt
werden, wobei durch diese Datenliste DL gemäß einem MPEG-4 AVC Beschreibungsformat
für MPEG-4
AVC-kompatible Datenelemente zur Beschreibung einer der niedrigsten
Qualitätsstufen
Q0, Q1 in einer der Dateien F, F1 organisiert abgelegt wird. Hiermit
kann in der Datei eine Rückwärtskompatibilität zu bereits
bestehenden Endgeräten
erzielt werden, die die Beschreibungslisten L1 nicht auswerten können. In 14 ist
die optionale Datenliste DL in die Datei F eingefügt worden.
-
Zusätzlich oder
alternativ können
die Beschreibungsliste L1 und der Datenbereich DAT in einer Datei
F oder in mehreren Dateien F, F1 abgelegt sein. Wie aus 14 ersichtlich
sind die Beschreibungslisten L1, ..., L3 in der Datei F und der
Datenbereich DAT in der weiteren Datei F1 organisiert gespeichert.
-
In 9 ist
eine beispielhafte Ausführung
einer Vorrichtung zur Durchführung
des erfindungsgemäßen Verfahrens
abgebildet. Dabei werden von einer Kamera K uncodierte Bilder P1,
..., P3 aufgenommen, und an das Codiermodul COD übergeben, der die Datenelemente
D0, ..., D5 erzeugt. Diese werden an ein Generatormodul GM übergeben,
welche nach Sortierung der Beschreibungselemente zumindest eine
der Beschreibungslisten L1 erzeugt und diese in zumindest einer
der Dateien F organisiert ablegt. Ferner erstellt das Generatormodul
GM den Datenbereich DAT innerhalb einer der Dateien F, F1, der die Datenelemente
D0, ..., D5 umfasst. Dabei kann die Datei F beispielsweise auf einem
Speichermodul SM, insbesondere einer Festplatte, abgelegt sein.
-
In 10 ist
ein mögliches
Anwendungsbeispiel der erfindungsgemäßen Vorrichtung zu sehen. Innerhalb
eines Netzwerks NET befindet sich ein Videoserver VX, der die erfindungsgemäße Vorrichtung
umfasst. An den Videoserver VX kann das Speichermodul SM mit der
Datei F angekoppelt sein. Ferner kann eine Kamera K mit dem Videoserver
VX verbunden sein. Zusätzlich
ist der Videoserver VX in der Lage, die erstellte Datei bzw. Dateien
mit der Beschreibungsliste L1 und dem Datenbereich DAT an ein Mobilfunkgerät MG, beispielsweise
ein GSM- Gerät (GSM – Global
System Mobile Communications) oder an einen Computer CG zu übermitteln.
-
In
einer Variante des erfindungsgemäßen Verfahrens
kann die Beschreibungsliste L3 derart erzeugt werden, dass die zu
einem jeweiligen Zeitindex gehörenden
Datenelemente in Qualitätsgruppen
G1, ..., G3 zusammengefasst werden. Hierzu wird zunächst auf 3 verwiesen,
in der die Qualitätsgruppen
G1, ..., G3 eingezeichnet sind. Dabei können im Ausführungsbeispiel
gemäß 3 nicht
mehr alle Qualitätsstufen
gezielt durch die Qualitätsgruppen G1,
..., G3 ausgewählt
werden. In 3 sind drei Qualitätsgruppen
G1, ..., G3 zu finden. Die erste Qualitätsgruppe G1 umfasst lediglich
die Datenelemente D0, D1 der Qualitätsstufe Q0. Die zweite Qualitätsgruppe
G2 beinhaltet die Datenelemente D0, D1, D3, D4 der Qualitätsstufen
Q0 und Q1. Die dritte Qualitätsgruppe
G3 umfasst die Datenelemente D0, ..., D5 der Qualitätsstufen
Q0, ..., Q3. Die Gruppierung in Qualitätsgruppen gemäß 3 ist
dem Fachmann als "Layered
Coding" im Rahmen
der skalierbaren Codierung bekannt. Dabei zeichnen sich die Layers
dadurch aus, dass nicht mehr jede beliebige Kombination an Skalierungsstufen
der Skalierungsmerkmale erreicht werden kann.
-
In 11 ist
eine weitere Variante einer Beschreibungsliste L3 abgebildet, die
die Qualitätsgruppen
G1, ..., G3 beschreibt und nach folgender Sortierreihenfolge erstellt
worden ist:
- 1. Zeitindex ZI0, ..., ZI5,
- 2. Qualitätsgruppe
G1, ..., G3
-
Dabei
ist stellvertretend für
die Skalierungsmerkmale T, S die jeweilige Qualitätsgruppe
G1, ..., G3 angegeben. Dabei kann anstelle, dass zu jeder Qualitätsgruppe
alle dazugehörigen
Datenelemente bzw. Verweise angegeben werden, lediglich diejenigen
Datenelemente bzw. Verweise je Qualitätsgruppe G3 aufgelistet werden,
die gegenüber
der nächst kleiner
Qualitätsgruppe
G2 zusätzlich
bei der Verarbeitung bzw. Decodie rung in Betracht gezogen werden
müssen.
Wählt bspw.
ein Endgerät
die Qualitätsgruppe
G3, so werden neben den dort aufgeführten Datenelementen bzw. Verweisen
auch alle Datenelemente bzw. Verweise der niedrigeren Qualitätsgruppen
G1 und G2 ausgewählt.
Mit dieser Vorgehensweise kann eine kompakte und speichereffiziente
Repräsentation
der Beschreibungsliste bei Verwendung von Qualitätsgruppen erreicht werden.
-
In
den vorangegangenen Ausführungsbeispielen
wurden lediglich sechs Datenelementen mit den Skalierungsmerkmalen
Bildwiederholrate und (Bild-)Ortsauflösung dargestellt. Gemäß der vorliegenden
Erfindung können
mehr Beschreibungselemente, d.h. z.B. auch eine größere Anzahl
an Skalierungsstufe und/oder Skalierungsmerkmalen, vorhanden sein.
So ist beispielsweise in 1 neben der Bildwiederholrate
T, der Ortsauflösung
F die Bildschärfe
B in einer dritten Dimension eingezeichnet.
-
In
diesem Dokument zitierte Literaturstellen:
- [1] ISO/IEC, "Coding of Moving
Pictures and Audio, Information Technology – Coding of Audio-Visual Objects,
Part 15: AVC Fileformat",
ISO, JTC1/SC29/WG11, MPEG03/N5652, 21. März 2003.
- [2] M. Z. Wisharam et al., "Extensions
to ISO/AVC Fileformat to Support the Storage of Scalable Videocoding
(SVC) Bitstreams",
ISO/IEC JTC1/SC29/WG11, MPEG2005/M12062, Buthan, Korea, April 2005.