GB2371889A - Data structures - Google Patents

Data structures Download PDF

Info

Publication number
GB2371889A
GB2371889A GB0102706A GB0102706A GB2371889A GB 2371889 A GB2371889 A GB 2371889A GB 0102706 A GB0102706 A GB 0102706A GB 0102706 A GB0102706 A GB 0102706A GB 2371889 A GB2371889 A GB 2371889A
Authority
GB
United Kingdom
Prior art keywords
lt
gt
sep
data
essence
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
GB0102706A
Other versions
GB0102706D0 (en
Inventor
James Hedley Wilkinson
Alan Turner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Europe Ltd
Original Assignee
Sony Europe Ltd
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 Sony Europe Ltd filed Critical Sony Europe Ltd
Priority to GB0102706A priority Critical patent/GB2371889A/en
Publication of GB0102706D0 publication Critical patent/GB0102706D0/en
Publication of GB2371889A publication Critical patent/GB2371889A/en
Application status is Withdrawn legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Abstract

A data structure comprises KLV packets each having Key, Length and Value fields, wherein a Key field denotes the type of data in a packet, a Value field contains the data of the packet and a Length field denotes the amount of data in the Value field. The KLV packets are organised into: a File Header including a data space for metadata associated with data in a File Body; at least one of a first KLV packet forming a first component of a File Body and a second KLV packet forming a second component of the File Body; and a File Footer. The first component , if present, has a Value field containing location data directly or indirectly indicating the location of first essence which is not included in the File Body, and a Key field the Value of which indicates that the Value field of the first component contains the said location data. The second component, if present, having a Value field containing an essence container for containing second essence, and a Key field the Value of which identifies the second essence. One or both of the first and second essence is associated with the said metadata. The Key field of the first components has the same form as the Key field of the second component, the components being distinguished by distinguishing codes in the Key fields.

Description

<img class="EMIRef" id="024182770-00010001" />

<tb>

Data <SEP> Structures <tb> The present invention relates to a data structure, a method of, and apparatus for, forming a data structure, and a computer program product. Preferred embodiments of the invention relate to MXF (Material eXchange Format) Files and the invention and its background will be described in relation to MXF Files.

MXF is described in the conference publication of the International Broadcasting Convention IBC 2000, pages 395 to 400.

The purpose of MXF Files is to allow programme material together with Metadata associated with the material to be transferred between material processing and storage equipment. Material is one or more of video essence, audio essence and data essence together with essential formatting metadata embedded in a suitable container. Metadata is any information relating to, or associated with, the material. Essence is the video, audio and data content. For example, video essence is data representing only the raw sampled video.

MXF Files as currently proposed include a File Header which includes the metadata in a section termed Header Metadata, followed by a File Body containing the material followed by a File Footer. Thus a complete File of the material together with its associated metadata is provided for transfer. The Header, Body and Footer are coded using a sequence of Key, Length, Value (KLV) Packets. KLV coding is described in the SMPTE Journal July 2000, Vol. 109, No 7, Engineering Report.

However, some storage systems store the material separately from the associated metadata. Commonly library and archive systems store the material separately from the associated metadata. The metadata is made available to a search tool which then locates the associated material without having to spool through possibly many hours of material.

According to a first aspect of the present invention, there is provided a data structure comprising KLV packets each having Key, Length and Value fields, wherein a Key field denotes the type of data in a packet, a Value field contains the data of the <img class="EMIRef" id="024182770-00010002" />

<tb> packet <SEP> and <SEP> a <SEP> Length <SEP> field <SEP> denotes <SEP> the <SEP> amount <SEP> of <SEP> data <SEP> in <SEP> the <SEP> Value <SEP> field, <SEP> the <SEP> said <SEP> KLV <tb> packets <SEP> being <SEP> organised <SEP> into <SEP> : <tb> <img class="EMIRef" id="024182770-00020001" />

<tb> a <SEP> File <SEP> Header <SEP> including <SEP> a <SEP> data <SEP> space <SEP> for <SEP> metadata <SEP> associated <SEP> with <SEP> data <SEP> in <SEP> a <SEP> File <tb> Body <SEP> ; <tb> at <SEP> least <SEP> one <SEP> of <SEP> a <SEP> first <SEP> KLV <SEP> packet <SEP> forming <SEP> a <SEP> first <SEP> component <SEP> of <SEP> a <SEP> File <SEP> Body <SEP> and <tb> a <SEP> second <SEP> KLV <SEP> packet <SEP> forming <SEP> a <SEP> second <SEP> component <SEP> of <SEP> the <SEP> File <SEP> Body <SEP> ; <tb> the first component, if present, having a Value field containing location data directly or indirectly indicating the location of first essence which is not included in the File Body, and a Key field the Value of which indicates that the Value field of the first component contains the said location data; the second component, if present, having a Value field containing an essence container for containing second essence, and a Key field the Value of which identifies the second essence; one or both of the first and second essence being associated with the said metadata; and a File Footer; wherein the Key field of the first components has the same form as the Key field of the second component, the components being distinguished by distinguishing codes in the Key fields.

Thus the Key field has the same, consistent form for both a component having embedded essence and a component having a locator indicating the location of essence which is not embedded in the data structure. This simplifies the encoding and decoding of data structures when transferring them in networked systems.

The first essence may be full resolution essence and the second essence may be a low resolution version of the first essence. That allows the File structure to be used to browse the low resolution essence without needing to access the full resolution essence. Alternatively, the first essence may be the low resolution version and the second essence may be the full resolution essence.

Preferably the first component of the data structure includes a filler KLV packet for containing filler data so that the first component has a predetermined length. <img class="EMIRef" id="024182770-00020002" />

<tb> Preferably <SEP> the <SEP> said <SEP> file <SEP> header <SEP> includes <SEP> a <SEP> filler <SEP> KLV <SEP> packet <SEP> for <SEP> containing <SEP> filler <tb> data so that the file header has a predetermined length.

A first embodiment of the first aspect provides a data structure comprising KLV packets each having Key, Length and Value fields, wherein a Key field denotes <img class="EMIRef" id="024182770-00030001" />

<tb> the <SEP> type <SEP> of <SEP> data <SEP> in <SEP> a <SEP> packet, <SEP> a <SEP> Value <SEP> field <SEP> contains <SEP> the <SEP> data <SEP> of <SEP> the <SEP> packet <SEP> and <SEP> a <SEP> Length <tb> field <SEP> denotes <SEP> the <SEP> amount <SEP> of <SEP> data <SEP> in <SEP> the <SEP> Value <SEP> field, <SEP> the <SEP> said <SEP> KLV <SEP> packets <SEP> being <tb> organised into: a File Header including a data space for metadata associated with data in a File Body; a KLV packet forming at least part of the File Body and having a Value field containing an essence container, a Key field including a predetermined code indicating the the Value field contains an essence container and, a Length field containing a predetermined code independent of the amount of data in the Value field; and a File Footer.

A second embodiment of the first aspect provides a data structure comprising KLV packets each having Key, Length and Value fields, wherein a Key field denotes the type of data in a packet, a Value field contains the data of the packet and a Length <img class="EMIRef" id="024182770-00030002" />

<tb> field <SEP> denotes <SEP> the <SEP> amount <SEP> of <SEP> data <SEP> in <SEP> the <SEP> Value <SEP> field, <SEP> the <SEP> said <SEP> KLV <SEP> packets <SEP> being <tb> organised into: a File Header including a data space for metadata associated with essence; a KLV packet forming at least part of the File Body having a Key field, a Value field and a Length field indicating the amount of data in the Value field; and a File Footer; wherein the Value field of the said a KLV packet forming at least part of the File Body contains location data directly or indirectly indicating the location of the essence container which essence is associated with the said metadata and which is not contained in the Value field of the File Body and the Key field of the said KLV packet forming at least part of the File Body has a predetermined code indicating that the <img class="EMIRef" id="024182770-00030003" />

<tb> Value <SEP> field. <SEP> contains <SEP> the <SEP> said <SEP> location <SEP> data. <tb>

In one preferred version of the second embodiment, the Key field of the File Body indicates that the Value field contains location data.

In another preferred version of the second embodiment, the said location data in the Value field is a pointer which indicates that a locator indicating the location of the essence container is in the said data space for metadata. <img class="EMIRef" id="024182770-00040001" />

<tb>

In <SEP> yet <SEP> another <SEP> preferred <SEP> embodiment, <SEP> the <SEP> said <SEP> location <SEP> data <SEP> in <SEP> the <SEP> Value <SEP> field <SEP> is <tb> a <SEP> unique <SEP> identifier <SEP> which <SEP> is <SEP> used <SEP> by <SEP> a <SEP> resource <SEP> locator <SEP> device <SEP> to <SEP> provide <SEP> the <SEP> location <SEP> of <tb> the essence container.

Thus the invention provides a consistent data structure for Files which have embedded essence and Files which do not have embedded essence but which instead have location data indicating the location of an essence container.

The invention allows the use of a simple parser to determine the high level structure of the File and to simply detect the metadata container and either the essence container) or location data relating to the essence container.

