(19)
(11)EP 1 800 484 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
29.04.2020 Bulletin 2020/18

(21)Application number: 05803751.6

(22)Date of filing:  05.10.2005
(51)International Patent Classification (IPC): 
H04N 21/23(2011.01)
H04N 21/43(2011.01)
(86)International application number:
PCT/US2005/036249
(87)International publication number:
WO 2006/042160 (20.04.2006 Gazette  2006/16)

(54)

SYSTEM AND METHOD FOR IDENTIFYING AND PROCESSING DATA WITHIN A DATA STREAM

SYSTEM UND VERFAHREN ZUR DATENIDENTIFIZIERUNG UND ZUR VERARBEITUNG INNERHALB EINEM DATENSTROM

SYSTEME ET PROCEDE POUR IDENTIFIER ET TRAITER DES DONNEES DANS UN FLUX DE DONNEES


(84)Designated Contracting States:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

(30)Priority: 05.10.2004 US 615989 P

(43)Date of publication of application:
27.06.2007 Bulletin 2007/26

(73)Proprietor: Vectormax Corporation
Farmingdale, NY 11735 (US)

(72)Inventors:
  • RACHWALSKI, Jon
    Moriches, NY 11741 (US)
  • WITT, Daniel
    Center Moriches, NY 11934 (US)

(74)Representative: Vinsome, Rex Martin et al
Urquhart-Dykes & Lord LLP 12th Floor Cale Cross House 156 Pilgrim Street
Newcastle-upon-Tyne NE1 6SU
Newcastle-upon-Tyne NE1 6SU (GB)


(56)References cited: : 
EP-A- 1 039 750
US-A1- 2001 014 210
EP-A2- 1 276 327
US-A1- 2004 186 841
  
  • PANIS G ET AL: "Bitstream syntax description: a tool for multimedia resource adaptation within MPEG-21" SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, vol. 18, no. 8, September 2003 (2003-09), pages 721-747, XP004452907 ISSN: 0923-5965
  • DANNY HONG, ALEXANDROS ELEFTHERIADIS: "XFlavor : Providing XML features in Media Representation" DEPARTEMENT OF ELECTRICAL ENGINEERING COLUMBIA UNIVERSITY, [Online] 22 April 2004 (2004-04-22), pages 1-20, XP002365633 Retrieved from the Internet: URL:http://www.ee.columbia.edu/~danny/publ ications/mtap_2004.pdf>
  • FILIP HENDRICKX: "Technologies for multichannel publication" IMEC, [Online] 7 September 2004 (2004-09-07), pages 1-139, XP002365634 Retrieved from the Internet: URL:http://www.ist-ipmedianet.org/DB6.4_Co urse_Technologies-for-multichannel-publica tion.pdf>
  • AMIELH M ET AL: "Bitstream Syntax Description Language: Application of XML-Schema to Multimedia Content Adaptation", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON WORLD WIDE WEB, XX, XX, 8 May 2002 (2002-05-08), pages 1-14, XP002255244,
  
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description

Cross-Reference to Related Applications



[0001] This is a non-provisional application of U.S. Provisional Application Serial No. 60/615,989 filed October 5, 2004.

Field of the Invention



[0002] The present system relates to encoding video data and, more particularly, providing a mechanism for identifying and processing data within a data stream.

BACKGROUND OF THE INVENTION



[0003] A multimedia data stream is a stream of encoded video data able to be transmitted for receipt by a player application, typically a media player application. Prior to transmission of the multimedia data stream, the data stream is partitioned into a plurality of packets containing data representing a portion of a frame of the encoded video data. Both the stream itself and each respective packet of the stream includes a header that provides information representing stream syntax to the receiving system about the stream and/or packet being received. Existing systems encode this information in at least one of a text and binary format. However, these formats are problematic in that they are not easily upgradeable and require the player to be hard coded with a set of instructions able to decode the stream in the encoded format. Thus, the stream flexibility is reduced because stream proxies used to decode the data stream must be updated to handle any altered stream syntax or else are subject to failure.

