WO1997021220A1 - Method and apparatus for seamless splicing of digital data streams - Google Patents

Method and apparatus for seamless splicing of digital data streams Download PDF

Info

Publication number
WO1997021220A1
WO1997021220A1 PCT/CA1996/000798 CA9600798W WO9721220A1 WO 1997021220 A1 WO1997021220 A1 WO 1997021220A1 CA 9600798 W CA9600798 W CA 9600798W WO 9721220 A1 WO9721220 A1 WO 9721220A1
Authority
WO
WIPO (PCT)
Prior art keywords
clip
current
viewer
clips
digital data
Prior art date
Application number
PCT/CA1996/000798
Other languages
French (fr)
Inventor
Greg Caws
Eric Camirand
Alex Dobrianski
Ivan Jankovic
Original Assignee
Cinax Designs Inc.
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 Cinax Designs Inc. filed Critical Cinax Designs Inc.
Priority to AU76882/96A priority Critical patent/AU7688296A/en
Publication of WO1997021220A1 publication Critical patent/WO1997021220A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/065Combinations of audio and video presentations, e.g. videotapes, videodiscs, television systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B17/00Guiding record carriers not specifically of filamentary or web form, or of supports therefor
    • G11B17/005Programmed access to indexed parts of tracks of operating discs, by guiding the disc
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/06Control of operating function, e.g. switching from recording to reproducing by counting or timing of machine operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/005Reproducing

