ARD

advertisement
Ben-Gurion University
of the Negev
PAV technologies
Application
Requirements Document
Timeline for a Unified Sound, Video and 3D-Animation
Integration Environment
Team members
Academic Advisor
Technical Advisors
Ofir Dagan
Benny Holtzer
Rafi Pinto
Ravit Huber
Dr. Yuval Alovitz
Michael Bruggeman
Greg Meyers
2010
PAV-TEC
PAV technologies University projects
Table of content
1. Introduction ............................................................................................... 3
1.1 Vision ..................................................................................................... 3
1.2 The Problem Domain.................................................................................. 4
1.3 Stakeholders............................................................................................. 8
1.4 Software Context ..................................................................................... 8
1.5 System Interfaces .................................................................................. 10
1.5.1 Hardware Interfaces .......................................................................... 10
1.5.2 Software Interfaces ............................................................................ 10
1.5.3 Events .............................................................................................. 10
2. Functional Requirements ........................................................................... 11
2.1 Channel Functionality ............................................................................... 11
2.2 Timeline Object Functionality .................................................................... 12
2.3 Timeline Global Functionality .................................................................... 14
3. Non-functional requirements ..................................................................... 16
3.1Performance constraints............................................................................. 16
3.1.1 Speed, capacity & throughput .......................................................................... 16
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
Portability .........................................................................................
Reliability ..........................................................................................
Safety & Security ...............................................................................
Usability ...........................................................................................
Availability ........................................................................................
16
16
16
17
17
3.2 Platform constraints ................................................................................. 17
3.3 SE Project constraints .............................................................................. 17
3.4 Special restrictions & limitations ................................................................ 17
4. Usage Scenarios ....................................................................................... 18
4.1 User Profiles — The Actors ....................................................................... 18
4.2 Use-cases .............................................................................................. 19
4.3 Special usage considerations .................................................................... 29
5. Appendices ............................................................................................... 30
5.1 Background Information ..........................................................................
5.2 I/O File Formats .....................................................................................
5.3 Glossary .................................................................................................
5.4 Current Market analysis ..........................................................................
5.4.1 CG Community Survey .......................................................................
5.4.2 CG Article: a question of cost and satisfaction ......................................
-2-
30
30
30
34
34
36
PAV-TEC
PAV technologies University projects
1. Introduction
1.1 Vision
In a time like ours, where integration between Sound, Video and 3D
animation is massively used by a big and various audiences (e.g. Cinema,
Video games) one would imagine the work behind the scene is complicated,
but yet, fully suited for the comfort and efficiency of its clients.
However, this is not the case today.
Top softwares in the market do not provide a single unified work
environment that fully integrates Sound, Video and 3D animations.
PAV technologies primary goal is to supply such a solution:
eQuinox - a visual work environment that fully integrates Sound, Video
and 3D animation in a single user friendly platform.
Our objective is to build the multi-channel GUI Timeline module to fully
support and display user operations and integration of each channel in the
timeline for the 3D Animation, Audio and Video Objects.
The timeline must display multiple channels that graphically show the
above objects in frames representing the active time span (start to stop
time) of the included objects.
-3-
PAV-TEC
PAV technologies University projects
1.2 The Problem Domain
In our times, the film making technology has developed enormously.
To produce a successful movie, the audience expects nothing less than
state of the art technology, movies like Avatar, Transformers, UP, have set
the bar extremely high, the scenes that integrate 3D animation sequences
and the scenes of the film itself should seem like if they were actually real
and shot together.
Of course, for the audience, this is a joyous time, but, it is not the same for
the production company, who faces a very complex and long process,
making that magic, happen.
One part of the film making process, which relates to our problem domain,
is the Post Production.
It consists of: Post Video, Post Sound, and Post Animation.
Animation to Video
The technologies used on each of those post production stages are
independent and have been developed on separate times, meaning,
they each have a different process of production and a different output
format. This situation now presents a difficulty, the integration process of
each format to a unified final product is now very complex, expensive and
time consuming. To overcome the incompatibilities of animation sequences
and video formats, we use a conversion process called rendering. The
process input is an animation sequence and its output is a version of that
animation sequence but in a video format. It is important to add, that once
rendered, elements within the animation sequence cannot be edited.
-4-
PAV-TEC
PAV technologies University projects
After rendering is done, the animation sequence, in its video format, can
be imported to the video editing environment and can now be combined
with the original film sequence to produce a final video clip. It is only now
we can assess the final outcome of the clip, and the quality of the
animation produced.
Making it work together
As in every aspect of our life, it is almost impossible to succeed in one
attempt, especially with animations, where the smallest change matters
the most, where precision is crucial and a result less than perfection will
have severe effect on the screen.
-5-
PAV-TEC
PAV technologies University projects
Now, after that, suppose the rendered animation is not a 100% fit to the
original video clip, some changes needs to be done to the animation
sequence, since no environment fully integrates video and 3D animation,
work on the animation needs to be redone in an animation software, rerendered, and re-imported to the video editing environment.
This process is done repeatedly until reaching the desirable outcome.
The following diagram shows the major components of the system:
-6-
PAV-TEC
PAV technologies University projects
GUI – Timeline
The timeline GUI provides a user friendly interface to work and manipulate
Sound, Video, and 3D animation in the form of channels and objects.
The GUI interacts with the eQuinox component in order to give the user
the desired functionality.
eQuinox
Basically the core of the system.
It handles the entire GUI requests and provides access to the variety of
engines used in the system.
Moreover, it provides the user a distinct feeling he is using a single control,
while in fact eQuinox component handles the synchronization of multiple
tracks.
Adapters
The software is able to switch engines according to its user requests.
eQuinox should supply the same API regardless of its engine, so, in order
to avoid unwanted changes to eQuinox whenever a new engine is being
used, pre made adapters are built for each desired engine.
-7-
PAV-TEC
PAV technologies University projects
Engines
The engines are the processing units for the Video, Audio and Animation.
In fact, each of the above has its own engine to process its related data
and supply with the results. For example, OGRE 3D is being used for 3D
graphics and animation, while Direct Show is being used for Video.
1.3 Stakeholders