In the said second embodiment of the invention, the locator allows the material associated with the said Metadata to be located and retrieved from a data store by a system which receives the data structure. The absence of the File Body reduces the size of the File and reduces the time needed to transfer the data structure.

In a version of said second embodiment, in which the said location data in the Value field is a pointer which indicates that a locator indicating the location of the essence container is in the said data space for metadata, the pointer preferably indicates the location in the data space for metadata of the locator. The data space for metadata can have a complex multi-layer structure of KLV packets. The pointer simplifies the task of finding the location data.

The invention also provides a signal comprising a file structure according to the first aspect of the invention.

A second aspect of the invention provides a method of creating a File structure, comprising the steps of : receiving digital data representing essence; receiving metadata relating to the said essence; and receiving location data relating to the location of further essence; and forming a data structure comprising KLV packets each having Key, Length and Value fields, wherein a Key field denotes the type of data in a packet, a Value field contains the data of the packet and a Length field denotes the amount of data in the Value field,; the method comprising organising the said KLV into: <img class="EMIRef" id="024182770-00050001" />

<tb> a <SEP> File <SEP> Header <SEP> including <SEP> a <SEP> data <SEP> space <SEP> for <SEP> metadata <SEP> associated <SEP> with <SEP> data <SEP> in <SEP> a <SEP> File <tb> Body <SEP> ; <tb> at least one of a first KLV packet forming a first component of a File Body and a second KLV packet forming a second component of the File Body; the first component if present, having a Value field containing location data directly or indirectly indicating the location of first essence which is not included in the File Body, and a Key field the Value of which indicates that the Value field of the first component contains the said location data; the second component, if present, having a Value field containing an essence container for containing second essence, and a Key field the Value of which identifies the second essence; one or both of the first and second essence being associated with the said metadata; and a File Footer; wherein the Key field of the first components has the same form as the Key field of the second component, the components being distinguished by distinguishing codes in the Key fields.

A third aspect provides apparatus arranged to create a File structure as defined in the first aspect of the invention.

Still another aspect of the invention provides a system for decoding a File structure, the system being arranged to: : receive a File structure which may be as defined in the said first aspect; parse the structure; determine from a KLV whether the Value field of the KLV packet contains the essence container or contains location data indicating the location of essence container; and if the said Value field contains the essence container extract the essence container from the Value field and if the Value field contains the said location data extract the location data therefrom.

Still another aspect of the invention provides a computer program product arranged to carry out the method of said second aspect of the invention. <img class="EMIRef" id="024182770-00060001" />

<tb>

For <SEP> a <SEP> better <SEP> understanding <SEP> of <SEP> the <SEP> present <SEP> invention, <SEP> reference <SEP> will <SEP> now <SEP> be <SEP> made <tb> by <SEP> way <SEP> of <SEP> example <SEP> to <SEP> the <SEP> accompanying <SEP> drawings <SEP> in <SEP> which <SEP> : <tb> Figure 1 is a schematic diagram of the overall data structure of a first example of an MXF File in accordance with the invention; Figure 2 is a schematic diagram showing the data construct of Header metadata of Figure 1; Figure 3 is a schematic diagram showing the data construct of File Body; Figure 4 is a schematic diagram of the overall data structure of a second example of an MXF File in accordance with the invention; Figure 5 is a schematic diagram of the overall data structure of a third example of an MXF File in accordance with the invention; Figure 6 is a schematic diagram of the overall data structure of a fourth example of an MXF File in accordance with the invention; Figure 7 is a schematic block diagram of an illustrative data processing system incorporating an example of the invention; and Figure 8 is an flow chart illustrating a mode of operation of a material receiving system of the system of Figure 5.

First Example of an MXF File, Figure 1 Referring to Figure 1, there is shown the overall data structure of a File.

Such a File is referred to herein as an MXF File (Material eXchange Format). The purpose of the Material Exchange Format is to exchange programme material together with attached metadata information about the material Body. The MXF File is intended for the transfer of programme material and metadata between disc-based File servers for example.

MXF Files are defined by a sequence of Key, Length, Value (KLV) coded data packets.

The first example of the File comprises a File Header, a File Body and a File Footer. In accordance with the first example of the File, the Body is KLV coded having a Key field KB, a Length field LB and a Value field VB which in the example <img class="EMIRef" id="024182770-00060002" />

<tb> of <SEP> Figure <SEP> I <SEP> is <SEP> an <SEP> interleaved <SEP> essence <SEP> container. <tb> <img class="EMIRef" id="024182770-00070001" />

<tb> The <SEP> Value <SEP> field <SEP> VB <SEP> or <SEP> interleaved <SEP> essence <SEP> container <SEP> contains <SEP> the"essence"that <tb> is, in this example, digital video and/or audio essence. The essence may alternatively be, or additionally include, digital essence data. The following description refers only to digital video and audio for convenience of description.

It will be appreciated that Figure 1 is not drawn to scale. The Body is much greater than the preamble and post amble. The Body contains typically 99% or more of the total data content of the File.

The File Header contains the metadata associated with the essence in the essence container of the Body.

The File Header, the KLV coded File Body and the File Footer will now be described in more detail.

The File Header The File Header contains a Preamble followed by Header Metadata. and optionally an Index Table.

The Pre-amble optionally starts with a Run-in byte sequence of 0 to 127 bytes e. g. 8 bytes. That is followed by a Key, Length Value (KLV) encoded partition metadata set which comprises: an SMPTE Set Label of 16 bytes (the Key); followed by one or more Length bytes, (4 in this example) ; which is followed in this example by a Value field containing approximately 66 bytes of metadata for storage parameters used in the File. The Length byte indicates the amount of data in the Value field.

The Set Label defines the File as an MXF File.

Header Metadata, Figure 2.

The File Header includes a Header Metadata set.

Header Metadata set is structured as follows: <img class="EMIRef" id="024182770-00070002" />

<tb> Individual <SEP> metadata <SEP> items <SEP> coded <SEP> as <SEP> KLV, <tb> Logical <SEP> groupings <SEP> of <SEP> metadata <SEP> items <SEP> which <SEP> are <SEP> KLV <SEP> coded <SEP> metadata <SEP> sets <SEP> where <tb> the <SEP> Value <SEP> field <SEP> of <SEP> a <SEP> set <SEP> is <SEP> a <SEP> collection <SEP> of <SEP> KLV <SEP> coded <SEP> metadata <SEP> items, <SEP> and <tb> <img class="EMIRef" id="024182770-00080001" />

<tb> where <SEP> the <SEP> top <SEP> level, <SEP> as <SEP> shown <SEP> in <SEP> Figure <SEP> 2, <SEP> is <SEP> the <SEP> Header <SEP> Metadata <SEP> at <SEP> the <SEP> outermost <tb> level. <tb>

The foregoing is a simplified description. In practice, the actual implementation is defined by a Header Metadata Object Model which defines many levels where sets are logically connected to other sets through the application of unique identifiers.

The Header metadata may be any information associated with the essence of any kind contained in the File Body. The metadata may be descriptive of the essence, be technical data relating to the essence or any other information.

By way of example only, descriptive metadata may comprise data relating to the production of video material such as Programme ID, Title, Working Title, Genre ID, Synopsis, Director, Picturestamp, Keywords, Script, People, e. g. names and other details of performers and production crew.

By way of example, technical metadata may comprise data such as display aspect ratio, picture dimensions in pixels, picture rate, camera type, lens identification, and any other technical data.

Metadata may also comprise data relating to edits in the material. It may comprise instructions defining simple editing and other processes to be performed on the material.

Referring to Figure 2, the Header Metadata of the preamble comprises a 16 byte Header Metadata Label, followed by a Length field having a pre-determined code, in this example 80h, followed by KLV encoded metadata sets (sets I to n) which constitute the data of the Value field (V). The Value field is completed by a KLV "Terminating Filler"item which is interpreted as providing padding of the Header Metadata to a predetermined point in the File and providing a termination of the Header Metadata. The aim is for the sum of the variable Length Header Metadata sets and the Terminating Filler to be a constant. Preferably the filler item finishes at a convenient storage boundary.