Definitions

  • the present invention relates to a method and apparatus for seamless splicing of clips or digital data streams .
  • Interactive movies or audiovisual works are constructed of a number of clips or digital audiovisual data streams which are spliced together to produce a continuous uninterrupted audiovisual presentation in accordance with a pre-defined script which defines branching options from which the viewer may select the next clip to be viewed .
  • the movies or audiovisual works are commonly delivered on optical discs which, at the present time, can accommodate a maximum of 4.7 gigabytes. This byte size corresponds to several hours of audiovisual playback time if the data has been encoded in accordance with the MPEG standards.
  • MPEG stands for Motion Picture Expert Group which is a subcommittee of the International Standards Organization that sets standards for compression and transmission of moving pictures.
  • An optical disc read head is suspended over the disc and sweeps over the disc from a center to an outside edge thereof.
  • a delay in order to position the optical disc read head and for the MPEG decoder to initialize the decoding engine according to stream header information provided at the start of the clip.
  • Such a delay translates to a noticeable viewing delay. Anything slower than about 1/20 second in viewing delay is obvious to the viewer.
  • screen writers have put in pictures or rearranged the script to provide for a pause at the start of each clip.
  • such a requirement imposes an unnatural requirement on the writer and often results in the viewer losing interest in the movie. To date there has been no satisfactory solution to this problem.
  • the invention provides, in conjunction with a playback system, a method of viewing a plurality of clips, wherein each lip is a digital audiovisual stream containing a header and data, all of which is stored on a digital storage medium.
  • the method involves creating a script which defines clip relationships, control information and interaction parameters which provide for interaction between the viewer and the playback system, selecting a current clip and playing the current clip.
  • the method includes providing means for a viewer to select a next clip to be watched, and, in the event the viewer fails to select a next_clip to be viewed, providing default means, as defined by the script, for automatically selecting next_clip.
  • An interrupt is imposed at a pre-established jump point position in the current_clip to go to next_clip and to interchange the name of the current_clip and next_clip so that the playback system treats the next_clip as a current_clip and a playback pointer for the next_clip as a playback pointer for the current_clip.
  • the method further includes seeking back the playback pointer to the start of current_clip and repeating the playing current_clip step the subsequent steps thereafter until all viewer selected clips in the script have been played.
  • the means for a viewer to select a next clip to be viewed is determined by clip control information which forms the script.
  • the script allows the interactive movie director to define clip relationships and control information which define window of opportunity and interaction prompts for the viewer to interact with the system.
  • the digital data storage medium may be an optical disc, computer hard-drive, RAM memory, network server or other data storage device, where a clip is an audiovisual stream (header and data) .
  • a first portion of each of the clips is pre-read into buffer memory and, when playing a clip, the data corresponding to the clip is read out first from the memory buffer followed by reading the remainder of the clip from the digital data storage device.
  • an apparatus for viewing a stream of digital data stored on a digital data storage device such as optical disc, a computer hard-drive, RAM memory, network server or other storage device in the form of clips which includes selecting the clips.
  • the apparatus may include a reader for reading data from the digital data storage medium containing digital information in the form of clips with each clip having a stream header identical to that on all other clips.
  • An electronic device controls the playback of the clips .
  • Means for invoking an interrupt in the playback system at a time when the viewer interacts or the script instructs the system to jump to a next clip is provided.
  • Means for interchanging pre-buffered clip being read and a next selected clip may also be provided.
  • Means for seeking the playback pointer to a position immediately following a stream header and for resuming playing of digital data stream may also be provided.
  • FIG. 1 is a schematic diagram representing a film strip which is composed of several still images
  • FIG. 2 is a diagram showing how the clips are stored on a optical disc or computer hard-drive and showing the position of the read head;
  • FIG. 3 is schematic diagram showing a decision tree of hypothetical branching relationships between clips contained in the script of an interactive movie
  • FIG. 4 is a diagram representing the different digital data stream sources feeding the playback system as a function of time
  • FIG. 5 contains a decision tree corresponding to the algorithm used to play the clips,- and
  • FIG. 6 is a diagram representing the different components of a generic playback system.
  • FIG. 1 there is shown in schematic form as relates to a conventional film 12 a portion of a film with a number of "still" frames 14 thereon.
  • This is the form in which a movie film, stored in digital form, is retrieved and played.
  • the frames which are 1/30 seconds apart are digitized and compressed into a digital data stream and sequentially placed on a optical disc 16 as shown in Figure 2, the compressed data on the disc is stored in the form of a number of files numbered 1, 2, 3, 4, etc. which correspond to clips in a helical pattern commencing from near the center of the disc and spiraling outwardly towards the periphery.
  • the data on the disc is read by a read head 18 which moves as shown, from the inner to the outer track in about 1/3 second.
  • the disc rotates at approximately 300 revolutions per minute (rpm) at single speed, 600 rpm at double speed but can be as high as 3000 rpm. At single speed the rate of data transfer is 150 kilobytes per second.
  • FIG. 3 there is shown the various ways in which clips could be viewed in an interactive film presentation, this clip relationship tree structure is stored in the script.
  • clip 1 is viewed first, after which either clip 2 , 3 or 4 is viewed depending upon the viewer's choice. If clip 2 is selected during the playback of that clip the viewer will have the chance to select either clip 5 or 6. If clip 4 is selected after clip 1, then clip 4 is followed by clips 9 or 10. This process continues until the end of the decision tree is reached.
  • N is a function of the digital data stream byte rate (bytes per second) and is equal to the average head seek time (or average system latency) x ⁇ digital data stream byte rate ⁇ .
  • Figure 4 shows the digital data stream sources as a function of time. Stream header information 20 is contained in the first 100 bytes of each clip which advises the decoder as to what settings to initialize.
  • a script is loaded into memory.
  • the script contains control information concerning prompting devices, defaults, windows of opportunity, clip relationships, jump points and other information.
  • This script is analyzed at step 32, and prompting devices are loaded into memory at step 3 .
  • a interrupt service routine is hooked.
  • This interrupt is a "handle-based file management interrupt", known in DOS as interrupt 21h. Messages that are addressed to the original handle-based file management interrupt routines are intercepted and are dispatched to four modified functions and one new one which are concerned with file access, input/output and interchanging file names or file handles.
  • the file access functions are merely "open file with handle” and “close file with handle” while the input/output functions are "read file or device", "move file pointer” and "swap file handle”.
  • the first N kilobytes of each clip listed in the script are loaded into memory.
  • the physical sector address on the optical disc of the 65th kilobyte for each clip is saved.
  • First the N kilobytes of the first clip which will be denoted by "current_clip" is played from the buffer at step 46 during which time the compact disc player seeks the 65th kilobyte position of the current_clip.
  • the modified interrupt service routine detects the end of the buffer and switches to the 65th kilobyte on the optical disc at step 52 and commences playing the remainder of the "current_clip" without any delay.
  • step 54 the system looks in the script to determine whether the time interval corresponding to the window of opportunity on the clip has been reached. If it has then the system goes to step 56 and displays icons, invisible hotspot, sounds or any prompting devices with which a viewer may interact to select the next clip of a given number of possible clips. After displaying the icons the system goes to step 58 to test if viewer interaction has taken place. If not, then the current_clip is continued to be played until a jump point or the end of the file has been reached. Jump points may occur during or prior to the window of opportunity. If the viewer interacts after a jump point has been detected the next clip, or the selected clip, will be presented instantaneously without any further delay.
  • step 60 determines which clip is to be played next. The result is determined by the viewer's selection, during the given window of opportunity, or the script default instructions in the event that the user did not interact.
  • the computer opens the "next_clip" .
  • step 64 the system determines if the jump point has been reached. Once the jump point has been reached, the system checks to see if the clip being read is the last clip in the script, step 66. If it is the last clip, the play is ended, if not, the current_clip is paused at step 68 and, at step 70, the new interrupt service routine is invoked.
  • the system swaps "current_clip” file handle for the "next_clip” so that the computer treats “next_clip” as though it really is “current_clip” .
  • the playback pointer which represents the current byte position in the file being read, is rewound, or seeked back, at step 76 to the start of the video stream of the current_clip , immediately after the stream header. There is no need to read the header as all headers in all of the clips are identical.
  • the first N kilobytes are read from the buffer and the remainder is read from the digital storage media as with the first clip as described above. However, if no user interaction or jump point has been encountered then the system returns to step 46 to play the next clip. The system then repeats the entire process until the last clip has been played, after which play is ended.
  • a playback system may consist of. Typically there will be a reading facility responsive to clip control information and a random access facility responsive to the playback pointer.
  • the playback system essential components would be : Storage medium 80, Memory 82, Decoding facility 84 and a I/O control system 86.
  • optical disc has been described as the medium on which the data clips are stored, any other medium could also be used such as a computer hard-drive, RAM memory, network servers or other storage device.