[0004] Markup Languages are widely used languages that provide a way of depicting the logical structure or semantics associated with an element of data and provide instructions to a system on how to at least one of handle, process and display the received data stream. Examples of markup languages are Hypertext markup language (HTML), extensible Markup Language (XML) and Standard General Markup Language (SGML). Markup languages provide a mechanism for annotating data or a collection of digital data in order to indicate the structure of the document or datafile and the contents of its data elements. These languages are readily expandable. However, they are generally associated with a stream of data and not formed integral therewith. For instance, such a system is described in the article by Gabriel Panis et al: "Bitstream syntax description: a tool for multimedia resource adaptation within MPEG-21" in SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL - ISSN 0923-5965 Vol:18, Nr:8, Page(s):721-747. An example of an MPEG stream as discussed in the above article is given in European patent application No. 1039750.

[0005] A system according to invention principles address these deficiencies and associated problems.

SUMMARY OF THE INVENTION



[0006] The invention provides a system as defined in claim 1.

[0007] The invention also provides a system as defined in claim 9.

[0008] The invention further provides a method as defined in claim 11.

[0009] A system and method for encoding a video data stream. A determinator determines attributes associated with the video data stream. An encoder receives the attributes from the first determinator and encodes a stream header identifying stream syntax, the stream header being encoded in a markup language. A multiplexer combines the encoded stream headers with the video data stream to form a data stream, wherein the multiplexer positions the encoded stream header prior to a payload of the data stream, wherein the payload comprises the video data stream.

[0010] A system for decoding an encoded video data stream. A parser analyzes the received data stream and stream headers to determining the existence of markup tags identifying attributes of the received data stream and frames of the data stream. A decoder decodes the received data streams and markup tags. A display generator generates a display of the decoded video data stream in response to identified attributes of the received data stream.

BRIEF DESCRIPTION OF THE DRAWING FIGURES



[0011] 

FIGURE 1 is data stream including a plurality of types of headers according to invention principles;

FIGURE 2 is a block diagram of a header encoded according to invention principles;

FIGURE 3 is block diagram of a data stream encoder according to invention principles;

FIGURE 4 is a flow diagram detailing the operation of the encoder of the present invention;

FIGURE 5 is block diagram of a media player application according to invention principles; and

FIGURE 6 is a flow diagram detailing the operation of the media player application according to invention principles.


DETAILED DESCRIPTION OF THE INVENTION



[0012] An application as used herein is an executable computer program or set of instructions comprising code or machine readable instruction for implementing predetermined functions including those of an operating system, healthcare information system or other information processing system, for example, in response user command or input. An executable procedure is a segment of code (machine readable instruction), sub-routine, or other distinct section of code or portion of an executable application for performing one or more particular processes and may include performing operations on received input parameters (or in response to received input parameters) and provide resulting output parameters. A processor as used herein is a device and/or set of machine-readable instructions for performing tasks. A processor comprises any one or combination of, hardware, firmware, and/or software. A processor acts upon information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable procedure or an information device, and/or by routing the information to an output device. A processor may use or comprise the capabilities of a controller or microprocessor, for example. Multimedia content or content stream as used herein is any encoded or un-encoded data having at least one of video data and audio data. A frame as used herein represents an atomic unit of application data and a frame group refers to a group of frames.

[0013] Multimedia data steams may be encoded and compressed using a plurality of different types of encoding schemes. The choice of encoding schemes vary depending upon the application that will be receiving and processing the video data. The system includes a multimedia data stream that is encoded using a proprietary encoding format whereby the video data stream is partitioned into respective groups of frames wherein each respective group of frames is formed from a plurality of individual video frames. The structure of the groups of frames and the frames that form the group are determined based on the coding scheme used. This data stream, as used herein, will be known as the system stream and an exemplary system stream 20 is shown in Figure 1.

[0014] Each system stream 20 includes a stream header 22 and a plurality of groups of frames 26, 28. The stream header 22 is encoded using a markup language such as XML. The stream header 22 is a markup language encoded document that describes at least one stream attribute associated with the data stream in which it is embedded. Each respective stream attribute described in the stream header 22 is denoted by a markup language tag that at least one of identifies data representing the respective attribute and provides instruction on processing the data representing the respective attribute. These stream attributes collectively define the stream syntax which is readable by a media player application and is needed to provide instructions to the media player application as to how to process the received stream data. For example, the stream header is able to provide information to initialize the correct decoders for decoding the received data stream. Without the proper instructions or if a data stream includes a header that is not readable by the media application, the media player application will fail and the data stream will not be decoded. Therefore, the media player application must be provided with a set of instructions regarding how each markup language tag will be handled.