The label of the Header defines the data Value (V) following the label as MXF Header Metadata.

Each KLV encoded metadata set n comprises a set label UL of 16 bytes, which uniquely identifies that set, one or more Length bytes and a set of KLV coded <img class="EMIRef" id="024182770-00090001" />

<tb> metadata <SEP> items <SEP> constituting <SEP> the <SEP> data <SEP> in <SEP> the <SEP> Value <SEP> field <SEP> V <SEP> of <SEP> the <SEP> set. <SEP> The <SEP> Length <SEP> byte <tb> of <SEP> a <SEP> set <SEP> n <SEP> indicates <SEP> the <SEP> Length <SEP> of <SEP> the <SEP> Value <SEP> field <SEP> of <SEP> the <SEP> set. <SEP> The <SEP> set <SEP> UL <SEP> of <SEP> a <SEP> set <SEP> n <tb> defines <SEP> the <SEP> complete <SEP> list <SEP> of <SEP> metadata <SEP> items <SEP> present <SEP> in <SEP> the <SEP> set. <tb>

Each <SEP> item <SEP> is <SEP> KLV <SEP> encoded, <SEP> comprising <SEP> a <SEP> 2 <SEP> byte <SEP> Local <SEP> Tag, <SEP> 2 <SEP> Length <SEP> bytes <tb> and the data in the Value field V. The Set UL of the set defines the meanings of the 2 byte Local Tags of the items of the set.

It will be appreciated that a set n may itself contain a plurality of KLV encoded sets of data. An item may contain a set of KLV encoded data.

The optional Index Table The index table provides a means of rapidly locating specific data, e. g. video frame starts, in the File Body.

The index table is an optional metadata set associated with the Body, which can be used to locate individual frames of video essence and related audio and data essence. Index Files may be placed either at the start of the Body, at the end of the Body or optionally distributed throughout the Body.

An index table can be created'on the fly'during File creation from a stream input and is notionally placed at the end of the Body on recording. In practice, its placement in a server File system may be anywhere for storage convenience. During transfer of a complete File, the Index table is placed at the start of the Body.

Index tables are not necessary for Body container specifications which are defined with a constant number of bytes per frame, so their inclusion in the MXF File is optional. The Value of the Length of a frame which is constant may be stored in the preamble as an item of partition metadata.

File Body Essence Container KBLBVB Packet, Figure 3.

In accordance with the first example of the invention, a File Body essence <img class="EMIRef" id="024182770-00090002" />

<tb> container <SEP> packet <SEP> KeLBVB <SEP> is <SEP> provided <SEP> in <SEP> the <SEP> File <SEP> Body. <SEP> The <SEP> Value <SEP> field <SEP> VB <SEP> in <SEP> this <tb> example contains an essence container of undefined Length. The Key field KB has 16 bytes. The Length field Le has a hexadecimal Value 80h. The Value 80h is defined in the SMPTE standard SMPTE 336M as defining an undefined Length of the Value field VB. <img class="EMIRef" id="024182770-00100001" />

<tb> The <SEP> Key <SEP> field <SEP> KB <SEP> of <SEP> the <SEP> essence <SEP> contianer <SEP> packet <SEP> KBLBVB <SEP> may <SEP> be <SEP> as <SEP> shown <SEP> in <tb> Table <SEP> 1 <SEP> as <SEP> follows <SEP> : <img class="EMIRef" id="024182770-00100002" />

<tb> Byte <SEP> No. <SEP> Description <SEP> Value <SEP> (hex) <tb> 1 <SEP> Object <SEP> Identifier <SEP> 06h <tb> 2 <SEP> Label <SEP> size <SEP> OEh <tb> 3 <SEP> ISO <SEP> designator <SEP> 2Bh <tb> 4 <SEP> SMPTE <SEP> designator <SEP> 34h <tb> 5 <SEP> Registry <SEP> category: <SEP> Wrappers/Containers <SEP> 03h <tb> 6 <SEP> RegistrydesignatorSimple <SEP> Olh <tb> Wrappers/Containers <tb> 7 <SEP> Structure <SEP> Designator, <SEP> MXF <SEP> Body <SEP> Definitions <SEP> 02h <tb> 8 <SEP> Version <SEP> Number <SEP> 01h <tb> 9 <SEP> Body <SEP> Container <SEP> Classification <SEP> xxh <tb> 10 <SEP> Body <SEP> Essence <SEP> Classification <SEP> yyh <tb> 11 <SEP> MXF <SEP> Body <SEP> Status <SEP> 01h/02h <tb> 12-16 <SEP> Zero <SEP> fill <SEP> OOh <tb> Table 1: Label Value for the MXF Body Container Universal Label The Key of the File Body KBLBVB is used to indicate: 1) the kind of Body container (e. g. a CP container); 2) the kind of essence type in the container (e. g. MPEG video) and 3) that the essence container VB is included in the essence container of the File Body.

In the first example of the invention, the Byte No 11 has the Value 01h to indicate the essence container VB is embedded in the MXF File as shown in Figure 1. <img class="EMIRef" id="024182770-00100003" />

<tb> A <SEP> Value <SEP> 02h <SEP> of <SEP> the <SEP> byte <SEP> 11 <SEP> indicates <SEP> that <SEP> an <SEP> essence <SEP> container <SEP> is <SEP> not <SEP> embedded <SEP> in <SEP> the <tb> File Body as will be described below.

It will be appreciated that the Table 1 is only an example and the definitions and Values of each byte of the Key will be specifically defined for each application which uses this invention. Also a different Value of the Key (in this example, byte 11) could be used to indicate that the essence container VB is embedded. Further more, a Value other than 80h could be used to indicate an undefined Length of the Value field. <img class="EMIRef" id="024182770-00100004" />

<tb> The <SEP> essence <SEP> container <SEP> VB, <SEP> Figure <SEP> 1 <SEP> and <SEP> 3 <tb> As shown in Figure 3, the essence container VB comprises a sequence of KLV encoded packets. The Length field (80h) Le is followed immediately by the Key of the first KLV packet of the essence container VB. The amount of data in the essence <img class="EMIRef" id="024182770-00110001" />

<tb> container <SEP> VB <SEP> is <SEP> unlimited <SEP> and <SEP> bounded <SEP> only <SEP> by <SEP> the <SEP> File <SEP> Header <SEP> and <SEP> File <SEP> Footer. <SEP> The <tb> data <SEP> in <SEP> the <SEP> essence <SEP> container <SEP> VB <SEP> could <SEP> be <SEP> for <SEP> example <SEP> many <SEP> Gigabytes. <tb>

The <SEP> present <SEP> invention <SEP> is <SEP> relevant <SEP> to <SEP> any <SEP> content <SEP> of <SEP> the <SEP> essence <SEP> container <SEP> VB. <SEP> The <tb> contents in practice depend on the video essence, and/or audio essence and/or data essence contained in it and the manner in which it is encoded. For example, video and audio may be compressed or uncompressed. Several different forms of compression are possible. In the case of an SDTI-CP (Content Package), which contains different <img class="EMIRef" id="024182770-00110002" />

<tb> essence <SEP> types, <SEP> each <SEP> type <SEP> is <SEP> separately <SEP> KLV <SEP> encoded. <SEP> Each <SEP> container <SEP> type <SEP> has <SEP> a <SEP> unique <tb> and <SEP> registered <SEP> Universal <SEP> Label <SEP> (UL) <SEP> as <SEP> a <SEP> Key <SEP> in <SEP> the <SEP> KLV <SEP> coding. <SEP> Each <SEP> essence <SEP> type <tb> within a container may have a unique Key.

The byte no. 9 of the Key shown in table 1 may be used to identify the type of essence container VB and byte 10 may be used to identify the essence contained in the container.

The File Body is formatted as a stream of data packets and may use commonly available essence containers for example: CP packets based on items used in SDTI-CP (see SMPTE 326M); DV-DIF packets for video systems based on the DV compression system (see ISO/IEC 61834) ; PS packets based on MPEG Program Stream Packets (see ISO/IEC 13818 Part 1); Other packets based on uncompressed video and audio; and Other packets based on other compressed video and audio systems. <img class="EMIRef" id="024182770-00110003" />

<tb>

The <SEP> File <SEP> Footer, <SEP> Figure <SEP> 1 <tb> The MXF File is terminated by a File Footer. The Footer contains a Postamble.

