Title: Towards Collaborative Video Authoring
1Towards Collaborative Video Authoring
University of St.Petersburg
Boris Novikov borisnov_at_acm.org
Oleg Proskurnin olegpro_at_acm.org
2Video Authoring
- Post-production became digital
- Non-linear editing systems have presented new
concepts - video clip as an independent unit of raw material
- timeline to represent the time flow
- altering and assembling clips as a major part of
the editing process - rendering as a way of building the final video
production
- Still there is no support for collaborative video
authoring
3Transactional Approach to Cooperation
- Ensures consistent exchange and sharing of
information by taking into account application
semantics
- Cooperative activity framework CoAct offers
- private workspace for each user involved
- common workspace to represent the state of team
work - activity histories for modelling the working
process - history merging algorithm to achieve cooperation
- Merging is guided by compatibility relations of
editing operations
4Towards a New Data Model
- Basic requirements
- compliance with video authoring concepts
including explicit support for the most common
editing operations - good commutativity properties of these operations
- additional history maintenance mechanism to
facilitate utilization of CoAct cooperation
techniques
- Our approach
- assume video segments as basic units of the media
stream - consider operations on different segments as
commuting - provide a tree-based structure for arranging
video segments and maintaining activity histories
5Concurrent Video Video Segments
- Each video segment consists of
- a frame sequence referencing a contiguous block
of video - a set attribute-value pairs describing proper
interpretation of raw data at the presentation or
rendering level
- Attributes support implementation of
non-destructive editing operations
6Concurrent Video Video Activity Tree
- Unique identifiers associated with video segments
provide background for efficient editing
operations with state-independent commutativity
relations
7Concurrent Video Insertion
- Insertions carried out within different segments
commute
8Concurrent Video Deletion
raw videos
timelines
- Any two removals commute
- Deletion acts as an inverse for some insertions
- Additionally local activity history clean-up is
performed
9Concurrent Video Moving
- Moving is not equivalent to the sequence of
appropriate deletion and insertion operations
from a semantic point of view
- Special moving operation offers
- behavior similar to deletion-insertion pair
- constancy of the unique identifier of the segment
being moved - commutativity with the editing operation
10Concurrent Video Editing
- General operation for high-level modeling of
various modifications of image data within
particular video clips
- Editing operation offers
- altering of video clip data within any valid node
- modeling of special effects and transitions by
means of video segments attributes
11Concurrent Video Commutativity Relations
- Forward commutativity is used for detecting
conflicts between operations coming from
different histories during merging
- Backward commutativity is different
- it determines dependencies between operations
within a single history - it allows us to identify closed subhistories,
which have no external dependencies and thus
represent consistent units of work - consistent units of work can be exchanged between
cooperating users separately from each other
12Concurrent Video Consistent Units of Work
- Extraction of a consistent unit of work according
to the users selection is performed by means of
the partial hierarchical order which naturally
captures dependencies between operations - Totally ordered closed subhistory for the above
example - (EditA, EditX, Move, EditB, Insert, EditK, EditL)
13Concurrent Video Merging
- Forward commutativity properties of editing
operations enable high concurrency among
co-workers actions
Operations Edit(ID, VS) Insert(VS, ID, POS) Delete(ID) Move(MID, ID, POS)
Edit(id, vs) id ? ID
Insert(vs, id, pos) id ? ID id ? ID
Delete(id) id ? ID id ? ID true
Move(mid, id, pos) id ? ID mid ? ID ?id ? ID mid ? ID ?id ? ID mid, id ?MID, ID ?
14Conclusions and Further Work
- Concurrent video ...
- is a formal basis for collaborative video
authoring environments - satisfies basic requirements of authoring
applications as well as the needs of multi-user
systems - is applicable to stream data in general, e.g. to
audio data
- Probable directions of futher research
- development of intra-segment editing operations
- investigation of versioning support