[0015] Using markup language to encode stream attribute data is advantageous. Markup languages are easily expandable to incorporate new features and functions with respect to the data which it denotes. Any desired stream attribute can be encoded within the stream header 22. This aids in future expansion and deployment of data stream formats. Additionally, a system stream that provides stream syntax in XML will allow any media player application to receive and decode the information denoted by known tags and ignore the information denoted by unknown tags. Thus, the media player application will not fail when attempting to decode a stream that has unknown instructional information associated therewith. Stream attributes include but are not limited to height, width, bit rate, frame rate, stream size and stream duration.

[0016] The data stream shown in Figure 1 includes two frame groups, a first frame group 26 and a second frame group 28. Each respective frame group 26, 28 includes a plurality of individual frames. The first frame group 26 includes three frames 26A, 26B, 26C and the second frame group 28 includes two frames 28A, 28B. The stream shown herein is for purposes of example only and the data stream 20 can include any number of frame groups formed from any number of individual frames as determined by the coding scheme used to encode the data stream 20. Each respective frame group has at least one frame group attribute associated therewith. The system stream 20 provides for a plurality of segment headers 24, each segment header 24 being positioned immediately preceding the first individual frame of a respective frame group. Similarly to the stream header 22, the segment header 24 is a markup language encoded document that includes information corresponding to the at least one stream attribute. Frame group attributes include but are not limited to type of frame group, i.e. group of key (I) frames or group of delta (P) frames, group length and group sequence number.

[0017] The stream header 22 and the segment headers 24 denote attribute information. These headers 22, 24 are not equivalent to individual packet or datagram headers which include information regarding the framing and sequencing of the respective packet or datagram. In contrast, the stream header 22 and packet header 24 are embedded within the data stream 20 separate from the packets or datagrams and provide information to a media player application instructing the application how to process and use the data stream.

[0018] Attributes of each of the data stream and the frame group are passed through an application interface along with the frame data. The XML encoder analyzes the attributes and detects changes in these attributes. Upon detecting the change in the attributes, the encoder encodes either a stream header 22 or a segment header 24 and inserts an respective markup language tag when the pertinent change is detected. Some attributes of the stream are indirectly specified by the operator. For instance if the operator specifies that the video is to be encoded at 320x240 pixels these parameters will be encoded into the stream header. Any upgrade to the stream syntax will appear as a new tag within the header.

[0019] Figure 2 is an exemplary stream header 22. The format for each of the stream header 22 and the segment header 24 is the same and is directly dependent upon the number of attributes to be described within the respective header 22, 24 for describing either the data stream or group of frames associated therewith. The stream header 22 includes an opening field 12 including markup language tags that identify the document being encoded as the header. The stream header 22 further includes a plurality of attribute fields 14 each having information corresponding an attribute describing the data stream in which the header embedded. A first attribute field 14A includes a first markup language tag denoting data representing a first attribute. Each of the second attribute field 14B, third attribute field 14C and fourth attribute field 14D include markup language tags denoting data representing additional attributes of the data stream 20 as shown in Figure 1. The stream header 22 includes a close field 16 which includes a markup language tag denoting that the header 22 is closed and no additional information is present.

[0020] Figure 3 is a block diagram of the encoder of the system. A source video data 30 encoded using a predetermined coding scheme is provided. The encoded video data is provided to each of a first determinator 34, a second determinator 36 and a multiplexer 42. The first determinator 34 examines the encoded data stream and determines attributes associated with the video data stream and provides the determined attributes to a first header encoder 38. The first header encoder 38 encodes a stream header setting forth stream syntax in response to the determined stream attributes using a markup language. The second determinator 36 analyzes the groups of frames that form the data stream and determines attributes associated with each respective frame group within the data stream. The determined frame group attributes are provided to a second header encoder 40 for encoding a frame group header setting for the frame group syntax in response to the determined frame group attributes using a markup language. The first header encoder 38 and the second header encoder 40 provide the encoded stream and frame group headers to the multiplexer 42 which combines the headers with the video data stream. The multiplexed video data stream is provided to a partitioner 44 for partitioning of the data stream into transportable packets. The transportable packets are provided to a broadcaster 46 for broadcasting packets 48 thereof.