The Post amble comprises a KLV encoded post-amble data set The post-amble data set comprises a SMPTE set label of 16 bytes, and a Length field (shown as 4 bytes in this example). In this example, the Value field comprises 84 to 384 bytes of partition metadata which defines aspects of data storage metadata used by the File for use in a sector based storage medium. An example of this metadata is an item which defines the sector size used in the storage medium and indicates that Key parts of the File start at the beginning of a sector (e. g. the start of the essence container). This alignment to a sector boundary can improve access speed and allow editing of component parts of the File The optional index table may be as described above.

MXF Header Metadata Repetition The Header Metadata may be repetitively distributed through the File Body. The Header Metadata in the File Body is additional to the Header Metadata in the preamble. This has the advantages that: if a File is interrupted during a transfer recovery of metadata is possible; and an MXF File allows random access to data within the File Body. The repetitive metadata allows easier and quicker access to metadata relating to randomly accessed data because it avoids the need to scroll to the beginning or end of the File.

Repetition of Header metadata in the File Body is optional.

The foregoing description sets out some of the basic features of MXF Files.

There are other features but they are not relevant to the present invention.

Second Example of an MXF File, Figure 4 The second example of the MXF File comprises a File Header as described with reference to Figures land 2, a File Footer as described with reference to Figure 1 and a File Body. The File Body is encoded having a Key field Ku, a Length field Lu and a Value field Vu. It will be noted that in contrast to the first example, the Value field Vu of the MXF File has no essence container embedded in it. Instead the Value field Vu contains a locator referring to the location of essence container (which would otherwise be contained in the Value field VB) stored in a storage device. In this second example of the MXF File the locator is a Unique Value (UV) which may either be a URL (Uniform Resource Locator) or a Unique Identifier (UID).

A URL points to the location of the essence container. The URL as used in web browsers is one example of a locator which may be used. A different locator could be used, for example a Filename Value in a storage device or a VTR address. The locator may be the identity of a VTR or tape on a VTR together with start and stop time codes. <img class="EMIRef" id="024182770-00130001" />

<tb>

A <SEP> UID <SEP> provides <SEP> a <SEP> unique <SEP> identification <SEP> of <SEP> the <SEP> essence <SEP> container. <SEP> This <SEP> UID <SEP> may <SEP> be <tb> used <SEP> by <SEP> a <SEP> database <SEP> to <SEP> provide <SEP> the <SEP> location <SEP> of <SEP> the <SEP> essence <SEP> container. <SEP> The <SEP> advantage <SEP> of <SEP> a <tb> UID over a URL is that the essence container can be moved requiring only that the database mapping of the UID to the URL be changed. All references are then updated automatically. This technique requires a central database to resolve the UID to URL mapping but prevents the common'broken link'problem found in web applications.

The essence container is not embedded in the MXF File, but instead is stored in a storage device at a location defined by the locator. The storage device may be a tape recorder in which case the essence container may comprise a sequence of KLV packets as shown in Figure 3.

The Key field Kn of the Second Example.

The Key field Ku is as described above and preferably has the form shown in Table 1. The byte 11 however has a different Value e. g. 02h Value which indicates that there is no essence container in the Value field Vu and that the essence container is in a location pointed to by the URL (or indirectly by a UID) in the Value field Vu.

The Length Field Lu of the Second Example. <img class="EMIRef" id="024182770-00130002" />

<tb>

The <SEP> Length <SEP> field <SEP> Lu <SEP> has <SEP> a <SEP> Value <SEP> indicating <SEP> the <SEP> actual <SEP> Length <SEP> of <SEP> the <SEP> Value <SEP> field <tb> Vu <tb> Index <SEP> Table <SEP> of <SEP> the <SEP> Second <SEP> Example. <tb>

In <SEP> the <SEP> second <SEP> example <SEP> of <SEP> the <SEP> invention, <SEP> the <SEP> File <SEP> Body <SEP> may <SEP> include <SEP> an <SEP> index <SEP> table <tb> as described above. The index table is used to locate individual frames in the Body where that Body is stored in a remote location. In this case, the Key of the File Body contains a direct or indirect pointer to the location of the Body and the index table can be used to indicate the location of a frame without direct access to the remote location.

This second example allows the fast transfer of File data because the essence container, which may be many gigabytes, is not embedded in the MXF File.

Third Example, Figure 5.

This third example is a modification of the second example. Like the second example, this third example of the MXF File comprises a File Header as described <img class="EMIRef" id="024182770-00140001" />

<tb> with <SEP> reference <SEP> to <SEP> Figures <SEP> 1 <SEP> and <SEP> 2 <SEP> (subject <SEP> to <SEP> a <SEP> modification <SEP> described <SEP> below), <SEP> a <SEP> File <tb> Footer as described with reference to Figure 1 and a File Body. The File Body is encoded having a Key field Ku, a Length field Lu and a Value field Vu. It will be noted that in contrast to the first example, the Value field Vu of the MXF File has no essence container embedded in it. Furthermore unlike the second example, the Value field Vu contains not a direct essence container locator which itself identifies the storage location of the essence container, but instead a an indirect locator which (i) indicates that the essence container locator is in the Header Metadata and (ii) indicates where the essence container locator is in the Header Metadata. It will be recalled that the Header Metadata may comprise a complex multi-layer arrangement of sets of items.

By including the indirect pointer in the Value field Vu the existence of the essence container locator is simply indicated at a high level in the data structure allowing a simple parser to determine the existence of the locator.

The Key field Ku indicates that the File Body contains an indirect locator instead of the essence container or the essence container locator. The indirect locator points to the label of the metadata set in the Header Metadata which contains one or more essence container locators. The metadata set may contain UID Values which can be used to find one or more essence container locators. The Length field Lu indicates the actual amount of data in the Value field Vu.

Fourth Example Figure 6.

Referring to Figure 6, the MXF File comprises a Header as described with reference to Figures I and 2, a Footer as described with reference to Figure 2, and a Body comprising two components. The first component comprises a Key field Ku, a Length field Lu and a Value field Vu The second component comprises a Key field KB, a Length field Le and a Value field VB.

The Value field of one component (in Figure 6 the first component) contains a URL (or a UID) to the location of the Body container. The Value field of the other component (second component in Figure 6) is a Body container which contains essence.

In a first version of this format, the first component (Ku, Lu and Vu) has a Key which identifies the packet Value as containing a locator (either as a direct or indirect pointer or as a UID) which can be used to the locate the Body container which <img class="EMIRef" id="024182770-00150001" />

<tb> contains <SEP> a <SEP> full <SEP> resolution <SEP> version <SEP> of <SEP> the <SEP> essence. <SEP> The <SEP> Length <SEP> field <SEP> (Lu) <SEP> has <SEP> a <SEP> Value <tb> which <SEP> defines <SEP> the <SEP> Length <SEP> of <SEP> the <SEP> locator <SEP> in <SEP> the <SEP> Value <SEP> field <SEP> (Vu). <SEP> The <SEP> first <SEP> component <tb> may <SEP> be <SEP> followed <SEP> by <SEP> a <SEP> KLV <SEP> Filler <SEP> item <SEP> which <SEP> can <SEP> be <SEP> used <SEP> to <SEP> pad <SEP> the <SEP> File <SEP> so <SEP> that <SEP> the <tb> second <SEP> component <SEP> lies <SEP> at <SEP> a <SEP> defined <SEP> position. <SEP> The <SEP> second <SEP> component <SEP> (KB, <SEP> LB <SEP> and <SEP> VB) <tb> has <SEP> a <SEP> Key <SEP> (keg) <SEP> which <SEP> identifies <SEP> the <SEP> packet <SEP> Value <SEP> as <SEP> a <SEP> Body <SEP> container <SEP> which <SEP> contains <SEP> a <tb> low resolution proxy representation of the Body container located by the first component. The Length field (Le) has a pre-determined Value of 80h to indicate an undefined Length and the Value is the Body container with a low resolution proxy essence. This version of the format allows a full resolution Body to be stored in a remote location while still having a low resolution proxy video directly viewable from the File.

In a second version of this format, the first component (Ku, Lu and Vu) has a Key which identifies the packet Value as containing a direct or indirect locator to the location of the Body container which contains a low resolution proxy version of the essence. The Length field (Lu) has a Value which defines the Length of the locator in the Value (Vu). The second component (KB, LB and VB) has a Key (KB) which identifies the packet Value as a Body container which contains the full resolution representation of the Body container located by the first component. The Length field (La) has a pre-determined Value of 80h to indicate an undefined Length and the Value is the Body container with the full resolution essence. This version of the format allows a remotely stored File to point to the location where a low resolution proxy File can be found.