Abstract

Provided is a method of viewing clips from a digital data stream stored on digital data storage medium such as an optical disc, computer hard-drive, RAM memory or network servers. The method includes playing a current_clip, providing means for a viewer to select a next_clip to be viewed, imposing an interrupt prior to an end of the current_clip to go to next_clip, interchanging the names of the current_clip and the next_clip, seeking the playback pointer to a start of the renamed current_clip to a position immediately after the stream header information, playing the renamed current_clip, and repeating step of imposing an interrupt to jump to a next_clip, and interchanging the names of the next_clip and the current_clip and seeking back the playback pointer of the current_clip until all viewer selected clips have been played or script has ended.

Description

METHOD AND APPARATUS FOR SEAMLESS SPLICING OF DIGITAL DATA STREAMS
FIELD
The present invention relates to a method and apparatus for seamless splicing of clips or digital data streams .
BACKGROUND
Interactive movies or audiovisual works are constructed of a number of clips or digital audiovisual data streams which are spliced together to produce a continuous uninterrupted audiovisual presentation in accordance with a pre-defined script which defines branching options from which the viewer may select the next clip to be viewed . The movies or audiovisual works are commonly delivered on optical discs which, at the present time, can accommodate a maximum of 4.7 gigabytes. This byte size corresponds to several hours of audiovisual playback time if the data has been encoded in accordance with the MPEG standards. The acronym MPEG stands for Motion Picture Expert Group which is a subcommittee of the International Standards Organization that sets standards for compression and transmission of moving pictures. An optical disc read head is suspended over the disc and sweeps over the disc from a center to an outside edge thereof. Prior to playing a given clip there is a delay in order to position the optical disc read head and for the MPEG decoder to initialize the decoding engine according to stream header information provided at the start of the clip. Such a delay translates to a noticeable viewing delay. Anything slower than about 1/20 second in viewing delay is obvious to the viewer. In an attempt to overcome this problem screen writers have put in pictures or rearranged the script to provide for a pause at the start of each clip. However, such a requirement imposes an unnatural requirement on the writer and often results in the viewer losing interest in the movie. To date there has been no satisfactory solution to this problem.
Accordingly, it is an object of the invention to provide an improved method and apparatus for seamless splicing of digital data streams. It is a further object of the invention to provide a method and apparatus for avoiding clip initialization latencies caused by slow digital data stream switching apparatus
SUMMARY OF THE INVENTION
The invention provides, in conjunction with a playback system, a method of viewing a plurality of clips, wherein each lip is a digital audiovisual stream containing a header and data, all of which is stored on a digital storage medium. The method involves creating a script which defines clip relationships, control information and interaction parameters which provide for interaction between the viewer and the playback system, selecting a current clip and playing the current clip. The method includes providing means for a viewer to select a next clip to be watched, and, in the event the viewer fails to select a next_clip to be viewed, providing default means, as defined by the script, for automatically selecting next_clip. An interrupt is imposed at a pre-established jump point position in the current_clip to go to next_clip and to interchange the name of the current_clip and next_clip so that the playback system treats the next_clip as a current_clip and a playback pointer for the next_clip as a playback pointer for the current_clip. The method further includes seeking back the playback pointer to the start of current_clip and repeating the playing current_clip step the subsequent steps thereafter until all viewer selected clips in the script have been played.
The means for a viewer to select a next clip to be viewed is determined by clip control information which forms the script. The script allows the interactive movie director to define clip relationships and control information which define window of opportunity and interaction prompts for the viewer to interact with the system.
The digital data storage medium may be an optical disc, computer hard-drive, RAM memory, network server or other data storage device, where a clip is an audiovisual stream (header and data) .
A first portion of each of the clips is pre-read into buffer memory and, when playing a clip, the data corresponding to the clip is read out first from the memory buffer followed by reading the remainder of the clip from the digital data storage device.
In another aspect of the invention there is provided an apparatus for viewing a stream of digital data stored on a digital data storage device, such as optical disc, a computer hard-drive, RAM memory, network server or other storage device in the form of clips which includes selecting the clips. The apparatus may include a reader for reading data from the digital data storage medium containing digital information in the form of clips with each clip having a stream header identical to that on all other clips. An electronic device controls the playback of the clips . Means for invoking an interrupt in the playback system at a time when the viewer interacts or the script instructs the system to jump to a next clip is provided. Means for interchanging pre-buffered clip being read and a next selected clip may also be provided. Means for seeking the playback pointer to a position immediately following a stream header and for resuming playing of digital data stream may also be provided.
BRIEF DESCRIPTION OF THE DRAWINGS
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as other features and advantages thereof, will be best understood by reference to the detailed description which follows, read in conjunction with the accompanying drawings, wherein:
FIG. 1 is a schematic diagram representing a film strip which is composed of several still images;
FIG. 2 is a diagram showing how the clips are stored on a optical disc or computer hard-drive and showing the position of the read head;
FIG. 3 is schematic diagram showing a decision tree of hypothetical branching relationships between clips contained in the script of an interactive movie;
FIG. 4 is a diagram representing the different digital data stream sources feeding the playback system as a function of time;
FIG. 5 contains a decision tree corresponding to the algorithm used to play the clips,- and
FIG. 6 is a diagram representing the different components of a generic playback system.
DETAILED DESCRIPTION WITH REFERENCE TO THE DRAWINGS
Referring to Figure 1 there is shown in schematic form as relates to a conventional film 12 a portion of a film with a number of "still" frames 14 thereon. This is the form in which a movie film, stored in digital form, is retrieved and played. Normally the frames which are 1/30 seconds apart are digitized and compressed into a digital data stream and sequentially placed on a optical disc 16 as shown in Figure 2, the compressed data on the disc is stored in the form of a number of files numbered 1, 2, 3, 4, etc. which correspond to clips in a helical pattern commencing from near the center of the disc and spiraling outwardly towards the periphery. The data on the disc is read by a read head 18 which moves as shown, from the inner to the outer track in about 1/3 second. The disc rotates at approximately 300 revolutions per minute (rpm) at single speed, 600 rpm at double speed but can be as high as 3000 rpm. At single speed the rate of data transfer is 150 kilobytes per second.
Referring to Figure 3, there is shown the various ways in which clips could be viewed in an interactive film presentation, this clip relationship tree structure is stored in the script. Here the clip 1 is viewed first, after which either clip 2 , 3 or 4 is viewed depending upon the viewer's choice. If clip 2 is selected during the playback of that clip the viewer will have the chance to select either clip 5 or 6. If clip 4 is selected after clip 1, then clip 4 is followed by clips 9 or 10. This process continues until the end of the decision tree is reached.
The first N kilobytes of each clip listed in the script is pre-read into buffer (RAM) memory 82 (see Fig. 6) and for the first N kilobytes of a clip being viewed can be read out of the buffer and the remainder read from the disc continuously without interruption. N is a function of the digital data stream byte rate (bytes per second) and is equal to the average head seek time (or average system latency) x {digital data stream byte rate} . Figure 4 shows the digital data stream sources as a function of time. Stream header information 20 is contained in the first 100 bytes of each clip which advises the decoder as to what settings to initialize. Thus, in viewing the start of the clip there can be a 30 to 100 millisecond delay, required for stream header reading and decoder initialization. Obviously, for the first clip this is not noticeable. However, for the transition from one clip to the next, such a delay would certainly be noticeable and, in fact, would be disruptive of the continuity of the presentation. The presence of this delay has been a major stumbling block in the industry in achieving seamless digital data stream transitions. After the N kilobyte portion has been played from buffer 21 the stream is read from the storage media 23 as sketched in Figure 4. The script, which encompasses information about clips, control information and interaction parameters, will define the window of opportunity (WOO) 22 during which the viewer or playing device may interact to decide the next clip to be viewed. During the window of opportunity (WOO) several devices may be used to prompt the viewer to interact (icons, sound, video effects, etc...) .
Referring to Figure 5 there is shown a decision tree which outlines the program followed in playing back an interactive movie. Initially, at step 30 a script is loaded into memory. The script contains control information concerning prompting devices, defaults, windows of opportunity, clip relationships, jump points and other information. This script is analyzed at step 32, and prompting devices are loaded into memory at step 3 . At step 36 a interrupt service routine is hooked. This interrupt is a "handle-based file management interrupt", known in DOS as interrupt 21h. Messages that are addressed to the original handle-based file management interrupt routines are intercepted and are dispatched to four modified functions and one new one which are concerned with file access, input/output and interchanging file names or file handles. For example, the file access functions are merely "open file with handle" and "close file with handle" while the input/output functions are "read file or device", "move file pointer" and "swap file handle".
At step 38 the first N kilobytes of each clip listed in the script are loaded into memory. Next, at step 40 the physical sector address on the optical disc of the 65th kilobyte for each clip is saved. First the N kilobytes of the first clip which will be denoted by "current_clip" is played from the buffer at step 46 during which time the compact disc player seeks the 65th kilobyte position of the current_clip. The modified interrupt service routine detects the end of the buffer and switches to the 65th kilobyte on the optical disc at step 52 and commences playing the remainder of the "current_clip" without any delay.
At step 54 the system looks in the script to determine whether the time interval corresponding to the window of opportunity on the clip has been reached. If it has then the system goes to step 56 and displays icons, invisible hotspot, sounds or any prompting devices with which a viewer may interact to select the next clip of a given number of possible clips. After displaying the icons the system goes to step 58 to test if viewer interaction has taken place. If not, then the current_clip is continued to be played until a jump point or the end of the file has been reached. Jump points may occur during or prior to the window of opportunity. If the viewer interacts after a jump point has been detected the next clip, or the selected clip, will be presented instantaneously without any further delay.
Once a jump point has been selected as a result of user interaction or the end of the file has been reached, the system goes to step 60 and determines which clip is to be played next. The result is determined by the viewer's selection, during the given window of opportunity, or the script default instructions in the event that the user did not interact. At step 62 the computer opens the "next_clip" . At step 64 the system determines if the jump point has been reached. Once the jump point has been reached, the system checks to see if the clip being read is the last clip in the script, step 66. If it is the last clip, the play is ended, if not, the current_clip is paused at step 68 and, at step 70, the new interrupt service routine is invoked. As a consequence of initiating the new interrupt service routine, the system swaps "current_clip" file handle for the "next_clip" so that the computer treats "next_clip" as though it really is "current_clip" . The playback pointer, which represents the current byte position in the file being read, is rewound, or seeked back, at step 76 to the start of the video stream of the current_clip , immediately after the stream header. There is no need to read the header as all headers in all of the clips are identical. The first N kilobytes are read from the buffer and the remainder is read from the digital storage media as with the first clip as described above. However, if no user interaction or jump point has been encountered then the system returns to step 46 to play the next clip. The system then repeats the entire process until the last clip has been played, after which play is ended.
Referring to Figure 6, there is shown the generic components that a playback system may consist of. Typically there will be a reading facility responsive to clip control information and a random access facility responsive to the playback pointer. The playback system essential components would be : Storage medium 80, Memory 82, Decoding facility 84 and a I/O control system 86.
The use of the new file interrupt service routine to go from "current_clip" to "next_clip" to effect a name swap, allows playing of the next clip after the header rather than before and, therefore, avoids the 30 to 100 millisecond header initialization delay each time a new clip is played.
While the application described herein relates to a movie, clearly the same system could be applied to any data stream where interactivity is employed such as video games, real time simulations, direct television, video on demand, network based audiovisual streaming engines, etc. However, all streams must be encoded by the same encoder so that the stream header information on each clip is identical .
It -is also obvious that although a optical disc has been described as the medium on which the data clips are stored, any other medium could also be used such as a computer hard-drive, RAM memory, network servers or other storage device.
Accordingly, while this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to this description. It is therefore contemplated that the appended claims will cover any such modifications or embodiments as fall within the true scope of the invention.