Customers: The customer majority is expected to be the production
companies. eQuinox will provide those companies the ability to
improve the efficiency of SFX by using less staff, reducing work time,
minimizing expenses and, at some cases, improving final outcome.

Direct Users: Mostly the SFX Artist/Director, hired by the companies
mentioned above. The user will have full control on each and every
component of the fully integrated work environment.

Experts: The design should keep in mind the Direct Users, after all,
their opinions and experiences are the ground this software is built on.
SFX artists and directors are the people who make it work today.
The software design should be suited to their needs and improve the
current situation, and maximizing the comfort using it to increase
attractiveness.
1.4 Software Context (The Timeline module)
1.4.1 Input

.eqx Timeline File - users are able to save and load objects to and from
the timeline as an eQuinox project file.




3D Animation Object: refers to a 3D animation timeline sequence or a
scene.
Dynamic Object: refers to the variable user dynamic input applied to
3D animation, sound and video effects, filter and transition content.
Video Object: refers to a video clip/shot.
Audio Object: refers to an audio channel or a track.
-8-
PAV-TEC
PAV technologies University projects
1.4.2 Functionality
The timeline should enable the user to independently manipulate any of the
timeline channels and the objects within them while maintaining the
interrelationship between channels. It will also support saving and restoring
the timeline, including all channel and object information.
The following diagram shows a basic idea of the timeline functionality:
We can observe the various components shown in the diagram, the
components are Sound, Video and 3D animation channel objects.
Also, we can see an example of a basic operation, a "Right Click" mouse
functionality which gives us the ability to add, remove and alter channels
within the timeline.
-9-
PAV-TEC
PAV technologies University projects
1.4.3 Output
The output is an .eqx Timeline file which allows users to load their latest or
a previous working environment.
1.5 System Interfaces
1.5.1 Hardware Interfaces
None
1.5.2 Software Interfaces
The software integrates both 2D video editing and a 3D animation
environment.
The software makes use of the following:



OGRE – open source 3D graphics engine
Microsoft DirectShow Video editing service
QIOS DevSuite – a tool for creating advanced graphical user interfaces
1.5.3 Events
