Referring to Table 1 above, this fourth example uses first and second Body components each having KLV packets. In the first Body packet, byte 11 of the Key field Ku indicates that the Value is a locator which directly or indirectly identifies the location of the Body container which contains either full resolution essence or a low resolution proxy essence through a URL or a UID. In the second Body packet, byte 11 of the Key field KB indicates that the Value is a Body container which contains either full resolution essence or low resolution proxy.

Referring to figure 6, both the Body components include optional index tables.

A first index table which immediately precedes the first KuLuVu packet containing the locator provides indexing for the Body container stored in the remote location. A <img class="EMIRef" id="024182770-00160001" />

<tb> second <SEP> index <SEP> table <SEP> which <SEP> immediately <SEP> precedes <SEP> the <SEP> second <SEP> KALB <SEP> VS <SEP> packet <SEP> containing <tb> the <SEP> embedded <SEP> essence <SEP> container <SEP> provides <SEP> indexing <SEP> for <SEP> the <SEP> embedded <SEP> essence. <SEP> This <tb> second <SEP> index <SEP> table <SEP> may <SEP> also <SEP> be <SEP> present <SEP> at <SEP> the <SEP> end <SEP> of <SEP> the <SEP> second <SEP> KLV <SEP> packet <SEP> or <SEP> divided <tb> into <SEP> partial <SEP> index <SEP> tables <SEP> distributed <SEP> throughout <SEP> the <SEP> embedded <SEP> essence <SEP> container. <tb>

The <SEP> low <SEP> resolution <SEP> proxy <SEP> essence <SEP> may <SEP> be <SEP> contained <SEP> in <SEP> KLV <SEP> items <SEP> as <SEP> shown <SEP> in <tb> Figure 6 for example.

Whilst the examples refer to video, the essence may be any one or more of video, audio and data essence. For example, any File Body may contain audio where the stored essence is for example audio.

Any File Body may contain essence which is watermarked, encrypted or otherwise encoded to protect it against unauthorised use or to enable the owner to detect unauthorised use.

The KLV packet forming the File Body provides a consistent form for an MXF File which has essence embedded in the File Body and for an MXF Files which there is no embedded essence but which includes a locator directly or indirectly indicating the location of the stored essence container. Thus an MXF File structure can be used for both embedded essence and referenced essence.

Illustrative System, Figure 7 The system of Figure 7 includes a network 18 which may be any suitable network, e. g. Ethernet. A material source 2 provides material. The source may be a camera producing video essence for example. The source may alternatively be an audio source or a data source. The source may originate material or may reproduce recorded material. The following example assumes the source is a video camera. The video from the camera 2 is fed to an interface 6 which creates a container containing the video. The container may be any known container, but in this example it is an SDTI-CP container as known from SMPTE 326M. A source of metadata 4 is provided. The metadata relates to the material from the source 2. An MXF File creator or encoder 80 receives the metadata and the SDTI-CP input and creates a File structure as shown in Figures 1, 2 and 3 and described above. The CP container derived from a SDTI-CP input forms the essence container in the Value field VB of the File Body. The <img class="EMIRef" id="024182770-00170001" />

<tb> metadata <SEP> forms <SEP> the <SEP> Header <SEP> Metadata <SEP> of <SEP> the <SEP> File <SEP> Header. <SEP> The <SEP> Key <SEP> KB <SEP> of <SEP> the <SEP> File <SEP> Body <tb> includes the byte 11, the Value (Olh) of which indicates that the structure includes the essence container in the Value field VB.

A workstation 10 is linked to a search engine 12. The search engine is arranged to search for material stored in one or more stores 14,16. In general there are S stores. Material is stored in locations identified by locators, for example URLs or UIDs. In this example the workstation 10 together with the search engine 12 searches for material stored in the store (s) 14,16. The stores 14,16 may store metadata with the material and/or the workstation 10 may be used to generate metadata relating to material which is found. The workstation 10 may be used to generate the low resolution essence of the second version of the fourth example shown in Figure 6.

The URL (or UID) of material which is found together with the relevant metadata is fed from the workstation to an MXF encoder 81. The encoder 81 creates a File structure as shown in Figure 4, Figure 5 or Figure 6. The metadata forms the Header Metadata of the File Header and the URL (or UID) is included in the File Header preferably in the Header Metadata.

Referring to Figure 4, the encoder 81 produces the Key Ku of the File Body, which Key includes the byte 11, the Value (02h) of which indicates that the Value field Vu does not include the essence container, but instead includes the locator indicating directly or indirectly where the essence container is stored.

Referring to Figure 5, the encoder 81 produces the Key Ku of the File Body, which Key includes the byte 11, the Value of which indicates that the Value field Vu does not include the essence container, but instead includes the indirect locator indicating (i) that the Header Metadata includes a locator indicating where the essence container is stored; and (ii) indicating where the essence container locator is in the Header Metadata. The encoder 81 encodes the pointer in the Value field Vu as shown in Figure 5 and encodes the locator in a KLV encoded item in the Header Metadata.

Referring to Figure 6, the encoder 81 produces, for the first version of the fourth example, the said first component of the File Body having a Key Ku which identifies the packet as containing a locator indirectly or directly indicating the location of full resolution essence container. The encoder also produces the second component, the Key KB of which includes the byte 11, the Value of which indicates that the Value field Va does not include an essence container containing high resolution essence, but instead includes the low resolution proxy essence. The encoder 81 encodes the pointer in the Value field of the first component. The full resolution essence is stored in a store S identified directly or indirectly by the pointer.

Referring to Figure 6, the encoder 81 produces, for the second version of the fourth example, the said first component of the File Body having a Key Ku which identifies the packet as containing a locator indicating the location of low resolution proxy essence. The encoder also produces the second component, the Key KB of which includes the byte 11, the Value of which indicates that the Value field Vs includes an essence container containing high resolution essence. The encoder 81 encodes the pointer in the Value field of the first component. The low resolution proxy essence is stored in a store S identified directly or indirectly by the locator. The full resolution essence may be produced by a source such as source 2 or derived from one of the stores S.

The encoders 80 and 81 transfer the MXF Files they produce via a network 18 to a receiving system 30 which may be one of many connected to the network 18. The receiving system is identified by FTP (File Transfer Protocol) or other transfer protocol.

An example of a receiving system is shown at 30 in Figure 7. The system 30 comprises an MXF decoder 20, an interface 22 which removes material from its container, a material store 24 which may be a VTR, a display 32 and a workstation 26.

The workstation may control the operation of the decoder 20, the interface 22 and the store 24. The workstation may access data stored in store 24. material removed from the container may be displayed on display 32 directly or displayed when retrieved from the store 24.

Referring to Figure 8, the system 30 operates as follows: SO. An MXF File is received. <img class="EMIRef" id="024182770-00190001" />

<tb> S2. <SEP> The <SEP> MXF <SEP> decoder <SEP> 20 <SEP> parses <SEP> the <SEP> File. <tb>

S4. Metadata is extracted from the Header Metadata and sent to the workstation 26.

Referring to the example of Figure 1 2 and 3, steps S6 to S10 operate as follows.

S6. Step S6 the MXF decoder 20 determines from the Key KB of the File Body whether the Value field VB contains the essence container. If the essence container is present, it is fed to the interface 22.

S8. The interface 22 extracts the essence from its container. The container may be a CP container for example, and the container is then easily mapped to an SDTI interface.

S 10. The extracted essence container is stored in the store 24 which may be a VTR if the essence is video.

Referring to the examples of Figures 4, and 5, steps S 12 to S 18 operate as follows: S12. If the File Body does not contain an essence container, Ku indicates to the decoder 20 whether the locator is in the Value field Vu as shown in Figure 4 or 5 whether the locator is in the Header Metadata as in Figure 5. The locator of Figure 4 or 5 is extracted from the Value field Vu by the decoder 20 and fed to the workstation 26 with the metadata.

S 14. The workstation 26 uses the URL (or UID) of the structure of Figure 4 to locate and retrieve the essence container from its store (e. g. store 14,16) via the network 18. The workstation uses the indirect locator of the structure of Figure 5 to locate and extract the URL (or UID) from the Header Metadata and then to locate and retrieve the essence container from its store (e. g. store 14,16) via the network 18.

S16 and S18.-S14 allows the essence container to be used directly (e. g. as a tape playout). S 16 and S 18 allow the Body container to be placed into the File, thus making a complete File by replacing the URL with the Body essence container Referring to the example of Figure 6, steps S6 to S 14 operate as follows. <img class="EMIRef" id="024182770-00200001" />