Claims

I CLAIM :
1. A method of viewing, in conjunction with a playback system, a plurality of clips, wherein each clip is a digital audiovisual stream containing a header and data, all of which is stored on a digital storage medium, comprising:
(a) creating a script which defines clip relationships, control information and interaction parameters which provide for interaction between the viewer and the playback system;
(b) selecting current_clip;
(c) playing current_clip;
(d) providing means for a viewer to select a next_clip to be viewed and, in the event the viewer fails to select a next_clip to be viewed, providing default means, as defined by the script, for automatically selecting next_clip;
(e) imposing an interrupt at a pre-established (jump point) position in the current_clip to go to next_clip and to interchange the name of the current_clip and next_clip so that the playback system treats the next_clip as a current_clip and a playback pointer for the next_clip as a playback pointer for the current_clip;
(f) seeking back to the start of the current_clip ;and
(g) repeating steps (c) to (f) for subsequent clips to be viewed until all viewer selected clips, in the script, have been played.
2. A method according to claim 1, wherein said means for a viewer to select a next_clip to be viewed is a window of opportunity prior to an end of said current_clip allowing a viewer to select the next_clip with an actuator.
3. A method according to claim 1, wherein a first portion of each of said clips is read into buffer memory and, when playing a clip, the data corresponding to that clip is read out from buffer memory first followed by reading the remainder of that clip from the digital data storage medium.
4. A method according to claim 1, wherein seeking back to the start of the current__clip is setting the playback pointer to a position just after the stream header of the current_clip.
5. A method according to claim 1, wherein said playback system is a reading facility responsive to control information of the clip and a random access facility responsive to the playback pointer.
6. A method according to claim 1, wherein said digital data storage medium is an optical disc.
7. A method according to claim 1, wherein said providing means for allowing a viewer to select a next_clip to be watched prior to an end of playing a current_clip with a prompting device presented to the viewer and responsive to a viewer actuated selector switch.
8. A method of viewing, in conjunction with a playback system, a plurality of clips pre-defined by a script, stored on a digital storage medium, comprising:
(a) loading a script; (b) selecting a current_clip;
(c) playing said current_clip;
(d) providing means for a viewer to select a next_clip to be viewed and, in the event the viewer fails to select a next_clip to be viewed, providing default means, as defined by the script, for automatically selecting next_clip;
(e) imposing an interrupt at a pre-established jump point position in the current_clip to go to next_clip and to interchange the name of the current_clip and next_clip so that the playback system treats the next_clip as a current_clip and the data pointer for the next_clip as the playback pointer for the current_clip,
(f) seeking back to the start of the current_clip ;
(g) repeating steps (c) to (f) for subsequent clips to be viewed until all viewer selected clips, in the script, have been played.
9. Apparatus for viewing a digital data stream stored on a digital data storage medium in the form of clips, comprising:
(a) a reader for reading data from the digital data storage medium containing encoded digital information in the form of clips with each clip having a header identical to that on all other clips;
(b) a electronic device for controlling the playing of the clips; (c) means for invoking a new interrupt service routine at a pre-selected time prior to an end of a current_clip being played so as to switch to a next_clip and for interchanging the name of current_clip with that of next__clip so that a pointer for next_clip becomes a pointer for the renamed current_clip; and
(d) means for seeking the playback pointer for the renamed current_clip to a position immediately following a stream header thereof and for playing the renamed current_clip.
10. Apparatus according to claim 7, wherein said new interrupt service routine has the functions of "open file with handle", "close file with handle", "read file or device", "move file pointer" and "swap file handle".
11. Apparatus according to claim 7, wherein each clip has identical encoding parameters.
12. Apparatus according to claim 7, wherein said encoded digital data stream is for any audiovisual material.
13. Apparatus according to claim 7, wherein said digital data storage medium is an optical disc.
PCT/CA1996/000798 1995-12-01 1996-11-29 Method and apparatus for seamless splicing of digital data streams WO1997021220A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU76882/96A AU7688296A (en) 1995-12-01 1996-11-29 Method and apparatus for seamless splicing of digital data streams

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56612595A 1995-12-01 1995-12-01
US08/566,125 1995-12-01