[0021] Figure 4 is a flowchart detailing the encoding operation performed by the system In step S400, a video data stream is provided to a determinator. At the determinator, attributes representing the provided data stream are determined as in step S402. An encoder encodes a stream header in response to the determined stream attributes in step S404. Step S404 is performed using a markup language such as XML. The stream header encoded in step S404 includes a plurality of attribute fields, the number of which is directly related to the number of determined stream attributes from step S402. A further determination is made from the video data stream regarding the existence of frame groups within the data stream. If not, then the method proceeds to step S412 which will be discussed below. If there are frame groups within the frame, then a second determinator determines attributes associated with each respective frame group within the stream in step S408. In response to the determination in step S408, a segment header for each respective group of frames is encoded in step S410. Similar to the stream header, the segment header includes a includes a plurality of attribute fields, the number of which is directly related to the number of determined frame group attributes from step S408. IN step S412, the video data stream is combined with each of the stream header and the respective segment headers to be processed and transmitted for receipt by a media player application such as will be discussed in Figures 5 and 6. During the combination step S412, the stream header is inserted prior to any of the respective frame groups and each segment header is inserted immediately prior to the respective group of frame associated therewith.

[0022] Figure 5 is a block diagram of a media player application 50 for receiving a plurality of packets 48. The media player application 50 includes a receiver 52, a compiler, a parser 54, a first decoder 56, a second decoder 58, a tag table 55 and a display generator 60. The receiver 52 receives the source of packets 48 which is broadcast by the broadcaster shown in Figure 3. The compiler 53 complies the received packets to form a data stream including the plurality of frames. The transport layer treats stream header and each respective segment header as a separate frame prior to decoding. The parser 54 parses the received data stream and analyzes at least one of the stream header and the segment header. This analysis determines the existence of markup tags identifying respective stream attributes and frame group attributes. The value of each tag is stored in the tag table 55. The values in the tag table 55 are presented to each of the decoders 56, 58. The decoders review tags within the headers and look at entries in the table to determine if the tag contains instructions to initiate a function performed by the decoders 56, 58. Upon determining the attributes associated with at least one of the data stream or a respective frame group within the stream, any of the first decoder 58 and second decoder 56 initiated for decoding the received data stream. The decoded stream is provided to the display generator 60 for generating a display outputting the data stream via the media player application. The display generator 60 may also be in communication with the parser 54 and operate in response to a data associated with a respective markup tag within the stream header or segment header.

[0023] Figure 6 is a flow diagram detailing the operation of the media player application shown in Figure 5. The media player application receives, via a receiver, a plurality of packets that form an encoded data stream in step S600. In step S602, the data stream is parsed and the each of the stream header and the respective segment headers are analyzed. In step S604, the parser determines the existence of any markup tags that identify attributes of the entire data stream and provides instructions to any respective components regarding how the data stream is to be decoded in response to the markup tags found in step S606. A determination is made in step S608 whether or not the data stream includes any frame groups. If not, then the process continues at step S614 discussed below. If the data stream includes frame groups, then the parser analyzes the segment headers for any markup tags representing frame group attributes associated with the respect frame group. Instructions from the segment headers are provided to components for decoding the frame groups of the data stream using the markup tags located in step S610. In response to the decoding of the stream and the respective frame groups, the decoded stream is provided to a display generator for generating a display of the decoded stream using the media player application.

[0024] Upgrades to stream version formats are transparent and easily accomplished because there need not be any major deployment of new stream decoding parameters to a plurality of media player applications. The markup language allows the existing media players to decode new stream versions because the media player applications will just analyze and make use of the markup language tags with which it familiar. Thus, additional types of data such as annotations, synchronized media event data or any other attribute may be selectively added to the stream syntax without disabling previously deployed components.


Claims

1. A system for encoding a video data stream, said system characterised by :

a first determinator (34) adapted to examine the video data stream and determine attributes associated with the video data stream;

a first header encoder (30) adapted to receive the attributes from the first determinator and encode a stream header (22) identifying stream syntax, said stream header (22) being encoded in a markup language and including a markup language tag identifying each attribute and providing instructions on processing data representing the attribute; and

a multiplexer (42) adapted to combine the encoded stream header (22) with the video data stream to form a data stream, wherein the multiplexer (42) is adapted to insert the encoded stream header (22) prior to frames of the video data stream.


 
2. The system of claim 1, further comprising a second determinator (36) adapted to determine whether frame groups exist within the video data stream and determine attributes associated with the determined frame groups within the video data stream.
 
3. The system of claim 2, further comprising a second header encoder (40) adapted to encode a segment header (24) including the determined attributes identifying a frame group syntax for each determined frame group of the video data stream in a markup language.
 