<tb> S6. <SEP> Step <SEP> S6 <SEP> the <SEP> MXF <SEP> decoder <SEP> 20 <SEP> determines <SEP> from <SEP> the <SEP> Key <SEP> Ku <SEP> of <SEP> the <SEP> first <SEP> component <tb> of the File Body that the Value field of the first component contains a locator.. Step S6 also determines from the Key Kg of the second component whether the Value field Ve of the second component contains proxy essence or full resolution essence.

S8. The interface 22 extracts the essence from its container. The container may be a CP container for example, and the container is then mapped to an SDTI interface.

S 10. The extracted essence container may stored in the store 24 which may be a VTR if the essence is video especially if it is full resolution essence and/or it may be displayed on the display 32 for browsing especially if it is the low resolution proxy essence.

S 12. The locator is extracted from the Value field Vu of the first component by the decoder 20 and fed to the workstation 26 with the metadata.

S 14. The locator is used by the workstation to retrieve the stored essence which may be low resolution proxy essence or full resolution essence.

Claims (54)

  1. <img class="EMIRef" id="024182771-00210001" />
    <tb>
    CLAIMS <tb> <img class="EMIRef" id="024182771-00210002" />
    <tb> 1. <SEP> A <SEP> data <SEP> structure <SEP> comprising <SEP> KLV <SEP> packets <SEP> each <SEP> having <SEP> Key, <SEP> Length <SEP> and <tb> Value fields, wherein a Key field denotes the type of data in a packet, a Value field contains the data of the packet and a Length field denotes the amount of data in the Value field, the said KLV packets being organised into: a File Header including a data space for metadata associated with data in a File Body; <img class="EMIRef" id="024182771-00210003" />
    <tb> at <SEP> least <SEP> one <SEP> of <SEP> a <SEP> first <SEP> KLV <SEP> packet <SEP> forming <SEP> a <SEP> first <SEP> component <SEP> of <SEP> a <SEP> File <SEP> Body <SEP> and <tb> a <SEP> second <SEP> KLV <SEP> packet <SEP> forming <SEP> a <SEP> second <SEP> component <SEP> of <SEP> the <SEP> File <SEP> Body <SEP> ; <tb> the first component, if present, having a Value field containing location data directly or indirectly indicating the location of first essence which is not included in the File Body, and a Key field the Value of which indicates that the Value field of the first component contains the said location data; the second component, if present, having a Value field containing an essence container for containing second essence, and a Key field the Value of which identifies the second essence; one or both of the first and second essence being associated with the said metadata; and a File Footer; wherein the Key field of the first components has the same form as the Key field of the second component, the components being distinguished by distinguishing codes in the Key fields.
  2. 2. A data structure comprising KLV packets each having Key, Length and Value fields, wherein a Key field denotes the type of data in a packet, a Value field contains the data of the packet and a Length field denotes the amount of data in the Value field, the said KLV packets being organised into: a File Header including a data space for metadata associated with data in a File Body; a KLV packet forming at least part of the File Body and having a Value field containing an essence container, a Key field including a predetermined code indicating <img class="EMIRef" id="024182771-00220001" />
    <tb> the <SEP> Value <SEP> field <SEP> contains <SEP> an <SEP> essence <SEP> container <SEP> and, <SEP> a <SEP> Length <SEP> field <SEP> containing <SEP> a <tb> predetermined <SEP> code <SEP> independent <SEP> of <SEP> the <SEP> amount <SEP> of <SEP> data <SEP> in <SEP> the <SEP> Value <SEP> field <SEP> ; <SEP> and <tb> a File Footer.
  3. 3. A structure according to claim 2, wherein the said code in the Key field has a hexadecimal Value 01h.
  4. 4. A structure according to any preceding claim, wherein the said code in the Length field has a hexadecimal Value 80h.
  5. 5. A data structure comprising KLV packets each having Key, Length and Value fields, wherein a Key field denotes the type of data in a packet, a Value field contains the data of the packet and a Length field denotes the amount of data in the Value field, the said KLV packets being organised into: a File Header including a data space for metadata associated with essence; a KLV packet forming at least part of the File Body having a Key field, a Value field and a Length field indicating the amount of data in the Value field; and a File Footer; wherein the Value field of the said a KLV packet forming at least part of the File Body contains location data directly or indirectly indicating the location of the essence container which essence is associated with the said metadata and which is not contained in the Value field of the File Body and the Key field of the said KLV packet forming at least part of the File Body has a predetermined code indicating that the Value field contains the said location data.
  6. 6. A structure according to claim 5 wherein the Key field of the File Body indicates that the Value field contains location data.
  7. 7. A structure according to claim 5 or 6, wherein the Key field of the File Body has a byte of predetermined Value which indicates that the essence container is not contained in the Value field of the File Body. <img class="EMIRef" id="024182771-00230001" />
    <tb>
  8. 8. <SEP> A <SEP> structure <SEP> according <SEP> to <SEP> claim <SEP> 7, <SEP> wherein <SEP> the <SEP> said <SEP> byte <SEP> has <SEP> a <tb> hexadecimal <SEP> Value <SEP> 02h. <tb>
  9. 9. A structure according to claim 5,6, 7 or 8, wherein the said location data is a Uniform Resource Locator.
  10. 10. A structure according to claim 5,6, 7 or 8, wherein the said location data is a Unique Identifier usable to determine a Uniform Resource Locator for <img class="EMIRef" id="024182771-00230002" />
    <tb> accessing <SEP> the <SEP> said <SEP> essence <SEP> container. <tb> im <tb>
  11. 11. A structure according to claim 5,6 or 7, wherein the said location data in the Value field indicates that a locator indicating the location of the essence container is in the said data space for metadata.
  12. 12. A structure according to claim 11 wherein the said location data indicates the location of the locator in the said data space for metadata. <img class="EMIRef" id="024182771-00230003" />
    <tb>
  13. 13. <SEP> A <SEP> structure <SEP> according <SEP> to <SEP> claim <SEP> 11 <SEP> or <SEP> 12, <SEP> wherein <SEP> the <SEP> locator <SEP> is <SEP> a <tb> Uniform <SEP> Resource'Locator <SEP> or <SEP> a <SEP> Unique <SEP> Identifier. <tb>
  14. 14. A structure according to any one of claims 5 to 13, wherein the Value field of the File Body contains other data.
  15. 15. A structure according to claim 14, wherein the said other data relates to the essence.
  16. 16. A structure according to claim 15, wherein the said other data is derived from the essence.
  17. 17. A structure according to claim 16, wherein the said other data comprises images. <img class="EMIRef" id="024182771-00240001" />
    <tb>
  18. 18. <SEP> A <SEP> data <SEP> structure <SEP> comprising <SEP> KLV <SEP> packets <SEP> each <SEP> having <SEP> Key, <SEP> Length <SEP> and <tb> Value <SEP> fields, <SEP> wherein <SEP> a <SEP> Key <SEP> field <SEP> denotes <SEP> the <SEP> type <SEP> of <SEP> data <SEP> in <SEP> a <SEP> packet, <SEP> a <SEP> Value <SEP> field <tb> contains the data of the packet and a Length field denotes the amount of data in the Value field, the said KLV packets being organised into: a File Header including a data space for metadata associated with data in a File Body; a first KLV packet forming a first component of a File Body and a second KLV packet forming a second component of the File Body; the first component having a Value field containing location data directly or indirectly indicating the location of first essence which is associated with the said metadata and which first essence is not included in the File Body, and a Key field the Value of which indicates that the Value field of the first component contains the said location data; the second component having a Value field containing an essence container for containing second essence which is associated with the said metadata, and a Key field the Value of which identifies the second essence; and a File Footer.
  19. 19. A structure according to claim 18, wherein the Key field of the second component indicates whether the Value field of the second component contains low resolution or full resolution essence.
  20. 20. A structure according to claim 19, wherein the Value field of the second container contains full resolution essence.
  21. 21. A structure according to claim 19, wherein the Value field of the second container contains low resolution essence.
  22. 22. A structure according to claim, 18,19, 20 or, 21 further comprising an index indexing the said first essence. <img class="EMIRef" id="024182771-00250001" />
    <tb>
  23. 23. <SEP> A <SEP> structure <SEP> according <SEP> to <SEP> claim <SEP> 22, <SEP> wherein <SEP> the <SEP> said <SEP> index <SEP> indexing <SEP> the <tb> said <SEP> first <SEP> essence <SEP> precedes <SEP> the <SEP> first <SEP> component. <tb>
  24. 24. A structure according to any one of claims 18 to 23, further comprising an index indexing the said second essence.
  25. 25. A structure according to claim 24, wherein the said index indexing the said second essence precedes the second component.
  26. 26. A data structure comprising KLV packets each having Key, Length and Value fields, wherein a Key field denotes the type of data in a packet, a Value field contains the data of the packet and a Length field denotes the amount of data in the Value field, the said KLV packets being organised into: a File Header including a data space for metadata associated with data in a File Body; a first KLV packet forming a first component of a File Body and a second KLV packet forming a second component of the File Body; the first component having a Value field containing location data directly or indirectly indicating the location of first essence which is not included in the File Body, and a Key field the Value of which indicates that the Value field of the first component contains the said location data; the second component having a Value field containing an essence container for <img class="EMIRef" id="024182771-00250002" />
    <tb> containing <SEP> second <SEP> essence, <SEP> and <SEP> a <SEP> Key <SEP> field <SEP> the <SEP> Value <SEP> of <SEP> which <SEP> identifies <SEP> the <SEP> second <tb> c <SEP> : <SEP> l <tb> essence; one or both of the first and second essence being associated with the said metadata; and a File Footer.
  27. 27. A data structure according to claim 1 or any one of claims 18 to 26, wherein the first component of the file body includes a filler KLV packet for containing filler data so that the first component has a predetermined length. <img class="EMIRef" id="024182771-00260001" />
    <tb>
  28. 28. <SEP> A <SEP> data <SEP> structure <SEP> according <SEP> to <SEP> any <SEP> one <SEP> of <SEP> claims <SEP> 5 <SEP> to <SEP> 17, <SEP> wherein <SEP> the <SEP> file <tb> body <SEP> includes <SEP> a <SEP> filler <SEP> KLV <SEP> packet <SEP> for <SEP> containing <SEP> filler <SEP> data <SEP> so <SEP> that <SEP> the <SEP> file <SEP> body <SEP> has <SEP> a <tb> predetermined length.
  29. 29. A data structure according to any preceding claim wherein the said file header includes a filler KLV packet for containing filler data so that the file header has a predetermined length. <img class="EMIRef" id="024182771-00260002" />
    <tb>
  30. 30. <SEP> A <SEP> structure <SEP> according <SEP> to <SEP> any <SEP> preceding <SEP> claim, <SEP> which <SEP> is <SEP> an <SEP> MXF <SEP> File <tb> structure. <tb>
  31. 31. <SEP> A <SEP> data <SEP> structure <SEP> substantially <SEP> as <SEP> hereinbefore <SEP> described <SEP> with <SEP> reference <tb> to: Figure 1 optionally together with Figure 2 and/or 3; or Figure 4; or Figure 5 of the accompanying drawings.
  32. 32. A data structure substantially as hereinbefore described with reference to Figure 6 of the accompanying drawings.
  33. 33. A signal including a data structure according to any preceding claim.
  34. 34. A method of creating a data structure, comprising the steps of : receiving digital data representing essence; receiving metadata relating to the said essence; and forming a data structure as specified in any one of claims 1 to 32.
  35. 35. A method of creating a data structure, comprising the steps of : receiving digital data representing essence; receiving metadata relating to the said essence; and receiving location data relating to the location of further essence; and forming a data structure comprising KLV packets each having Key, Length and Value fields, wherein a Key field denotes the type of data in a packet, a <img class="EMIRef" id="024182771-00270001" />
    <tb> Value <SEP> field <SEP> contains <SEP> the <SEP> data <SEP> of <SEP> the <SEP> packet <SEP> and <SEP> a <SEP> Length <SEP> field <SEP> denotes <SEP> the <SEP> amount <SEP> of <tb> data <SEP> in <SEP> the <SEP> Value <SEP> field, <SEP> ; <tb> the method comprising organising the said KLV into: a File Header including a data space for metadata associated with data in a File Body; <img class="EMIRef" id="024182771-00270002" />
    <tb> at <SEP> least <SEP> one <SEP> of <SEP> a <SEP> first <SEP> KLV <SEP> packet <SEP> forming <SEP> a <SEP> first <SEP> component <SEP> of <SEP> a <SEP> File <SEP> Body <SEP> and <tb> a <SEP> second <SEP> KLV <SEP> packet <SEP> forming <SEP> a <SEP> second <SEP> component <SEP> of <SEP> the <SEP> File <SEP> Body <SEP> ; <tb> the first component if present, having a Value field containing location data directly or indirectly indicating the location of first essence which is not included in the File Body, and a Key field the Value of which indicates that the Value field of the first component contains the said location data ; the second component, if present, having a Value field containing an essence container for containing second essence, and a Key field the Value of which identifies the second essence; one or both of the first and second essence being associated with the said metadata; and a File Footer; wherein the Key field of the first components has the same form as the Key field of the second component, the components being distinguished by distinguishing codes in the Key fields.
  36. 36. A method according to claim 35, wherein the said first mentioned essence and the said further essence contain the same data but with different resolutions. <img class="EMIRef" id="024182771-00270003" />
    <tb>
  37. 37. <SEP> A <SEP> method <SEP> according <SEP> to <SEP> claim <SEP> 36 <SEP> or <SEP> 36 <SEP> comprising <SEP> the <SEP> further <SEP> step <SEP> of <tb> providing, <SEP> in <SEP> the <SEP> first <SEP> component <SEP> of <SEP> the <SEP> file <SEP> body, <SEP> a <SEP> filler <SEP> KLV <SEP> packet <SEP> containing <SEP> filler <tb> data so that the first component has a predetermined length.
  38. 38. A method according to claim 36 or 36 comprising the further step of providing, in the Header, a filler KLV packet containing filler data so that the Header has a predetermined length. <img class="EMIRef" id="024182771-00280001" />
    <tb>
  39. 39. <SEP> A <SEP> method <SEP> of <SEP> creating <SEP> a <SEP> data <SEP> structure <SEP> substantially <SEP> as <SEP> hereinbefore <tb> described <SEP> with <SEP> reference <SEP> to <SEP> : <SEP> Figure <SEP> 1 <SEP> optionally <SEP> together <SEP> with <SEP> Figure <SEP> 2 <SEP> and/or <SEP> 3 <SEP> ; <SEP> or <tb> Figure 4; or Figure 5; or Figure 6 of the accompanying drawings.
  40. 40. A method of creating a data structure substantially as hereinbefore described with reference to Figure 7 of the accompanying drawings.
  41. 41. A method of decoding a data structure, comprising the steps of : receiving a File structure which may be as defined in any one of claims 1 to 17; parsing the structure; determining from a KLV packet having the predetermined Key field and a Length field whether the Value field of the KLV packet contains the essence container or contains location data indicating directly or indirectly the location of the essence container; if the said Value field contains essence container extracting the essence container from the Value field and if the Value field contains the said location data extracting the location data therefrom.
  42. 42. A method according to claim 41, comprising the further step of retrieving from a store the essence container identified by the said location data.
  43. 43. A method according to claim 42, wherein the said location data in the Value field indicates that a locator is in the said data space for metadata and comprising the step of extracting the locator from the said data space for metadata.
  44. 44. A method according to claim 43, comprising the further step of retrieving from a store the essence container identified by the said locator.
  45. 45. A method of decoding a data structure, comprising the steps of : receiving a File structure which may be as defined in any one of claims 18 to 28; <img class="EMIRef" id="024182771-00290001" />
    <tb> parsing <SEP> the <SEP> structure <SEP> ; <tb> extracting <SEP> the <SEP> said <SEP> location <SEP> data <SEP> from <SEP> the <SEP> first <SEP> component <SEP> if <SEP> present <SEP> ; <tb> extracting the said second essence container from the second container if present; and accessing the said first essence from the location indicated by the said location data of the first component.
  46. 46. Apparatus arranged to create a File structure, as specified in any one of <img class="EMIRef" id="024182771-00290002" />
    <tb> claims <SEP> 1 <SEP> to <SEP> 32. <tb>
  47. 47. Apparatus arranged to carry out a method according to any one of claims 30 to 45.
  48. 48. A system for decoding a File structure, the processor being arranged to: receive a File structure which may be as defined in any one of claims 1 to 28; parse the structure; <img class="EMIRef" id="024182771-00290003" />
    <tb> determine <SEP> from <SEP> a <SEP> KLV <SEP> packet <SEP> having <SEP> the <SEP> predetermined <SEP> Key <SEP> field <SEP> and <SEP> a <tb> Length <SEP> field <SEP> whether <SEP> the <SEP> Value <SEP> field <SEP> of <SEP> the <SEP> KLV <SEP> packet <SEP> contains <SEP> the <SEP> essence <SEP> container <tb> or contains location data indicating the location of essence container; and if the said Value field contains the essence container extract the essence container from the Value field and if the Value field contains the said location data extract the location data therefrom.
  49. 49. A system according to claim 48, including a store for storing an essence container and arranged to retrieve from the store the essence container identified by the said location data.
  50. 50. A system according to claim 49, wherein the said location data in the Value field is a pointer indicating that a locator is in the said data space for metadata and the system is arranged to extract the locator from the said data space for metadata. <img class="EMIRef" id="024182771-00300001" />
    <tb>
  51. 51. <SEP> A <SEP> system <SEP> according <SEP> to <SEP> claim <SEP> 50, <SEP> arranged <SEP> to <SEP> retrieve <SEP> from <SEP> the <SEP> store <SEP> the <tb> essence container identified by the said locator.
  52. 52. A system for decoding a File structure, the system being arranged to: receive a File structure which may be as defined in any one of claims 18 to 28; parse the structure; extract the said location data from the first component; extract the said second essence container from the second container; and access the said first essence from the location indicated by the said location data of the first component.
  53. 53. A data processing system substantially as herein before described with reference to Figures 6 and 7 together with: Figure 1 optionally together with Figure 2 and/or 3; or Figure 4; or Figure 6; of the accompanying drawings.
  54. 54. A computer program product arranged to carry out the method of any one of claims 34 to 45 when run on a data processing system.