Publications (1)

Publication Number Publication Date
WO1997021220A1 true WO1997021220A1 (en) 1997-06-12

Family

ID=24261598

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA1996/000798 WO1997021220A1 (en) 1995-12-01 1996-11-29 Method and apparatus for seamless splicing of digital data streams

Country Status (2)

Country Link
AU (1) AU7688296A (en)
WO (1) WO1997021220A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161034A (en) * 1989-07-18 1992-11-03 Wnm Ventures Inc. Branching table for interactive video display
WO1993001596A1 (en) * 1991-07-02 1993-01-21 Deutsche Thomson-Brandt Gmbh Process for shortening the access time (track control circuit)
EP0542377A2 (en) * 1991-11-15 1993-05-19 Philips Electronics Uk Limited Method of storing user information items and apparatus for reproducing stored items
WO1994003851A1 (en) * 1992-08-10 1994-02-17 Digital Pictures, Inc. System and method of selecting among multiple data streams
JPH0715698A (en) * 1991-07-29 1995-01-17 Nec Home Electron Ltd Picture reproducing device
EP0653699A1 (en) * 1993-06-03 1995-05-17 Sega Enterprises, Ltd. Apparatus and method for reproducing data from disc, method for recording data on disc, and disc
US5434678A (en) * 1993-01-11 1995-07-18 Abecassis; Max Seamless transmission of non-sequential video segments
EP0691651A1 (en) * 1994-07-04 1996-01-10 Sony Corporation Apparatus for replaying recording medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161034A (en) * 1989-07-18 1992-11-03 Wnm Ventures Inc. Branching table for interactive video display
WO1993001596A1 (en) * 1991-07-02 1993-01-21 Deutsche Thomson-Brandt Gmbh Process for shortening the access time (track control circuit)
JPH0715698A (en) * 1991-07-29 1995-01-17 Nec Home Electron Ltd Picture reproducing device
EP0542377A2 (en) * 1991-11-15 1993-05-19 Philips Electronics Uk Limited Method of storing user information items and apparatus for reproducing stored items
WO1994003851A1 (en) * 1992-08-10 1994-02-17 Digital Pictures, Inc. System and method of selecting among multiple data streams
US5434678A (en) * 1993-01-11 1995-07-18 Abecassis; Max Seamless transmission of non-sequential video segments
EP0653699A1 (en) * 1993-06-03 1995-05-17 Sega Enterprises, Ltd. Apparatus and method for reproducing data from disc, method for recording data on disc, and disc
EP0691651A1 (en) * 1994-07-04 1996-01-10 Sony Corporation Apparatus for replaying recording medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 95, no. 001 *

