Beschreibung
Generische Datenstrombeschreibung
Die Erfindung betrifft die Beschreibung von Datenstromen.
In Devillers S.: "Bitstream Syntax Definition Language: An Input to MPEG-21 Content Representation" ist ein Verfahren beschrieben, mit dem auf Basis einer Sprache BSDL (Bitstream Description Language) zur Beschreibung von Datenstromen Adaptationsvorgange für gegebene Medienstrome durchgeführt werden können. Hierzu werden Transformationsbeschreibungen benutzt, die beispielsweise in der Sprache XSL (Extensible Stylesheet Language) geschrieben sein können. XSL-Transformationen wer- den m "XSL Transformations (XSLT)" Version 1.0, 3C Recom- mendation vom 16. November 1999 erläutert. Die Transformationsbeschreibungen werden verwendet, um ein zu einer medien- stromspezifischen BSDL-Ausfuhrung konformes, das heißt einem Schema gemäß "XML Schema Language" 3C Recommendation vom 2. Mai 2001 bzw. einer DTD (Dcoument Type Definition) entsprechendes, XML-Dokument in ein adaptiertes XML-Dokument zu transformieren. Dieses Dokument wird dann wiederum benutzt, um mit Hilfe der BSDL-Ausfuhrung aus einem ersten Datenstrom einen transformierten Datenstrom zu erzeugen.
Mit Bezug auf Figur 1 wird dieser Ablauf naher erläutert. Ein erster Datenstrom a_l in Form eines binaren Bitstroms wird einem ersten Bitstromparser BP_1 zugeleitet. Unter Verwendung eines BSDL-Schemas BSDL_a erzeugt der Bitstromparser BP_1 aus dem ersten Datenstrom a_l eine erste Datenstrombeschreibung BSD_1/1 für den ersten Datenstrom in Form eines XML- Dokuments. Ein XSL-Prozessor XSLP erzeugt dann aus der ersten Datenstrombeschreibung BSD_1/1 für den ersten Datenstrom unter Verwendung eines XSLT-Style-Sheets XSL eine zweite Daten- Strombeschreibung BSD_l/2 für den ersten Datenstrom. Ein zweiter Bitstromparser BP_2 transformiert schließlich den ersten Datenstrom a 1 unter Verwendung des BSDL-Schemas
BSDL_a und der zweiten Datenstrombeschreibung BSD_l/2 für den ersten Datenstrom in den zweiten Datenstrom a_2.
Dieses Verfahren kann beispielsweise dazu eingesetzt werden, eine auf einem Medienserver vorliegende Instanz eines Medienstroms, beispielsweise eines Videostroms, an die Anforderungen eines anfragenden Clients derart anzupassen, dass nach der Adaption beispielsweise das Bildformat des Videostroms der am Endgerät vorhandenen Bildschirmauflösung entspricht oder beispielsweise die auf dem Ubertragungsweg vom Server zum Client bevorzugte Bitrate optimal genutzt wird.
Ein Beispiel für einen Teil einer ersten Datenstrombeschreibung BSD_1/1 in Form eines Auszugs aus einem XML-Dokument ist in Figur 2 gegeben. In diesem Beispiel wird der Datenstrom durch das Element „Bitstrea * beschrieben. Des Element „Bitstream* enthält weitere Elemente, die spezifisch sind für den beschriebenen Bitstrom. So wird in diesem Beispiel ein MPEG-4-Bitstrom beschrieben. Daher enthält das Element „Bitstream'* weitere Elemente wie „I_VOP,Ä , „P VOP* oder
„B_VOP* . Die Inhalte dieser bitstromspezifischen Elemente umfassen eine Zeichenkette wie beispielsweise „akiyo .mpg4#18- 4658", die eine Referenz in einen Bitstrom darstellt. Hierzu setzt sich die Zeichenkette aus einem Verweis auf den Datenstrom (Zeichekette vor dem Separator λff' , z.Bsp. akiyo.mpg4) und einer Referenz auf den durch das Element klassifizierten Datenstro teilbereich in Form einer Start- und Endadresse im Datenstrom (z.B. 18 und 4658) zusammen.
Die dargestellte Datenstrombeschreibung weist allerdings Nachteile auf. So ist es nicht möglich, innerhalb der Beschreibung BSDL_1/1 den Elementen zusätzlich zu ihrem Namen weitere Markierung, z.B. hinsichtlich ihrer Wichtigkeit für die Gesamtpräsentation des Medienstroms, hinzuzufügen.
Die Aufgabe ist es daher, eine neue, verbesserte Beschreibungssprache für Datenströme zur Verfügung zu stellen, die die beschriebenen Nachteile vermeidet.
Diese Aufgabe wird durch die in den unabhängigen Ansprüchen angegebenen Erfindungen gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den Unteransprüchen.
Der Erfindung liegt der Gedanke zugrunde, sich bei den Ele- menten der Beschreibungssprache von den Einschränkungen zu lösen, die sich dadurch ergeben, dass man die Klassifikation der Datenstromteilbereiche lediglich nach Informationen vornimmt, die sich aus dem Datenstrom ergeben, und dadurch von der vom Format, dem Inhalt oder der Bedeutung des Datenstroms vorgegebenen Syntax unabhängig zu werden.
Demgemäss enthält ein Datenstrom Datenstromteilbereiche, die referenzierbar und klassifizierbar sind. Er weist weiterhin eine Datenstromsyntax auf, die durch das Format und/oder den Inhalt des Datenstroms gegeben ist. Zumindest einige Datenstromteilbereiche werden referenziert. Das heißt, sie werden mit einer Referenz versehen, die sie eindeutig identifizierbar macht. Prominentestes Beispiel für eine solche Referenz ist die Beschreibung der Lage eines Datenstromteilbereiches im Datenstrom durch Adressdaten. Die Datenstromteilbereiche werden darüber hinaus durch eine Einteilung in zumindest eine Klasse einer Klasseneinteilung klassifiziert. Durch die Einteilung in eine Klasse wird ihnen eine durch die Klasse vorgegebene und für sie charakteristische Eigenschaft zugeord- net. Die Klasseneinteilung ist zumindest teilweise unabhängig von der Syntax des Datenstroms, so dass die Klasseneinteilung unabhängig von der syntaktischen Bedeutung der Datenstromteilbereiche innerhalb des Datenstroms ist. Das heißt, sie folgt nicht der Struktur und Syntax des zu beschreibenden Da- tenstroms, sondern enthält Klassen, die unabhängig vom Aufbau, insbesondere vom Codierungsformat, des Datenstroms sind und inhaltlich nicht mit ihm in Zusammenhang stehen.
Die Bedeutung der Klassen muss hierbei nicht ausschließlich aus der Datenstrombeschreibung hervorgehen. Ganz im Gegenteil ist es ein besonderer Vorteil des Verfahrens, dass mit solchen Beschreibungen Transformationen von Datenströmen sogar durchgeführt werden können, ohne dass die Bedeutung der Klassen bekannt ist. Alternativ oder ergänzend kann es vorgesehen sein, dass die Bedeutung einzelner Klassen von einer Quelle außerhalb des Datenstroms bezogen wird.
Vorzugsweise wird die Klassifizierung vorgenommen, indem den Datenstromteilbereichen Marker zugeordnet werden, die jeweils den einzelnen Klassen zugeordnet sind. So enthält ein Element der Datenstrombeschreibung, das einen Datenstromteilbereich referenziert und klassifiziert, neben der Referenz, die beispielsweise als Adressangabe ausgebildet ist, die Klasse in Form des Markers, dem ein Wert zugewiesen ist, der die Klasse festlegt.
Zumindest einer der Datenstromteilbereiche wird in mehrere Klassen eingeteilt, wozu ihm insbesondere mehrere Marker zugeordnet werden. So lassen sich dem Datenstromteilbereiche mehrere Eigenschaften zuordnen, die durch die Klassenzugehörigkeiten gegeben sind.
Weiterhin ist es vorteilhaft, zumindest eine der Klassen in Unterklassen zu unterteilen und zumindest einem der Datenstromteilbereiche eine dieser Unterklassen zuzuordnen. So lassen sich den jeweiligen Anwendungszwecken entsprechende, kaskadierende Baumstrukturen aufbauen.
Zumindest einer der Datenstromteilbereiche kann in der Beschreibung in Datenstromunterteilbereiche unterteilt beschrieben werden, die ihrerseits klassifiziert werden. So lässt sich auch auf der Ebene der Datenstromteilbereiche eine Baumstruktur generieren.
Auch wenn man sich bei den Regeln für die Beschreibung des Datenstroms von dessen Datenstromsyntax lösen will, so kann man trotzdem Informationen über die jeweilige Datenstromsyntax der Datenstromteilbereiche in die Beschreibung aufnehmen, wenn diese später doch noch verwertet werden sollen. Dadurch wird die Flexibilität des Verfahrens mit dem Informationsgehalt der eingangs geschilderten Methode verknüpft. Die Informationen lassen sich beispielsweise dadurch aufnehmen, dass das jeweils einen Datenstromteilbereich beschreibende Element der Datenstrombeschreibung neben einem Element und/oder Attribut für die Referenzierung und einem Element und/oder Attribut für die Klassifizierung unabhängig von der Datenstromsyntax noch ein Element und/oder Attribut aufweist, das von der Datenstromsyntax abhängig ist, indem sein Wert die syn- taktische Einordnung des Datenstromteilbereiches im Datenstrom angibt.
Weiterhin ist es vorteilhaft, wenn zumindest einem der Datenstromteilbereiche ein Wert zugeordnet wird, der dem vom Da- tenstromteilbereich repräsentierten Wert im Datenstrom entspricht.
Die Referenzierung kann, wie bereits geschildert, zumindest eines der Datenstromteilbereiche zumindest eine Adressangabe über die Position des Datenstromteilbereichs im Datenstrom enthalten.
Alternativ oder zusätzlich kann die Referenzierung zumindest eines der Datenstromteilbereiche die Angabe enthalten, dass der Datenstromteilbereich sich dem Ende des vorhergehenden Datenstromteilbereichs anschließt .
Alternativ oder zusätzlich kann die Referenzierung zumindest eines der Datenstromteilbereiche Angaben über die Länge des Datenstromteilbereichs enthalten.
Die Beschreibung des Datenstroms erfolgt vorzugsweise in XML (Extensible Markup Language) , wozu ein XML-Dokument generiert wird oder vorliegt.
In XML kann jeder Datenstromteilbereich durch ein Element beschrieben werden. Er kann darüber hinaus durch weitere Elemente weiter beschrieben werden, die seine Datenstromunter- teilbereiche beschreiben.
Die einzelnen Datenstromteilbereiche lassen sich durch Elemente und/oder Attribute referenzieren, denen zur Referenzierung ein Wert zugewiesen wird.
Die Datenstromteilbereiche können auch durch Elemente und/oder Attribute klassifiziert werden, denen zur Klassifizierung ein Wert zugewiesen wird.
Jedem Wert sollte für eine eindeutige Klasseneinteilung eine Klasse entsprechen.
Der Datenstrom ist vorzugsweise ein Datensatz, Bit-, Medien-, Audio-, Bild- und/oder Videostrom. Seine Beschreibung kann dann dazu dienen, seine Auflösung zu verringern, die Reihenfolge seiner Datenstromteilbereiche umzustellen, gewalttätige Inhalte auszufiltern oder den Datenstrom in sonstiger Weise spezifischen Bedürfnissen anzupassen.
Der Datenstrom ist insbesondere im MPEG-4-, MPEG-2-, MPEG-1- oder JPEG2000-Standard codiert.
Ein Datenstrombeschreibung zur Beschreibung eines Datenstroms, dass nach einem der zuvor geschilderten Verfahren herstellbar ist, kann ganz besonders gut in einem Verfahren zur Transformation eines ersten Datenstroms in einem zweiten Datenstromeingesetzt werden. Dabei enthält der erste Datenstrom Datenstromteilbereiche, die referenzierbar und/oder klassifizierbar sind. Auch der zweite Datenstrom enthält Da-
tenstromteilbereiche, die referenzierbar und/oder klassifizierbar sind. Es ist dann eine Datenstrombeschreibung für den ersten Datenstrom vorgesehen, in der zumindest einige, vorzugsweise zumindest nahezu alle, der Datenstromteilbereiche im ersten Datenstrom referenziert und/oder klassifiziert sind. Der erste Datenstrom wird durch eine Datenstromtrans- formation in den zweiten Datenstrom transformiert. Dabei können beispielsweise wie bei den im Stand der Technik beschriebenen Verfahren Inhalte ausgefiltert, eine Bildauflösung re- duziert und/oder die Reihenfolge der Daten im Datenstrom umsortiert werden. Es wird eine erste Datenstrombeschreibung für den zweiten Datenstrom erzeugt, in der zumindest einige, vorzugsweise zumindest nahezu alle, der Datenstromteilbereiche im zweiten Datenstrom referenziert und/oder klassifiziert sind.
Eine Vorrichtung, die eingerichtet ist, ein Verfahren der zuvor geschilderten Art auszuführen, lässt sich beispielsweise dadurch ausführen, dass für jeden der genannten Verfahrens- schritte entsprechende Mittel vorgesehen werden, die die Verfahrensschritte ausführen. Vorteilhafte Ausgestaltungen der Vorrichtung ergeben sich analog zu den vorteilhaften Ausgestaltungen des Verfahrens.
Ein Programmprodukt für eine Datenverarbeitungsanlage, das Softwarecodeabschnitte enthält, mit denen eines der geschilderten Verfahren auf der Datenverarbeitungsanlage ausgeführt werden kann, lässt sich durch geeignete Implementierung des Verfahrens in einer Programmiersprache und Übersetzung in von der Datenverarbeitungsanlage ausführbaren Code ausführen. Die Softwarecodeabschnitte werden dazu gespeichert. Dabei wird unter einem Programmprodukt das Programm als handelbares Produkt verstanden. Es kann in beliebiger Form vorliegen, so zum Beispiel auf Papier, einem computerlesbaren Datenträger oder über ein Netz verteilt.
Weitere wesentliche Vorteile und Merkmale der Erfindung ergeben sich aus der Beschreibung eines Ausführungsbeispiels anhand der Zeichnung. Dabei zeigt:
Figur 3 ein Auszug aus einer Beschreibung für einen Datenstrom und
Figur 4 ein Verfahren zur Transformation eines ersten Datenstroms in einen zweiten Datenstrom, bei dem eine Beschreibung für einen Datenstrom verwendet wird.
Vor der detaillierten Beschreibung der Figuren sollen zuerst allgemein mögliche Ausgestaltungen eines Verfahrens zur Beschreibung eines Datenstroms dargestellt werden.
Die Struktur der Datenstrombeschreibung, das heißt die Strukturvorgabe BSDL, ist zumindest teilweise generisch, also unabhängig von speziellen Codierformaten, insbesondere unabhängig vom Codierformat des beschriebenen Datenstroms. Dennoch wird eine Typisierung der Elemente hinsichtlich spezifischer Codierformate ermöglicht.
Dazu wird einem Datenstromteilbereich a_l [x] des Datenstroms a_l ein Marker ms_l [x] zugewiesen, der die Bedeutung des Datenstromteilbereichs a_l [x] für den Datenstrom a_l spezifi- ziert. Dieser Marker ms_l [x] muss nicht generisch, sondern kann bitstromspezifisch sein, z.B. kann ein VOP in einem MPEG-4 Videostrom gekennzeichnet werden. Hiermit kann in der Einleitung beschriebene Verfahren zur Transformation von Datenstromen unterstützt werden. Dadurch ergibt sich der Vor- teil, dass die Beschreibung des Datenstroms, insbesondere die Klasseneinteilung, generisch ist und nur die Werte der Marker ms_l[x] beispielsweise basierend auf einem Klassifikationsschema variieren können. Somit kann die Sprache unabhängig von der Art des Bitstroms a_l mit einem bitstrom-unabhängigen Prozessor geparst werden.
Die Beschreibung des Datenstroms kann dabei die folgenden besonderen Eigenschaften aufweisen:
- Die Datenstrombeschreibung weist Datenstromteilbereichen a_l[x] im Datenstrom a_l einen oder mehrere Marker m_l[i] zu. Die Marker m_l[i] werden genutzt um die Anweisungen der Transformationsbeschreibungen XSL auf den Datenstrom zu übersetzen. Eine Interpretation der Bedeutung eines Markers m_l[i] und/oder des Datenstromteilbereichs a_l[x] für den Datenstrom a_l ist hierbei nicht notwendig und nicht notwendigerweise vorhanden.
- Der gleiche Marker m_l[i] kann für mehrere Datenstromteilbereiche, z.B. a_l[x] und a_l[y] benutzt werden, wenn beispielsweise die unterschiedlichen Datenstromteilbereiche a_l [x] und a_l[y] zu einer semantischen Einheit im Daten- ström a_l gehören oder beispielsweise syntaktische Elemente des gleichen Typs umfassen.
- Ein mit dem Marker m_l[i] gekennzeichneter Datenstromteilbereich a_l [x] kann Datenstromunterteilbereiche a_l[z] enthalten, die wiederum mit Markern m_l[j] gekennzeichnet sind. Dies ist beispielsweise vorteilhaft hinsichtlich der Ausführungsgeschwindigkeit der Transformation, wenn durch unterschiedliche Transformationsbeschreibungen XSL mit unterschiedlicher Granularität Transformationen durchgeführt werden können. In einer Ausführungsmöglichkeit können die- se Datenstromteilbereiche a_l[z] ausgehend von der Kennzeichnung des Datenstromteilbereichs a_l [x] rekursiv gekennzeichnet werden.
- Einem Datenstromteilbereich a_l [x] kann ein Wert v[x] zugeordnet werden, der beispielsweise dem durch a_l[x] im Bitstrom repräsentierten Wert entspricht. Bei einer Transformation, z.B. mit XSLT, kann dieser Wert verändert werden.
- Die Referenzierung in Form einer Adressierung der Datenstromteilbereiche a_l [x] kann in einer Ausführung in einer der folgenden Möglichkeiten realisiert werden:
Spezifikation des Anfangs und/oder Endes des Datenstromteilbereichs a_l[x] durch Abzählen von Einheiten vom Anfang des Datenstroms.
- Spezifikation des Anfangs und/oder Endes des Datenstrom- teilbereichs a_l [x] durch Abzählen von Einheiten vom Anfang des vorhergehenden Datenstromteilbereichs a_l [w] . Spezifikation des Anfangs und/oder Endes des Datenstromteilbereichs a_l[x] durch Abzählen von Einheiten vom Ende des vorhergehenden Datenstromteilbereichs a_l [w] . - Spezifikation des Anfangs und/oder Endes des Datenstromteilbereichs a_l[x] durch Abzählen von Einheiten vom Anfang des Datenstromteilbereichs a_l[a], in dem der Datenstromteilbereich a_l[x] enthalten ist. Spezifikation des Endes des Datenstromteilbereichs a_l [x] durch Abzählen von Einheiten vom Anfang des Datenstromteilbereichs a_l[x].
- Ohne explizite Spezifikation des Anfangs des Datenstromteilbereichs a_l[x] kann spezifiziert werden, dass der Anfang des Datenstromteilbereichs a_l[x] sich dem Ende des vorhergehenden Datenstromteilbereichs a_l [w] anschließt oder dem Anfang des Datenstromteilbereichs a_l[a] entspricht, wenn der Datenstromteilbereich a_l [x] als erster in dem Datenstromteilbereich a_l[a] enthalten ist. Die Spezifikationen dieser Werte kann durch Abzählen von Einheiten geschehen. Hierbei kann eine oder mehrere Einheiten, beispielsweise Bits oder Bytes, verwendet werden.
Es müssen in einer Beschreibung nicht alle der obigen Eigen- Schäften vorhanden sein, sondern die Strukturelemente, die diese Eigenschaften modellieren, können auch unabhängig voneinander eingesetzt werden.
Ein Ausführungsbeispiel einer Beschreibung eines Datenstroms in XML ist auszugsweise in Figur 3 dargestellt.
In diesem Beispiel beschreibt das Element „gBSD* einen MPEG-4 Bitstrom. Im Gegensatz zum eingangs erläuterten Beispiel nach dem Stand der Technik sind die (Beschreibungs-) Elemente (hier z.B. das „gBSDUnit* und das „Header* Element), die in dem Element „gBSD* enthalten sind, generisch und unabhängig vom beschriebenen Datenstrom.
Ein Element „gBSDUnit* beschreibt einen Datenbereich, der durch die Werte in den Attributen „start und „length* refe- renziert ist und der für die Adaption des Datenstroms als
Einheit genutzt werden kann. Die Elemente „gBSDUnit* können in diesem Beispiel mit einem Wert in dem Attribut „marker* klassifiziert werden. Abhangig von dieser Klassifizierung können einzelne Bereich im Datenstrom identifiziert werden und auf diesen Bereichen Adaptionsanweisungen ausgeführt werden. Wesentlich dabei ist, dass die Bedeutung der Klassifizierung in der Beschreibung gerade nicht enthalten ist.
Im Gegensatz dazu wird mit dem Wert in dem Attribut „syntac- ticalLabel* ein Datenbereich der durch ein Element „gBSDUnit* identifiziert ist, klassifiziert und eine Bedeutung zugewiesen. Im Beispiel ist die Bedeutung beispielsweise, das ein Datenbereich eine B_VOP (syntactιcalLabel=* :M4V: B VOP* ) im MPEG-4 Video (s. alias ":M4V:* bzw. "urn:mpeg:mpeg4 : vιdeo:cs: syntacticalLabels") Datenstrom repräsentiert.
Die referenzierten Datenbereiche und hiermit die Elemente „gBSDUnit* können ineinander Verschachtelt sein, wie bei- spielsweise die Elemente mit dem Marker E und die mit Marker A zeigen.
Mit Bezug auf Figur 4 wird eine Transformation beschrieben, bei der Beschreibungen BSD von Datenstromen eingesetzt und auch selbst transformiert werden. Man erkennt einen Encoder Enc, der einen ersten Datenstrom a_l und eine erste Datenstrombeschreibung BSD 1/1 für den ersten Datenstrom liefert.
Die erste Datenstrombeschreibung BSD_1/1 für den ersten Datenstrom, die den ersten Datenstrom a_l beschreibt und konform ist bezüglich einer Strukturvorgabe BSDL, wird zweifach verwendet: Zunächst wird die erste Datenstrombeschreibung BSD_1/1 für den ersten Datenstrom gemeinsam mit einer Daten- stromtransformationsbeschreibung XSL_a genutzt, um den ersten Datenstrom a_l in Form eines Medienstroms in einen zweiten Datenstrom a_2 in Form eines Medienstroms zu transformieren. Danach wird die erste Datenstrombeschreibung BSD_1/1 selbst unter Anleitung einer Datenstrombeschreibungstransformations- beschreibung XSL_b in eine erste Datenstrombeschreibung BSD_2/1 für den zweiten Datenstrom transformiert. Die Daten- strombeschreibungstransformationsbeschreibung XSL_b kann dabei vorteilhaft derart ausgeführt sein, dass die Datenstro - adressen in der ersten Datenstrombeschreibung BSD_2/1 für den zweiten Datenstrom korrekt in Bezug auf den zweiten Datenstrom a_2 sind. Auf diese Weise kann eine weitere Transformation, die entsprechend weitere Transformationsbeschreibungen in Form von Datenstromtransformationsbeschreibungen und Da- tenstrombeschreibungstransformationsbeschreibungen enthält, ohne zusätzliche Zwischenverarbeitungsschritte direkt und nach exakt der gleichen Vorgehensweise wieder durchgeführt werden. Somit ist eine direkte Kaskadierung von Transformationen auf eine einheitliche Weise möglich. Die Strukturvorgabe für die BSDL-Schemata entsprichtden geschilderten Beschreibungen von Datenströmen.
Die Datenstromtransformationsbeschreibung XSL_a und die Da- tenstrombeschreibungstransformationsbeschreibung XSL_b können vorab generiert oder aber durch eine Verarbeitungseinheit, die beispielsweise zusätzliche übermittelte Informationen ü- ber das anfragende Endgerät in einem Client-Server-Szenario berücksichtigt, automatisch erzeugt werden.
Falls die erste Datenstrombeschreibung BSDL_1/1 für den ersten Datenstrom nicht gleich bei der Erzeugung des ersten Datenstroms a 1 vom Encoder Enc bereitgestellt wird, kann sie
entsprechend dem Verfahren im Stand der Technik mittels eines Parsers aus dem ersten Datenstrom a_l erzeugt werden.
Im dargestellten Ausführungsbeispiel wird auf die Erzeugung von zweiten Datenstrombeschreibungen für den ersten und/oder zweiten Datenstrom vollständig verzichtet.
Die Datenstromtransformation des ersten Datenstroms a_l in den zweiten Datenstrom a_2 unter Verwendung der ersten Daten- Strombeschreibung BSD_1/1 für den ersten Datenstrom und der Datenstromtransformationsbeschreibung XSL_a erfolgt in einem XSL- und Datenstromprozessor XBP .
Die Datenstrombeschreibungstransformation der ersten Daten- Strombeschreibung BSD_1/1 für den ersten Datenstrom in die erste Datenstrombeschreibung BSD_2/1 für den zweiten Datenstrom erfolgt, insbesondere parallel dazu, in einem XSL- Prozessor XSLP.
Datenstromtransformation und Datenstro beschreibungstransfor- mation können auch in einem Prozess zusammengefasst sein.
Die Datenstromtransformationsbeschreibung XSL_a und die Da- tenstrombeschreibungstransformationsbeschreibung XSL_b können in einem Dokument zusammengefasst sein.