User adds a channel.
User removes a channel.
User copies a channel.
User Locks a channel.
User re-orders a channel.
User selects a single or several channels to play.
User selects a channel to mute.
User disables a channel.
User selects several channels so that actions will affect all of the
selected channels.
User inserts an object to a channel.
User removes an object to a channel.
User performs any kind of action on the object (i.e. stretch, condense,
slide, move, select objects within their channel)
User press Right Click mouse button.
User clicks a tab from the upper menu.
User saves the timeline.
User loads a timeline.
- 10 -
PAV-TEC
PAV technologies University projects
2. Functional Requirements
2.1 Channel Functionality
The timeline consists of channels. There 4 types of channels:
1. Video
2. Audio
3. 3D Animation
Each type of channel contains different type of data, for example, the audio
channel can contain WAV files but cannot contain AVI files. To allow
overlapping of objects within a certain timeline one must add a new channel
and add the necessary object to that channel, for example, in order to do a
mix of two audio files where one fades out while the other fades in, you
must have two audio channels.
The timeline channel functionalities are:
2.1.1 Add channels
Add a new channel to the timeline. The user can chose between the
different types of channels. The user should be able to add a channel from
the main menu or by right clicking on the timeline.
2.1.2 Remove channels
Remove an existing channel from the timeline. The user should be able to
remove the channel by right clicking on it and from the main menu.
2.1.3 Copy channels
Copy an existing channel with all the object the channel contains to a new
channel. After the copy is done the new channel would be independent from
the old channel. The user should be able to copy the channel by right
clicking on it and from the main menu.
2.1.4 Lock channels
Disabling all of the channel's functionalities. (editing/adding/deleting
objects, etc.)
The user should be able to the lock the channel by clicking the lock button
corresponding to the channel, right clicking on the channel and from the
main menu.
- 11 -
PAV-TEC
PAV technologies University projects
2.1.5 Re-order channels
Drag a channel up or down along the timeline. The user should be able to
drag the channel by left clicking on the channel's name and dragging it up
or down.
2.1.6 Mute channels
Mute audio channels by disabling its output to the preview window. The user
should be able to mute the channel by clicking the mute button
corresponding to the channel, right clicking on the channel and from the
main menu.
2.1.7 Isolate a channel or channels
Mute/Disable all channels except the selected channel(s). The user should
be able to isolate a channel or channels by selecting the channels and then
right click, or by selecting the channels and then selecting isolate from the
main menu.
2.1.8 Disable channels
Same as muting an audio channel but for video channels. Just as the user
can select a specific channel and move an object within the channel, the
user can also disable the channel while still leaving the channel content
intact, "graying out" the channel and thus the channel content is no longer
viewable from the "Preview Window". The user should be able to disable the
channel by clicking the disable button corresponding to the channel, right
clicking on the channel and from the main menu.
2.1.9 Select multiple channels
Select multiple channels so that any action will affect all selected channels.
Selecting the channels can be done by holding CTRL and continually left
clicking on the channels' name or by left clicking on a channel and while
pressing shift left click on another channel representing the selection
boundaries.
2.2 Timeline Object Functionality
eQuinox allow importing of media files, consists of audio, video and 3D
objects, to the eqx project window.
A timeline channel can contain such objects, generally they are called the
timeline's objects when reside in the timeline channel. These objects will be
represented by icons that graphically display the active time span of the
- 12 -
PAV-TEC
PAV technologies University projects
object. In order to edit the movie one can use one of the following
functionalities:
2.2.1 Insert objects into a timeline channel
Insert a compatible object according to the channel's type in a certain
position in the channel.
In case of overlapping, the new object will be inserted at the end of the
current object or overwrite the current objects in the chosen timecode,
according to the settings. The user should be able to insert a new object to
the channel by dragging it from the eQuinox project window into the
channel, dragging the video from the eQuinox media player window,
pressing the “insert object” button or the “add object” button in the eQuinox
media player window or by right click on the channel.
2.2.2 Remove objects from their timeline channel
Remove the selected objects from their corresponding channels. The user
should be able to remove the object by selecting it and pressing the delete
key or by right clicking on the object.
2.2.3 Stretch/ Condense objects within their timeline channel
Before inserting an object to the timeline the user can choose a segment of
the object by setting the start point and end point of the segment, these
points called in and out points respectively. The default in and out points of
a new object is its start and end. After the object is inside a certain channel
one can extend (stretch) or shrink (condense) it according to the original
object length.
For Example if we would like to show a scene out of a movie we would like
to import only this specific scene using the in and out points. Then if we will
see we cut too much or too little from the movie we can stretch it or
condense it accordingly.
The user can Stretch/Condense the object by clicking on the edges of the
object's graphic presentation and dragging it till the desired length.
2.2.4 Slide objects within their timeline channel
The user can slide objects within their channel simply by clicking on the
object's graphic presentation and drag it to the desired location.
- 13 -
PAV-TEC
PAV technologies University projects
2.2.5 Move objects within their timeline channel
The user can move/duplicate objects within their channel by cutting
(CTRL+X) or copying (CTRL+C) and then pasting (CTRL+V) the object at
the timeline cursor’s location (Refer to functional requirements 2.3 for more
information about the cursor).
2.2.6 Select multiple objects
Select multiple objects so that any action will affect all selected objects.
Selecting the objects can be done by holding CTRL and continually left
clicking on the objects.
2.3 Timeline Global Functionality
The timeline has a cursor representing the current location on the timeline
(e.g. like the cursor you see in YouTube clips representing the current
location in the movie). Using this cursor the user can move through the
timeline or see the location of the current playback on the timeline. Timeline
channels and the cursor must be synchronized, so that they will play in a
consistent, predictable fashion. This correspondence must be maintained
both during editing, playback and through multiple sessions via saving and
restoring.
The timeline must support the following methods and functionality:
2.3.1 Set In and Out points
As explain in clause 2.2.3, the In and Out points represents the start and
end point of the playback. Using these points the user can control exactly
the particular segment he wants to watch. This function can be very helpful
because while editing a specific scene in a clip, a lot of the time you will like
to watch that scene again and again and with the help of the In and Out
points this job is done easily.
2.3.2 Timeline Cursor
Using a moving cursor the user can move through the timeline or see the
location of the current playback on the timeline while playing. Timeline
channels and the cursor must be synchronized, so that they will play in a
consistent, predictable fashion.
- 14 -
PAV-TEC
PAV technologies University projects
2.3.3 Expand and contract the timeline resolution (Magnify)
Sometimes it is essential to look at the timeline in a different resolution
either smaller or larger. For example if we would like condense an object by
only by a few frames, doing so is easier when the resolution is magnified.
But if we would like to delete an entire scene then selecting the in and out
points will be easier on a contracted resolution.
2.3.4 Save timeline
Save all the necessary data for restoring the current timeline state,
including all of the channels and their objects (In and Out points, start
timecode within the channel, cursor position, etc.).
2.3.5 Load timeline
Restore the timeline using the data saved. This function will restore the
state of the channels and organize all the objects inside the channels just
like it was when the save was made.
- 15 -
PAV-TEC
PAV technologies University projects
3. Non-functional Requirements
3.1 Performance Constrains
3.1.1 Speed, capacity & throughput
•
•
•
•