GB0102706A 2001-02-02 2001-02-02 Data structures Withdrawn GB2371889A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0102706A GB2371889A (en) 2001-02-02 2001-02-02 Data structures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0102706A GB2371889A (en) 2001-02-02 2001-02-02 Data structures

Publications (2)

Publication Number Publication Date
GB0102706D0 GB0102706D0 (en) 2001-03-21
GB2371889A true GB2371889A (en) 2002-08-07

Family

ID=9908043

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0102706A Withdrawn GB2371889A (en) 2001-02-02 2001-02-02 Data structures

Country Status (1)

Country Link
GB (1) GB2371889A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1427217A1 (en) * 2002-09-19 2004-06-09 Sony Corporation Conversion apparatus and conversion method
WO2005086028A1 (en) * 2004-03-10 2005-09-15 Nokia Corporation Storage of content-location information
EP1592015A2 (en) * 2004-04-27 2005-11-02 Deutsche Thomson-Brandt Gmbh Method and device for recording or playing back a data stream
EP1710676A2 (en) * 2005-04-06 2006-10-11 Quantum Corporation Network-attachable, file-accessible storage drive
EP1713285A1 (en) * 2005-04-15 2006-10-18 THOMSON Licensing Method and device for recording digital data
EP1713284A1 (en) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Method and device for recording digital data
US7149750B2 (en) * 2001-12-19 2006-12-12 International Business Machines Corporation Method, system and program product for extracting essence from a multimedia file received in a first format, creating a metadata file in a second file format and using a unique identifier assigned to the essence to access the essence and metadata file
CN102932677A (en) * 2012-08-16 2013-02-13 中央电视台 Device and method for detecting pack format of media file

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998018246A2 (en) * 1996-10-22 1998-04-30 Philips Electronics N.V. Transmission system with flexible frame structure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998018246A2 (en) * 1996-10-22 1998-04-30 Philips Electronics N.V. Transmission system with flexible frame structure

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HTTP://WWW.AAFASSOCIATION.ORG/HTML/TECHINFO/AAF_DEV_OVERVIEW.PDF "AAF AN INDUSTRY-DRIVEN OPEN STANDARD FOR MULTIMEDIA AUTHORING" (11 APRIL 2000) *
SMPTE JOURNAL, VOL.109, JULY 2000, J.WILKINSON, "THE SMPTE DATA CODING PROTOCOL & DICTIONARIES", PP.579-586, SEE ALSO INSPEC ABSTRACT ACCESSION NO. 6721141 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149750B2 (en) * 2001-12-19 2006-12-12 International Business Machines Corporation Method, system and program product for extracting essence from a multimedia file received in a first format, creating a metadata file in a second file format and using a unique identifier assigned to the essence to access the essence and metadata file
US8611729B2 (en) 2002-09-19 2013-12-17 Sony Corporation Convertion apparatus and convertion method
US8326128B2 (en) 2002-09-19 2012-12-04 Sony Corporation Conversion apparatus and conversion method
EP1427217A1 (en) * 2002-09-19 2004-06-09 Sony Corporation Conversion apparatus and conversion method
WO2005086028A1 (en) * 2004-03-10 2005-09-15 Nokia Corporation Storage of content-location information
JP2007525759A (en) * 2004-03-10 2007-09-06 ノキア コーポレイション Storing content location information
CN1965368B (en) * 2004-04-27 2012-07-18 汤姆森许可贸易公司 Method and device for playback for data stream
EP1592015A2 (en) * 2004-04-27 2005-11-02 Deutsche Thomson-Brandt Gmbh Method and device for recording or playing back a data stream
EP1592015A3 (en) * 2004-04-27 2005-11-09 Deutsche Thomson-Brandt Gmbh Method and device for recording or playing back a data stream
US8615602B2 (en) 2004-04-27 2013-12-24 Thomson Licensing Method and device for recording or playing back a data stream
WO2005104127A1 (en) * 2004-04-27 2005-11-03 Thomson Licensing Method and sreams in distributed storage systems
EP1710676A2 (en) * 2005-04-06 2006-10-11 Quantum Corporation Network-attachable, file-accessible storage drive
EP1710676A3 (en) * 2005-04-06 2009-08-19 Quantum Corporation Network-attachable, file-accessible storage drive
EP1713285A1 (en) * 2005-04-15 2006-10-18 THOMSON Licensing Method and device for recording digital data
US7916995B2 (en) 2005-04-15 2011-03-29 Thomson Licensing Method and device for recording digital data
AU2006201360B2 (en) * 2005-04-15 2010-05-13 Interdigital Vc Holdings, Inc. Method and device for recording digital data
EP1713284A1 (en) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Method and device for recording digital data
CN102932677A (en) * 2012-08-16 2013-02-13 中央电视台 Device and method for detecting pack format of media file
CN102932677B (en) * 2012-08-16 2014-05-07 中央电视台 Device and method for detecting pack format of media file