4. The system of claim 3, wherein the markup language is XML.
 
5. The system of claim 3, wherein the multiplexer (42) is adapted to position each encoded segment header (24) within the data stream prior to its respective frame group.
 
6. The system of claim 1, further comprising a partitioner (44) adapted to partition the data stream into transportable packets.
 
7. The system of claim 1, wherein the stream header (22) includes a plurality of fields, each field defining a respective one of said determined stream attributes.
 
8. The system of claim 3, wherein the segment headers (24) each include a plurality of fields, each field defining a respective one of said determined frame group attributes.
 
9. A system for decoding an encoded data stream, said encoded data stream comprising a video data stream (20) and at least one embedded encoded stream header (22), the encoded stream header (22) being positioned within the data stream (20) prior to frames of the video data stream, wherein the payload comprises the video data stream, the stream header (22) being encoded in a markup language and including a markup language tag identifying each attribute and providing instructions on processing data representing the attribute, said system comprising:

a receiver (52) adapted to receive a plurality of packets;

a compiler (53) adapted to compile the plurality of received packets to form a video data stream including a plurality of frames and at least one stream header encoded in a markup language;

a parser (54) adapted to analyze the video data stream and stream headers to determine the existence of markup language tags identifying the attributes of the received video data stream and frames of the video data stream;

a first decoder (56) adapted to decode the received video data streams and markup tags;

a display generator (60) adapted to generate a display of the decoded video data stream in response to identified attributes of the received video data stream.


 
10. The system of claim 9, wherein the markup language is XML.
 
11. A method of encoding a video data stream, said method comprising:

examining the video data stream and determining attributes associated with the video data stream;

encoding a stream header (22) identifying stream syntax based upon the determined stream attributes, the stream header (22) being encoded in a markup language and including a markup language tag identifying each attribute and providing instructions on processing data representing the attribute; and

combining the encoded stream header (22) with the video data stream to form a data stream, wherein the encoded stream header (22) is inserted prior to frames of the video data stream.


 
12. The method of claim 11, further comprising:

determining attributes associated with each frame group within the video data stream; and

encoding a segment header (24) for each respective frame group, each segment header (24) defining frame group syntax of the respective frame group.


 
13. The method of claim 11, wherein the markup language is XML.
 


Ansprüche

1. Ein System zur Codierung eines Videodatenstroms, wobei das System gekennzeichnet ist durch:

eine erste Bestimmungsvorrichtung (34), die dazu eingerichtet ist, den Videodatenstrom zu untersuchen und dem Videodatenstrom zugeordnete Attribute zu bestimmen;

einen ersten Header-Kodierer (30), der dazu eingerichtet ist, die Attribute von der ersten Bestimmungsvorrichtung zu empfangen und einen Strom-Header (22) zu codieren, der die Stromsyntax bezeichnet, wobei der Strom-Header (22) in einer Auszeichnungssprache codiert ist und ein Auszeichnungssprachen-Tag umfasst, das jedes Attribut bezeichnet und Anweisungen zur Verarbeitung von Daten, die das Attribut darstellen, bereitstellt; und

einen Multiplexer (42), der dazu eingerichtet ist, den codierten Strom-Header (22) mit dem Videodatenstrom zu kombinieren um einen Datenstrom zu bilden, wobei der Multiplexer (42) dazu eingerichtet ist, den codierten Strom-Header (22) vor Einzelbildern des Videodatenstroms einzufügen.


 
2. System nach Anspruch 1, ferner umfassend eine zweite Bestimmungsvorrichtung (36), die dazu eingerichtet ist, zu bestimmen, ob Einzelbild-Gruppen innerhalb des Videodatenstroms existieren, und Attribute zu bestimmen, die den bestimmten Einzelbildgruppen innerhalb des Videodatenstroms zugeordnet sind.
 
3. System nach Anspruch 2, ferner umfassend einen zweiten Header-Kodierer (40), der dazu eingerichtet ist, einen Segment-Header (24) zu codieren, der die bestimmten Attribute umfasst, die eine Einzelbildgruppen-Syntax für jede bestimmte Einzelbildgruppe des Videodatenstroms in einer Auszeichnungssprache bezeichnen.
 
4. System nach Anspruch 3, wobei die Auszeichnungssprache XML ist.
 
