This application claims the benefit, under 35 U.S.C. § 365 of European Patent Application 03403201.1, filed Jul. 1, 2003.
The invention relates to the field of editing data streams, and more particularly to data streams having assigned metadata.
Using an universal unique identifier (UUID) for encoding metadata is known from the prior art, cf. http://www.jpeg.org/metadata/wgln2600.doc. An UUID is an identifier that is unique in respect to the space of all UUIDs. A UUID can be used for multiple purposes, from tagging objects with an extremely short lifetime, to reliably identifying very persistent objects across a network.
The generation of UUIDs does not require a registration authority for each single identifier. Instead, it requires a unique value over space for each UUID generator. This spatially unique value is specified as an IEEE 802 address, which is usually already applied to network-connected systems. This 48-bit address can be assigned based on an address block obtained through the IEEE registration authority. This UUID specification assumes the availability of an IEEE 802 address, see http://www.opengroup.org/onlinepubs/9629399/apdxa.htm. That specification also discloses algorithms for UUID generators.
Further, patent application EP-A-1372343 shows a method for using UUIDs in the context of streaming applications.
The invention provides an improved editing of a data stream which also encompasses the updating of the metadata that is assigned to the data stream. The invention facilitates editing a data stream, the data stream having a unique identifier and assigned metadata, whereby the data stream can be edited independently from the metadata corresponding thereby updating the metadata correspondingly, if necessary. The updating operation, if any, is determined by means of a decision matrix or metric.
When the data stream is edited1 the original unique identifier of the data stream is replaced with a new one. The former unique identifier is stored in metadata history data. This is necessary in order to map the unique identifier of metadata which has not been updated in accordance with their decision matrix to the new unique identifier. In accordance with a preferred embodiment of the invention the unique identifiers are generated in accordance with the UUID specification.
In accordance with a further preferred embodiment of the invention the updating operation as determined by means of the decision matrix is output as a suggestion for a user. The user can accept the suggested updating operation or decline the suggestion in order to specify a user selected updating alternative.
In principle, the inventive method is suited for editing a data stream, the data stream having a first unique identifier of an identifier space and having assigned metadata, the metadata comprising meta information and a metadata link, the metadata link comprising the first unique identifier and at least one data packet identifier, the method including the steps of:
In principle the inventive apparatus operates for editing a data stream, the data stream having a first unique identifier of an identifier space and having assigned metadata, the metadata comprising meta information and a metadata link, the metadata link comprising the first unique identifier and at least one data packet identifier, the apparatus including:
Exemplary embodiments of the invention are described with reference to the accompanying drawings:
Data stream 104 consists of a sequence of data packets 108, 110, 112, . . . . These data packets each have a data packet identifier (ID) for identifying the data packet within data stream 104.
Each entry in metadata 106 is a tuple of the meta information and the metadata link. The meta information can be any information regarding the data stream 104 which can be of interest for a user. For example, the meta information can contain the text for a subtitle when the data stream is a video sequence. Another example is that the meta information contains information on the actors or other background information of the movie.
The metadata link has one or more data packet identifiers to identify the data packet within data stream 104 to which the meta information is assigned. The data stream to which the data packet identifier belongs is identified by the UUID of that data stream, i.e. data stream 104 in the example considered here.
For example, tuple 114 contained in metadata 106 has a metadata link comprising the UUID of data stream 104 and the data packet identifier of data packet 112 contained in data stream 104. This way the meta information contained in tuple 114 is unequivocally assigned to data packet 112.
Editing apparatus 100 includes a user interface 116 by means of which a user can edit data stream 104 which is stored in storage 102. This encompasses various editing operations, such as cut head, cut tail, split, and cut and merge operations, as will be explained in more detail below with reference to
After an editing operation has been performed with respect to data stream 104 it is determined by means of decision matrix 122 whether an updating operation of metadata 106 is required, and if so, which updating operation is to be performed.
Resolver 124 can access history data to provide a link resolution mechanism. For example, when data stream 104 has been edited and it has been decided by means of decision matrix 122 that no updating of metadata 106 is required, data stream 104 has a new UUID while the UUID of the metadata link of tuple 114 still remains the same. Through the intermediary of resolver 124 and history data it is ensured that tuple 114 is still unequivocally assigned to data packet 112 of data stream 104.
In operation a user performs an editing operation through user interface 116. This invokes UUID generator 118 which provides a new UUID for data stream 104. The former UUID of data stream 104 is stored in history data.
By means of decision matrix 122 it is determined whether updating of metadata 106 is required, and if so, which updating operation or updating operations need to be performed. The updating operation or the updating operations can be performed automatically. Alternatively the updating operation or the updating operations are output as a suggestion via user interface 116. The suggestion provided by decision matrix 122 can be accepted, modified or declined by a user. During playback of edited data stream 104 the metadata contained in tuple 114 need to be accessed. As the UUID contained in tuple 114 does not belong to any valid data stream anymore, resolver 124 is invoked which maps the UUID contained in tuple 114 to the new UUID of data stream 104.
The topmost data stream in
The distinction between the four cases A to D is created by the position of the cutting area and the treatment of emerging stream fragments. In case A and B the very beginning or quite the last part of the AV stream have been deleted. Thus the cases are named “Cut Head” and “Cut Tail”. In case C and D the middle of the stream has been cut out, leaving the two fragments. By the way of further handling the two emerging fragments the case “Split” and the case “Cut & Merge” are distinguished. Case C “Split” will generate two independent streams both having its own UUID and case D will paste together the fragments, both having only one new UUID. Metadata links can be affected by these editing operations: There are two types of metadata links, point links and range links. A point link describes a connection of a metadata item into an AV stream for a specific location on the time axis, e.g. for a specific picture in a video sequence. A range link, however, describes a connection of a metadata item into an AV stream for a specific segment on the time axis, e.g. for a chapter of a movie. While a point link specifies a start time only, the range link specifies a start time and an end time on the time axis by indicating the corresponding start and end data packet identifiers. Both metadata link types also include the simple case of a general link for metadata, which is a link relating to the complete data stream as long it is existing and which does not determine any picture or segment. A range link covering the full AV stream, i.e. having the start time and the end time of the AV stream itself, is the adequate representation.
Such a decision matrix is shown in
For example if a case No. 1 of
A more detailed explanation of each individual element of the decision matrix is given in the following:
When the complete data stream 104 is deleted it can be of interest to a user to still keep some items of the essential metadata information. An example for such situation is given in
The right hand side of
It is important to note that any of the above described metadata updating operations can be performed automatically on the basis of the updating operation determined by the decision matrix, if any. However it is also possible to involve the user in the updating process, for example by outputting the suggested updating operation on the user interface for the user's confirmation, modification or declination.
Number | Date | Country | Kind |
---|---|---|---|
03403201 | Jul 2003 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
5239617 | Gardner et al. | Aug 1993 | A |
5613079 | Debique et al. | Mar 1997 | A |
6573907 | Madrane | Jun 2003 | B1 |
7020381 | Kato et al. | Mar 2006 | B1 |
7280738 | Kauffman et al. | Oct 2007 | B2 |
7289717 | McGrath et al. | Oct 2007 | B1 |
7362946 | Kowald | Apr 2008 | B1 |
7409144 | McGrath et al. | Aug 2008 | B2 |
7493014 | McGrath et al. | Feb 2009 | B2 |
20020140816 | McGrath et al. | Oct 2002 | A1 |
20030052910 | Shiiyama | Mar 2003 | A1 |
20030233359 | Adolph et al. | Dec 2003 | A1 |
20050152665 | Shibata et al. | Jul 2005 | A1 |
Number | Date | Country |
---|---|---|
1102276 | May 2001 | EP |
1 372 343 | Dec 2003 | EP |
Number | Date | Country | |
---|---|---|---|
20050022254 A1 | Jan 2005 | US |