Saving and loading the timeline should take between 1 to 30 seconds
depends on the size of the timeline.
The appearance of the Timeline curser must be in sync with the time on
each channel and object (without any delay).
All other timeline functionalities should take less than 5 second (includes all
channel and object functionalities as described in 3.2).
Overall other system components should keep work fluent and smooth and
won't suffer any delays.
The timeline module should support multi-timelines, up to 20 at a time, with a
smooth transition between one timeline to another.
Each timeline project should support the operation of 100 channels.
Each channel should support any amount of objects.
3.1.2 Portability
Not applicable, the software will be supported only in windows operating
system and is not portable to other devices/operating systems.
3.1.3 Reliability
Importing various items from their original file format to the timeline will
keep them true to their initial properties and values. Files loaded into the
timeline would be identical to the way they would be when loaded into their
original program.
3.1.4 Safety & Security
Does not apply
- 16 -
PAV-TEC
PAV technologies University projects
3.1.5 Usability
The assumption is that this is not "simple user software", the common
timeline user know the features involved.
 The software will supply a user-friendly GUI interface
 The timeline will be easy to manage for the common user.
 The timeline GUI could be configured to the user preferences (each
toolbar will contain some of the buttons by the users choice)
The program will give the user maximum usability of the various work items
while maintaining easy to learn and easy to use GUI interface.
3.1.6 Availability
Not applicable.
3.2 Platform constraints
The system will work on Microsoft Windows XP / Windows 7.
 No special needs like dedicated hardware
 The program should be able to run on a regular high end pc:
o CPU – 2.5GHz Intel core duo 2
o Memory – 2GB DDR2 800MHz.
o Hard Disk – 10 GB of free space.
o Graphic Card – Compatible with DirectX 9
 The system will be developed in C++, C#

3.3 SE Project Constraints
The software should be able to run on a laptop for basic presentation
For convenience masers a sample of input will be prepared in advance and
will include:
Video files
Audio files
Animation files
3.4 Special Restrictions & Limitations
Does not apply
- 17 -
PAV-TEC
PAV technologies University projects
4. Usage Scenarios
4.1 User Profiles – The Actors
4.1.1 SFX Artist
The Special Effects Artist is the main user that uses the eQuinox software as
well as the timeline for editing and fine tuning the movie.
4.1.2 OGRE 3D Engine
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented,
flexible 3D engine written in C++. OGRE provides the 3D rendering abilities
for eQuinox. The timeline component uses OGRE while working with 3D
objects.
4.1.3 DirectX Video Engine
Microsoft DirectX is a collection of application programming interfaces (APIs)
for handling tasks related to multimedia, especially game programming and
video, on Microsoft platforms. DirectX provides the video rendering abilities
for eQuinox. The timeline component uses DirectX while working with video
objects.
4.1.4 Audio Engine
Currently there is no special audio engine and the engine used for audio is
DirectX. In the future version there would be a separate audio engine.
- 18 -
PAV-TEC
PAV technologies University projects
4.2 Use-cases
Use Case Diagram:
4.2.1 UC1: Load Timeline
Primary Actor: SFX Artist
Description: The user loads a pre saved timeline.
Stockholders and interests:
 SFX Artist: wants fast loading, no errors, operation does not cause
loss of existing open timelines (there can be more than one open
timeline, but only one is active)
Preconditions:
 The eQuinox environment is open with an open project.
 The requested timeline exists and without errors.
 All of the timeline's objects exist in the project window.
- 19 -
PAV-TEC
PAV technologies University projects
Postconditions:
 The timeline is loaded
 All of the timeline's objects are located in the correct timecodes within
their channel
 All of the in and out points correctly set
 The timeline is shown on the screen in a new tab.
Main Success Scenario:
1. The user selects one of the timelines from the project window or
import from a file into the project window and then selecting it.
2. The system loads the timeline with all of its channels and objects and
shows the timeline on the screen in a new timeline tab.
Extensions:
*a. at any time, System fails: The action preformed since the last save
won’t be saved and a restart for the system will be required.
1.a. Case:
The selected timeline file cannot be loaded from the file system.
Action:
An error message is shown to the user and no action is taken.
2.a. Case:
One or more of the timeline's objects is not available (doesn't exist in
the project window, the media file is missing from the file system) in the
project.
Action:
Mark this object on the timeline with an icon. When playing the timeline
or going over the missing object using the cursor this object is treated
like a muted object, i.e. if it’s a video the preview window will show a
black screen, if it’s an audio file the audio won’t be played to the user,
etc.
2.b. Case:
The timeline file is corrupted or cannot be parsed.
Action:
An error message is shown to the user and no action is taken.
2.c. Case:
The timeline file is not consistent, e.g. two objects overlap within the
same channel.
Action:
A prompt message is displayed to the user asking him to choose an
action from a set of options.
- 20 -
PAV-TEC
PAV technologies University projects
Load Timeline: Success Scenario
Load Timeline: Fail Scenario (2.b.)
- 21 -
PAV-TEC
PAV technologies University projects
4.2.2 UC2: Save Timeline
Primary Actor: SFX Artist
Description: The user saves the current active timeline.
Stockholders and interests:
 SFX Artist: wants fast saving and without errors.
Preconditions:
 The eQuinox environment is open with an open project.
 The requested timeline is active.
Postconditions:
 The timeline is saved so it can be restored exactly to the state it is in
now.
Main Success Scenario:
1. The user saves the current active timeline or exports the timeline to a
file.
2. The system saves the timeline with all of the necessary information
needed to restore it (it doesn't actually saves the timeline's object
rather than their ids in the project).
Extensions:
*a. at any time, System fails: The action preformed since the last save
won’t be saved and a restart for the system will be required.
2.a. Case:
The filesystem is out of space for saving the file.
Action:
An error message is shown to the user and no action is taken.
- 22 -
PAV-TEC
PAV technologies University projects
Save Timeline: Success Scenario
4.2.3 UC3: Edit Timeline (Brief format)
SFX Artist opens a project with an existing timeline.
The system loads the projects into the working space.
The SFX Artist chooses to add new video channel.
The system adds the new channel.
The SFX Artist drags an existing video object from another channel to the
new channel.
The system updates the timeline state (updating the state includes updating
the GUI as well).
The SFX Artist deletes the old channel.
The system updates the timeline state.
The SFX Artist stretches the video object.
The system updates the timeline state.
The SFX Artist expands (magnify) the timeline so that he can condense the
video object more delicately by viewing the timeline in higher resolution.
- 23 -
PAV-TEC
PAV technologies University projects
Edit Timeline: Add Channel: Success Scenario
Edit Timeline: Stretch Object: Success Scenario
- 24 -
PAV-TEC
PAV technologies University projects
4.2.4 UC4: Add Object to Timeline
Primary Actor: SFX Artist
Description: The user wants to add additional media (3d, Video or Audio) to
the timeline. He wants to be able to add media to a certain place in one of
the timeline's channels. The user wants to add media either from the project
window or from the eQuinox media player.
Stockholders and interests:
 SFX Artist: wants fast adding, no errors. The SFX Artist want to add
the part of the object he marked with the in and out points using the
eQuinox media player or by default the start and end points of the
object.
Preconditions:
 The object exists in the project window.
 There is at least one channel in the timeline and the object being
added is suitable for this channel (e.g. video file for a video channel,
etc.).
 The user selected the in and out points or he is using the defaults
(start and end of the clip)
Postconditions:
 The added object can be seen inside the channel as a graphically
display of the active time span of the object.
Main Success Scenario:
1. SFX Artist drags one of the objects from the project window/eQuinox
media player into the desired channel or presses either the "insert
object" button or the "add object" button.
2. The system will check that the object is suitable to the chosen
channel.
3. The system updates the timeline state and shows the object as a
graphic display of the active time span of the object.
Extensions (or Alternative Flows):
*a. at any time, System fails: The action preformed since the last save
won’t be saved and a restart for the system will be required.
1. a. Case:
The user pressed the "insert object" button and an object(s) exists
at the cursor location in the selected channel.
Action:
The object is inserted to the timeline to the selected channel at the
location of the cursor. The object(s) that were already in the timeline
- 25 -
PAV-TEC
PAV technologies University projects
are overwritten and split if necessary.
In this example the
SFX Artist choose to
insert Object 3 in the
middle of Object 1
causing half of Object
1 and the start of
Object 2 to be
overwritten.
1.b. Case:
The user pressed the "add object" button and an object(s) exists at the
cursor location in the selected channel.
Action:
The object is added to the timeline to the selected channel at the
location of the cursor. The object(s) that were already in the timeline
are split and pushed.
In this example the SFX
Artist choose to add
Object 3 in the middle of
Object 1 causing Object1
to split into two segments
and to add object 3 in
between.
2.a. Case:
The selected object is not suitable for the type of the chosen channel.
Action:
An error message will notify the user that the selected object is not
Suitable for this channel and specify the legal file formats for this
channel.
- 26 -
PAV-TEC
PAV technologies University projects
Add Object To Timeline
4.2.5 UC5: Play Timeline
Primary Actor: SFX Artist
Description: The user plays the timeline to view the resulting movie in the
preview window.
Stockholders and interests:
 SFX Artist: Doesn’t want to wait for preview, be able to play the
timeline or drag the cursor on the timeline and preview the merged
channels at the cursor’s position during playback.
 eQuinox: Maximum synchronization between the timeline cursor,
channels, objects and preview window
Preconditions:
 The eQuinox environment is open with an open project.
 The requested timeline is active.
Postconditions:
 The preview window shows the merged channels at the current cursor