Also Published As

Publication number Publication date
AU7688296A (en) 1997-06-27

Similar Documents

Publication Publication Date Title
US6415326B1 (en) Timeline correlation between multiple timeline-altered media streams
US6848117B1 (en) Video-on-demand system capable of performing a high-speed playback at a correct speed
CA2208595C (en) Method and apparatus for providing vcr-like trick mode functions for viewing distributed video data
EP0781488B1 (en) Video-on-demand system
US6057832A (en) Method and apparatus for video-on-demand with fast play capability
EP1478182B1 (en) Apparatus and computer program for frame accurate access of digital audio-visual information
US7058721B1 (en) Dynamic quality adjustment based on changing streaming constraints
US9761274B2 (en) Method and system for suspending playing of media content while interacting with an associated interactive application
US8452154B2 (en) Transmitting signals to cause replays to be recorded at a plurality of receivers
JP4108121B2 (en) Method and apparatus for recording program data
US5737527A (en) Interactive entertainment apparatus
US8005344B2 (en) Enhanced personal video recorder including user play programming
CA2142801C (en) Frame sampling scheme for video in a video-on-demand system
JP4039687B2 (en) Trick play control for pre-encoded video
WO2001082163A1 (en) A multimedia contents providing system and a method thereof
KR20040086877A (en) Information storage medium storing moving picture data and additional data, reproducing apparatus and method thereof
KR20050026052A (en) Trick play behavior controlled by a user
WO2002039450A2 (en) Method for switching from scanning the content to playing the content
EP1680733A1 (en) Storage medium storing program management information, and reproducing method and apparatus
WO1997021220A1 (en) Method and apparatus for seamless splicing of digital data streams
WO2003053051A1 (en) Method and apparatus for transmitting osd information to a remote display device
WO2000010329A1 (en) Client-side digital television authoring system
WO2003041387A2 (en) Digital recording and playback systems and methods
CA2342316C (en) Frame sampling scheme for video in video-on-demand system
KR20100115987A (en) Apparatus and method for controlling contents seamless playback

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 97515308

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA