Browse Prior Art Database

Stream Embedded Compressor/Decompressor

IP.com Disclosure Number: IPCOM000116436D
Original Publication Date: 1995-Sep-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 4 page(s) / 165K

Publishing Venue

IBM

Related People

Monnes, PJ: AUTHOR

Abstract

Disclosed is packaging the Compressor/Decompressor (CoDec) program, needed to play a video clip from a compact disk, together with a description of software changes required, in the same file as the video clip data. Using this method with a Graphical User Interface (GUI), the user drags an icon representing the video clip, to drop this icon on another icon representing the compact disk player. When this occurs, the CoDec is unpacked automatically, and the clip is sent to the CoDec to be viewed by the user. Optionally, the CoDec may be removed from system memory when the clip is finished playing. Without this method, this type of drag-and-drop operation works only if the CoDec program is already installed in the system.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 39% of the total text.

Stream Embedded Compressor/Decompressor

      Disclosed is packaging the Compressor/Decompressor (CoDec)
program, needed to play a video clip from a compact disk, together
with a description of software changes required, in the same file as
the video clip data.  Using this method with a Graphical User
Interface (GUI), the user drags an icon representing the video clip,
to drop this icon on another icon representing the compact disk
player.  When this occurs, the CoDec is unpacked automatically, and
the clip is sent to the CoDec to be viewed by the user.  Optionally,
the CoDec may be removed from system memory when the clip is finished
playing.  Without this method, this type of drag-and-drop operation
works only if the CoDec program is already installed in the system.

      This method is implemented either at a system level, with the
code required for the method contained in a module of system
software, or at an application level, with this code contained in an
application.  While the following description considers that the
method is being implemented under Microsoft Windows* 3.1,
implementations using other operating systems are similar.

      Fig. 1 is a block diagram of the system level implementation,
in which one or more of the Video for Windows modules and/or of the
Widows Multimedia software modules is changed, while changes are not
made in the applications using the video clip.  With this
implementation, any application software using system calls to play
video clips can make use of the Stream Embedded Code.  Modifications
are made to the data stream and to the system software which
manipulates the data stream.  Preferably, a modification of the Audio
Visual (AVI) format of Microsoft's Video for Windows is used,
providing a capability to embed executable data.  Since this
capability is not present in the conventional AVI format, a new file
type, Object Oriented Video (OOV), is defined, having an internal
structure close to that of the AVI format.

      The OOV file is a set of extensions to the AVI file, adding a
CoDec code chunk and a header chunk describing the CoDec.  The OOV
chunk may contain more than one CoDec and header pair when multiple
software modules must be loaded.  Video for Windows deals primarily
with AVI-type RIFF files, in which each RIFF chunk contains an
indicator of its length [*].

      Fig. 2 is a block diagram of the OOV file format, and the
following listing is source code for the OOV file:
  LIST ('OOV'
    'oovh'(<oov header>)
    'oovc'
      .
      .                   //CoDec executable data
      .
    )
  typedef struct {
    BYTE bOovhLength;
    char szFilename (13)"
    DWORD dwFlags;
  }OOVIHeader;

      The CoDec executable is contained in the oovc chunk, and the
length of the oovc chunk is included within the chunk according the
method used for RIFF file chunks.  The oov header is defined as a
standar...