WO2002033977A1 - Binary format for mpeg-7 instances - Google Patents

Binary format for mpeg-7 instances Download PDF

Info

Publication number
WO2002033977A1
WO2002033977A1 PCT/EP2001/011717 EP0111717W WO0233977A1 WO 2002033977 A1 WO2002033977 A1 WO 2002033977A1 EP 0111717 W EP0111717 W EP 0111717W WO 0233977 A1 WO0233977 A1 WO 0233977A1
Authority
WO
WIPO (PCT)
Prior art keywords
description
description element
identification information
schema
instance
Prior art date
Application number
PCT/EP2001/011717
Other languages
French (fr)
Inventor
Benoit Mory
Nicolas Santini
Franck Laffargue
Original Assignee
Koninklijke Philips Electronics N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Priority to EP01976294A priority Critical patent/EP1330924A1/en
Priority to BR0107329-0A priority patent/BR0107329A/en
Priority to MXPA02006077A priority patent/MXPA02006077A/en
Priority to JP2002536845A priority patent/JP4405146B2/en
Priority to AU2001295608A priority patent/AU2001295608A1/en
Priority to CN018050298A priority patent/CN1401188B/en
Publication of WO2002033977A1 publication Critical patent/WO2002033977A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Definitions

  • the present invention concerns an encoding method for encoding a description element of an instance of an XML-like schema defining a hierarchical structure of description elements, said hierarchical structure comprising hierarchical levels, parent description elements and child description elements, said description element to be encoded comprising a content.
  • the invention is applicable to XML-like instances of XML-like schema. In particular it is applicable to MPEG-7 documents.
  • XML is a recommendation of the W3C consortium (extensible Markup Language 1.0 dated October 6, 2000).
  • XML-schema is also a recommendation of the W3C consortium.
  • An XML-schema defines a hierarchical structure of description elements (called element or attribute in the W3C recommendation).
  • An instance of an XML-schema comprises description elements structured as defined in said XML-schema.
  • An object of the invention is to propose an encoding and a decoding method for transmitting and storing one or more description element(s) of an XML-like document which is an instance of an XML-like schema.
  • an encoding method as described in the introductory paragraph is characterized in that it consists in: using at least one table derived from said schema, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, scanning a hierarchical memory representation of said instance from parent description elements to child description elements until reaching the description element to be encoded, and retrieving the identification information of each scanned description element, - encoding said description element to be encoded as a fragment comprising said content and a sequence of the retrieved identification information.
  • said table further comprises for said description element an occurrence information for indicating that said description element may have multiple occurrences in an instance, and when an occurrence having a given rank is scanned during the encoding, the corresponding retrieved identification information is indexed with said rank.
  • a decoding method as described in the introductory paragraph is characterized in that it consists in: using at least one table derived from an XML-like schema, said schema defining a hierarchical structure of description elements comprising hierarchical levels, parent description elements and child description elements, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, - scanning said sequence identification information by identification information, at each step searching in said table for the description element associated to the current identification information and adding said description element to a hierarchical memory representation of an instance of said schema if not already contained in said hierarchical memory representation, adding said content to the description element of said hierarchical memory representation that is associated to the last identification information of said sequence.
  • each description element is represented by an independent fragment in the stream ensuring random-access to elements and attributes as well as a high level of flexibility as far as the incremental transfer is concerned.
  • This fragment approach also takes into account the fundamental flexible and extensible nature of MPEG-7 by using schemas to compute the sequence of identification information associated to a given description element.
  • the fragment approach allows the proposed binary format to fulfil the following properties:
  • Fig.l is a schematic representation of a transmission system according to the invention.
  • Fig.2 is a diagram describing the steps of a coding method according to the invention
  • Fig.3 is a diagram describing the steps of a decoding method according to the invention
  • Fig.4 is a fragment embodied in a signal according to the invention
  • Fig.5 is an example of binary encoding of an instance compact key
  • Fig.6 is an example of binary encoding of the value of a description element.
  • An XML-like schema defines a hierarchical structure of description elements (either an element or an attribute in the XML terminology) comprising parent description elements and child description elements.
  • An instance of an XML-like schema is an XML-like document comprising description elements structured as defined in said XML-like schema. Some of the description elements of an instance have a content. Other are only structural containers.
  • a transmission system comprises an encoder BiM-C located at the transmission side and a decoder BiM-D located at the reception side. Both the encoder BiM-C and the decoder BiM-D have access to an XML- schema XML-S (the XML-schema is either available locally or downloaded).
  • Element Declaration Table is primarily intended to contain all the information needed to encode and decode any instance that is valid with respect to a given schema definition.
  • the Element Declaration Table is generated once and available for coding and decoding an instance that refers to the associated schema. It doesn't have to be sent to the client.
  • the encoder scans a hierarchical memory representation DM-C of an instance XML-C (a DOM representation as defined in the W3C specification « Document Object Model, level 1 specification, versionl.O, October 1, 1998», or any other hierarchical memory representation of the instance) and uses the information contained in the Element Declaration Table in order to generate one or more binary fragments BiM-F each binary fragment being associated to a description element of the instance.
  • a hierarchical memory representation DM-C of an instance XML-C a DOM representation as defined in the W3C specification « Document Object Model, level 1 specification, versionl.O, October 1, 1998», or any other hierarchical memory representation of the instance
  • the description elements that have a primitive type content are encoded as an independent fragment composed of a sequence of identification information (also called instance structuring key) and a content value.
  • the description elements within the XML hierarchy that are only structural containers are not transmitted but inferred at the decoder side from the Element Declaration Table.
  • the binary fragments BiM-F are transmitted over a transmission network NET and received by the decoder BiM-D.
  • the decoder uses the Element Declaration Table in order to retrieve: all the parent structural description elements, - the description element nature (element or attribute), the description element name, - the description element type in order to decode the content value.
  • the decoder BiM-D updates accordingly a hierarchical memory representation DM-D.
  • An XML instance XML-D is then generated from the updated hierarchical memory representation.
  • the Element Declaration Table as an exhaustive definition of the possible valid instances, generated uniquely and unambiguously from the schema by developing the element and attribute declaration structures.
  • the XML-schema gives mainly two kinds of information : On the one hand, the location of all the possible elements and attributes within the XML instance hierarchy is specified by means of complex type definitions (either named or anonymous) and element declarations. On the other hand, the type of their value is given through the use of built-in datatypes and simple type definitions. For each element or attribute that is specified in the schema and that can be found in the instance, the Element Declaration Table gathers its name (e.g.
  • this structuring key is a dotted notation where the dots denote hierarchy levels and the numbering at each level is performed by expanding all the elements and attributes declarations from the schema.
  • the last digit of the notation is an identification information solely identifying a description element in its hierarchical level.
  • the previous digits are pointing information used for retrieving a child description element from its parent description element.
  • Element Declaration Table This is done by specifying, in case of a self-contained description element, the table structuring key of its ancestor in the tree structure that has the same complex type. Such an element is thus not expanded further in the Element Declaration Table.
  • the table structuring key of the ancestor is called self-containment key. It is also used for retrieving a child description element from its parent description element.
  • the pointing information together with the self-containment key are the structural information used to retrieve any child description element from its parent description element.
  • a parent description element is a self-contained description element
  • its children are the description elements which pointing information are identical to the self-contained key of said parent description element.
  • its children description elements are the description elements which pointing information are identical to said parent table structuring key.
  • the Element Declaration Table allows to state a unique and unambiguous numbering of all possible instances of the schema. We will now give examples of schemas and corresponding Element Declaration Table.
  • the underlined digits are the identification information.
  • the Element Declaration Table contains, among other information such as the name and key of the elements, the self-containment field when relevant:
  • the underlined digits of the table structuring key are the identification information.
  • the non-underlined digits of the table structuring key and the self-containment key are the structural information used to retrieve any child description element from its parent description element.
  • the brackets in the Element! table structuring key denote the presence of a multiple occurrence element.
  • Element2 and Element4 are taken into account in the numbering even though they are optional elements. Note also that the Elementl appears twice in the table since it can be instantiated at different locations within the tree structure.
  • the underlined digits of the table structuring key are the identification information.
  • the non-underlined digits of the table structuring key and the self-containment key are the structural information used to retrieve any child description element from its parent description element.
  • fig.2 in order to encode a description element DE of an instance XML-C of a schema XML-S, the hierarchical memory representation DM-C of the instance XML-C is scanned from parent to child description element until reaching the description element DE to be encoded (step 2-1).
  • the identification information ID associated to the scanned description element D, is retrieved from the table EDT that is associated to the schema XML-S (step 2- 2).
  • the instance structuring key K(DE) of the description element DE is built as a sequence of the retrieved identification information ID, (step 2-3).
  • the fragment BiM-F(DE) is finally built by adding the content C(DE) of the description element DE to the sequence of retrieved identification information (step 2-4).
  • the fragment is converted in binary format for transmission.
  • ARRAY 1 below gives an example of an instance of the schema described in EXAMPLE 3. On the left are given the instance structuring key of the element defined in the corresponding line of the array. On the right are given the instance structuring key of the attribute defined in the corresponding line of the array. Those instance structuring keys have been obtained by using the above described encoding method.
  • step 1-1 a hierarchical memory representation of the instance is scanned from parent description element to child description element until reaching the description element to be encoded (here the attribute "timeUnit” of an element "MediaTime”); the scanned description elements are: VideoSegment
  • NideoSegment (first occurring child of a VideoSegment)
  • VideoSegment (first occurring child of a VideoSegment) 3 [0]
  • VideoSegment (second occurring child of VideoSegment)...3 [1] MediaTime 2
  • Step 2 a sequence of the retrieved identification information is built: 0.3 [0].3 [1].2.2. This sequence is the instance structuring key associated to the encoded description element. The other instance structuring keys given in Array 1 can be derived in the same way.
  • the instance structuring key can also be seen as an instantiation of the table structuring key. Indeed, the multiple occurrence elements are actually indexed (resulting in instance structuring keys such as 0.3 [0], 0.3 [1], ...) and the self-containment loops are developed (resulting in instance structuring keys such as 0.3[0].3[1].2.2 that do not appear in the table but can be computed from it).
  • the instance structuring key is encoded as a description element identifier in an instance binary fragment.
  • a decoding method consists in: step 3-1 : finding in the table the description element associated to the received sequence of identification information, step 3-2: decoding the received content according to the primitive type of said description element (found in the table), step 3-3: updating the hierarchical memory representation by adding said element together with its content; adding its parent description element if they are missing; and in case of multiple occurrences, adding same description elements of lower rank if they are missing.
  • the current description element can be retrieved by using the following algorithm given in C-like code:
  • mapping between the table structuring key and the instance structuring key is straightforward. Indeed, one has simply to remove the indexes found in the instance structuring key to retrieve the corresponding table structuring key.
  • a description element represented by the instance structuring key 0.1 [5] is the fifth Element2 present in a globalElement.
  • the table structuring key and the instance structuring key are compacted as will now be described. Experiments have shown that such a compression of the structuring key leads to a significant gain regarding the size of the key while offering exactly the same functionality.
  • the resulting keys are referred as compact key (in short CSK).
  • CSK is the structuring key Element Declaration Table record number.
  • Attribute 1 6 0 . 3 Algorithm (3) is used to compute the CSK in the general case (with self- contained structures) from the instance structuring key :
  • compact Jorm(key) be the corresponding compact form of key in the EDT.
  • cs_key compact Jorm( prefix(instance Jcey) )
  • ⁇ cs_key cs_key + compact orm( prefix(instance Jcey) ) ;
  • each token of the instance structuring key (resp. the instance CSK) might be indexed (resp. contain several indexes).
  • the instance compact structuring key is firstly decoded to its expanded form (instance structuring key) by the decoder before the above described decoding phase.
  • Algorithm 4 given below returns the instance structuring key corresponding to a instance compact key:
  • resultNCKey be the expanded form of compact_key (result of the algorithm).
  • Jey be the instance compact structuring key of a given description element.
  • current Jey be a token of the instance compact structuring key compact Jcey.
  • compact Jcey [i] be the i* token of compact Jcey.
  • size (compact Jcey) be the number of tokens of compact Jcey.
  • diffCode(keyl, key2) be the sub-key obtained by removing the common prefix of key 1 and key 2
  • NCKey(CKey) be the corresponding expanded form of the compact key CKey.
  • self_cont(key) be the self-containment key of key.
  • Each fragment is composed of an instance compact structuring key K(DEj) (or an instance structuring key) and a description element value C(DE;) (also called content) as described on figure 4.
  • the generic form of the instance structuring key is as follows :
  • Tokens of an instance structuring key comprise at most one index.
  • Tokens of instance compact structuring keys may comprise several indexes. All keys and indexes are integer values coded using a variable number of bytes. The whole structuring key is thus coded using a variable set of bytes, each of them being controlled by the 2 most significant bits with the following semantics :
  • Figure 4 also describes the generic format for encoding description element values.
  • the size in bytes S(DEi) of the data block is coded. This aims at informing the decoder about the size of data to be decoded and guaranties an easy random access to data and fast stream parsing. Since certain primitive data types can imply a large amount of bytes (e.g. free text annotation or movie scripts), we propose to code the data size using a variable number of bytes.
  • the length is thus coded by default using one byte, with the most significant bit being interpreted as follows :
  • Figure 5 gives an example of a binary encoding for the compact key
  • the control bits of the first byte are '00' (new level). Its value bits are '000000' which is the binary representation of the first identification information of the sequence ('0').
  • the control bits of the second byte are ' 10' (indexed'). Its value bits are '00001 ' which is the binary representation of the second identification information of the sequence (T).
  • the binary representation of the first index '70' is ' 1000110' which contains more than six bits. Therefore the encoding is done on two bytes: the third and the fourth bytes.
  • the control bits of the third byte are '01 ' (continue). Its value bits are '000110' (less significant bits of the index to be encoded).
  • the control bits of the fourth byte are '10' (indexed). Its value bits are '000001 ' (most significant bits of the index to be encoded).
  • Finally the control bits of the fifth byte are ' 11 ' (end). And its value bits are '000001 ' (binary value of the index to be encoded).
  • Figure 6 gives an example of a binary encoding of the data size 575 (binary : 10 00111111).
  • the first byte is composed of the 7 less significant bits of the length value with the addition of a control bit specifying that another byte is required.
  • the second byte contains the remaining bits with the "end" control bit.
  • a major advantage of the proposed coding scheme is to encode only the attributes and elements that contain a primitive type value, and skip the elements that are only structural containers (e.g. with a complex type). This is allowed given that the structure can be inferred at the decoder side using the Element Declaration Table.
  • Primitive types also include extended types that might include complex types in the following cases: there is no need for accessing randomly the embedded elements within the complex type structure. an efficient binary representation already exists.
  • ARRAY 2 below is an example of compact instance structuring key for the instance already used in ARRAY 1.
  • the binary representation of this compact instance structuring key is ' 10-000111 00-000000 10-000111 00-000001 11-000110'.
  • the length of the content is encoded on 1 byte: 0-0000111.
  • the value PT1N30F is converted from string characters to bytes using usual character coding.

Abstract

The invention proposes an encoding and a decoding method to be used for transmitting and storing description element(s) of an XML-like document which is an instance of an XML-like schema. It consists in: using at least one table derived from said schema, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, scanning a hierarchical memory representation of the instance from parent description elements to child description elements until reaching the description element to be encoded, and retrieving the identification information of each scanned description element, encoding said description element to be encoded as a fragment comprising said content and a sequence of the retrieved identification information.Applications: XML; XML-schema; MPEG-7

Description

Binary format for MPEG-7 instances
The present invention concerns an encoding method for encoding a description element of an instance of an XML-like schema defining a hierarchical structure of description elements, said hierarchical structure comprising hierarchical levels, parent description elements and child description elements, said description element to be encoded comprising a content.
It also concerns a decoding method for decoding a fragment comprising a content and a sequence of identification information.
It also concerns a encoder intended for implementing said encoding method, a decoder intended for implementing said decoding method, and a transmission system comprising such a encoder and/or such a decoder.
It further concerns a table intended to be used in such an encoding or decoding method and a signal transporting encoded description elements generated by using such an encoding method.
The invention is applicable to XML-like instances of XML-like schema. In particular it is applicable to MPEG-7 documents.
XML is a recommendation of the W3C consortium (extensible Markup Language 1.0 dated October 6, 2000). XML-schema is also a recommendation of the W3C consortium. An XML-schema defines a hierarchical structure of description elements (called element or attribute in the W3C recommendation). An instance of an XML-schema comprises description elements structured as defined in said XML-schema.
An object of the invention is to propose an encoding and a decoding method for transmitting and storing one or more description element(s) of an XML-like document which is an instance of an XML-like schema.
According to the invention an encoding method as described in the introductory paragraph is characterized in that it consists in: using at least one table derived from said schema, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, scanning a hierarchical memory representation of said instance from parent description elements to child description elements until reaching the description element to be encoded, and retrieving the identification information of each scanned description element, - encoding said description element to be encoded as a fragment comprising said content and a sequence of the retrieved identification information.
When a description element is defined in the schema as possibly having multiple occurrences, said table further comprises for said description element an occurrence information for indicating that said description element may have multiple occurrences in an instance, and when an occurrence having a given rank is scanned during the encoding, the corresponding retrieved identification information is indexed with said rank.
And a decoding method according to the invention as described in the introductory paragraph is characterized in that it consists in: using at least one table derived from an XML-like schema, said schema defining a hierarchical structure of description elements comprising hierarchical levels, parent description elements and child description elements, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, - scanning said sequence identification information by identification information, at each step searching in said table for the description element associated to the current identification information and adding said description element to a hierarchical memory representation of an instance of said schema if not already contained in said hierarchical memory representation, adding said content to the description element of said hierarchical memory representation that is associated to the last identification information of said sequence.
When a description element is defined in the schema as possibly having multiple occurrences, said table further comprises for said description element an occurrence information for indicating that said description element may have multiple occurrences in an instance, and when said sequence comprises an indexed identification information, said index is interpreted as an occurrence rank for the associated description element, same description element(s) of lower rank(s) being added to said hierarchical memory representation if not already contained in it. According to the invention each description element is represented by an independent fragment in the stream ensuring random-access to elements and attributes as well as a high level of flexibility as far as the incremental transfer is concerned. This fragment approach also takes into account the fundamental flexible and extensible nature of MPEG-7 by using schemas to compute the sequence of identification information associated to a given description element. The fragment approach allows the proposed binary format to fulfil the following properties:
Random access to instance elements and attributes Incremental non-ordered and scalable transfer. - Compactness : only elements and attributes that have a primitive type content are coded.
Easy integration with instance update protocol. Easy parsing and partial instantiation of binary MPEG7 descriptions. The other advantages of the invention are captured by the use of an intermediate representation of the schema. Indeed, the table which is directly and unambiguously generated from the schema, allows to share a common knowledge about the possible valid instances between a server and a client, in a form dedicated to the binary encoding and decoding of these instances. This common knowledge, gathering information such as structure, type, and tag name of the elements and attributes, does not need to be sent to the client, which leads to an efficient schema-aware encoding of the instances. This allows also the binary format to achieve a full extensibility support for future schemas defined inside or outside MPEG-7.
Further features and advantages of the invention will become more readily apparent from the following detailed description, which specifies and shows a preferred embodiment of the invention in which:
Fig.l is a schematic representation of a transmission system according to the invention,
Fig.2 is a diagram describing the steps of a coding method according to the invention, Fig.3 is a diagram describing the steps of a decoding method according to the invention,
Fig.4 is a fragment embodied in a signal according to the invention, Fig.5 is an example of binary encoding of an instance compact key, Fig.6 is an example of binary encoding of the value of a description element. The invention will now be described by reference to XML instances of XML- schemas. This is not restrictive. The invention is applicable to any instances and schemas written in Markup Language of the same type.
An XML-like schema defines a hierarchical structure of description elements (either an element or an attribute in the XML terminology) comprising parent description elements and child description elements. An instance of an XML-like schema is an XML-like document comprising description elements structured as defined in said XML-like schema. Some of the description elements of an instance have a content. Other are only structural containers.
As described in Fig.l, a transmission system according to the invention comprises an encoder BiM-C located at the transmission side and a decoder BiM-D located at the reception side. Both the encoder BiM-C and the decoder BiM-D have access to an XML- schema XML-S (the XML-schema is either available locally or downloaded).
They also have access to at least one table EDT, called Element Declaration Table, directly and unambiguously generated from the XML-schema. The Element Declaration Table is primarily intended to contain all the information needed to encode and decode any instance that is valid with respect to a given schema definition. The Element Declaration Table is generated once and available for coding and decoding an instance that refers to the associated schema. It doesn't have to be sent to the client.
The encoder scans a hierarchical memory representation DM-C of an instance XML-C (a DOM representation as defined in the W3C specification « Document Object Model, level 1 specification, versionl.O, October 1, 1998», or any other hierarchical memory representation of the instance) and uses the information contained in the Element Declaration Table in order to generate one or more binary fragments BiM-F each binary fragment being associated to a description element of the instance.
According to the invention, the description elements that have a primitive type content (e.g. built-in type, simple type, a descriptor with its own binary representation) are encoded as an independent fragment composed of a sequence of identification information (also called instance structuring key) and a content value. The description elements within the XML hierarchy that are only structural containers (i.e. having no content value) are not transmitted but inferred at the decoder side from the Element Declaration Table. The binary fragments BiM-F are transmitted over a transmission network NET and received by the decoder BiM-D. The decoder uses the Element Declaration Table in order to retrieve: all the parent structural description elements, - the description element nature (element or attribute), the description element name, - the description element type in order to decode the content value.
The decoder BiM-D updates accordingly a hierarchical memory representation DM-D. An XML instance XML-D is then generated from the updated hierarchical memory representation.
One can see the Element Declaration Table as an exhaustive definition of the possible valid instances, generated uniquely and unambiguously from the schema by developing the element and attribute declaration structures. Indeed, the XML-schema gives mainly two kinds of information : On the one hand, the location of all the possible elements and attributes within the XML instance hierarchy is specified by means of complex type definitions (either named or anonymous) and element declarations. On the other hand, the type of their value is given through the use of built-in datatypes and simple type definitions. For each element or attribute that is specified in the schema and that can be found in the instance, the Element Declaration Table gathers its name (e.g. the tag name for an element), its type, its nature (element or attribute) and a key (called table structuring key) specifying unambiguously its location within the hierarchical XML structure. While the schema is defining what an instance should look like for validation and interoperability purpose, the Element Declaration Table is stating what an instance will look like from a structural perspective for coding purpose. The basics of the Element Declaration Table and its use in the encoding and decoding process stand in the table structuring key, intended to uniquely identify: the type and name of the description element being transmitted, its location in the XML instance hierarchy.
The syntax of this structuring key is a dotted notation where the dots denote hierarchy levels and the numbering at each level is performed by expanding all the elements and attributes declarations from the schema. The last digit of the notation is an identification information solely identifying a description element in its hierarchical level. The previous digits are pointing information used for retrieving a child description element from its parent description element. When a description element is defined in the schema as having or possibly having multiple occurrences, an occurrence information is added at the end of the dotted notation (in the following of the description the occurrence information is represented by brackets). The process of generating the Element Declaration Table is comparable to browse through all the element declarations in the schema in order to come up with a hierarchical memory representation of the biggest instance (the one instantiating all possible elements and attributes) corresponding to a given schema. Nevertheless, this "biggest" instance is infinite as soon as the schema defines self-embedding structures, commonly used within MPEG-7. Hence, there is a clear need for capturing the self-containment in the
Element Declaration Table. This is done by specifying, in case of a self-contained description element, the table structuring key of its ancestor in the tree structure that has the same complex type. Such an element is thus not expanded further in the Element Declaration Table. The table structuring key of the ancestor is called self-containment key. It is also used for retrieving a child description element from its parent description element.
The pointing information together with the self-containment key are the structural information used to retrieve any child description element from its parent description element. When a parent description element is a self-contained description element, its children are the description elements which pointing information are identical to the self-contained key of said parent description element. When a parent is not a self- contained description element, its children description elements are the description elements which pointing information are identical to said parent table structuring key.
The Element Declaration Table allows to state a unique and unambiguous numbering of all possible instances of the schema. We will now give examples of schemas and corresponding Element Declaration Table.
EXAMPLE 1 Schema 1:
<complexType name= "complexTypel"> <sequence> <element name="Element 1 " type="type 1 "/>
<element name="Element2" type- 'type2" minOccurs="0" maxOccurs="unbounded"/> <element name="Element3"> <complexType>
<sequence> <element name="Element4" type- 'type4" minOccurs="0" maxOccurs- 7>
<element name="Elementl" type="typel"/> </sequence> </complexType> </element>
</sequence>
<attribute name=" Attribute 1" type- 'type4"/> </complexType>
<element name="GlobalElement" type="complexTyperV> The Element Declaration Table, seen as a development of all schema element declarations, would contain among other information the following element names together with their corresponding table structuring key: Table 1:
Name Table structuring key (...) GlobalElement 0
Element 1 0 . 0
Element2 0 . 1 []
Element3 0 . 2
Element4 0 . 2 . 0 Elementl 0 . 2 . 1
Attribute 1 0 . 3
The underlined digits are the identification information. S
EXAMPLE 2 Schema 2:
<complexType name="complexTypel"> <sequence> <element name="Elementl" type="complexType2"/>
<element name="Element2" type="type2" minOccurs="0" maxOccurs="unbounded"/> <element name="Element3" type="type3"/> </sequence>
<attribute name- 'Attributel" type="type4"/> </complexType>
<complexType name="complexType2"> <sequence>
<element name="Element4" type- 'type4"/> <element name="Element 1 " type="complexType2"/>
</sequence>
</complexType>
<element name- 'GlobalElement" type="complexTypel"/>
The Element Declaration Table contains, among other information such as the name and key of the elements, the self-containment field when relevant:
Table2:
Name Table structuring key Self-containment key (...)
GlobalElement 0
Elementl 0 . 0 4- , Element4 0 . 0. 0
Elementl 0 . 0 . 1 0 . 0
Element2 0 . 1 []
Element3 0 . 2
Attribute 1 0 . 3
The underlined digits of the table structuring key are the identification information. The non-underlined digits of the table structuring key and the self-containment key are the structural information used to retrieve any child description element from its parent description element. Note that the brackets in the Element! table structuring key denote the presence of a multiple occurrence element. Moreover, Element2 and Element4 are taken into account in the numbering even though they are optional elements. Note also that the Elementl appears twice in the table since it can be instantiated at different locations within the tree structure.
EXAMPLE 3 Schema:
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns:xsd="http://www.w3.org/T999/XMLSchemaM> <complexType name="MediaTimeType" content="elementOnly"> <sequence>
<element name- 'Start">
<simpleType base- 'integer"/> </element> <element name="Stop">
<simpleType base="integer"/> </element> </sequence>
<attribute name="timeunit" type- "string" use="required"/> </complexType>
<complexType name='NideoSegmentType" content="elementOnly"> <sequence>
<element name="keyFrame" minOccurs- ' 1 " maxOccurs="unbounded"> <simpleType base="string"/>
</element>
<element name=" Annotation" type- 'string" minOccurs- O" maxOccurs="l"/>
<element name="MediaTime" type="MediaTimeType" minOccurs="0" maxOccurs=" l"/>
<element name="VideoSegment" type='NideoSegmentType" minOccurs="0" maxOccurs="unbounded"/> </sequence>
<attribute name="id" use="required"> <simpleType base- 'string"/>
</attribute> </complexType>
<element name- NideoSegment" type="VideoSegmentType"/> </schema> Table 3:
Name Table structuring key Self-containment key (...)
VideoSegment 0
KeyFrame 0
Annotation 0
MediaTime 0
Figure imgf000013_0001
Start 0 . 2 . 0
Stop 0. 2 . 1
Timeunit 0 . 2 . 2
NideoSegment 0 . 3 [ ] 0
Id 0 . 4
The underlined digits of the table structuring key are the identification information. The non-underlined digits of the table structuring key and the self-containment key are the structural information used to retrieve any child description element from its parent description element.
A method for encoding a description element of an instance of a schema will now be described by reference to fig.2. According to fig.2 in order to encode a description element DE of an instance XML-C of a schema XML-S, the hierarchical memory representation DM-C of the instance XML-C is scanned from parent to child description element until reaching the description element DE to be encoded (step 2-1). At each hierarchical level, the identification information ID, associated to the scanned description element D, is retrieved from the table EDT that is associated to the schema XML-S (step 2- 2). The instance structuring key K(DE) of the description element DE is built as a sequence of the retrieved identification information ID, (step 2-3). The fragment BiM-F(DE) is finally built by adding the content C(DE) of the description element DE to the sequence of retrieved identification information (step 2-4). The fragment is converted in binary format for transmission.
An example of such an encoding process will now be given in reference to the above described EXAMPLE 3.
ARRAY 1 below gives an example of an instance of the schema described in EXAMPLE 3. On the left are given the instance structuring key of the element defined in the corresponding line of the array. On the right are given the instance structuring key of the attribute defined in the corresponding line of the array. Those instance structuring keys have been obtained by using the above described encoding method.
The encoding of the description element <MediaTime timeunit="PTlN30F"> appearing in bold character in Array 1 will now be described step by step as illustrative purpose. step 1-1: a hierarchical memory representation of the instance is scanned from parent description element to child description element until reaching the description element to be encoded (here the attribute "timeUnit" of an element "MediaTime"); the scanned description elements are: VideoSegment
NideoSegment (first occurring child of a VideoSegment)
VideoSegment (second occurring child of a VideoSegment) MediaTime timeUnit step 1-2: the corresponding identification information (including the index if applicable) are retrieved from Table 3:
VideoSegment 0
VideoSegment (first occurring child of a VideoSegment) 3 [0]
VideoSegment (second occurring child of VideoSegment)...3 [1] MediaTime 2
TimeUnit 2
Step 2: a sequence of the retrieved identification information is built: 0.3 [0].3 [1].2.2. This sequence is the instance structuring key associated to the encoded description element. The other instance structuring keys given in Array 1 can be derived in the same way.
The instance structuring key can also be seen as an instantiation of the table structuring key. Indeed, the multiple occurrence elements are actually indexed (resulting in instance structuring keys such as 0.3 [0], 0.3 [1], ...) and the self-containment loops are developed (resulting in instance structuring keys such as 0.3[0].3[1].2.2 that do not appear in the table but can be computed from it). The instance structuring key is encoded as a description element identifier in an instance binary fragment.
A method for decoding a fragment will now be described by reference to figure 3. According to figure 3, a decoding method according to the invention consists in: step 3-1 : finding in the table the description element associated to the received sequence of identification information, step 3-2: decoding the received content according to the primitive type of said description element (found in the table), step 3-3: updating the hierarchical memory representation by adding said element together with its content; adding its parent description element if they are missing; and in case of multiple occurrences, adding same description elements of lower rank if they are missing.
Figure imgf000016_0001
ARRAY 1
In practice the received sequence is scanned, identification information by identification information, and the following algorithm is applied to update the hierarchical memory representation of the instance:
Algorithm (1): - step 4-1 : current token = first identification information of the sequence current node = root of the hierarchical memory representation step 4-2: previous description element = description element corresponding to current node current description element = child of previous description element having current token as identification information step 4-3: does current node have a child node corresponding to the current description element? - step 4-4: if current node has a child node corresponding to the current description element, go to step 4-8 step 4-5 : if current node doesn't have a child node corresponding to the current description element, create such a child node, step 4-6: in case of multiple occurrences create brother node(s) of lower rank, if not already existing, step 4-7: if current token =last identification information of the received sequence, add the content to the node created at step 4-5 and go to step 4-8 step 4-8: current token = next identification information current node = child node go to step 4-2.
For example, at step 4-2, the current description element can be retrieved by using the following algorithm given in C-like code:
Algorithm (2): Let instance key be the sequence of token from the first identification information of the received sequence to the current identification of the received sequence. Let edt key be the corresponding table structuring key as found in the table Let prefix(key) be the largest prefix (n first tokens) of key that actually exists in the table. Let suffix(key) be the last tokens of key so that key = prefix(key)+suffιx(key). Let self_cont(key) be the self-containment key. while (prefix(instance_key) != instance_key )
{ instance Jey - self_cont(prefix( instance _key ) ) + suffιx( instance _key ); } edtjey = instance Jcey ;
Applying step by step algorithm (2) to the sequence 0.0.1.1.0 in the above described EXAMPLE 2 gives: instance key = 0.0.1.1.0 prefix(instancejcey) = 0.0.1 instance Jcey = self _cont( prefix(instance Jcey) ) + suffix( instance Jcey ) = 0.0 + 1.0 = 0.0.1.0 prefix(instance ey) = 0.0.1 instance Jcey = self _cont( prefix(instance Jcey) ) + suffix( instance Jcey ) = 0.0 + 0 = 0.0.0
Which leads finally to: edtjcey = 0.0.0 which means that the current description element is Element 4.
In case of non-self-contained hierarchies, the mapping between the table structuring key and the instance structuring key is straightforward. Indeed, one has simply to remove the indexes found in the instance structuring key to retrieve the corresponding table structuring key. In the above described EXAMPLE 1 , a description element represented by the instance structuring key 0.1 [5] is the fifth Element2 present in a globalElement.
In an advantageous embodiment of the invention the table structuring key and the instance structuring key are compacted as will now be described. Experiments have shown that such a compression of the structuring key leads to a significant gain regarding the size of the key while offering exactly the same functionality.
The resulting keys are referred as compact key (in short CSK). In the simpler case (no self-containment), the CSK is the structuring key Element Declaration Table record number.
First, we need to add a key to the current list of EDT fields by numbering the Element Declaration Table records. Applied on the above described EXAMPLE 2, this leads to: Table2bis: Name Compact kev Table structuring key Self-containment key
GlobalElement 0 0
Elementl 1 0 . —0 <- π I
Element4 2 0 . 0. 0
Elementl 3 O . O . I 0 . 0
Element2 4 o . I D
Element3 5 0 . 2
Attribute 1 6 0 . 3 Algorithm (3) is used to compute the CSK in the general case (with self- contained structures) from the instance structuring key :
Algorithm (3): Let instance key be the instance structuring key of a given description element. Let csjcey be the corresponding compact structuring key. Let prefix(key) be the largest prefix (n first tokens) of key that actually exists in the EDT. Let suffixøcey) be the last tokens of key so that key = prefix(key)+suffix(key). Let self_cont(key) be the self-containment key.
Let compact Jorm(key) be the corresponding compact form of key in the EDT. while (prefix(instance_key) != instance_key ) { cs_key = cs_key + compact Jorm( prefix(instance Jcey) ) ; instance key - self_cont(prefix( instance Jcey ) ) + suffix( instance Jcey );
} cs_key = cs_key + compact orm( prefix(instance Jcey) ) ;
Example : We want to compute the CSK corresponding to the following structuring key:
0.0.1.1.0
Applying step by step the algorithm described above gives: instance Jcey = 0.0.1.1.0 prefιx(instancejcey) = 0.0.1 csjey = 3 instance Jcey = self _cont( prefix(instance Jcey) ) + suffix( instance Jey ) - 0.0 + 1.0 = 0.0.1.0 prefιx(instance ey) = 0.0.1 csjcey - 3.3 instance Jcey = self _cont( prefix(instance Jcey) ) + suffix{ instance Jcey ) - 0.0 + 0 = 0.0.0
Which leads finally to: csjcey = 3.3.2
In the above example, the element is not a multiple occurrence element for sake of expression simplicity. It is nevertheless to be noted that each token of the instance structuring key (resp. the instance CSK) might be indexed (resp. contain several indexes).
The only purpose of the compact structuring key is to reduce the size of the stream. Therefore the instance compact structuring key is firstly decoded to its expanded form (instance structuring key) by the decoder before the above described decoding phase. Algorithm 4 given below returns the instance structuring key corresponding to a instance compact key:
Algorithm (4) : Let resultNCKey be the expanded form of compact_key (result of the algorithm).
Let compact Jey be the instance compact structuring key of a given description element. Let current Jey be a token of the instance compact structuring key compact Jcey. Let compact Jcey [i] be the i* token of compact Jcey. Let size (compact Jcey) be the number of tokens of compact Jcey. Let diffCode(keyl, key2) be the sub-key obtained by removing the common prefix of key 1 and key 2
Let NCKey(CKey) be the corresponding expanded form of the compact key CKey. Let self_cont(key) be the self-containment key of key.
All indexes are first removed from compact key and are put back at the end in the developed form of compact key: current Jey = compact keyfOJ resultNCKey = NCKey(current ey) for (i=l; i< size (compact key); i++)
{ previous key = current Jcey ; current key = compact Jcey [i] ; resultNCKey += ". " + diffCode(NCKey (current key), self cont revious key)) ; } Example : We want to generate the instance structuring key corresponding to the following CSK 3.3.2
Applying step by step the algorithm described above gives : compact key = 3.3.2 current Jcey = 3 resultNCKey = 0.0.1 (looking at the EDT) (i=l) previous Jcey = 3 current Jcey = 3 self _cont(previous key) = 0.0
NCKey (current Jcey) = 0.0.1 diffCode(0.0Λ, 0.0 ) = "\" resultNCKey = resultNCKey +"." + "1" ^resultNCKey = 0.0.1.1 (i=2) previous Jcey = 3 current key - 2 self _cont(previous key) = 0.0 NCKey (current Jcey) = 0.0.0 diffCode(0. .0, 0.0 ) = "0" resultNCKey = resultNCKey + "." + "0" resultNCKey = 0.0.1.1.0 end 3.3.2 is thus the compact form of the instance structuring key 0.0.1.1.0 An example of binary syntax will now be described. Fragments are part of a file having a header. The header of the file contains at least an identifier of the schema (either an MPEG-defined ID or a URL as proposed in M6142).
Each fragment is composed of an instance compact structuring key K(DEj) (or an instance structuring key) and a description element value C(DE;) (also called content) as described on figure 4. The generic form of the instance structuring key is as follows :
Key[ind][ind](..,)[ind] .Key[ind][ind](...)[ind] . (...) , where each group Key[ind][ind](...)[ind] is called token. Tokens of an instance structuring key comprise at most one index. Tokens of instance compact structuring keys may comprise several indexes. All keys and indexes are integer values coded using a variable number of bytes. The whole structuring key is thus coded using a variable set of bytes, each of them being controlled by the 2 most significant bits with the following semantics :
Figure imgf000022_0001
Figure 4 also describes the generic format for encoding description element values. According to figure 4, before adding a data value D(DEj) to the binary file or stream, the size in bytes S(DEi) of the data block is coded. This aims at informing the decoder about the size of data to be decoded and guaranties an easy random access to data and fast stream parsing. Since certain primitive data types can imply a large amount of bytes (e.g. free text annotation or movie scripts), we propose to code the data size using a variable number of bytes.
The length is thus coded by default using one byte, with the most significant bit being interpreted as follows :
Figure imgf000022_0002
Figure 5 gives an example of a binary encoding for the compact key
« 0.1 [70][1] ». Five bytes are needed to encode the compact key « 0.1 [70][1] ». Each byte starts with two control bits. The six less significant bits are used to encode the value. The control bits of the first byte are '00' (new level). Its value bits are '000000' which is the binary representation of the first identification information of the sequence ('0'). The control bits of the second byte are ' 10' (indexed'). Its value bits are '00001 ' which is the binary representation of the second identification information of the sequence (T). The binary representation of the first index '70' is ' 1000110' which contains more than six bits. Therefore the encoding is done on two bytes: the third and the fourth bytes. The control bits of the third byte are '01 ' (continue). Its value bits are '000110' (less significant bits of the index to be encoded). The control bits of the fourth byte are '10' (indexed). Its value bits are '000001 ' (most significant bits of the index to be encoded). Finally the control bits of the fifth byte are ' 11 ' (end). And its value bits are '000001 ' (binary value of the index to be encoded).
Figure 6 gives an example of a binary encoding of the data size 575 (binary : 10 00111111). The first byte is composed of the 7 less significant bits of the length value with the addition of a control bit specifying that another byte is required. The second byte contains the remaining bits with the "end" control bit.
As already mentioned, a major advantage of the proposed coding scheme is to encode only the attributes and elements that contain a primitive type value, and skip the elements that are only structural containers (e.g. with a complex type). This is allowed given that the structure can be inferred at the decoder side using the Element Declaration Table. Example:
Consider the following instance fragment (found in the core experiment test set) : <GenericDS> <MediaInformation> <MediaProfile> <MediaInstance>
<InstanceLocator>
<MediaURL>imgs/img00587_add3.jpg</MediaURL> </InstanceLocator> </MediaInstance> </MediaProfile>
</MediaInformation> </GenericDS>
In this case, only the MediaURL would be encoded (as a string) using a structuring key that allows the decoder to reconstruct the whole structure from the Element Declaration Table. The other container elements would not be transmitted.
In the general case, all the elements which type is primitive (i.e. for which a binary representation is available in a standard way which ensures interoperability) shall be encoded. Examples of such primitive types are the XML-schema built-in types (e.g. string, float, ...) as well as the MPEG-7 specific basic types (e.g. unsignedlntl, unsignedlnt2, ..., MediaTime, Matrix, ...).
Primitive types also include extended types that might include complex types in the following cases: there is no need for accessing randomly the embedded elements within the complex type structure. an efficient binary representation already exists.
These criteria are certainly fulfilled in the case of descriptors as defined by the video and audio group of MPEG-7. Indeed, a compact binary representation has already been defined and should be used. Furthermore, there is (most of the time) no need for accessing the individual parts of the descriptors (they make sense as a whole).
The efficiency (in terms of content compression) will increase with an increasing number of primitive types (which are encoded in an optimal way), but so does the complexity of the decoder which is supposed to include the decoding methods for all the standard primitive types.
ARRAY 2 below is an example of compact instance structuring key for the instance already used in ARRAY 1. The compact instance structuring key associated to the description element <MediaTime timeUnit= 'PT1N30F'> is 7[0].7[1].6. The binary representation of this compact instance structuring key is ' 10-000111 00-000000 10-000111 00-000001 11-000110'. The length of the content is encoded on 1 byte: 0-0000111. And the value PT1N30F is converted from string characters to bytes using usual character coding.
Figure imgf000025_0001
ARRAY 2

Claims

CLAIMS:
1. A encoding method for encoding a description element of an instance of an XML-like schema defining a hierarchical structure of description elements, said hierarchical structure comprising hierarchical levels, parent description elements and child description elements, said description element to be encoded comprising a content, characterized in that it consists in: using at least one table derived from said schema, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, - scanning a hierarchical memory representation of said instance from parent description elements to child description elements until reaching the description element to be encoded, and retrieving the identification information of each scanned description element, encoding said description element to be encoded as a fragment comprising said content and a sequence of the retrieved identification information.
2. A coding method as claimed in claim 1 , characterized in that when a description element is defined in the schema as possibly having multiple occurrences, said table further comprises for said description element an occurrence information for indicating that said description element may have multiple occurrences in an instance, and when an occurrence having a given rank is scanned during the encoding, the corresponding retrieved identification information is indexed with said rank.
3. A decoding method for decoding a fragment comprising a content and a sequence of identification information, characterized in that it consists in: using at least one table derived from an XML-like schema, said schema defining a hierarchical structure of description elements comprising hierarchical levels, parent description elements and child description elements, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, scanning said sequence identification information by identification information, - at each step searching in said table for the description element associated to the current identification information and adding said description element to a hierarchical memory representation of an instance of said schema if not already contained in said hierarchical memory representation, adding said content to the description element of said hierarchical memory representation that is associated to the last identification information of said sequence.
4. A decoding method as claimed in claim 3, characterized in that when a description element is defined in the schema as possibly having multiple occurrences, said table further comprises for said description element an occurrence information for indicating that said description element may have multiple occurrences in an instance, and when said sequence comprises an indexed identification information, said index is interpreted as an occurrence rank for the associated description element, same description element(s) of lower rank(s) being added to said hierarchical memory representation if not already contained in it.
5. A encoder for encoding a description element of an instance of an XML-like schema defining a hierarchical structure of description elements, said hierarchical structure comprising hierarchical levels, parent description elements and child description elements, said description element to be encoded comprising a content, characterized in that it comprises: - a memory for storing at least one table derived from said schema, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, computing means for scanning said instance from parent description elements to child description elements until reaching the description element to be encoded, and retrieving the identification information of each scanned description element, and for encoding said description element to be encoded as a fragment comprising said content and a sequence of the retrieved identification information.
6. A decoder for decoding a fragment comprising a content and a sequence of identification information, characterized in that it comprises: a memory for storing at least one table derived from an XML-like schema, said schema defining a hierarchical structure of description elements comprising hierarchical levels, parent description elements and child description elements, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, computing means for: scanning said sequence identification information by identification information, at each step searching in said table for the description element associated to the current identification information and adding said description element to a hierarchical memory representation of an instance of said schema if not already contained in said hierarchical memory representation, adding said content to the description element of said hierarchical memory representation that is associated to the last identification information of said sequence.
7. A transmission system comprising an encoder as claimed in claim 5.
8. A transmission system comprising an decoder as claimed in claim 6.
9. A signal for transmission over a transmission network comprising an encoder and/or a decoder having a memory storing at least one table derived from an XML-like schema, said XML-like schema defining a hierarchical structure of description elements, said hierarchical structure comprising hierarchical levels, parent description elements and child description elements, said table containing identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element, said signal embodying at least one fragment representing a content of a description element, called encoded description element, and a sequence of identification information being associated in said table to said encoded description element and its parent description element(s).
10. A table intended to be used in an encoder for encoding a description element of an instance of an XML-like schema, and/or in a decoder for updating a hierarchical memory representation of an instance of an XML-like schema, said XML-like schema defining a hierarchical structure of description elements, said hierarchical structure comprising hierarchical levels, parent description elements and child description elements, characterized in that it is derived from said XML-like schema, and it contains identification information for solely identifying each description element in a hierarchical level, and structural information for retrieving any child description element from its parent description element.
PCT/EP2001/011717 2000-10-17 2001-10-10 Binary format for mpeg-7 instances WO2002033977A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP01976294A EP1330924A1 (en) 2000-10-17 2001-10-10 Binary format for mpeg-7 instances
BR0107329-0A BR0107329A (en) 2000-10-17 2001-10-10 Encoding process for encoding an element of description of an instance of an xml type scheme, decoding process for decoding a fragment comprising a content and a sequence of identification information, encoder for encoding an element of description of an instance of a type scheme xml, decoder to decode a fragment comprising a content and a sequence of identification information, transmission system, signal for transmission over a transmission network, and, table intended for use in an encoder
MXPA02006077A MXPA02006077A (en) 2000-10-17 2001-10-10 Binary format for mpeg-7 instances.
JP2002536845A JP4405146B2 (en) 2000-10-17 2001-10-10 Binary format for MPEG-7 instances
AU2001295608A AU2001295608A1 (en) 2000-10-17 2001-10-10 Binary format for mpeg-7 instances
CN018050298A CN1401188B (en) 2000-10-17 2001-10-10 Binary format for MPEG-7 instances

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00402876.7 2000-10-17
EP00402876 2000-10-17

Publications (1)

Publication Number Publication Date
WO2002033977A1 true WO2002033977A1 (en) 2002-04-25

Family

ID=8173905

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2001/011717 WO2002033977A1 (en) 2000-10-17 2001-10-10 Binary format for mpeg-7 instances

Country Status (10)

Country Link
US (1) US7373591B2 (en)
EP (1) EP1330924A1 (en)
JP (1) JP4405146B2 (en)
KR (1) KR100865245B1 (en)
CN (1) CN1401188B (en)
AU (1) AU2001295608A1 (en)
BR (1) BR0107329A (en)
MX (1) MXPA02006077A (en)
RU (1) RU2285354C2 (en)
WO (1) WO2002033977A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008154264A1 (en) * 2007-06-07 2008-12-18 Motorola, Inc. A method and apparatus to bind media with metadata using standard metadata headers

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2813743B1 (en) * 2000-09-06 2003-01-03 Claude Seyrat COMPRESSION / DECOMPRESSION PROCESS FOR STRUCTURED DOCUMENTS
EP2197210A3 (en) * 2000-12-22 2010-08-11 Siemens Aktiengesellschaft Method for improving the functionality of the binary representation of MPEG-7 and other XML-based content descriptions
FR2820228B1 (en) * 2001-01-30 2004-03-12 Expway METHOD OF ENCODING AND DECODING A PATH IN THE TREE OF A STRUCTURED DOCUMENT
EP1400124B1 (en) * 2001-02-01 2009-08-05 Siemens Aktiengesellschaft Method for improving the functions of the binary representation of mpeg-7 and other xml-based content descriptions
WO2003001404A2 (en) * 2001-06-25 2003-01-03 Siemens Aktiengesellschaft Method for rapidly searching elements or attributes or for rapidly filtering fragments in binary representations of structured documents
US8024366B2 (en) * 2001-06-25 2011-09-20 Siemens Aktiengesellschaft System and method for the improved encoding/decoding of binary representations of structured, documents
US7669120B2 (en) * 2002-06-21 2010-02-23 Microsoft Corporation Method and system for encoding a mark-up language document
US7188340B2 (en) * 2002-06-28 2007-03-06 Microsoft Corporation Hybrid tree for mixed user interface elements and sequential data
US7493603B2 (en) * 2002-10-15 2009-02-17 International Business Machines Corporation Annotated automaton encoding of XML schema for high performance schema validation
US7337401B2 (en) * 2002-12-18 2008-02-26 Microsoft Corporation User interface element representation with simplified view
DE10351897A1 (en) * 2003-07-15 2005-02-17 Siemens Ag Method for coding structured documents
EP1902523A1 (en) * 2003-11-07 2008-03-26 Expway Method for compressing and decompressing structured documents
WO2005053315A1 (en) * 2003-11-28 2005-06-09 Siemens Aktiengesellschaft Method for producing and/or processing a data stream description
US20050177578A1 (en) * 2004-02-10 2005-08-11 Chen Yao-Ching S. Efficient type annontation of XML schema-validated XML documents without schema validation
US7437374B2 (en) * 2004-02-10 2008-10-14 International Business Machines Corporation Efficient XML schema validation of XML fragments using annotated automaton encoding
DE102004009617A1 (en) * 2004-02-27 2005-09-29 Siemens Ag Method and device for coding and decoding structured documents
DE102004034004A1 (en) * 2004-07-14 2006-02-09 Siemens Ag Method for coding an XML document, as well as methods for decoding, method for encoding and decoding, coding device, decoding device and device for encoding and decoding
DE102004043269A1 (en) * 2004-09-07 2006-03-23 Siemens Ag Method for encoding an XML-based document
JP2008052603A (en) * 2006-08-25 2008-03-06 Canon Inc Table editing device and table editing method
KR100904890B1 (en) * 2006-12-20 2009-06-29 재단법인대구경북과학기술원 MPEG-7 meta-data storage method suitable for the embedded multimedia device
JP4360428B2 (en) * 2007-07-19 2009-11-11 ソニー株式会社 Recording apparatus, recording method, computer program, and recording medium
US8352509B2 (en) * 2007-12-19 2013-01-08 International Business Machines Corporation Methods, systems, and computer program products for accessing a multi-format data object
US8589788B2 (en) * 2007-12-19 2013-11-19 International Business Machines Corporation Methods, systems, and computer program products for automatic parsing of markup language documents
US7925643B2 (en) * 2008-06-08 2011-04-12 International Business Machines Corporation Encoding and decoding of XML document using statistical tree representing XSD defining XML document
FR2936623B1 (en) * 2008-09-30 2011-03-04 Canon Kk METHOD FOR ENCODING A STRUCTURED AND DECODING DOCUMENT, CORRESPONDING DEVICES
CN101902489B (en) * 2009-06-01 2013-04-17 华为技术有限公司 Message sending method, processing method, client, router and system
EP2388701A1 (en) * 2010-05-17 2011-11-23 Siemens Aktiengesellschaft Method and apparatus for providing a service implementation
US8793309B2 (en) 2010-09-07 2014-07-29 Sap Ag (Th) Systems and methods for the efficient exchange of hierarchical data
KR102027473B1 (en) * 2010-09-30 2019-10-02 삼성전자주식회사 Method and apparatus for encoding video with encoding hierarchical-structured symbol, method and apparatus for decoding video with decoding hierarchical-structured symbol
CN110148443B (en) * 2017-07-25 2021-04-20 上海思路迪生物医学科技有限公司 Identification method and system for clinical examination sample
CN111666292B (en) * 2020-04-24 2023-05-26 百度在线网络技术(北京)有限公司 Similarity model establishment method and device for retrieving geographic position

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997034240A1 (en) * 1996-03-15 1997-09-18 University Of Massachusetts Compact tree for storage and retrieval of structured hypermedia documents
EP0896284A1 (en) * 1997-08-05 1999-02-10 Fujitsu Limited Compressing and decompressing data

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360234B2 (en) * 1997-08-14 2002-03-19 Virage, Inc. Video cataloger system with synchronized encoders
US7028312B1 (en) * 1998-03-23 2006-04-11 Webmethods XML remote procedure call (XML-RPC)
EP1125245B1 (en) * 1998-11-06 2012-01-04 The Trustees of Columbia University in the City of New York Image description system and method
US6564263B1 (en) * 1998-12-04 2003-05-13 International Business Machines Corporation Multimedia content description framework
US6772180B1 (en) * 1999-01-22 2004-08-03 International Business Machines Corporation Data representation schema translation through shared examples
US6748382B1 (en) * 1999-01-28 2004-06-08 International Business Machines Corporation Method for describing media assets for their management
US6236395B1 (en) * 1999-02-01 2001-05-22 Sharp Laboratories Of America, Inc. Audiovisual information management system
US6593936B1 (en) * 1999-02-01 2003-07-15 At&T Corp. Synthetic audiovisual description scheme, method and system for MPEG-7
US6549922B1 (en) * 1999-10-01 2003-04-15 Alok Srivastava System for collecting, transforming and managing media metadata
US6966027B1 (en) * 1999-10-04 2005-11-15 Koninklijke Philips Electronics N.V. Method and apparatus for streaming XML content
US6883137B1 (en) * 2000-04-17 2005-04-19 International Business Machines Corporation System and method for schema-driven compression of extensible mark-up language (XML) documents
US6665731B1 (en) * 2000-05-16 2003-12-16 Intel Corporation Method for remotely accessing component management information
US6646676B1 (en) * 2000-05-17 2003-11-11 Mitsubishi Electric Research Laboratories, Inc. Networked surveillance and control system
US20050193425A1 (en) * 2000-07-24 2005-09-01 Sanghoon Sull Delivery and presentation of content-relevant information associated with frames of audio-visual programs
US6963972B1 (en) * 2000-09-26 2005-11-08 International Business Machines Corporation Method and apparatus for networked information dissemination through secure transcoding
US7934008B2 (en) * 2000-10-20 2011-04-26 Sony Corporation Delivery of multimedia descriptions using access units
US20020120652A1 (en) * 2000-10-20 2002-08-29 Rising Hawley K. Two-stage mapping for application specific markup and binary encoding
US7398275B2 (en) * 2000-10-20 2008-07-08 Sony Corporation Efficient binary coding scheme for multimedia content descriptions
US7689901B2 (en) * 2001-03-01 2010-03-30 Sony Corporation Multiple updates to content descriptions using a single command
US20020184336A1 (en) * 2001-03-01 2002-12-05 Rising Hawley K. Occurrence description schemes for multimedia content
US7240285B2 (en) * 2001-03-01 2007-07-03 Sony Corporation Encoding and distribution of schema for multimedia content descriptions
US7734997B2 (en) * 2001-05-29 2010-06-08 Sony Corporation Transport hint table for synchronizing delivery time between multimedia content and multimedia content descriptions
US7089543B2 (en) * 2001-07-13 2006-08-08 Sony Corporation Use of formal logic specification in construction of semantic descriptions
US7203692B2 (en) * 2001-07-16 2007-04-10 Sony Corporation Transcoding between content data and description data
US7231394B2 (en) * 2001-07-17 2007-06-12 Sony Corporation Incremental bottom-up construction of data documents

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997034240A1 (en) * 1996-03-15 1997-09-18 University Of Massachusetts Compact tree for storage and retrieval of structured hypermedia documents
EP0896284A1 (en) * 1997-08-05 1999-02-10 Fujitsu Limited Compressing and decompressing data

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"ICT'S XML-XPRESS", WHITE PAPER, ICT COMPRESS, December 2000 (2000-12-01), XP002179806 *
GIRARDOT M ET AL: "MILLAU: AN ENCODING FORMAT FOR EFFICIENT REPRESENTATION AND EXCHANGE OF XML OVER THE WEB", COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL, vol. 33, no. 1-6, June 2000 (2000-06-01), pages 747 - 765, XP001005949, ISSN: 0169-7552 *
ISO/IEC JCT1/SC29/WG11: "Text of ISO/IEC 15938-1 Information technology - Multimedia content description interface - Part 1 Systems", ISO/IEC JTC1/SC29/WG11 N3701, XX, XX, October 2000 (2000-10-01), XP002172899 *
LIEFKE H ET AL: "XMILL: AN EFFICIENT COMPRESSOR FOR XML DATA", SIGMOD RECORD, ASSOCIATION FOR COMPUTING MACHINERY, NEW YORK, US, vol. 29, no. 2, June 2000 (2000-06-01), pages 153 - 164, XP001002286 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008154264A1 (en) * 2007-06-07 2008-12-18 Motorola, Inc. A method and apparatus to bind media with metadata using standard metadata headers
US7747558B2 (en) 2007-06-07 2010-06-29 Motorola, Inc. Method and apparatus to bind media with metadata using standard metadata headers

Also Published As

Publication number Publication date
BR0107329A (en) 2002-08-27
US20020138517A1 (en) 2002-09-26
AU2001295608A1 (en) 2002-04-29
CN1401188A (en) 2003-03-05
JP4405146B2 (en) 2010-01-27
MXPA02006077A (en) 2002-12-13
JP2004514966A (en) 2004-05-20
CN1401188B (en) 2011-06-08
RU2285354C2 (en) 2006-10-10
KR20020064941A (en) 2002-08-10
EP1330924A1 (en) 2003-07-30
KR100865245B1 (en) 2008-10-27
US7373591B2 (en) 2008-05-13

Similar Documents

Publication Publication Date Title
US7373591B2 (en) Binary format for MPEG-7 instances
JP4615827B2 (en) Method for compressing a structured description of a document
US7080318B2 (en) Schema, syntactic analysis method and method of generating a bit stream based on a schema
US7647552B2 (en) XML encoding scheme
JP5366995B2 (en) Method for improving binary representation capabilities of MPEG-7 and other XML-based content descriptions
US7231394B2 (en) Incremental bottom-up construction of data documents
US8296805B2 (en) Command description scheme providing for dynamic update of instance documents and their associated schema
AU2002253002A1 (en) Method and system for compressing structured descriptions of documents
US7870483B2 (en) Encoding and distribution of schema for multimedia content descriptions
CN100444635C (en) Method for providing requested fields by get-data operation in TV-Anytime metadata service
US7398275B2 (en) Efficient binary coding scheme for multimedia content descriptions
US20020120652A1 (en) Two-stage mapping for application specific markup and binary encoding
US7251277B2 (en) Efficient means for creating MPEG-4 textual representation from MPEG-4 intermedia format
RU2294012C2 (en) Data structure and methods for transforming stream of bits to electronic document and generation of bit stream from electronic document based on said data structure
WO2006010107A1 (en) Metadata service
US20020120780A1 (en) Two-staged mapping for application specific markup and binary encoding
Ozden A Binary Encoding for Efficient XML Processing
JP4847943B6 (en) Method for improving binary representation capabilities of MPEG-7 and other XML-based content descriptions
AU2001293514B2 (en) XML encoding scheme
Hong et al. XFlavor: providing XML features in media representation
STANDARD Material Exchange Format–XML Encoding for Metadata and File Structure Information
Houchin Flexible transmission of metadata in the JPEG 2000 Internet protocol
AU2001293514A1 (en) XML encoding scheme

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: IN/PCT/2002/912/CHE

Country of ref document: IN

ENP Entry into the national phase

Ref document number: 2002 536845

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020027007751

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: PA/a/2002/006077

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2001976294

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020027007751

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 018050298

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2003114439

Country of ref document: RU

Kind code of ref document: A

Ref country code: RU

Ref document number: RU A

WWP Wipo information: published in national office

Ref document number: 2001976294

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642