• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Csc533 ch3a mm_framework

Csc533 ch3a mm_framework






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Csc533 ch3a mm_framework Csc533 ch3a mm_framework Presentation Transcript

    • Multimedia Programming CSC533 Chapter 3a: Multimedia Frameworks 04/19/11 CSC533 - SAY
    • What is Software Framework?
      • In computing , a software framework provides “the skeleton of an application that can be customized by an application developer”
      • Like software libraries , software frameworks aid the software developer by containing source code that solves problems for a given domain and provides a simple API .
      04/19/11 CSC533 - SAY
    • Types of software frameworks
      • A software framework may focus on building graphical editors for different domains like artistic drawing, music composition, and mechanical CAD .
      • Another software framework can help build compilers for different programming languages and target machines.
      • Yet another might help build financial modeling applications or decision support systems
      • Frameworks exist for multimedia , web applications , and even communicating between different systems .
      04/19/11 CSC533 - SAY
    • What is Multimedia Framework?
      • A multimedia framework (MMF) is a software framework that handles media on a computer and through a network.
      • A good multimedia framework offers an intuitive API and a modular architecture to easily add support for new codecs , container formats and transmission protocols .
      • It is meant to be used by applications such as media players and audio or video editors , but can also be used to build Videoconferencing applications , media converters and other multimedia tools.
              • Source from wikipedia.
      04/19/11 CSC533 - SAY
    • Multimedia Framework Requirements
      • Economy of concepts
        • MM framework should be based on small number of concepts, otherwise it becoming a maze
        • Identify any general concepts that apply across media types
      • Open
        • should be possible to extend MM framework to incorporated new media types, new data representations, new h/ware capabilities
      • Queryable
        • should specify interfaces for querying environments concerning their capabilities. Applications can then recognize missing functionality and adapt their behavior.
      04/19/11 CSC533 - SAY
    • Multimedia Framework Requirements
      • Distribution
        • MM Framework should help applications in a way that facilitates distribution. In particular, objects within framework should correspond to easy-to-distribute units or subsystems.
      • Scalable
        • MM Framework should support scalable media representations.
        • Once media are in digital form, improvements in quality and capability are tied to advances in h/w
          • Early version of processor might handle video at quarter screen resolution and few frames per second.
      • High-Level Interfaces
        • MM Framework should provide high-level interfaces for media synchronization, media composition, device control, database integration and concurrent media processing activities.
        • Development is simplified if easy to use high-level interfaces are available
      04/19/11 CSC533 - SAY
    • Multimedia Framework Example
      • Consists of four main class hierarchies: (Click Figure)
      • Media classes
        • Correspond to audio, video and the other media types.
        • Instances of these classes are particular media values (artifacts)
      • Transform classes
        • Represent media operations in a flexible and extensible manner.
        • For example, many image editing programs provide a large number of filter operations with which to transform images. These operations could be represented by methods of an image class.
      04/19/11 CSC533 - SAY
    • Multimedia Framework Example
      • Format classes
        • Encapsulate information about external representations of media values.
        • Can be defined for both file formats:
          • Image File format (such as GIF and TIFF) and ;
          • Uncompressed digital video “stream” formats (CCIR 601 4:2:2)
      • Component classes
        • Represent h/w and s/w resources that produce, consume and transform media streams.
        • For instance, a CD-DA player is a component that produces a digital audio stream (specifically, stereo 16 bit PCM samples at 44.1 kHz).
      04/19/11 CSC533 - SAY
    • 4 class hierarchies of a multimedia framework: 04/19/11 CSC533 - SAY BACK
    • Different Operating Systems and their Multimedia Support (Framework)
      • Windows
        • DirectX
        • .NET Framework
      • Linux
        • Gstreamer
        • SDL
      • Mac OS X
        • QuickTime
      • Symbiam
        • MMF
        • Helix
      • Java
        • JMF
        • JSRs
      04/19/11 CSC533 - SAY
    • Windows : DirectX
      • DirectX is the most important Multimedia Framework in Windows
      • First version was introduced in 1995 (Windows 95)
      • Current versions are 9.0 (Windows XP) and 10.0 (Windows Vista and Xbox 360)
      04/19/11 CSC533 - SAY
    • Windows : DirectX
      • DirectX, formerly known as the Game SDK, is a term given for a collection of Windows APIs for easily handling tasks related to game programming Windows OS.
      • This set of development libraries for high performance games allows software developers "direct access" to the low-level functions of PC peripherals.
      04/19/11 CSC533 - SAY
    • Windows : DirectX APIs
      • DirectX Graphics
        • DirectDraw (2D)
        • Direct3D
      • DirectInput
      • DirectPlay
      • DirectSound
        • DirectSound3D
      • DirectMusic
      • DirectSetup
      • DirectX Media
        • DirectAnimation
        • DirectShow
        • DirectX Video Acceleration
        • Direct3D Retained Mode
        • DirectX Transform
      • DirectX Media Objects
      04/19/11 CSC533 - SAY
    • Windows : . NET Framework
      • Managed DirectX released to work with .NET
      • Is a software technology that is available with several Windows OS.
      • It includes a large library of pre-coded solutions to common programming problems, a runtime or virtual machine that manages the execution of programs written specifically for the framework , and a set of tools for configuring and building applications.
      • The .NET Framework is a key Microsoft offering and is intended to be used by most new applications created for the Windows platform.
      04/19/11 CSC533 - SAY
    • Linux : GStreamer
      • GStreamer is a framework for creating streaming media applications. It can be used to implement any kind of multimedia application too.
      • The framework is based on plugins that will provide the various codec and other functionality.
      • GStreamer is used, e.g., in Maemo environment (Nokia tablets N800 and 770) and GNOME desktop environment
      • http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-gstreamer.html
      04/19/11 CSC533 - SAY
    • Linux : SDL
      • Simple DirectMedia Layer (SDL) is an opensource, cross-platform multimedia library.
      • It gives access to audio, keyboard, mouse, joystick, 3D hardware (i.e., OpenGL), and 2D Video Frame buffer.
      • SDL supports Windows, Linux, Mac OS, etc.
      • http://www.libsdl.org/
      04/19/11 CSC533 - SAY
    • Mac OS X : Quicktime
      • QuickTime is Apple's multimedia framework.
      • Supports Mac OS X, Windows and old Mac OS.
      • API for encoding and decoding audio and video.
      • QuickTime file format is a multimedia container file. Competitors: MS ASF, ogg, Matroska.
      • QuickTime for Java supports capturing, editing, playback, etc.
      • http://wapedia.mobi/en/QuickTime
      04/19/11 CSC533 - SAY
    • Symbian : Multimedia Framework (MMF)
      • Symbian OS was originally built for handheld devices, with limited resources.
      • A completely new Multimedia Framework for Symbian was introduced in Symbian 7.0s
      • MMF provides a lightweight, multi-threaded framework for handling multimedia data.
      • MMF enables:
        • Audio recording, playback, and streaming
        • Video recording, playback, and streaming
        • Image related functionalities
      • MMF allows developers to write efficient and powerful plug-ins
      04/19/11 CSC533 - SAY
    • Symbian : Helix Framework
      • Helix DNA is an open-source multimedia player project based on the RealPlayer.
      • The Helix Framework contains streaming server, players, codecs, and production tools.
      • Since May 2006, Helix was included in over a hundred mobile phones and was distributed more than 125 million times. It is also distributed within Maemo environment.
      04/19/11 CSC533 - SAY
    • Java : Java Media Framework (JMF)
      • JMF allows use of multimedia in Java applications
      • Real-time network protocols
      • Multiplexing
      • Codecs
      • Players
      • Effects
      • Capture
      • Control
      04/19/11 CSC533 - SAY
    • Java : Java Specification Request (JSR)
      • Third parties can participate in Java platform development by proposing JSRs.
      • A Java Specification Request (JSR) describes a technology to be added to the Java platform.
      • Most important Multimedia-related JSRs are:
        • JSR 135: Java Mobile Media API (for J2ME platform)
        • JSR 32 and JSR 180: Java SIP APIs
        • JSR 231 and 926: Java 3D graphic APIs
        • JSR 184 and 239: Java 3D graphic APIs for J2ME
        • JSR 226: Scalable 2D Vector Graphics API (J2ME)
        • JSR 234: Java Advanced Multimedia API for J2ME
        • JSR 272: Mobile Broadcast Service API for J2ME
      04/19/11 CSC533 - SAY