Also Published As

Publication number Publication date
GB0102706D0 (en) 2001-03-21

Similar Documents

Publication Publication Date Title
US8670655B2 (en) Recording medium containing supplementary service information for audio/video contents, and method and apparatus of providing supplementary service information of the recording medium
JP5266327B2 (en) Synchronization of haptic effect data in media transport streams
JP4607987B2 (en) Editing time-based media with enhanced content
KR101122382B1 (en) Reproduction device and reproduction method
US8543560B2 (en) Audio and/or video generation apparatus and method of generating audio and/or video signals
KR100915847B1 (en) Streaming video bookmarks
JP3771902B2 (en) System and method for processing MPEG streams for file index insertion
CN100385559C (en) Processor, system and method for identifying and processing of audio and/or video material
AU758220B2 (en) Method and apparatus for media data transmission
US7131059B2 (en) Scalably presenting a collection of media objects
DE69820093T2 (en) Hierarchical method and system for object-based audiovisual describtive labeling of images for information recovery, editing and manipulation
USRE45594E1 (en) Network distribution and management of interactive video and multi-media containers
CN100580799C (en) Recording device, regeneration device, and file management method
KR100659993B1 (en) Reproducing apparatus and reproducing method
JP5190051B2 (en) Method and apparatus for simplifying metadata access
US6833865B1 (en) Embedded metadata engines in digital capture devices
EP1351167A2 (en) System for facilitating editing of audiovisual data
KR20080063450A (en) Techniques for navigating multiple video streams
EP1244025A1 (en) Image retrieval system and image retrieval method
USRE45316E1 (en) Method for automatically providing a compressed rendition of a video program in a format suitable for electronic searching and retrieval
US20040201609A1 (en) Systems and methods of authoring a multimedia file
US20030031260A1 (en) Transcoding between content data and description data
US9311962B2 (en) Audio and/or video generation apparatus and method of generating audio and/or video signals
US20020083469A1 (en) Embedding re-usable object-based product information in audiovisual programs for non-intrusive, viewer driven usage
JP4059631B2 (en) Interactive system

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)