MediaLisp a system Design for Multimedia Augmented Transition Network in Lisp



Download 0.63 Mb.
Page2/7
Date02.05.2018
Size0.63 Mb.
#47217
1   2   3   4   5   6   7

Figure-1 An MATN example

- The inputs:
The inputs for MATNs are modeled by multimedia input strings. A multimedia input string consists of several input symbols and each of them represents the media streams to be displayed at a time interval.

In a multimedia input string, the symbol “&” between media streams indicates these two media streams are displayed concurrently. P/Xi denotes the state after Xi has been read.


In the example shown in Figure 1, there are five occurrences of media stream combinations at each time-duration:

  • Duration d1: V1 & I1

  • Duration d2: V1, T1, I1, & A1

  • Duration d3: T2, I1 & A1

  • Duration d4: V2, T2, I2 & A1

  • Duration d5: V2 & A1


2. Lisp Language

Lisp language was invented in late 1950’s as a formalism of reasoning about the use of recursion equations as a model for computation. LISP stands for LISt Processing. Its development history has often been associated with symbolic processing and with both computer and human languages. A heterogeneous list data type has always been built into the language in order to efficiently deal with arbitrary and changing models.


Besides its many other advantages, the following features caught our attention and made us choose Lisp to represent MATN:

  • Decoupled syntax from semantics:

Lisp defines a simple regular syntax that is used by default for reading programs. It also provides a means to change that syntax, and an internal data representation for programs that are not test based.




  • Flexibility:

Lisp can be combined with other languages to produce wide variety of applications.




  • Heterogeneity:

Lisp supports powerful data type (numeric, as well as heterogeneous objects), polymorphic functions, logical pathnames, timing and date utilities, sophisticated control structure.




  • Object-oriented:

Lisp was the first ANSI standard to incorporate object oriented programming. It has strong support of Meta Object Protocol (MOP).




  • Rapid prototyping:

Lisp is comprehensive. It supports modular design, supports interactive development, debugging and update. Lisp is a very good vehicle for rapid prototyping, which enables early review and discovery of problems.




  • Database accessing support.

Now let’s move to the system design of MediaLisp.



3. Multimedia Data Types in MediaLisp

Based on traditional lisp convention, MediaLisp achieves the functionality concerning multimedia composition by extending a set of data types and corresponding functions designated to describe and create multimedia objects. The following illustration gives an overview of those data types:






Figure 2.1. Multimedia Data Types
In above figure, MultimediaObject, UnitMediaStream and CompositStream are virtual data types used internally in MediaLisp. Though they are not reachable by users, they do have semantic meanings and tightly related to internal implementation.

Delay,_Sequence_and_Parallel'>MediaStream, Delay, Sequence and Parallel are concrete data types used to define media streams in multimedia representation.
Every data type has a property set that can be constructed at run-time and bound to individual instances. There are two property types: system preserved property and user defined property. All the properties can be read and written at run time. The property set functions as hash table and bound to individual media stream.

System preserved properties are properties whose names and values are defined by MediaLisp system used to specify common features regarding to multimedia representation, such as name, time duration and etc. Those properties can be recognized by MediaLisp and used to retrieve the media stream and control its display



User defined properties can be any name-value pairs without name conflict with system preserved properties. They are bound to the multimedia object to store information used at run time. Users can feel free to use this feature to impose advanced control features at run time.

3.1. Description of Multimedia Data Types:
3.1.1 ModiaStream:
The ModiaStream data structure severs as basic unit that represents a single media stream within a multimedia representation. Each ModiaStream has a name within the multimedia representation and a set of properties. In Media Lisp, the name of a ModiaStream need to be distinct so that it can be referred by name.

The system preserved properties of ModiaStream are listed in following table:



System Preserved Properties

Name

Type

Description

Name

String

The name of

MediaType

String

The media types, such as

  • Text

  • Video

  • Audio

  • Image

  • ect.

Duration

Integer

The number of basic time intervals. The negative value means the property needs to be determined at run time.

Location

String

This property tells the location to retrieve the media stream, it adopts Uniform Resource Location (URL) convention.

Priority

Integer

This value is used to determine the priorities among media streams played in parallel.

DisplayPolicy

Integer

This value can be one of the predefined valued:



To be displayed exactly one time



To be repeatedly displayed at least one time



To be repeatedly displayed any times






Channel

Integer

This value specifies the channel to physically load huge media objects (e.g. video stream). It is assigned by system and is read-only. User can use this value to refer the run-time properties of the channel so as to programmatically control the display.

Player

String

It allows users to specify their desired device to display the media stream. If this value is not specified, MediaLisp can assign a proper one according to MediaType property.


3.1.1.1. MediaStream Creation:
By using function Define to define a MediaStream object. The function interface is as follows:


Define




Calling Convention:







(Define stream_name)




Parameters:







Stream_name

The name of the media stream. This value is Nil, then MediaLisp would automatically assign a name




Return Value:







The reference of the MediaStream Onject.


3.1.1.2. Temporal Relationship:

For such objects, the time duration is calculated as follows:

For non-looping object, the same value as it Duration property.

For looping object, if it is placed in a sub-net of MATN, the duration if the sub-net's overall duration, otherwise is infinite.


3.1.2. Explicit Delay:
Sometimes, it's necessary for user to impose an explicit delay for some duration so as to control (synchronize) the multimedia representation. For this purpose, we introduce the Delay data type in MediaLisp.

The property set of such data type contains "Name" and "Duration" with regarding system preserved properties.


Delay object can be created by the following clause:

Delay




Calling Convention:







(Delay interval)




Parameters:







Interval

The number of unit time interval to wait for




Return Value:







The reference of the Delay object










Download 0.63 Mb.

Share with your friends:
1   2   3   4   5   6   7




The database is protected by copyright ©ininet.org 2024
send message

    Main page