position.
- 27 -
PAV-TEC
PAV technologies University projects
Main Success Scenario:
1. The user presses the play button or drags the timeline cursor
2. The system reads the current objects at the current cursor position
3. The system reads the files using the suitable engines
4. The system plays the merged objects in the preview window
Extensions:
*a. At any time, System fails: The action preformed since the last save
won’t be saved and a restart for the system will be required.
2.a. Case:
One or more of the current objects doesn't exist in the project window
Action:
Mark this object on the timeline with an icon. Treat this object like a
muted object, i.e. if it’s a video the preview window show a black
screen, if it’s an audio file don’t play it to the user, etc.
3.a. Case:
The system can’t read one or more of the current objects from the file
system.
Action:
Mark this object on the timeline with an icon. Treat this object like a
muted object, i.e. if it’s a video the preview window show a black
screen, if it’s an audio file don’t play it to the user, etc.
3.b. Case:
One of the engines fail.
Action:
Show an error message to the user and ask for a restart.
- 28 -
PAV-TEC
PAV technologies University projects
Play Timeline: Success Scenario
4.3 Special usage considerations
Does not apply
- 29 -
PAV-TEC
PAV technologies University projects
5. Appendices
5.1 Background Information
The eQuinox software is designed to provide a visual work environment
that fully integrates Sound, Video and 3D animation in a single user
friendly platform. This functionality is currently not available in
commercial movie post production tools. The way to control this
integration is through a timeline. The timeline will control the
chronological sequence of all objects in it (video clip, audio &
animation), there length, etc. This Timeline provides extensive
maneuverability and transparency of all the channels and effects in a
shot at a single glance. This revolutionary timeline meets the demands
and needs of the modern movie making process by displaying and
allowing the simultaneous editing and control of Animation, Dynamic
animation objects, Video, Multi-track audio, Sound effects, and Visual
effects
5.2 I/O File Formats
5.2.1 Input



Video - AVI
3D Animation - VRML1
Sound – WAV (optional)
5.2.2 output