5. System nach Anspruch 3, wobei der Multiplexer (42) dazu eingerichtet ist, jeden kodierten Segment-Header (24) innerhalb des Datenstroms vor seiner jeweiligen Einzelbildgruppe zu positionieren.
 
6. System nach Anspruch 1, ferner umfassend einen Partitionierer (44), der dazu eingerichtet ist, den Datenstrom in transportierbare Pakete zu partitionieren.
 
7. System nach Anspruch 1, wobei der Strom-Header (22) jeweils eine Vielzahl von Feldern umfasst, wobei jedes Feld jeweils eines der bestimmten Strom-Attribute definiert.
 
8. System nach Anspruch 3, wobei die Segment-Header (24) jeweils eine Vielzahl von Feldern enthalten, wobei jedes Feld jeweils eines der bestimmten Einzelbildgruppen-Attribute definiert.
 
9. Ein System zum Decodieren eines codierten Datenstroms, wobei der codierte Datenstrom einen Videodatenstrom (20) und mindestens einen eingebetteten codierten Strom-Header (22) umfasst, wobei der codierte Strom-Header (22) innerhalb des Datenstroms (20) vor Einzelbildern des Videodatenstroms positioniert ist, wobei die Nutzdaten den Videodatenstrom umfassen, der Strom-Header (22) in einer Auszeichnungssprache codiert ist und ein Auszeichnungssprachen-Tag umfasst, das jedes Attribut bezeichnet und Anweisungen zur Verarbeitung von Daten, die das Attribut darstellen, bereitstellt, das System umfassend:

einen Empfänger (52), der dazu eingerichtet ist, eine Vielzahl von Paketen zu empfangen;

einen Compiler (53), der dazu eingerichtet ist, die Vielzahl von empfangenen Paketen zu kompilieren um einen Videodatenstrom zu bilden, der eine Vielzahl von Einzelbildern und mindestens einen in einer Auszeichnungssprache codierten Strom-Header umfasst;

einen Parser (54), der dazu eingerichtet ist, den Videodatenstrom und Strom-Header zu analysieren um das Vorhandensein von Auszeichnungssprachen-Tags zu bestimmen, die die Attribute des empfangenen Videodatenstroms und Einzelbilder des Videodatenstroms bezeichnen;

einen ersten Decodierer (56), der dazu eingerichtet ist, die empfangenen Videodatenströme und Auszeichnungs-Tags zu decodieren;

einen Anzeigegenerator (60), der dazu eingerichtet ist, eine Anzeige des decodierten Videodatenstroms als Reaktion auf identifizierte Attribute des empfangenen Videodatenstroms zu erzeugen.


 
10. System nach Anspruch 9, wobei die Auszeichnungssprache XML ist.
 
11. Ein Verfahren zum Codieren eines Videodatenstroms, das Verfahren umfassend:

Untersuchen des Videodatenstroms und Bestimmen von mit dem Videodatenstrom verbundenen Attributen;

Codieren eines Strom-Headers (22), der die Stromsyntax auf Grundlage der bestimmten Strom-Attribute bezeichnet, wobei der Strom-Header (22) in einer Auszeichnungssprache codiert ist und ein Auszeichnungssprachen-Tag umfasst, das jedes Attribut bezeichnet und Anweisungen zur Verarbeitung von Daten, die das Attribut darstellen, bereitstellt; und

Kombinieren des codierten Strom-Headers (22) mit dem Videodatenstrom um einen Datenstrom zu bilden, wobei der codierte Strom-Header (22) vor Einzelbildern des Videodatenstroms eingefügt wird.


 
12. Verfahren nach Anspruch 11, ferner umfassend:

Bestimmen von Attributen, die mit jeder Einzelbildgruppe innerhalb des Videodatenstroms verbunden sind; und

Codierung eines Segment-Headers (24) für jede jeweilige Einzelbildgruppe, wobei jeder Segment-Header (24) die Einzelbildgruppen-Syntax der jeweiligen Einzelbildgruppe definiert.


 
13. Verfahren nach Anspruch 11, wobei die Auszeichnungssprache XML ist.
 


Revendications

1. Système de codage d'un flux de données vidéo, ledit système étant caractérisé par :

un premier dispositif de détermination (34) adapté pour examiner le flux de données vidéo et déterminer des attributs associés au flux de données vidéo ;

un premier codeur d'en-tête (30) adapté pour recevoir les attributs du premier dispositif de détermination et coder un en-tête de flux (22) identifiant une syntaxe de flux, ledit en-tête de flux (22) étant codé dans un langage de balisage et comportant une étiquette de langage de balisage identifiant chaque attribut et fournissant des instructions sur le traitement de données représentant l'attribut ; et

un multiplexeur (42) adapté pour combiner l'en-tête de flux codé (22) avec le flux de données vidéo pour former un flux de données, où le multiplexeur (42) est adapté pour insérer l'en-tête de flux codé (22) avant les trames du flux de données vidéo.


 
2. Système de la revendication 1, comprenant en outre un deuxième dispositif de détermination (36) adapté pour déterminer si des groupes de trames existent dans le flux de données vidéo et pour déterminer des attributs associés aux groupes de trames déterminés dans le flux de données vidéo.
 
3. Système de la revendication 2, comprenant en outre un deuxième codeur d'en-tête (40) adapté pour coder un en-tête de segment (24) comportant les attributs déterminés identifiant une syntaxe de groupe de trames pour chaque groupe de trames déterminé du flux de données vidéo dans un langage de balisage.
 
4. Système de la revendication 3, dans lequel le langage de balisage est XML.
 
5. Système de la revendication 3, dans lequel le multiplexeur (42) est adapté pour positionner chaque en-tête de segment codé (24) dans le flux de données avant son groupe de trames respectif.
 
6. Système de la revendication 1, comprenant en outre un partitionneur (44) adapté pour partitionner le flux de données en paquets transportables.
 
7. Système de la revendication 1, dans lequel l'en-tête de flux (22) comporte une pluralité de champs, chaque champ définissant un attribut respectif desdits attributs de flux déterminés.
 
8. Système de la revendication 3, dans lequel les en-têtes de segment (24) comportent chacun une pluralité de champs, chaque champ définissant un attribut respectif desdits attributs de groupes de trames déterminés.
 
9. Système de décodage d'un flux de données codé, ledit flux de données codé comprenant un flux de données vidéo (20) et au moins un en-tête de flux codé intégré (22), l'en-tête de flux codé (22) étant positionné dans le flux de données (20) avant les trames du flux de données vidéo, où la charge utile comprend le flux de données vidéo, l'en-tête de flux (22) étant codé dans un langage de balisage et comportant une étiquette de langage de balisage identifiant chaque attribut et fournissant des instructions sur le traitement de données représentant l'attribut, ledit système comprenant :

un récepteur (52) adapté pour recevoir une pluralité de paquets ;

un compilateur (53) adapté pour compiler la pluralité de paquets reçus pour former un flux de données vidéo comportant une pluralité de trames et au moins un en-tête de flux codé dans un langage de balisage ;

un analyseur (54) adapté pour analyser le flux de données vidéo et les en-têtes de flux pour déterminer l'existence d'étiquettes de langage de balisage identifiant les attributs du flux de données vidéo reçu et des trames du flux de données vidéo ;

un premier décodeur (56) adapté pour décoder les flux de données vidéo reçus et des étiquettes de balisage ;

un générateur d'affichage (60) adapté pour générer un affichage du flux de données vidéo décodé en réponse à des attributs identifiés du flux de données vidéo reçu.


 
10. Système de la revendication 9, dans lequel le langage de balisage est XML.
 
11. Procédé de codage d'un flux de données vidéo, ledit procédé comprenant le fait :

d'examiner le flux de données vidéo et de déterminer des attributs associés au flux de données vidéo ;

de coder un en-tête de flux (22) identifiant une syntaxe de flux sur la base des attributs de flux déterminés, l'en-tête de flux (22) étant codé dans un langage de balisage et comportant une étiquette de langage de balisage identifiant chaque attribut et fournissant des instructions sur le traitement de données représentant l'attribut ; et

de combiner l'en-tête de flux codé (22) avec le flux de données vidéo pour former un flux de données, où l'en-tête de flux codé (22) est inséré avant les trames du flux de données vidéo.


 
12. Procédé de la revendication 11, comprenant en outre le fait :

de déterminer des attributs associés à chaque groupe de trames dans le flux de données vidéo ; et

de coder un en-tête de segment (24) pour chaque groupe de trames respectif, chaque en-tête de segment (24) définissant une syntaxe de groupe de trames du groupe de trames respectif.


 
13. Procédé de la revendication 11, dans lequel le langage de balisage est XML.
 




Drawing























Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description




Non-patent literature cited in the description