-
Die
Erfindung betrifft ein Verfahren und eine Vorrichtung zum Generieren
eines markierten Datenstroms, ein Verfahren und eine Vorrichtung
zum Einfügen
eines Wasserzeichens in einen markierten Datenstrom sowie einen
markierten Datenstrom.
-
Durch
die Einführung
der Digitalisierung von multimedialer Information, wie bspw. Bilder,
Videos oder Musikstücke,
wurde sowohl unberechtigtes Kopieren als auch unerlaubtes Verteilen
derartiger Inhalte erheblich erleichtert. Dabei können multimediale
Informationen einfach verarbeitet werden, wie z.B. durch das Komprimieren
von Musikstücken
mittels MP3 oder das Brennen von Spielfilmen auf DVD (DVD – Digital
Video Disc) mittels MPEG-Kompressionsverfahren (MPEG – Motion
Picture Expert Group).
-
Um
das unberechtigte Kopieren und/oder Vertreiben von multimedialen
Informationen zu vermeiden bzw. zu erschweren, sind in der Vergangenheit
mehrere Technologien im Bereich des Digital Rights Management (DRM)
entwickelt worden. Eine der DRM-Technologien verwendet zum Schutz
vor illegalen Kopien digitale Signaturen. Hierbei wird mit Hilfe
eines Schlüssels
der digitale Inhalt verschlüsselt.
Ein Benutzer kann nur mit Hilfe eines weiteren Schlüssels die
verschlüsselte
Information lesen und weiterverarbeiten. Eine andere DRM-Technologie setzt
Wasserzeichen ein. Hierbei werden Wasserzeichen mit der multimedialen
Information derart vermischt, dass die vermischte multimediale Information für einen
Benutzer keinerlei spürbare
qualitative Verschlechterung er multimedialen Information zeigt.
Mit Hilfe von geeigneten Algorithmen kann ein Wasserzeichen in vermischten
multimedialen Informationen rekonstruiert und somit nachgewiesen
werden.
-
Ein
Problem beim Schutz von digitalen multimedialen Informationen stellt
das sogenannte "analoge
Loch" (Analog Hole)
dar. Digitale Informationen, wie zum Beispiel digitale Videodaten,
werden bei der Übertragung
von einem Videoserver zu einer Set-Top-Box eines Benutzers verschlüsselt übermittelt.
In der Set-Top-Box findet eine Entschlüsselung und zumeist eine Dekompression
dieser digitalen Informationen statt. Anschließend können die entschlüsselten
und dekomprimierten digitalen Informationen z.B. über einen
Lautsprecher und/oder einen Monitor wiedergegeben werden. Dabei
werden der Lautsprecher und der Monitor mit einem jeweiligen analogen
Signal, das durch eine Digital/Analog-Wandlung der dekomprimierten
digitalen Information gebildet wird, angesteuert. Da diese analogen Signale
leicht zugänglich
sind, können
sie zum unberechtigten Kopieren, beispielsweise von einem Videorecorder,
aufgenommen werden. Dies wird als Analog Hole bezeichnet. Um derartige
Kopien erkennen zu können,
kann man unter anderem ein Wasserzeichen verwenden, das z.B. in
die Bilder der Videodaten eingebettet wird.
-
Neben
der Einbettung von Schutzmechanismen zum Nachweis von unberechtigten
Kopien in digitale Informationen ist es auch notwendig, nachvollziehen
zu können,
welcher Benutzer die unberechtigten Kopien angefertigt, beziehungsweise
diese unberechtigterweise weitergeleitet hat. Hierzu können Wasserzeichen
für jeden
Benutzer individuell erstellt werden.
-
Ein
Einfügen
von individuellen, d.h. benutzerbezogenen, Wasserzeichen kann dadurch
erfolgen, dass in die digitalen Informationen individuelle Wasserzeichen
eingefügt
und anschließend
eine Komprimierung der digitalen Informationen durchgeführt wird.
Diese Vorgehensweise hat den Nachteil, dass zum einen für jeden
Benutzer digitale Informationen individuell verarbeitet, bspw. komprimiert,
werden müssen.
Zum anderen liegen digitale Informationen bei On-Demand-Diensten
in komprimierter Form auf einem Server vor. Hierbei müssen für jeden
Benutzer individuell die komprimierten Informatio nen dekomprimiert,
ein individuelles Wasserzeichen eingefügt und abschließend die
mit dem Wasserzeichen versehene digitale Informationen erneut komprimiert werden.
Diese Vorgehensweise ist wirtschaftlich nicht praktikabel, da neben
einem großen
Speicherplatz eine hohe Rechenleistung auf dem On-Demand-Server vorgehalten
werden muss.
-
Ferner
können
bei dieser Vorgehensweise Vorteile einer Multicast-Verteilung, wie
beispielsweise das einmalige Übertragen
der komprimierten digitalen Information von dem On-Demand-Server hin zu einem
Knoten im Netzwerk, welcher die Weiterverteilung an einzelne Benutzer übernimmt,
nicht angewendet werden.
-
So
ist in [1] für
das Videokompressionsverfahren MPEG-2 bekannt, in einer Set-Top-Box,
das heißt
auf Benutzerseite, nach einer Entschlüsselung der Videodaten, d.h.
visuelle Informationen, eine Teildekodierung vorzunehmen. Hierbei
wird für
einen oder mehrere Bildblöcke
der Videodaten die Teildekodierung derart ausgeführt, dass die Dekodierung bis zur
Vorlage von Transformationskoeffizienten durchgeführt wird.
Diese Transformationskoeffizienten werden mit einem Wasserzeichen
vermischt. Anschließend
werden die mit dem Wasserzeichen vermischten Transformationskoeffizienten
wieder kodiert, so dass ein gültiger
MPEG-2-Videodatenstrom entsteht.
-
Diese
Vorgehensweise weist den Nachteil auf, dass für existierende Set-Top-Boxen
bereits eine Teildekodierung des kodierten Datenstroms in Bezug auf
Rechenleistung und Speicherplatz zu komplex ist. So wird beispielsweise
in dem Videokompressionsstandard ITU H.264 (ITU – International Telecommunications
Union), der auch unter MPEG-4-AVC beziehungsweise ISO/IEC 14496-10
bekannt ist, eine arithmetische Kodierung mit einem Namen CABAC-Kodierung
(CABAC – Context
Adaptive Binary Arithmetic Koding) verwendet. Die CABAC-Kodierung
ist ein rechenaufwändiges
adaptives Kompressionsverfahren, bei dem Informationen eines Bildes, beziehungsweise
Teile davon, in einem einzigen unteilbaren Codewort gespeichert
werden. Um auf einzelne Informationen des Bildes zuzugreifen, muss das
durch die CABAC-Kodierung erzeugte Codewort vollständig dekodiert
werden.
-
Eine
Veröffentlichung
[2] beschäftigt
sich mit einer Vorrichtung und einer Methode zum Einfügen und
Extrahieren digitaler Watermarks.
-
Die
der Erfindung zugrunde liegende Aufgabe ist es, ein Verfahren beziehungsweise
eine Vorrichtung zum Generieren eines markierten Datenstroms aus
einem kodierten Datenstrom beziehungsweise ein Verfahren und eine
Vorrichtung zum Einfügen
eines Wasserzeichens in einen markierten Datenstrom anzugeben, welches/welche
das Einfügen von
individuellen Wasserzeichen in den kodierten Datenstrom für beliebige
Kompressionsverfahren mit geringer Komplexität ermöglicht.
-
Diese
Aufgabe wird durch die unabhängigen Ansprüche gelöst. Sonstige
Weiterbildungen der Erfindung sind in den Unteransprüchen wiedergegeben.
-
Bei
dem Verfahren zum Generieren eines markierten Datenstroms aus einem
kodierten Datenstrom werden durch zumindest einen ersten Datenstromabschnitt
des kodierten Datenstroms kodierte multimediale Information umfasst,
der erste Datenstromabschnitt des kodierten Datenstroms als markierter
Datenstromabschnitt markiert, und durch den markierten Datenstromabschnitts
angezeigt, dass der markierte Datenstromsabschnitt geeignet ist
mit einem Wasserzeichen vermischt zu werden.
-
Durch
dieses Verfahren wird ermöglicht, dass
durch eine Enkodiervorrichtung, z.B. in einem Sender, zumindest
ein erster Datenstromabschnitt ausgewählt, d.h. markiert, wird, der
bspw. in einer Einfügevorrichtung,
z.B. in einer benutzerseitigen Set-Top-Box, mit einem Wasserzeichen
versehen wird. Dabei kann die Enkodiervorrichtung berücksichtigen,
dass das Vermischen eines ersten Datenstromabschnitts mit einem
Wasserzeichen lediglich in denjenigen ersten Datenstromabschnitten
erfolgen soll, die mit einer geringen Komplexität verarbeitet werden können. In
der Praxis kann es dabei zweckmäßig sein,
dass die Enkodiervorrichtung markierte erste Datenstromabschnitte
mit gering-komplexen Algorithmen erstellt.
-
Insbesondere
kann der markierte Datenstromabschnitt ohne eine Berücksichtigung
anderer Datenstromabschnitte bearbeitet werden. Hierbei kann die
Enkodiervorrichtung vorsehen, dass ein verwendetes Kodierschema
anderer erster und/oder zweiter Datenstromabschnitte keinen Einfluss
auf das Kodierschema des markierten Datenstromabschnitts hat. So
wird bspw. eine arithmetische Kodierung für den markierten Datenstromabschnitt
separat, d.h. unabhängig
von anderen Datenstromabschnitten, erstellt.
-
Ferner
wird eine Markierungsinformation in den kodierten Datenstrom in
Form eines zweiten Datenstromabschnitts (DA2) eingefügt, wobei
mit Hilfe der Markierungsinformation der markierte Datenstromabschnitt
lokalisiert wird. Hiermit kann die Lokalisierung des markierten
Datenstromabschnitts in einer einfachen und kostengünstigen
Art und Weise durchgeführt
werden.
-
Vorzugsweise
wird hierbei die Markierungsinformation dem markierten Datenstromabschnitt
vorangestellt. Dies ermöglicht
eine Erkennung der markierten Datenstromabschnitte ohne Zwischenspeicherung
des markierten Datenstromabschnitts. In einer zweckmäßigen Ausbildung
wird dabei die vorangestellte Markierungsinformation in Form einer SEI-Nachricht
gemäß dem Standard
H.264 gebildet wird. Somit kann eine standardkonforme Realisierung
des Verfahrens für
den H.264 Standard ermöglicht
werden.
-
In
einer alternativen Ausführungsform
wird die Markierungsinformation dem markierten Datenstromabschnitt
nachgestellt wird. Hierbei wird gewährleistet, dass ein Inhalt
des markierten Datenstromabschnitts ohne Verzögerung aufgrund einer vorangestellten
Markierungsinformation zur Verfügung
steht. Es ist dabei zweckmäßig, die
nachgestellte Markierungsinformation in Form einer NAL-Einheit gemäß dem Standard
H.264 gebildet wird. Hiermit kann für den Standard H.264 standardkonform
eine Realisierung des Verfahrens erzielt werden.
-
Vorzugsweise
wird durch den markierten Datenstromabschnitt eine Gruppe von Bildblöcken beschrieben,
wodurch das Verfahren bei einem blockbasierten Kodierverfahren eingesetzt
werden kann.
-
Wird
der markierte Datenstromabschnitt durch eine spezifische Kodierungseigenschaft
des markierten Datenstromabschnitts lokalisiert, so kann ohne ein
Signalisierungsfeld der markierte Datenstromabschnitt identifiziert
werden. Somit kann ohne eine Vergrößerung eines Datenvolumens
das Verfahren realisiert werden.
-
Dabei
kann die spezifische Kodiereigenschaft durch eine vorgebbare Anzahl
an Bildblöcken definiert
werden. Diese Kodiereigenschaft ist mit geringer Rechenkomplexität erkennbar.
Zusätzlich
oder alternativ kann die spezifische Kodiereigenschaft durch eine
Mindestgröße eines
Bildblocks innerhalb des markierten Datenstromabschnitts wiedergegeben
werden. Diese Kodiereigenschaft kann ohne Durchführung einer zumindest teilweisen
Dekodierung des kodierten Datenstroms erkannt werden. In einer optionalen
Erweiterung werden die Bildblöcke des
markierten Datenstromabschnitts gemäß einem Intra-Kodiermodus erstellt.
Dies gewährleistet,
dass der markierte Datenstromabschnitt ohne Berücksichtigung anderer erster
Datenstromabschnitte decodierbar ist und somit das Wasserzeichen
mit einem geringe Rechen- und/oder Speicheraufwand eingefügt werden
kann.
-
In
einer vorzugsweisen Ausgestaltung wird zumindest ein Teil einer
Anzahl der Bildblöcke
des markierten Datenstromabschnitts mit dem Wasserzeichen vermischt.
Somit kann eine benötigte
Rechenleistung zum Einfügen
des Wasserzeichens weiter reduziert werden, da eine Anzahl zu bearbeitender
Bildblöcke
pro markiertem Datenstromabschnitt vermindert wird.
-
Vorzugsweise
wird der markierte Datenstromabschnitt unter Ausschluss einer arithmetischen
Kodierung geformt, so dass Abhängigkeiten bei
der Kodierung des markierten Datenstromab schnitts von anderen Datenstromabschnitten
vermieden werden kann.
-
Ferner
betrifft die Erfindung ein Verfahren zum Einfügen eines Wasserzeichens in
einen markierten Datenstrom bei dem ein markierter Datenstromabschnitt
in dem markierten Datenstrom lokalisiert wird, ein vermischter Datenstromabschnitt
durch Vermischen des Wasserzeichens und des lokalisierten und markierten
Datenstromabschnitts erstellt wird, der mit dem Wasserzeichen vermischte
Datenstromabschnitt in den markierten Datenstrom derart integriert
wird, dass der vermischte Datenstromabschnitt den lokalisierten
markierten Datenstromabschnitt ersetzt. Mit diesem Verfahren zum
Einfügen
kann auf Seiten des Empfängers,
z.B. in einer Set-Top-Box, das Vermischen des markierten Datenstromabschnitts
mit dem Wasserzeichen in einfacher und schneller Weise erfolgen.
Hierbei kann insbesondere ein benutzerindividuelles Wasserzeichen
mit geringem Aufwand eingefügt
werden.
-
Des
Weiteren umfasst die Erfindung eine Vorrichtung zum Generieren eines
markierten Datenstroms aus einem kodierten Datenstrom, mit einer Enkodiervorrichtung
zum Markieren von zumindest einem ersten Datenstromabschnitt des
kodierten Datenstroms als markierter Datenstromabschnitt, wobei durch
die Markierung des markierten Datenstromabschnitts angezeigt wird,
dass der markierte Datenstromabschnitt geeignet ist mit einem Wasserzeichen vermischt
zu werden und wobei durch den ersten Datenstromabschnitt des kodierten
Datenstroms kodierte multimediale Information umfasst wird. Mit
Hilfe dieser Vorrichtung ist das Verfahren zum Generieren eines
markierten Datenstroms realisierbar.
-
Ferner
betrifft die Erfindung eine Vorrichtung zum Einfügen eines Wasserzeichens in
einen markierten Datenstrom mit einer Einfügevorrichtung zum Lokalisieren
eines markierten Datenstromabschnitt in dem markierten Datenstrom,
zum Vermischen des Wasserzeichens und des lokalisierten und markierten
Datenstromabschnitts in einen vermischten Datenstromabschnitt und
zum Integrieren des vermischten Datenstromabschnitts in den markierten
Datenstrom, wobei der vermischte Datenstromabschnitt den lokalisierten
markierten Datenstromabschnitt ersetzt. Unter Benutzung dieser Vorrichtung
kann das Verfahren zum Einfügen
eines Wasserzeichens in einen markierten Datenstrom realisiert werden.
-
Die
Erfindung betrifft weiterhin einen markierten Datenstrom, der unter
Verwendung des Verfahrens zum Generieren eines kodierten Datenstroms
gebildet wird. Der generierte Datenstrom kann von einem Sender zu
einem Empfänger übertragen
werden. Ferner ist er auf einem Speichermedium, z.B. einer Speicherplatte
oder einem Speicherchip organisiert speicherbar.
-
Im
Folgenden werden Beispiele der Erfindung anhand der Zeichnung näher erläutert. Im
Einzelnen zeigen:
-
1 eine
Vorrichtung zum Erstellen eines markierten Datenstroms zum Einfügen von
Wasserzeichen sowie eine Vorrichtung zum Einfügen eines Wasserzeichens in
einen markierten Datenstrom;
-
2A ein
kodierter Datenstrom mit ersten und zweiten Datenstromabschnitten;
-
2B, 2C jeweils
ein markierter Datenstrom mit ersten und zweiten Datenstromabschnitten;
-
3 ein
Beispiel eines Ablaufdiagramms zum Generieren eines markierten Datenstroms
mit den ersten Datenstromabschnitten vorangestellter Markierungsinformation;
-
4 ein
weiteres Beispiel eines Ablaufdiagramms zum Generieren eines markierten
Datenstroms mit den ersten Datenstromabschnitten nachgestellter
Markierungsinformation;
-
5 Aufbau
eines ersten Datenstromabschnitts;
-
6 Verwendung
des Verfahrens bzw. der Vorrichtung zum Generieren des markierten
Datenstroms, bzw. zum Einfügen
des Wasserzeichens in den markierten Datenstrom.
-
Elemente
mit gleicher Funktions- und Wirkungsweise sind in den 1 bis 6 mit
den gleichen Bezugszeichen versehen.
-
In 1 wird
ein Datenstrom D, der beispielsweise eine Bildersequenz umfasst,
in einen kodierten Datenstrom DC kodiert. Die Kodierung wird mittels
eines ersten Kodiermoduls ENCA durchgeführt. Unter Kodierung wird allgemein
wird eine Vorschrift verstanden, in der Symbole einer Darstellung in
solche einer anderen übertragen
werden. Im Rahmen dieser Beschreibung wird mit der Kodierung eine
Komprimierung von Information durchgeführt. Dies wird bspw. mit einem
standardisierten Kodierverfahren erreicht, wie z.B. zur Kompression
von visuellen Informationen mit einem Videokodierverfahren gemäß MPEG-1,
MPEG-2 oder H.264 benutzt wird. Im Rahmen dieser Schreibung werden
unter Informationen multimediale Informationen, wie z.B. Videos,
Bilder oder Musikstücke
verstanden. Einem Fachmann sind Kodierverfahren zum Komprimieren von
multimedialen Informationen bekannt, so dass hierauf nicht näher eingegangen
wird. Grundsätzlich können standardisierte
und/oder nicht standardisierte Kodierungsverfahren zum Komprimieren
von multimedialen Informationen verwendet werden. Das erfindungsgemäße Verfahren
kann für
jede Art von multimedialer Information eingesetzt werden. Im Folgenden
wird die Erfindung exemplarisch anhand von Videosequenzen beschrieben.
-
2A zeigt
einen zeitkontinuierlichen Ausschnitt eines kodierten Datenstroms
DC. Dieser kodierte Datenstrom DC umfasst erste und zweite Datenstromabschnitte
DA1 und DA2. Unter einem Datenstromabschnitt wird jeweils ein zusammenhängender
Bereich des kodierten Datenstroms DC verstanden, bei dem inhaltlich
zusammengehörige
kodierte Information zusammengefasst ist.
-
Der
erste Datenstromabschnitt DA1 repräsentiert kodierte multimediale
Information des zu kodierenden Datenstroms D. In einem nach MPEG-1 kodierten
Datenstrom DC werden beispielsweise vier Bildblöcke mit Helligkeitsinformation
und zwei Bildblöcke
mit Farbinformationen zu einem Makroblock zusammengefasst kodiert.
Ein derartiger Markoblock repräsentiert
hierbei kodierte multimediale Information des zu kodierenden Datenstroms
D, das heißt
den ersten Datenstromabschnitt DAl. Ferner kann der erste Datenstromabschnitt
DA1 auch durch eine Zusammenfassung mehrerer Makroblöcke gebildet werden.
Dies wird in MPEG-1 als Slice bezeichnet.
-
Durch
den zweiten Datenstromabschnitt DA2 werden Steuerinformationen des
kodierten Datenstroms DC beschrieben. In MPEG-1 wird bspw. ein Sequenzkopffeld
(auf Englisch – sequence
header) verwendet, das unter anderem eine Höhe und eine Breite der Bilder
einer Bildersequenz angibt. Ferner wird in MPEG-1 beispielsweise
ein Bildkopffeld (auf Englisch – picture
header) benutzt, das Informationen über das aktuell zu kodierende
Bild umfasst.
-
Betrachtet
man anstelle des Videokodierstandards MPEG-1 den Videokodierstandard
H.264, so werden dort Datenstromabschnitte durch so genannte NAL-Einheiten
(NAL – Network
Adaptation Layer) definiert. Die NAL-Einheiten lassen sich grundsätzlich in
zwei Kategorien einteilen. Die eine Kategorie umfasst Steuerinformationen,
wie zum Beispiel Informationen über
eine Bildgröße oder
eine Anzahl von Bildern pro Sekunde. Diese Kategorie repräsentiert
die zweiten Datenstromabschnitte DA2. Daneben gibt es NAL-Einheiten,
wie beispielsweise eine Gruppe von Makroblöcken, genannt VLC-NAL (VLC – Video
Coding Layer) oder Slice, welche die zu kodierende Bildinformation
des zu kodierenden Datenstroms D umfassen. Diese andere Kategorie
von NAL-Einheiten entspricht den ersten Datenstromabschnitten DA1.
-
Die
Erzeugung des kodierten Datenstroms DC wird gemäß 1 durch
das erste Kodiermodul ENCA durchgeführt. Dabei wird der zu kodierende Datenstrom
D, bspw. eine Bildersequenz, sliceweise kodiert. Ein derartiger
Slice repräsentiert
einen ersten Datenstromabschnitt DA1. Soll ein Slice beziehungsweise
die Blöcke
eines Slices in einem späteren
Verarbeitungsschritt mit einem Wasserzeichen WM vermischt werden,
so wird dieser erste Datenstromabschnitt DAl zunächst mit einer Markierung versehen.
Ein derartiger markierter erster Datenstromabschnitt DA1 wird als
markierter Datenstromabschnitt MDA bezeichnet. Das Markieren wird
in einem zweiten Kodiermodul ENCB durchgeführt. Das erste und das zweite
Kodiermodul können
in einer Enkodiervorrichtung ENC integriert sein. Ein kodierter
Datenstrom, der markiert worden ist, wird als markierter Datenstrom
DS bezeichnet.
-
In
einem ersten Ausführungsbeispiel
wird zur Markierung eines ersten Datenstromabschnitts, d.h. des
Slices, ein zweiter Datenstromabschnitts DA2, der eine Markierungsinformation
MI umfasst, in den kodierten Datenstrom zeitlich vor den zu markierenden
ersten Datenstromabschnitt DAl gestellt. Wie in 2B dargestellt,
wird bei dieser Variante jeweils ein zweiter Datenstromabschnitt
mit der Markierungsinformation DA2(MI) direkt vor den zu markierenden
Slice in den kodierten Datenstrom DC eingefügt. Der markierte kodierte
Datenstrom wird als markierter Datenstrom DS und der markierte Slice
als markierter Datenstromabschnitt MDA bezeichnet. Dieser Zusammenhang
wird mittels halbrunder Pfeile in 2B symbolisch
wiedergeben. Das Pfeilende beginnt bei demjenigen zweiten Datenstromabschnitt,
der einen nachfolgenden ersten Datenstromabschnitt markiert. Die
Pfeilspitze zeigt auf den markierten Datenstromabschnitt MDA. Die
markierten Slices sind mit einem Rautenmuster gekennzeichnet. Gestrichelte
Pfeile zwischen der 2A und der 2B zeigen
inhaltlich identische erste Datenstromabschnitte DA1 bzw. markierte
Datenstromabschnitte MDA. Bei Verwendung von H.264 kann die Markierungsinformation
mit Hilfe einer SEI-Nachricht (SEI – Supplementary Enhanced Information) generiert
werden, z.B. mit einem "MI
= payload-Type =
22".
-
In
einem weiteren Beispiel wird zur Markierung eines ersten Datenstromabschnitts,
z.B. eines Slices, ein zweiter Datenstromabschnitt DA2 mit der Markierungsinformation
MI einem zu markierenden ersten Datenstromabschnitt DAl zeitlich
nachgestellt. Wie in 2C zu sehen ist, wird ein zweiter
Datenstromabschnitt DA2 mit der Markierungsinformation MI direkt
nach dem zu kennzeichnenden Slice, d.h. zu markierenden ersten Datenstromabschnitt
DA1 eingefügt.
Halbrunde Pfeile in 2C verdeutlichen diesen Zusammenhang
bildlich. In diesem Beispiel kann für H.264 der zweite Datenstromabschnitt
DA2 mit der Markierungsinformation durch eine NAL-Einheit mit einem
NAL-Type "nal-unit_type
= 30" gebildet werden.
-
Der
markierte Datenstrom DS umfasst somit die ersten und zweiten Datenstromabschnitten
DA1, DA2, wobei markierte Datenstromabschnitt MDA mit Hilfe der
Markierungsinformation MI im markierten Datenstrom DS lokalisiert
werden können.
-
Dieser
markierte Datenstrom DS kann von einem die Enkodiervorrichtung ENC
umfassenden Sender 5 an einen Empfänger E übermittelt werden. Der Sender
S kann in Form eines On-Demand Servers und der Empfänger E als
Set-Top-Box ausgestaltet sein. Die Übermittlung des markierten
Datenstroms DS erfolgt bspw. über
das IP-basierte Internet (IP – Internet
Protocol).
-
Die
Enkodiervorrichtung ENC wird bspw. mittels des ersten Kodiermoduls
ENCA und des zweiten Kodiermoduls ENCB realisiert. Das erste Enkodiermodul
ENCA umfasst ein handelsübliches
Kodiermodul, z.B. gemäß einem
standardisierten Videokodierstandards. Ein durch das erste Kodiermodul
ENCA generierte kodierte Datenstrom DC wird dem zweiten Kodiermodul
ENCB zugeführt.
Dieses zweite Kodiermodul ENCB wählt
einen oder mehrere zu markierende erste Datenstrombereiche in dem
generierten Datenstrom aus und fügt
bzw. gemäß 2B Markierungsinformation
in den generierten Datenstrom hinzu. Das zweite Ko diermodul ENCB
wählt die
zu markierenden ersten Datenstromabschnitte bspw. gemäß einer
Kodiereigenschaft aus. Die Verwendung von Kodiereigenschaften wird
an späterer
Stelle erläutert.
Das zweite Kodiermodul ENCB generiert den markierten Datenstrom
DS.
-
Im
Empfänger
E wird der empfangene markierte Datenstrom DS einer Einfügevorrichtung
WE zum Einfügen
des Wasserzeichens zugeführt.
Das Einfügen
des Wasserzeichens in den markierten Datenstrom wird mit Hilfe von 3 anhand
von der jeweils den markierten Datenabschnitten MDA vorangestellten
Markierungsinformation MI gemäß einem Ausführungsbeispiel
nach dem Videokodierstandard H.264 näher erläutert. Hierbei ist der markierte
Datenstrom DS gemäß 2B gebildet
worden, wobei als zweite Datenstromabschnitte DA2 zur Markierung der
markierten Datenstromabschnitte MDA NAL-Einheiten mit einer SEI-Nachricht, umfassend
bspw. einen "payloadType
= 22", als Markierungsinformation MI
eingefügt
worden sind.
-
Nach
dem Start des Ablaufdiagramms gemäß 3 im Zustand
STA wird in einem ersten Schritt S1 eine NAL-Einheit von dem markierten
Datenstrom DS eingelesen. In einem zweiten Schritt S2 wird der spezielle
Typ der eingelesenen NAL-Einheit ermittelt. Handelt es sich um einen
SEI-Typ mit dem "payloadType
= 22", so wird hieraus
geschlossen werden, dass dies der vorangestellten Markierungsinformation
MI des markierten Datenstromabschnitts MDA entspricht. In diesem
Fall wird ein dritter Schritt S3 aufgerufen. Ansonsten wird mit
einem Schritt S7 fortgefahren.
-
Im
dritten Schritt S3 wird die nächste NAL-Einheit
eingelesen. Daran anschließend
wird diese neu eingelesene NAL-Einheit,
die dem markierten Slice bzw. markierten Datenstromabschnitt MDA
entspricht, dekodiert. Die Dekodierung wird im vierten Schritt S4
durchgeführt.
Im fünften
Schritt S5 wird ein Wasserzeichen WM in den dekodierten Slice eingebettet.
Verfahren hierzu sind beispielsweise aus [1] bekannt. In ei nem nachfolgenden
Schritt S6 wird der mit dem Wasserzeichen vermischte Slice kodiert.
-
Im
siebten Schritt S7 werden die neu kodierten Slices, d.h. neu kodierten
NAL-Einheiten, und die nicht bearbeiteten NAL-Einheiten in ihrer eingelesenen Reihenfolge
zu einem modifizierten kodierten Datenstrom DS' zusammengefügt. Im achten Schritt S8 wird überprüft, ob das
Ende des markierten Datenstroms DS erreicht ist. Ist dies der Fall,
so wird das Ablaufdiagramm im Zustand END beendet. Ansonsten wird
das Ablaufdiagramm mit dem ersten Schritt S1 fortgesetzt.
-
Im
Ausführungsbeispiel
gemäß 3 werden
diejenigen zweiten Datenstromabschnitte DA2, welche die Markierungsinformation
MI für
die zu markierenden Datenstromabschnitte MDA umfassen, in den modifizierten
kodierten Datenstrom DS' nicht übernommen.
Optional dazu werden auch diese zweiten Datenstromabschnitte DS2
in den modifizierten kodierten Datenstrom DS' eingefügt, da ein nachgeschalteter
Decoder DEC, der aus dem modifizierten kodierten Datenstrom DS' einen dekodierten
Datenstrom D' generiert,
die zweiten Datenstromabschnitte DA2 mit den Markierungsinformationen bei
der Dekodierung ignoriert. Der dekodierte Datenstrom D' umfasst beispielsweise
unkodierte Bilddaten, z.B. mit jeweils einem 8bit Farbwert für die Farben
Rot, Grün
und Blau für
jeden Bildpunkt der unkodierten Bilddaten. Neben dieser Darstellung
können auch
Luminanz- und Crominanzwerte einen Bildpunkt beschreiben. Einem
Fachmann sind weitere Darstellungsformen bekannt.
-
Mit
Hilfe von 4 wird im Folgenden eine Vorgehensweise
zur Einfügung
von Wasserzeichen in den markierten Datenstrom mit Hilfe von nachgestellten
Markierungsinformationen MI näher
beschrieben. Hierbei zeigt der markierte Datenstrom DS einen Aufbau
gemäß 2C.
Dabei werden die zweiten Datenstromabschnitte mit der Markierungsinformation
DA2(MI) jeweils mit Hilfe einer NAL-Einheit von einem "nal_unit_type = 30" repräsentiert. Nach
dem Start dieses Ablaufdiagramms im Zustand STA wird im neunten
Schritt S9 zunächst
eine erste NAL-Einheit eingelesen. Im darauf folgenden zehnten Schritt
S10 wird überprüft, ob das
Ende des markierten Datenstroms DS erreicht ist. Ist dies der Fall, so
wird die erste eingelesene NAL-Einheit im achtzehnten Schritt S18
an das Ende des modifizierten kodierten Datenstroms DS' eingefügt. Anschließend wird
das Ablaufdiagramm mit einem Zustand END beendet.
-
Ist
im zehnten Schritt S10 das Ende des markierten Datenstroms DS nicht
erreicht, so wird im elften Schritt S11 eine zweite NAL-Einheit
eingelesen. Diese zweite NAL-Einheit wird im zwölften Schritt S12 dahingehend überprüft, ob sie
einem speziellen NAL-Typ, zum Beispiel einem NAL-Typ mit einer "nal_unit_type = 30", entspricht. Ist
dies nicht der Fall, so handelt es sich bei der zweiten NAL-Einheit
um keinen zweiten Datenstromabschnitt DS2, der eine Markierungsinformation
MI umfasst. In diesem Fall wird mit einem siebzehnten Schritt S17
fortgefahren, in dem die erste eingelesene NAL-Einheit an das Ende
des modifizierten kodierten Datenstroms DS' angefügt wird. Anschließend wird
im einundzwanzigsten Schritt S21 geprüft, ob das Ende des markierten
Datenstroms DS erreicht ist. Falls dies der Fall ist, wird in einem
dreiundzwanzigsten Schritt S23 die zweite NAL-Einheit an das Ende
des modifizierten kodierten Datenstroms DS' angefügt und das Ablaufdiagram mit
dem Zustand END terminiert. Ist das Ende im Schritt S21 nicht festgestellt
worden, so wird im zweiundzwanzigsten Schritt S22 die zweite NAL-Einheit
zur ersten NAL-Einheit. Dann wird mit dem elften Schritt S11 fortgesetzt.
-
Für den Fall,
dass im zwölften
Schritt S12 ein zweiter Datenstromabschnitt DA2 mit einer Markierungsinformation
MI detektiert wurde, so wird mit einem dreizehnten Schritt S13 fortgefahren.
Hierbei wird die erste NAL-Einheit, die dem markierten Slice MDA
entspricht, dekodiert oder zumindest teilkodiert. Im vierzehnten
Schritt S14 wird das Wasserzeichen WM in den dekodierten Slice eingebettet
und der mit dem eingebetteten Wasserzeichen versehene Slice im fünfzehnten
Schritt S15 kodiert. Im Anschluss daran wird im sechzehnten Schritt S16
der kodierte Slice an das Ende des modifizierten kodierten Datenstroms
DS' gesetzt. Im
Anschluss daran wird im neunzehnten Schritt S19 überprüft, ob das Ende des markierten
Datenstroms DS erreicht ist. Wie zuvor erläutert, wird hierbei entweder
das Ablaufdiagramm im Zustand END beendet oder das Ablaufdiagramm
mit dem neunten Schritt S9 fortgesetzt.
-
In
einer Erweiterung des Ablaufdiagramms gemäß 4 kann zwischen
den Schritten S19 und S9 ein zwanzigster Schritt S20 eingefügt werden. Schritt
S20 ist gestrichelt gezeichnet. Hierbei wird die zweite NAL-Einheit
optional an das Ende des modifizierten kodierten Datenstroms DS' angefügt und kann
bei einer späteren
Dekodierung unberücksichtigt
bleiben. Die Verwendung dieser Option kann in der Praxis zweckmäßig sein,
da mit Hilfe der zweiten Datenstromabschnitte, die die Markierungsinformation
umfassen, die markierte Datenstromabschnitte, z.B. zu Prüfzwecken
oder bei Änderung
des Wasserzeichens, im modifizierten, kodierten Datenstrom rasch
und einfach aufgefunden werden können.
-
Wie
anhand der 2 bis 4 erläutert, können Slices
in Form von markierten Datenstromabschnitten MDA mit dem Wasserzeichen
verknüpft werden.
Ein Slice umfasst einen oder mehrere Makroblöcke, wobei je Makroblock mehrere
Bildblöcke BB1,
... BBn enthalten sind. Gemäß einer
Erweiterung kann die Markierungsinformation MI ferner eine Information
enthalten, welche Bildblöcke
beziehungsweise Makroblöcke
eines Slices bei der Verknüpfung
mit dem Wasserzeichen verwendet werden sollen. Dabei kann zwar der
komplette Slice dekodiert werden, eine Einbettung des Wasserzeichens findet
nur bei den Bildblöcken
bzw. Markoblöcken statt,
die anhand der Markierungsinformation MI gekennzeichnet worden sind.
Dabei kann innerhalb der Markierungsinformation ein Zusatzfeld eingefügt werden,
welches für
jeden im Slice enthaltenen Bildblock durch eine bspw. binäre Angabe
anzeigt, ob der jeweilige Bildblock geeignet ist mit dem Wasserzeichensignal
verknüpft
bzw. nicht verknüpft
zu werden. Nur wenn der jeweilige Bildblock zur Verknüpfung geeignet
ist kann eine Verknüpfung überhaupt durchgeführt werden,
wobei nicht jeder Bildblock, der zur Verknüpfung geeignet ist, zwangsweise
mit einem Wasserzeichen versehen werden muss. Die Einfügevorrichtung
WE entscheidet bspw. nur jeden dritten geeigneten Bildblock oder
markierten Datenstromabschnitt mit einem Wasserzeichen zu vermischen. Ferner
kann die Einfügevorrichtung
WE anhand einer Komplexität
zur Durchführung
des Vermischens entscheiden, welche markierten Datenstromabschnitte bzw.
zum Vermischen geeignete Blöcke
mit dem Wasserzeichen vermischt werden, wobei die Komplexität zum Durchführen des
Vermischens einen vorgebbaren Schwellwert nicht überschreitet.
-
In 5 ist
exemplarisch ein zweiter Datenstromabschnitt DA2 abgedruckt, der
neben dem NAL-Typ "NT
= nal_unit_type = 30" ein
Angabefeld AF umfasst, das jeweils ein Bit für einen jeweiligen Bildblock
im dazugehörigen
Slice repräsentiert.
Das erste Bit mit einem Wert "0" zeigt an, dass ein
erster Bildblock im Slice nicht mit einem Wasserzeichen versehen
werden soll. Das zweite Bit, mit einem Wert "1",
zeigt an, dass der zweite Bildblock im Slice mit dem Wasserzeichen
verknüpft
werden soll. Die weiteren Bits sind entsprechend auf weitere Bildblöcke im Slice
anzuwenden. So kann das Feld AF = "0, 1, 1, 0, 0" betragen.
-
Im
obigen Ausführungsbeispiel
ist durch einen zweiten Datenstromabschnitt DA2, der eine Markierungsinformation
MI umfasst, explizit angegeben worden, dass der zum zweiten Datenstromabschnitt DA2
dazugehörige
erste Datenstromabschnitt DA1 markiert werden soll. In einer Variante
hierzu kann der markierte Datenstromabschnitt dadurch lokalisiert
und detektiert werden, dass anhand zumindest einer vorgebaren spezifischen
Kodierungseigenschaft des ersten Datenstromabschnitts erkannt wird, dass
es sich bei diesem ersten Datenstromabschnitt um einen markierten
Datenstromabschnitt handelt bzw. nicht handelt. Beispielsweise werden
in einem markierten Datenstromabschnitt immer vier Makroblöcke kodiert.
Hingegen werden nicht markierte Datenstromabschnitte immer mit einer
Anzahl an Makroblöcken
ungleich vier kodiert. Einem Fachmann auf dem Ge biet der Videokodierung
beziehungsweise von anderen Kodierverfahren sind neben der Festlegung
einer Anzahl von Makroblöcken
pro markierten Datenstromabschnitt andere Kodierungseigenschaften
bekannt, die zur Unterscheidung zwischen markierten und nicht markierten
Datenstromabschnitten genutzt werden können. Beispielsweise wird eine
bestimmte Blockgröße der kodierten
Bildblöcke
oder ein Quantisierungswert alternativ oder zusätzlich zur Anzahl der Makroblöcke pro
markiertem Datenstromabschnitt herangezogen.
-
Durch
die Verwendung von markierten Datenstromabschnitten MDA wird es
der Einfügevorrichtung
WE erheblich erleichtert, markierte Datenstromabschnitte lediglich
anhand der Markierungsinformation zu detektieren. Diese Vorgehensweise
ist rechentechnisch wenig komplex und benötigt eine geringe Speichergröße zum Zwischenspeichern
von ersten beziehungsweise von zweiten Datenstromabschnitten.
-
In
einer Erweiterung kann eine Komplexität zum Einfügen von Wasserzeichen dadurch
reduziert werden, dass markierte Datenstromabschnitte in einfacher
Weise dekodierbar und enkodierbar sind. Dies wird beispielsweise
dadurch erreicht, dass eine geringe Anzahl von Markoblöcken oder
Bildblöcken
pro markiertem Datenstromabschnitt MDA verwendet wird. Ferner kann
durch Verwendung von Bildblöcken
mit einer Mindestgröße innerhalb
der markierten Datenstromabschnitte eine weitere Reduktion der Verarbeitungskomplexität zum Dekodieren
und Enkodieren der Bildblöcke
von markierten Datenstromabschnitten erzielt werden. Des Weiteren
kann eine Vereinfachung dadurch ermöglicht werden, dass die einzelnen
Bildblöcke
des markierten Datenstromabschnitts mittels eines Intrakodiermodus
erstellt werden. Hierbei muss bei Auswahl des zu markierenden Datenstromabschnitts
nicht auf Kodierungsabhängigkeiten,
z.B. zu einem zeitlich vorausgehenden Bild, Rücksicht genommen werden. Eine
weitergehende Vereinfachung zur Enkodierung bzw. Dekodierung eines
markierten Datenstromabschnitts kann dadurch erlangt werden, dass
keine arithmetische Kodierung eingesetzt wird. Dies hat insbesondere den
Vorteil, dass bei spielsweise eine blockweise Verarbeitung von Bildblöcken innerhalb
des markierten Datenstromabschnitts ohne eine aufwendige Dekodierung
aller Bildblöcke
des markierten Datenstromabschnitts vorgenommen werden kann. Insbesondere
eine explizite Angabe der Markierungsinformation für diejenigen
Bildblöcke,
die mit dem Wasserzeichen verknüpft
werden soll, ist eine erhebliche Vereinfachung der Verarbeitungskomplexität erzielbar.
-
In 6 sind
zwei Realisierungsvarianten der Erfindung abgebildet. Der Sender
S, z.B. eine Videoserver, umfasst die Vorrichtung zum Generieren des
markierten Datenstroms. Der markierte Datenstrom kann über ein
Netzwerk NET, z.B. ein IP-basiertes
LAN (IP – Internet
Protocol, LAN – Local
Area Network), zu dem Empfänger,
z.B. einer Set-Top-Box oder einem Computer, übertragen werden. Alternativ dazu
kann der markierte Datenstrom von einer Basisstation BS drahtlos
an den Empfänger
E, z.B. einem Mobilfunkgerät,
verschickt werden, wobei die drahtlose Übertragung MOB z.B. nach dem
GSM-, UMTS oder WLAN-Standard ausgeführt ist (WLAN – Wireless
Local Area Network, GSM – Global
System for Mobile Communication, UMTS – Universal Mobile Telecommunications
System).
-
Der
Empfänger
E umfasst die Einfügevorrichtung
WE und optional den Decoder DEC. Hiermit wird es ermöglicht,
dass ein benutzerspezifisches Wasserzeichen durch den Empfänger, d.h.
durch das Teilnehmergerät,
eingefügt
werden kann. In einer weiteren Ausführungsform kann die Einfügevorrichtung
im Sender S integriert, so dass im jeweiligen Empfänger E lediglich
der Dekoder DEC benötigt wird.
-
Zitierte Literatur:
-
- [1] S. Arena M. Caramma, "Digital watermarking applied to MPEG-2
coded video sequences exploiting space and frequency masking", Proc. Int. Conf.
On Image Processing (ICIP-2000), Vol. 3, pp. 438-441, Vancouver,
Canada, 2000;
- [2] US 2003/0099373A1