The input formats combined into one file format - eqx
5.3 Glossary
PAV Technologies Terms and Abbreviations
Term
Description
Analog
Recording
Analogue (or analogue) recording is a technique used to store audio or video
signals for later playback. The analogue recording method stores signals as a
continual wave in/on the media, rather than the discrete numbers used in
digital recording. The wave is stored as a physical texture on a phonograph
record, or a fluctuation in the field strength of a magnetic recording.
Animation
The rapid display of a sequence of images of 2-D artwork or model positions in
- 30 -
PAV-TEC
PAV technologies University projects
order to create an illusion of movement.
3D
Animation
The creation of moving pictures in a three-dimensional digital environment.
This is done by sequencing consecutive images, or "frames", that simulate
motion by each image showing the next in a gradual progression of steps,
filmed by a virtual "camera" and then output to video by a rendering engine.
Computer
Animation
Computer animation is the art of creating moving images via the use of
computers. It is a subfield of computer graphics and animation. Increasingly it
is created by means of 3D computer graphics, though 2D computer graphics
are still widely used for low bandwidth and faster real-time rendering needs.
Digital
Recording
In digital recording, the analogue signal of a motion-picture/sound is
converted into a stream of discrete numbers, representing the changes in air
pressure (chrome and luminance values in case of video) through time; thus
making an abstract template for the original sound or moving image.
File Format
A file format is a particular way to encode information for storage in a
computer file.
Frame
One of the many single photographic images in a motion picture. The
individual frames are separated by frame lines. Normally, 24 frames are
needed for one second of film. In ordinary filming, the frames are
photographed automatically, one after the other, in a movie camera. In special
effects or animation filming, the frames are often shot one at a time.
Frame Rate
Frame rate, or frame frequency, is the measurement of the frequency (rate) at
which an imaging device produces unique consecutive images called frames.
The term applies equally well to computer graphics, video cameras, film
cameras, and motion capture systems. Frame rate is most often expressed in
frames per second (fps), or simply hertz (Hz).
Graphic
User
Interface
(GUI)
A graphical user interface (GUI) is a type of user interface which allows people
to interact with a computer and computer-controlled devices which employ
graphical icons, visual indicators or special graphical elements called "widgets",
along with text labels or text navigation to represent the information and
actions available to a user. The actions are usually performed through direct
manipulation of the graphical elements.
High
Definition
Television
(HDTV)
A digital television broadcasting system with a significantly higher resolution
than traditional formats (NTSC, SECAM, PAL). While some early analog HDTV
formats were broadcast in Europe and Japan, HDTV is usually broadcast
digitally, because digital television (DTV) broadcasting requires much less
bandwidth.
High
Definition
Video (HDV)
A video format designed to record compressed HDTV video on standard DV
media (DV or MiniDV cassette tape).
HolaDeck
PAV Technologies patent pending unified work environment for viewing and
manipulating 3D animation sequences and Video shots in a single location.
Motion
Graphics that use video and/or animation technology to create the illusion of
- 31 -
PAV-TEC
PAV technologies University projects
Graphics
motion or a transforming appearance. These motion graphics are usually
combined with audio for use in multimedia projects.
Post
Production
The gathering visual and audio assets - clips, developing visual effects, titles
and graphics, editing and merging the production assets, and finally
distributing the finished product for use in the movie making process.
Render
The process of creating computer-generated images from a series of
mathematical calculations defined by a user's specifications. To "render" a
digital scene, the program would take into account the user's settings for
lighting, the various planes and dimensions of the objects created in the digital
space and how they reflect that lighting, and any other environmental factors
as viewed by virtual "cameras"; all of this would be composited into a final
image or video.
Sequence
A series of shots or scenes that includes a beginning, middle and end (like a
chapter in a book). A short movie can contain a single sequence, or several
sequences can be put together to create a longer movie.
Shot
A consecutive series of pictures that constitutes a unit of action in a film.
Sound
Recording
Sound recording and reproduction is the electrical or mechanical inscription
and re-creation of sound waves, usually used for the voice or for music. The
two main classes of sound recording technology are analogue recording and
digital recording.
Sound Files
A Sound file or an audio file is a container format for storing audio data on a
computer system. There are numerous file formats for storing audio data.
Timeline
The graphical representation of a chronological sequence of objects in it. PAV
Technologies patent pending Timeline provides extensive manoeuvrability and
transparency of all the channels and effects in a shot at a single glance. This
revolutionary timeline meets the demands and needs of the modern movie
making process by displaying and allowing the simultaneous editing and
control of Animation, Dynamic animation objects, Video, Multi-track audio,
Sound effects, and Visual effects.
Channel
There are three types of channels in the timeline: video, audio & animation.
Each channel can hold objects of its own type. The channel lets you view and
edit the objects in it, control there sequence and determine there in and out
points.
Timeline
objects
eQuinox allow importing of media files, consists of audio, video and 3D
objects, to the eqx project window. A timeline channel can contain such
objects, called timeline objects when reside in the timeline channel. These
objects will be represented by icons that graphically display the active time
span of the object.
Timeline
Cursor
Using this cursor the user can move through the timeline or see the location of
the current playback on the timeline. Timeline channels and the cursor must
be synchronized, so that they will play in a consistent, predictable fashion. This
correspondence must be maintained both during editing, playback and through
multiple sessions via saving and restoring
- 32 -
PAV-TEC
PAV technologies University projects
Video
The technology of electronically capturing, recording, processing, storing,
transmitting, and reconstructing a sequence of still images representing
scenes in motion. Video technology was first developed for television systems,
but has been further developed in many formats to allow for consumer video
recording. Video can also be viewed through the Internet as video clips or
streaming media clips on computer monitors.
The term video commonly refers to several storage formats for moving
pictures: digital video formats, including DVD, QuickTime, and MPEG-4; and
analogue videotapes, including VHS and Betamax. Video can be recorded and
transmitted in various physical media: in magnetic tape when recorded as PAL
or NTSC electric signals by video cameras, or in MPEG-4 or DV digital media
when recorded by digital cameras
Video
Editing
Software
Application software which handles the editing of video sequences on a
computer. It usually includes the ability to import and export video, cut and
paste sections of a video clip, and add special effects and transitions; and it
sometimes includes the ability to encode the video for creation of a DVD, Web
video, mobile phone video, or video podcast. Video editing software generally
also allows for some limited editing of the audio clips which accompany the
video, or at least the ability to sync the audio with the video.
WYSISYG
WYSIWYG (Pronunciation wiziwig), is an acronym for What You See Is What
You Get, used in computing to describe a system in which content during
editing appears very similar to the final product. The term describes a user
interface that allows the user to view something very similar to the end result
while the document or image is being created. For example, a user can view
on screen how a document will look when it is printed to paper or displayed in
a Web browser.
- 33 -
PAV-TEC
PAV technologies University projects
5.4 Current Market analysis
The following survey & article are taken from cgenie.com Professional Computer Graphic Textures
5.4.1 CG Community Survey: Upgrades 09 - summery
This survey included the following questions:
1. Each software gives me lots of new featuresThere is little to separate the top pack, with Blender, Modo, Cinema4D and
Houdini receiving similar scores. Lightwave and XSI scored slightly lower, but
are very much in the running. There was, however, a clear separation here from
the rest with 3ds Max and Maya trailing quite significantly behind.
2. I feel the upgrades are good value for moneyIn this question Blender, being free, had a fairly obvious advantage! But
Houdini, Lightwave and Modo are competing so closely in user perception with a
free piece of software. The big underperformers here were 3ds Max and Maya
who had the most disappointing results
3. I feel the frequency of upgrades/new versions is about rightHoudini stretches ahead here. Maya & 3ds Max again seemed to be most out of
sync with their user base, though given the industry-standard status of 3ds Max
& Maya, these may be being used in larger, more complex studios. So it's
important to look at this only as user opinion.
It's also worth noting that the point here may not be whether you are giving
users too many or too few upgrades, rather how you are delivering the updates.
Maybe the users of more agile, iterative software like Houdini have simply built
- 34 -
PAV-TEC
PAV technologies University projects
upgrading into their production cycles. Furthermore there may be a combination
of users having to wait to pay for the latest version of software for features to
become more stable.
4.
Each upgrade seems to contain more bug fixes than new featuresThis question was not about the actual reality of updates. As users pointed out,
given the massive range between what each company and thus users considers
a point release, an update, an upgrade etc. However, it does reveal what users
feel their company is focusing on.
It's interesting to note that Cinema users here felt their company developed
new features significantly more than other software. All the others were slightly
behind Cinema, but it can be pointed out that all hade low scores.
5. The company focuses on developing the features I need firstBlender was particularly strong in this category and stands out as a very
community-driven piece of software. Modo, Houdini and Cinema4D were also
strong contenders here with their users.
There's a distinct drop in morale here for the Autodesk users. One would
assume that XSI is starting to slip also from this effect.
6. I am a big fan of the company that makes this softwareHere Blender, Modo and Houdini stretching ahead. These three seem to enjoy
an almost carnal relationship with their users who gave a massive vote to them.
A visit to their sites is interesting - for example, Luxology site really does reflect
the importance the company places on its users, regular 'modcasts', tutorials,
blogs and an active forum are all very popular with the end users.
7. The support for this software is excellentIf there's one thing this question revealed, it was that Houdini
users really believe in SideFX's customer service. So much so that it cast a
shadow over Modo's results, which themselves were exceptional. In reality both
companies deserve a big pat on the back for the clearly superb support they
offer their customer.
8. It'd take a lot to get me to move to a competing software titleThis question really reveals the monetary payback for the various companies.
All the effort they put into customer service, supporting users, listening to them
and developing to their needs pays back in terms of customer 'stickiness'.
Houdini users really stood out here with Modo and Blender users also proving
really hard to shift. This is a really critical benchmark for any company as it
reveals the likelihood of each company hanging onto their users in the face of
competition.
- 35 -
PAV-TEC
PAV technologies University projects
Overall:
Here's the final user summary. Each positive score has been weighted and tallied to
give an overall 'rating' and Blender and Houdini come out as the strongest in the
upgrades topic. The rest of the gang have done pretty well with only the Autodesk
likely suspects dropping
significantly from the
crowd.
Conclusions:
This survey, like any
survey, doesn't reveal
facts, statistics or
evidence - it reveals
moods, emotions and
feelings. The fact that
the smaller, more
nimble companies have
more happy users is
nothing that should surprise people as the users will feel closer and more important
in the community than in the larger, more established companies where you can
feel forgotten or overwhelmed in the mass.
There is real tangible evidence that you can experience by visiting the various
homepages. There is no 'killer feature' that the successful companies have used; all
have forums, blogs, mailing lists, tutorials and all the other standard components.
However it's really about the and the dedication they make to their user base. Go
visit the SideFX forums, the development section of Blender.org or listen to a
Luxology Modcast. All are alive and buzzing with activity and pull the users closer
to the company. There are definitely some great lessons for the wider industry
here.
5.4.2 CG Article: a question of cost and satisfaction – summery
This article came as a response to the comments of the software upgrades survey.
Some have questioned the entry of Blender into the survey, saying it isn't fair to
compare free software with commercial applications.
Cost versus value
Value is very different to cost. If you look at how closely some very expensive applications
ran against Blender (free software), as well as some more costly pieces of software beating
some far cheaper competitors, you realize it has little to do with price. If value were
perceived the same as price then you'd expect a very linear and predictable trend in the
results based on the price of the software, but you don't. Sure price influences value, but so
does programming quality, feature sets, community morale etc.
Value is an observed ratio of how much the user has invested against what they receive in
return. So Blender is more than welcome in any discussion of value, despite its low price
point.
Main differences:
The survey results reveal the contentedness of users against each of the questions. The fact
that 3ds Max and Maya scored relatively low in each of the categories does not mean that
Blender or Lightwave is better. It means what is written: the users of those packages are
- 36 -
PAV-TEC
PAV technologies University projects
more satisfied. It’s critical to remember that ‘satisfaction’ is a relative measure, and one
which isn’t just influenced by the company’s support efforts but by your own efforts and
requirements.
To clarify, let's think through this, taking three of the packages: 3ds Max, Modo and Blender.
Now 3ds Max is a giant of the CG (Computer Graphics) world - as the result segmentation
showed - not just in terms of user base, but also in terms of importance and financial
dependencies.
Modo, the new boy, is by no means not production-ready, but it's certainly not a mainstay
in many production lines. Its current position appears to be a highly promising alternative to
the stalwarts. A common working pattern for the professional users to be 'I model in Modo,
render, animate etc in X'.
Blender is probably the most curious, having a fairly wide range of uses (even treading into
video editing). But it's certainly not integral in many commercial productions, and given its
free and thus far more accessible nature, its user demographic is certain to contain a far
greater proportion of hobbyists and amateurs.
So hopefully it's becoming clear that the results aren't as simple as we may think. If you are
amateur user who uses Blender occasionally for fun, then waiting two weeks for forum
support may be your idea of 'good support'. If you are a 3ds Max professional developing the
next triple AAA title with challenging deadlines and multi-million dollar dependencies then
two hours can be too long.
How much I invest and how much I receive back
3ds Max's users have invested a large amount of money, are likely to be professionally
pressured in their usage and timescales and also are likely to be pushing the software to its
limits every day.
Autodesk has a far greater challenge given the size, the diversity and the pressures on their
users - plus the fact they're charging!
So currently the average Blender and Modo user appears to be happier with their software.
Yet think about this, obviously if they grew in popularity you'd find them being used in more
challenging environments, in more challenging ways and those every little setback ca bring
to major blockers.
Hopefully this is starting to illustrate some of the complexities of the CG demographics and
the hazards of over-interpretation of survey data. It's clear, that Autodesk have more to do
to satisfy their users, but it also has to be accepted that their demands are far greater in the
first place.
What this survey has highlighted unexpectedly is the reaction of the companies. The
majority of them shown genuine interest in their users' feelings. They want to continue
improving things. We can see that the weight of power is shifting to the consumers. If there
ever was a time to be heard, it's now.
- 37 -
Download