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 -