The present invention relates in general to a data processing method and system.
In general terms, it is desired to assemble many small sections of raw audio and video content (i.e. sound clips and video clips) to form a finished audiovisual product, by way of an authoring process. However, in many environments a considerable degree of specialist knowledge and time must be invested in the authoring process in order to achieve a desirable finished audiovisual product. These problems are exacerbated where the audiovisual product has a complex navigational structure or requires many separate raw content objects.
As a simple example, a feature movie or television program typically has a straightforward linear navigational sequence of individual scenes. By contrast, it is now desired to develop new categories of audiovisual products which have a much more complex navigational structure, such as a movie with many scene choices or different movie endings, and/or which have a large number of individual scenes, such as an interactive quiz game with say one thousand individual quiz questions.
An optical disc is a convenient storage media for many different purposes. A digital versatile disc (DVD) has been developed with a capacity of up to 4.7 Gb on a single-sided single-layer disc, and up to 17 Gb on a double-sided double-layer disc. There are presently several different formats for recording data onto a DVD disc, including DVD-video, DVD-audio, and DVD RAM, amongst others. Of these, DVD-video is particularly intended for use with pre-recorded video content, such as a motion picture. As a result of the large storage capacity and ease of use, DVD discs are becoming popular and commercially important. Conveniently, a DVD-video disc is played using a dedicated playback device with relatively simple user controls, and DVD players for playing DVD-video discs are becoming relatively widespread. More detailed background information concerning the DVD-video specification is available from DVD Forum at www.dvdforum.org.
Although DVD-video discs and DVD-video players are becoming popular and widespread, at present only a limited range of content has been developed. In particular, a problem arises in that, although the DVD specification is very flexible, it is also very complex. The process of authoring content into a DVD-video compatible format is relatively expensive and time consuming. In practice, the flexibility and functions allowed in the DVD-video specification are compromised by the expensive and time consuming authoring task. Consequently, current DVD-video discs are relatively simple in their navigational complexity. Such simplicity can impede a user's enjoyment of a DVD-video disc, and also inhibits the development of new categories of DVD-video products.
An example DVD authoring tool is disclosed in WO 99/38098 (Spruce Technologies) which provides an interactive graphical authoring interface and data management engine. This known authoring tool requires a relatively knowledgeable and experienced operator and encounters difficulties when attempting to develop an audiovisual product having a complex navigational structure. In particular, despite providing a graphical user interface, the navigational structure of the desired DVD-video product must be explicitly defined by the author. Hence, creating a DVD-video product with a complex navigational structure is expensive, time-consuming and error-prone.
Many computer applications call for the use of random numbers, which are employed to give unpredictability to the behaviour of a program. Many computer platforms provide a so-called random number generator, which is typically a RND(N) function that returns a random number in the range of 0 to N−1 (or sometimes 1 to N). It will be appreciated by those skilled in the art that the word “random” is a misnomer since the random numbers produced are usually created using a linear congruential generator (LCG). An LCG sequence generator calculates a series of numbers, ri, of the form ri+1=F(ri). Successive numbers in the number sequence are a function of previous numbers. If the RND(N) function performs fairly, each invocation of the function should yield values 0 to N−1 with equal probability. Typical, an LCG will have a large period (that is, the sequence will produce a large number of values before it repeats) . If an application requires RND(N), where N is relatively small, then the output of the LCG is manipulated to yield a value that lies in the range 0 to N−1. For example, the result of each step of the LCG can be taken to modulo n in order to produce values in the required range. As a consequence, repeated calls of RND(N) can return repetitions of values before N values have been returned.
The DVD-Video specification as published by the DVD Forum supports a random number function, RND[N], to return a random number within a specified range. However, the specification does not contain any explicit technical guidance to implement this function. It is well known within the industry that some manufacturers have implemented the function in a way that their DVD players always generate the same random number sequence. Such a situation can occur when an LCG is seeded with a constant value. Consequently, companies engaged in authoring DVD-Video discs cannot assume that a different random number sequence will be generated each time a disc is played. This is particularly problematical for games, such as quizzes, where, for some devices, it can result in the same question sequence being delivered each time the disc is played.
Another feature of DVD-Video is the counter mode of the GPRM registers. A GPRM can be placed in counter mode such that its value is incremented by one for each elapsed second from the moment the counter mode is invoked. This feature can be used effectively to seed an LCG with a value that is time-dependent and likely to change as between successive plays of a disc. While this may go some way to overcoming the limitation of players that have a deficient RND implementation, some manufacturers have defective implementations of the counter feature such that registers are incorrectly incremented in contrast to the DVD-Video specification requirements. Furthermore, it is known that there are some DVD players that have defective implementations of both the RND function and the counter mode of the GPRMs.
It is an object of embodiments of the present invention at least to mitigate some of the problems of the prior art.
In a first aspect of the present invention there is provided an authoring method for use in creating an audiovisual product, comprising the steps of: defining a plurality of components, the components implicitly representing functional sections of audiovisual content with respect to one or more raw content objects, and a plurality of transitions that represent movements between the plurality of components; expanding the plurality of components and the plurality of transitions to provide a set of explicitly realised AV assets and an expanded intermediate data structure of nodes and links, where each node is associated with an AV asset of the set and the links represent movement from one node to another; and creating an audiovisual product in a predetermined output format, using the AV assets and the expanded intermediate data structure of the nodes and the links; wherein the audiovisual product is operable to facilitate random number generation.
In one preferred embodiment, the present invention relates to authoring of audiovisual content into a form compliant with a specification for DVD-video and able to be recorded on an optical disc recording medium.
In a second aspect of the present invention there is provided an authoring method for use in creating a DVD-video product, comprising the steps of: creating a plurality of components representing parameterised sections of audiovisual content, and a plurality of transitions representing movements between components; expanding the plurality of components and the plurality of transitions to provide a set of AV assets and an expanded data structure of nodes and links, where each node is associated with an AV asset of the set and the links represent movement from one node to another; and creating a DVD-video format data structure from the AV assets, using the nodes and links, wherein the audiovisual product is operable to facilitate random number generation.
In a third aspect of the present invention there is provided an authoring method for use in creating an audiovisual product according to a DVD-video specification, comprising the steps of: generating a set of AV assets each comprising a video object, zero or more audio objects and zero or more sub-picture objects, and an expanded data structure of nodes and links, where each node is associated with one AV asset of the set and the links represent navigational movement from one node to another; and creating a DVD-video format data structure from the set of AV assets, using the nodes and links; the method characterised by the steps of: creating a plurality of components and a plurality of transitions, where a component implicitly defines a plurality of AV assets by referring to a presentation template and to items of raw content substitutable in the presentation template, and the plurality of transitions represent navigational movements between components; and expanding the plurality of components and the plurality of transitions to generate the set of AV assets and the expanded data structure of nodes and links, wherein the audiovisual product is operable to at least facilitate random number generation.
In another aspect the present invention there is provided a recording medium having recorded thereon computer executable instructions for performing any of the methods defined herein.
In yet another aspect of the present invention there is provided a recording medium having recorded thereon an audiovisual product authored according to any of the methods defined herein.
Advantageously, embodiments can provide a convenient and simple method and apparatus for authoring an audio-visual product.
Preferred embodiments provide a method and apparatus able to create an audio-visual product having a complex navigational structure and/or having many individual content objects, whilst reducing a time required for authoring and minimising a need for highly skilled operators.
Preferably, there is provided an authoring tool which is intuitive to use and is highly flexible.
Particularly preferred embodiments support creation of audio-visual products such as DVD-video products that run on commonly available DVD-video players.
Accordingly, a still further aspect of embodiments of the present invention provides a data processing system comprising means for playing an interruptible or skipable video sequence; and a random number generator for generating a random number associated with an interruption of the interruptible or skipable video sequence.
Advantageously, embodiments of the present invention allow a DVD implementation independent random number generator to be realised that is not beset with at least some of the above mentioned problems.
A further aspect of embodiments of the present invention provides a data processing system comprising a reader to read data representing a video sequence and a number of associated data each having a corresponding command; a presentation engine for outputting the video sequence derived from the data representing the video sequence, a navigation engine, responsive to an event, to invoke one of the corresponding commands according to the output of the video sequence; and means to derive a first value from the invoked command of the corresponding commands. It will be appreciated that the reader might form part of a DVD player or DVD drive to read data from a DVD.
A still further aspect of embodiments of the present invention provides a storage medium comprising data representing a video sequence and a number of associated data each having a corresponding command; and data to derive a first value from one of the corresponding commands in response to an event. Preferably, the storage medium is a DVD.
Other features of the invention are described below and claimed in the claims.
Embodiments of the present invention will now be descried, by way of example only, with reference to the accompanying drawings in which:
As one example, embodiments of the present invention are applicable to authoring of video-on-demand products delivered remotely from a service provider to a user, such as over a computer network or other telecommunications network. Here, the embodiments of present invention are especially useful in authoring interactive products, where user choices and responses during playback of the product dictate navigational flow or content choices.
As another example, embodiments of the present invention are particularly suitable for use in the authoring of an audiovisual product or audio visual content compliant with a DVD-video specification. This example will be discussed in more detail below in order to illustrate the preferred arrangements of present invention. The audiovisual product can be, for example, recorded onto a medium such as an optical disk or magnetic medium. The DVD-video specification defines a series of data objects that are arranged in a hierarchical structure, with strict limits on the maximum number of objects that exist at each level of the hierarchy. Hence, in one preferred embodiment of the present invention it is desired to create an audiovisual product or audiovisual content which meets these and other limitations of the specification. In particular it is desired that the resultant audiovisual product will play on commonly available DVD players. However, it is also desired to create the audiovisual product having a complex navigational structure, to increase a user's enjoyment of the product, and in order to allow the creation of new categories of audiovisual products.
In the field of DVD-video, audiovisual content is considered in terms of audio-visual assets (also called AV assets or presentation objects) . According to the DVD-video specification each AV asset contains at least one video object, zero or more audio objects, and zero or more sub-picture objects. That is, a section of video data is presented along with synchronised audio tracks and optional sub-picture objects. The current DVD-video specification allows up to eight different audio tracks (audio streams) to be provided in association with up to nine video objects (video streams). Typically, the video streams represent different camera angles, whilst the audio streams represent different language versions of a soundtrack such as English, French, Arabic etc. Usually, only one of the available video and audio streams is selected and reproduced when the DVD-video product is played back. Similarly, the current specification allows up to thirty-two sub-picture streams, which are used for functions such as such as language subtitles. Again, typically only one of the sub-picture streams is selected and played back to give, for example, a movie video clip with English subtitles from the sub-picture stream reproduced in combination with a French audio stream. Even this relatively simple combination of video, audio and sub-picture streams requires a high degree of coordination and effort during authoring to achieve a finished product such as a feature movie. Hence, due to the laborious and expensive nature of the authoring process there is a strong disincentive that inhibits the development of high-quality audiovisual products or content according to the DVD-video specification. There is then an even stronger impediment against the development of audiovisual products or content with complex navigational flow or using high numbers of individual raw content objects.
Conveniently, the authoring methods of embodiments of the present invention are implemented as a program or a suite of programs. The program or programs are recorded or stored on or in any suitable medium, including a removable storage such as a magnetic disk, hard disk or solid state memory card, or as a signal modulated onto a carrier for transmission on any suitable data network, such as the Internet.
In use, the authoring method is suitably performed on a computing platform, like a general purpose computing platform such as a personal computer or a client-server computing network. Alternatively, the method may be implemented, wholly or at least in part, by dedicated authoring hardware.
As shown in
The method outlined in
Firstly, looking at the step 101 of
The preferred embodiments provide three different types of component. These are an information component, a choice component and a meta-component.
An information component represents what will in due course become a single AV asset in the desired audiovisual product. Suitably, an information component simply comprises a reference to a raw content object or collection of raw content objects (i.e. raw video and audio clips, image stills or other digital content) that will be used to create an AV asset in the audiovisual product. For example, an information component refers to a welcome sequence that is displayed when the DVD-video product is played in a DVD-video player. The same welcome sequence is to be played each time playback begins. It is desired to display the welcome sequence, and then proceed to the next component. An information component (which can also be termed a simple component) is used principally to define presentation data in the desired DVD-video product.
A choice component represents what will become a plurality of AV assets in the desired audiovisual product. In the preferred embodiment, the choice component (alternately termed a multi-component) comprises a reference to at least one raw content object, and one or more parameters. Here, for example, it is desired to present a welcome sequence in one of a plurality of languages, dependent upon a language parameter. That is, both a speaker's picture (video stream) and voice track (audio stream) are changed according to the desired playback language. Conveniently, a choice component is used to represent a set of desired AV assets in the eventual audiovisual product, where a value of one or more parameters is used to distinguish between each member of the set. Hence, a choice component represents mainly presentation data in a desired DVD-video product, but also represents some navigational structure (i.e. selecting amongst different available AV assets according to a language playback parameter).
A meta-component comprises a procedurally-defined structure representing a set of information components and/or a set of choice components, and associated transitions. Conveniently, a meta-component may itself define subsidiary meta-components. A meta-component is used principally to define navigational structure in the desired audiovisual product by representing other components and transitions.
The component 201 is defined with reference to zero or more parameters 301, which are used only during the authoring process. However, the component 201 may also be defined with reference to zero or more runtime variables 302. Each variable 302 records state information that can be read and modified within the scope of each component, during playback of the audiovisual product such as in a standard DVD player. Conveniently, the component 201 is provided with a label 303 for ease of handling during the authoring process.
The component 201 contains references to one or more items of content 304. The items of content are raw multi-media objects (still picture images, video clips, audio clips, text data, etc.) recorded in one or more source storage systems such as a file system, database, content management system, or asset management system, in any suitable format such as, for example, .gif, .tif, .bmp, .txt, .rtf, .jpg, .mpg, .qtf, mov, .wav, .rm, .qtx, amongst many others. It will be appreciated that these raw content objects are not necessarily at this stage in a format suitable for use in the DVD-video specification, which demands that video, audio and sub-picture objects are provided in selected predetermined formats (i.e. MPEG).
Each component 201 uses the references as a key or index which allows that item of content to be retrieved from the source storage systems. The references may be explicit (e.g. an explicit file path), or may be determined implicitly, such as with reference to values of the parameters 301 and/or variables 302 (i.e. using the parameters 301 and/or variables 302 to construct an explicit file path).
Conveniently, the component 201 also preferably comprises a reference to a template 305. The template 305 provides, for example, a definition of presentation, layout, and format of a desired section of AV content to be displayed on screen during playback. A template 305 draws on one or more items of content 304 to populate the template. Typically, one template 305 is provided for each component 201. However, a single template 305 may be shared between a number of components 201 or vice versa. A template 305 is provided in any suitable form, such as, for example. As an executable program, a plug-in or an active object. A template is conveniently created using a programming language such as C++, Visual Basic, Shockwave or Flash, or by using a script such as HTML or Python, amongst many others. Hence, it will be appreciated that a template allows a high degree of flexibility in the creation of AV assets for a DVD-video product. Also, templates already created for other products (such as a website) may be reused directly in the creation of another form of audiovisual product, in this case a DVD-video product content.
The parameters 301, runtime variables 302, content items 304 and template 305 together allow one or more AV assets to be produced for use in the desired audiovisual product. Advantageously, creating a component 201 in this parameterised form allows a number, which might be a large number, large plurality of AV assets to be represented simply and easily by a single component.
To illustrate the power and advantages of creating components 201 and transitions 202 as described above, reference will now be made to
In
b shows an abstraction, using components and transitions as described herein, for an equivalent quiz game. It will be appreciated that the abstraction shown in
In use, the authoring method and apparatus suitably presents a convenient user interface for creating components and transitions of the high-level abstraction. Ideally, a graphical user interface is provided allowing the definition of components, transitions and events, similar to the schematic diagram of
Referring again to
Referring to
In one embodiment, the checking step 104 is performed using the created components 201 and transitions 202. As discussed above, the components 201 contain references to raw AV content objects 304 and templates 305, and authoring parameters 301, 302, that allow AV assets to be produced. The checking step 104 comprises predicting a required number of objects at each level of the hierarchical structure, by considering the number of potential AV assets that will be produced given the possible values of the authoring parameters (i.e. authoring-only parameters 301 and runtime variables 302), and providing an indication of whether the limits for the maximum number of objects will be exceeded. Similarly, where a component defines a set of similar AV assets, then it is useful to predict the physical size of those assets and to check that the audiovisual product is expected to fit within the available capacity of a DVD disc. Advantageously, the conformance check of step 104 is performed without a detailed realisation of every AV asset, whilst providing an operator with a reasonably accurate prediction of expected conformance. If non-conformance is predicted, the operator may then take steps, at this early stage, to remedy the situation. As a result, it is possible to avoid unnecessary time and expense in the preparation of a full audiovisual product which is non-conformant.
As shown in
The components 201 and transitions 202 may be evaluated in any order. However, but it is convenient to first evaluate the components and then to evaluate the transitions. Ideally, any meta-components in the abstraction are evaluated first. Where a meta-component results in new components and transitions, these are added to the abstraction until all meta-components have been evaluated, leaving only information components and parameterised choice components.
An expanded intermediate data structure is created to represent the abstract components 201 and transitions 202 in the new evaluated form. This expanded data structure comprises branching logic derived from the events 203 attached to the transitions 202 (which will eventually become navigation data in the desired audiovisual product) and nodes associated with AV assets derived from the components 201 (which will eventually become presentation data in the audiovisual product). However, it is not intended that the expanded data structure is yet in a suitable form for creating an audiovisual product in a restricted format such as a DVD-video product, since at this stage there is no mapping onto the hierarchical structure and other limitations of the DVD-video specification.
Referring again to
Referring to
Each node is used to create a DVD video structure location at step 1102. Optionally, at step 1103 if the number of created DVD video structure locations exceeds the specified limit set by the DVD-video specification then creation is stopped at 1104 and an error reported. Assuming the number of structures is within the specified limit then DVD video compatible data structures are created at step 1105. Finally, a DVD video disc image is created at step 1106. Conveniently, commercially available tools are used to perform step 1106 and need not be described in detail here.
Step 1102 is illustrated in more detail in
Step 1105 of
The DVD authoring method and apparatus described above have a number of advantages. Creating components that represent parameterised sections of audio visual content allow many individual AV assets to be implicitly defined and then automatically created. Repetitive manual tasks are avoided, which were previously time consuming, expensive and error-prone. The authoring method and apparatus significantly enhance the range of features available in existing categories of audiovisual products or content such as movie presentations. They also allow new categories of audiovisual products or content to be produced. These new categories include both entertainment products or content such as quiz-based games and puzzle-based games, as well as information products such as catalogues, directories, reference guides, dictionaries and encyclopaedias. In each case, the authoring method and apparatus described herein allow full use of the video and audio capabilities of DVD specifications such as DVD-video. A user may achieve playback using a standard DVD player with ordinary controls such as a remote control device. A DVD-video product having highly complex navigational content is readily created in a manner that is simple, efficient, cost effective and reliable.
The video sequence 1402 and corresponding button sets 1404 to 1410 are arranged such that only the button set associated with a currently active or currently playing or processed group-of-pictures structure is able to be invoked. Therefore, for example, the first button set 1404 is active during processing of the first group-of-pictures structure GOP 1 and so on. The button sets 1404 to 1410 are arranged so that, upon generation of a user event, such as, for example, the user depressing the “OK” button of a remote control (not shown), the corresponding button command 1420 to 1426 is invoked.
Prior to playing the initial video sequence 1402, one of the GPRMs (not shown) is initialised using a value. Preferably, the initialisation value is a random value generated using, for example, the inherent RND function provided by DVD players. The initialised GPRM is then set to counter mode. This second step of setting the GPRM to counter mode is optional.
A button command has the following format
ADD<GPRM><value>; LNK<next-sequence>.
This command results in adding the value represented by <value> to the content of register <GPRM>, that is, the register initialised using the random value, and then linking or jumping to the next or a further video sequence identified by <next-sequence>. Preferably, the value of <value>is unique or distinct for each button set of the sequence. In an embodiment, the values chosen for <value> are the same as the GOP numbers. Therefore, for example, assuming the user presses “OK” during the processing or playing of the first group of pictures structure GOP1, the value 1 is added to the GPRM, during the second group-of-pictures structure GOP2, the value 2 is added to the GPRM and so on. Alternatively, the values used for <value> can be non-sequential or, themselves, random numbers.
Preferably, the video sequence 1402 is arranged to repeat, which will force the user to press “OK” to advance the programme and a post command is added to the sequence in the form
ADD<GPRM><value2>,
where <GPRM> is the register initialised previously and <value2> is a further number added to the content of the GPRM upon repetition of the sequence.
If, as is the case in preferred embodiments, the values associated with the button commands are sequential and start from the value “1”, it will be appreciated that the value for the mth GOP has the value m. It will be appreciated that ADD<GPRM><value2> is a command that is executed each time the whole of the video sequence 1402 has been played.
When a random number is subsequently required, the previously initialised GPRM is returned to normal register mode and its current value is used as the random number. It will be appreciated that since the point at which a user chooses to skip the video sequence might vary as between plays, it will, typically, result in a different value being contained within the GPRM even on devices that have defective implementations of the RND function and defective register counting mode implementations.
Referring to
If the determination at step 1512 is negative, a test is performed at step 1518 to determine whether or not there are further GOP structures to process. If the determination at step 1518 is positive, a test is performed at step 1520 to determine whether the most recently processed GOP structure was the last GOP structure of the video sequence 1502. If the determination at step 1520 is negative, processing continues at step 1508 where the next GOP is retrieved and processed. However, if the most recently processed GOP structure was the last such structure of the video sequence 1502, a predetermined value, <value2>, is added to the GPRM at step 1522 and processing then continues at step 1508 where the first group of pictures structure GOP 1 is retrieved again.
If the determination at step 1518 is negative, it is determined at step 1524 whether the video sequence 1402 has been arranged to loop or repeat automatically. It will be appreciated in most preferred embodiments that the video sequence 1402 will be arranged to repeat whereupon processing continues from step 1520. However, if the video sequence is not arranged to repeat, processing terminates and the current value of the GPRM is used as the random number or at least as a seed for a random number generator or random number sequence generator.
In preferred embodiments, the above calculated number, that is, the number contained within the GPRM is used as a seed value for a LCG algorithm that is used to calculate a non-repeating sequence of pseudo-random numbers, that is, the generated sequence does not contain a repetition of any of the numbers until the whole of the sequence has been generated. However, once the full sequence has been generated, that full sequence will, itself, repeat. Preferably, the value contained within the GPRM is used as the first value, r1, in the equation
ri+1=(a.ri+b) mod c,
where c is a prime number and a and b are constants selected according to a desired level of performance of the LCG, that is, according to the quality of the random numbers required.
It will be appreciated that embodiments can be realised in which multiple video sequences together with respective button sets as described above are used to generate the random number or respective random numbers such that the ultimately used random number is associated with or derived from data associated with those multiple video sequences or the embodiments are arranged to produce a number of random numbers using the multiple video sequences.
Although the above embodiments have been described with reference to an LCG, embodiments of the present invention are not limited to such LCGs. Embodiments can be realised in which other generators are used. For example, two or more LCGs can be combined to produce a Combined Linear Congruential Generator (CLCG) in which the two LCGs are combined usually by subtraction or ex-or. Still further, Recursive or Extended LCGs can be used to improve the randomness of low order bits that tend to be less random in LCGs. Other generators that might be used, having obtained a seed number, are Multiple Recursive Generators, Inverse Congruential Generators, Combined Inverse Congruential generators, Multiply with Carry Generators, Multiply or Single Feedback shift registers, Generalised Feedback Shift Registers including Twisted Feedback Shift Registers and Multiple GFSR and so on.
It will be appreciated that in the embodiments described in this specification, the term “audiovisual product” comprises at least any one of data from which audiovisual data can be derived, DVD video disc image data or other data compliant with the DVD specification and media storing or containing such data from which audiovisual data can be derived, DVD video disc image data or other data compliant with the DVD specification. In particular, it will be appreciated that the audiovisual product will take the form of data when it is accessed or distributed via a communication network.
Although a few preferred embodiments have been shown and described, it will be appreciated by those skilled in the art that various changes and modifications might be made without departing from the scope of the invention, as defined in the appended claims.
Although the above embodiments have been described with reference to the product being playable by a “standard DVD player”, it will be appreciated that other players can equally well be accommodated such as, for example, software players, set-top boxes or other means of processing or otherwise rendering audiovisual content using hardware or software or a combination of hardware and software. It will be appreciated that such players might preferably receive and process the audiovisual product in the form of data read from a storage medium or received via a communication link or channel of, for example, a network.
The reader's attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.
All of the features disclosed in this specification (including any accompanying claims, abstract and drawings) and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
The invention is not restricted to the details of any foregoing embodiments. The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.
Number | Date | Country | Kind |
---|---|---|---|
GB 0325705.2 | Nov 2003 | GB | national |