The present invention relates in general to a method and apparatus for preparing a navigation structure for an audiovisual product, and in particular for an audiovisual product playable according to an optical disc format specification.
In general terms, an audiovisual product such as a movie or other presentation is formed by gathering together many small sections or clips of raw audio and visual content. This is usually termed an “authoring” process wherein the raw sound clips, still images and video clips are progressively assembled and edited together to form the finished audiovisual product. The audiovisual product is then recorded on some form of recording media. Traditionally, this would be an analogue medium such as celluloid film or analogue video tape (e.g. VHS format video tape). More recently, it has become possible to record audiovisual content onto random access media including in particular optical disc media, or other forms of random storage such as magnetic hard drives. These random access media have many advantages in terms of size, data capacity, playback speed, image quality and so on.
An optical disc is a convenient storage medium 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 and DVD-Audio, 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 popular and commercially important.
Conveniently, an optical disc, such as a DVD-Video format disc, is played using a dedicated playback device with relatively simple user controls. DVD players for playing DVD-Video discs are relatively widespread. More detailed background information concerning the preferred example DVD-Video specification is available from DVD Forum at www.dvdforum.org and elsewhere.
A fundamental constraint arises in that the optical disc format specifications, such as DVD-Video, are designed for playback only. There is no way to generate new graphics and audio at the time that the audiovisual product is played. DVD-Video is an “archive” format. Consequently, all video and audio assets must be prepared in advance and recorded as part of the audiovisual product. Unfortunately, this leads to a relatively lengthy and complex authoring process.
A navigation structure is defined, in order to determine the order in which the audio and video assets should be played. For example, the DVD-Video specification defines cells as a basic unit to hold audio, video and sub-picture streams. The cells are grouped together within programs, and the programs linked to each other and hence known as Program Chains (PGCs). Program Chains are themselves grouped within video title sets (VTSs).
Typically, an optical disc format specification, such as the DVD-Video specification, provides a limited set of navigation commands. These commands are used to control navigation around the audiovisual product, such as by providing links from one cell to a next cell or previous cell, or links between Program Chains, amongst others. The navigation commands are defined by a command set, which is supported by all reproduction apparatus (e.g. DVD-Video players) which are compliant with the respective optical disc format specification. The reproduction apparatus thereby performs the recorded navigation commands during playback.
A problem arises in that creation of this navigation structure is labour-intensive, time-consuming and error-prone.
Currently available authoring tools for DVD-Video enable an author to add navigation commands by typing lines of text that incorporate symbolic references to the instructions that will ultimately be executed by the DVD-Video player. Manually typing each of these text commands is expensive and error prone. Also, including specific numerical references such as “Line 1” can mean that extensive renumbering is required should the author later decide to add an additional instruction. These text entries are then translated into binary sequences (bytecode) as part of the final audiovisual product. For example, a command “GoTo Line 1” is translated into bytecode as represented by the hexadecimal encoding “00 01 00 00 00 00 00 01”.
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 still expensive, time-consuming and error-prone.
Another approach to authoring has been proposed by the present inventor in co-pending application WO03/094519, which outlines an improved method of authoring content for use in a DVD-Video audiovisual product. However, it is still desired to make further improvements and efficiencies in the creation of an audiovisual product.
An aim of the present invention is to provide a method and apparatus for preparing a navigation structure for use in an audiovisual product playable according to an optical disc format specification, such a DVD-Video specification. Ideally it is desired to reduce labour intensity, improve speed and/or reduce errors.
A preferred aim is to provide an authoring tool which is intuitive to use. Also, it is preferred to provide an authoring tool which is highly flexible and/or adaptable to many different authoring projects.
An aim of particularly preferred embodiments of the present invention is to allow efficient creation of audiovisual products playable according to an optical disc format specification such as a DVD-Video specification for compliant DVD-Video players.
According to the present invention there is provided an apparatus and method as set forth in the appended claims. Preferred features of the invention will be apparent from the dependent claims, and the description which follows.
In one aspect of the present invention there is provided a method of preparing a navigation structure for use in an audiovisual product playable according to an optical disc format specification. The method includes writing a scripting program in a human-oriented scripting program language. The scripting program includes an iterative loop with a variable adjusted according to iterations of the loop. When the scripting program is executed, the iterative loop creates, for each iteration of the loop, a navigation command for performing navigation operations during playback of the audiovisual product, such as from a command set for the optical disc format specification. The navigation command is defined according to the variable as adjusted for each iteration of the iterative loop. The one or more created navigation commands are added to an intermediate representation of the navigation structure.
In another aspect of the present invention there is provided a method of preparing a navigation structure for use in an audiovisual product playable according to an optical disc format specification such as DVD-Video, comprising the steps of: creating a program in a high-level human-oriented programming language, including an iterative loop with a variable adjusted according to iterations of the loop; initiating a navigation structure for the audiovisual product including at least one Video Title Set (VTS) structure and at least one Program Chain (PGC) structure; executing the program on a general-purpose computing platform, including the steps of running the iterative loop to create, for each iteration of the iterative loop, a navigation command from a virtual machine command set for DVD-Video, where the navigation command is defined according to the variable as adjusted for each iteration of the iterative loop, and adding the navigation command to the navigation structure; and translating the navigation structure into bytecode for use in an audiovisual product playable according to a DVD-Video specification.
The method may be implemented, wholly or at least in part, by dedicated hardware. As one example, the method is performed in a dedicated authoring apparatus for creating navigation structure for an audiovisual product playable according to an optical disc format specification such as DVD-Video. Particularly, a data file is produced as an intermediate step in the process of recording executable (playable) data onto a recording medium such as an optical disc. The present invention also extends to an authoring apparatus arranged to perform the method defined herein.
Optionally, the method of the present invention is implemented as a computer program, or a suite of computer programs. The program or programs are recorded on any suitable recording medium, including a removable storage such as a magnetic disc, hard disc 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 method is suitably performed on a computing platform, ideally a general purpose computing platform such as a personal computer, or a client-server computing network.
For a better understanding of the invention, and to show how embodiments of the same may be carried into is effect, reference will now be made, by way of example, to the accompanying diagrammatic drawings in which:
The preferred embodiment of the present invention will be described with reference to the particular example of an audiovisual product recordable on an optical disc and playable on a DVD-Video player. However, it will be appreciated that the invention is applicable to a wide variety of other environments, particularly where audiovisual content is stored in some form of random access storage media. Also, it is envisaged that the DVD-Video format will itself be superseded over time and replaced with new format definitions. Hence, the present invention is seen to be applicable in other present and future environments.
The authoring apparatus 30 creates a navigation structure for the desired audiovisual product, as will be discussed in more detail below. The apparatus stores or outputs the navigation structure.
The navigation structure is stored or output firstly as an intermediate representation. Later, the intermediate representation is formatted and output in executable (playable) form. When the audiovisual assets are incorporated with the navigational structure, the finished audiovisual product 400 is written onto a storage medium such as a hard disc drive within the personal computer 30 or, preferably, onto an optical disc 40. The final audiovisual product is playable according to an optical disc format specification, such as DVD-Video.
The navigation structure is ideally created as an intermediate representation in a non-executable form. That is, the intermediate representation is not itself playable according to the optical disc format specification. In the preferred embodiment, the intermediate representation is a textual representation. The textual representation uses letters or symbols which are readily readable by a human. Most preferably, the textual representation is readily reviewed and edited by a human author, before finally committing the project to executable form. In another embodiment, the intermediate representation is in a binary form or a bytestream form, but is not yet playable according to the optical disc format specification. Optionally, a viewer or interpreter is used to review or edit the intermediate representation.
The navigation structure is itself a useful product. The navigation structure is optionally created, refined, evaluated and/or tested, separately from the audiovisual assets. This is especially useful in a commercial authoring environment. In particular, the intermediate representation of the navigation structure is stored, in order to be imported into other authoring systems for further treatment or analysis. Also, several parties may cooperate in creating, replicating and/or distributing commercial quantities of an audiovisual product such as a DVD-Video format optical disc. Such cooperation may include transmitting the navigation structure as an intermediate representation. Conveniently, during the authoring process, the navigation structure is held separately from a file or files holding the audiovisual assets.
In the preferred example of DVD-Video format data, the cells 420 are played in sequence through their inclusion by reference in programs (PGs), which are in turn organised into Program Chains (PGCs). In
However, even this hexadecimal encoding is exceptionally unwieldy for all but the most skilled of authors. Hence, during authoring, the navigation commands in
Each command may include specific operands in addition to the basic instruction, according to predetermined semantics of the command set. Some examples are set out below:
In some known authoring tools, the operands may be replaced by symbolic labels during an initial authoring stage. For example, an abstract label such as “SCORE” can be used initially in place of the specific parameter label GPRM1.
The navigation commands are placed into the DVD-Video navigation structure in four areas, namely:
The preferred embodiment of the present invention relates to a method and apparatus which is used to generate these navigation commands, and the related navigation structures such as Program Chains (PGCs), as will now be described in more detail below.
Step 501 comprises creating a program in a human-oriented programming language. In the preferred embodiment, this high-level program is a scripting program, such as JavaScript (JavaScript is a trade mark of Sun Microsystems Inc). JavaScript is a simple and user-friendly scripting language, which has been developed primarily for use in creating HTML-based web pages. However, the inventor has found that JavaScript (™) can also be used in other applications, and has benefits in environments other than HTML documents.
One advantage of JavaScript is that it is relatively simple to learn, and has become relatively widespread.
Also, by contrast with languages such as Java, C, C++ and others, JavaScript is a text-based scripting language that produces a textual output. However, other languages are suitable for use in the present invention. Examples include VBScript or JScript, amongst others.
The high-level scripting program includes at least one iterative loop, or similar functional looping structure. That is, the program will repeat one or more times any instructions contained within the loop, as appropriate. As a simple example, the loop is controlled by a variable such as the value “n”, with the variable increasing at each iteration of the loop, such as for n equals from 1 to 10.
Step 502 comprises preparing the high-level scripting program for execution (i.e. as binary machine code) on appropriate hardware such as an execution unit of the general purpose computing platform 30 of
Step 503 comprises executing the high-level program. Executing the programming includes running the iterative loop, i.e. executing the loop for values of n from 1 to 10. For each iteration of the loop, a textual representation of a navigation command is automatically created. That is, each created navigation command is a program instruction which corresponds to one or more navigation operations to be performed during playback of the audiovisual product. Suitably, the navigation command is a command taken from the command set appropriate to the optical disc format specification, such as the DVD-Video Virtual Machine command set shown in
The navigation command is defined according to the variable (in this case “n”) as adjusted for each iteration of the iterative loop. That is, in the first iteration, say n=1, the navigation command is defined appropriate to a value of n=1. In the second iteration then the navigation command is defined appropriate to n=2, and so on up to n=10. In this simple example, the loop control variable “n” is used to define a command operand. However, in most practical cases, a plurality of variables are defined and iteratively adjusted to control either the command (instruction) or one or more operands.
The navigation commands are provided in textual form to be incorporated within a textual intermediate representation of the navigation structure. Suitably, the navigation commands are added to a cell within a Program Chain (cell commands), or to an appropriate position within a Program Chain (pre- and post-commands), or in the navigation pack of a menu pack (button commands).
The step 503 may also include automatically creating new navigation structure elements within the navigation structure. For example, the step 503 may include automatically generating new cells, PGCs or VTS structural elements using the scripting program.
In the preferred embodiment, the navigation structure is suitably defined as a textual document, or a text-based database, and held within a memory or disc storage of the personal computer 30. This textual representation is a repository of (at least part of) the navigation structure of the audiovisual product, according to the optical disc format specification (e.g. DVD-Video). The prepared textual navigation structure includes representations of the navigation locations (e.g. PGCs) in the product, and the navigation commands (e.g. links). The textual representation of the navigation structure is suitably stored for later use, or transmitted to another party for further work.
Step 504 comprises providing an initial navigation structure for the audiovisual product. The navigation structure is suitably initiated by defining at least one navigation structure element such as at least one video title set (VTS) structure, which holds at least one Program Chain (PGC) structure. That is, the navigation structure is provided with a set of initial locational and/or navigational elements as appropriate to the project under consideration. In one embodiment, this initiation step is performed manually, such as by an author typing initiation text into a text document, or by defining a textual database to hold the project under consideration. Alternatively, the navigation structure is initiated automatically as part of executing the program in step 503. In some embodiments, executing the scripting program provides a textual representation of part of a navigation structure, which is conveniently later incorporated into another navigation structure such as by a text-based cut and paste operation.
In step 505, the method optionally includes manually adding further navigation structure to the textual representation, such as adding further structural elements (PGC) and/or adding further navigation commands. These additional structural elements and commands supplement the navigation structure and navigation commands produced automatically by the scripting program. Suitably, the structures and/or commands are added manually by the author either by direct textual inputs, or through a graphical user interface as in prior authoring tools such as described by Spruce Technologies or Sonic Solutions (see above).
As shown schematically at step 506 of
In step 507, the navigation structure, including the structural elements and navigation commands, is translated into corresponding numerical structural locations and operational bytecodes (representing binary values), in order to produce a product which is playable according to an optical disc format specification, i.e. by a DVD-Video player. Ideally, the video, audio and sub-picture assets are imported at this stage and placed as appropriate within the navigation structure, i.e. within appropriate cells. Conveniently, the assets are imported by calling files from the file storage 25 according to asset path references-provided within the navigation structure.
In commercial-scale operations, step 507 suitably includes preparing a disc image recorded onto an appropriate storage medium, such as a digital magnetic tape. The disc image is used to create a physical master disc (cutting master). The master disc is used in a replication process to create playable discs for distribution such as through retail outlets. Alternatively, in smaller-scale operations, the binary disc image is burnt directly onto an optical disc. The optical discs are then ready for playback in a standard reproduction apparatus, such as a dedicated set-top DVD-Video player, portable DVD player or in-car DVD player.
Two specific examples are provided below, in order to explain the principles and operations of the preferred embodiments of the present invention in more detail.
In the preferred embodiment of the present invention, the author creates a program in a high-level language, ideally JavaScript (™) as explained above.
When the author has written the program, execution of the program yields a textual representation of the desired navigation structural elements (menu PGCs) and appropriate navigation commands (LNK P5, etc).
Optionally, the navigation structure elements and navigation commands produced automatically by the program are supplemented by additional structural elements and commands entered manually.
The scripting program may further include automatic generation of references to appropriate audio and video assets. Suitably, these audio and video assets are stored in a storage system such as the remote file storage 25 of
This example illustrates the power and convenience applied by preferred embodiments of the present invention. Many new or previously cost-prohibitive projects can now be authored for playback using a DVD-Video player.
A second example DVD project performs the functionality equivalent to a numeric display with which a viewer is able to enter a four-digit PIN code. It is desired to display a number as each digit is entered by the user. The overall presentation remains constant, but the specific numerical value is dependent upon a sequence of user inputs. Even for this simple four-digit PIN code project, a total of 10,000 separate menu PGCs are required, representing the values 0 to 9999.
Secondly,
The authoring method and apparatus described above has many advantages. Creating a program script allows an author to produce audiovisual products which are more complex and more entertaining than has been possible previously in practice. Repetitive manual tasks are avoided, which were previously time consuming, expensive and error prone.
The preferred embodiments of the present invention provide considerable efficiencies and savings when performing functions such as creating localised variants of a movie or other product (e.g. 4:3 or 16:9 format; NTSC or PAL format) and language variations (e.g. text labels for menus and buttons).
Further, the navigational structure of a DVD-Video product can be defined and prototyped without the need to create or link to any video or audio assets. The navigation structure can be created in isolation, allowing rapid development and creative experimentation.
Further still, automatic creation of navigation commands and navigation structures leads to a high level of confidence and significantly reduces requirements for testing and quality control. For example, a select few commands and routines are checked, and the remainder can then be assumed to be in order.
The authoring method and apparatus significantly enhance the range of features available in existing categories of audiovisual products, such as movie presentations, and allow completely new categories of audiovisual products to be produced simply and easily, such as quiz-based games and puzzle-based games, amongst others. The authoring method and apparatus allow the production of many different types of information products, such as picture galleries, catalogues, directories, reference guides, dictionaries and encyclopaedias.
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.
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 the foregoing embodiment(s). 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 |
---|---|---|---|
0408599.9 | Apr 2004 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB2005/001495 | 4/19/2005 | WO | 00 | 10/18/2006 |
Number | Date | Country | |
---|---|---|---|
60616270 | Oct 2004 | US |