| CARVIEW |
|
jboxim
|
| Summary | jBoxim aka Amber - a smart multimedia container |
|---|---|
| Categories | None |
| License | Sun Public License (SPL) |
| Owner(s) | densio |
Message from the owner(s)
Come collaborate, innovate and evolve with us.
SPL provides an umbrella protection to the sources and binaries provided herein affirmed by this legal statement.
![]() |
|
![]() |
Quick Links
- The Narrative
- The Background
- The Use Cases
- Our Mission
- The JBX Basic Architecture Model
- Highlights
- Research Fields
- Sources
- Examples
A Narrative
Imagine a box or a package. Now, place a photograph into it. What do we get? We get a box with a picture in it obviously. Now try also to place a Video CD inside it. And how about putting-in also your treasured letter from a love interest and a tape of your favorite love songs. What do we get? Exactly! It is the same box, only this time it contains more than just the first object we placed initially which was a photograph. Now it contains various artifacts (a memorabilia) of things we want to preserve, for keeps. It will be better too if this box has a locking mechanism so that no one would steal it or use it without your permission. To review its contents, a sliding window with a transparent glass may be opened at will. To play its contents, some electronic gadgets inside like a cassette and/or a vcd player will function to provide the corresponding service.
In the world of computers, such a physical and electro-mechanical contraption can be abstracted in terms of a logical ordering of bits that can represented software-wise by what I would now call a jboxim. Yes indeed, a boxim do sound like it is a senseless word. Yahoo! and google are words or names of brands that does not mean much to the un-initiated. Like them, a boxim does have some meaning. A boxim is just a word interplay, w/c is actually a conjoined word pair with one of the word was spelled in reverse. It is a combination of these words, box and mix. The term was coined to mean as a "mixed-box". The basic idea here is to have a bit-based object that acts physically like a box or a package and functions electronicaly like a Java JAR and/or a ZIP. A JAR/ZIP is basically an archive file which models closely the container specifications of a Boxim. A jBoxim however is a hybrid variant in which it is more specialized to contain multimedia objects (MMOs), e.g. images, audio, video, text and even potentially another boxim -- unifying them all in a general-purpose container. It will also contain the MMOs respective metadata. Key to a boxim is the embedded agent(executable bytecode) which provides a smart interface for the end-user to review its contents in an informatively intuitive, entertaining, mobile, secure and in a platform independent manner.
The core rationale to have a container is to be able to provide an effective way of protecting our potentially prized possession, a certain MMO or set of these, which can probably be our copyright -- to address fundamental DRM issues. A boxim will have as an option or provide a feature to secure the box using a password and a PK (private/public key) technology. The main program will allow a multimedia object of various formats (jpeg,mpg,mp3,png,wav,etc) to be specially encoded into a boxim. There will be an authoring-time metadata editor for the objects in a boxim for a more detail-rich descriptive information. A boxim distributed for public consumption may have its own built-in autonomous read-only decoder for each of the object it contains. Client decoder programs and plug-ins will also be developed to keep boxims become optionally as lightweight as possible. A boxim containing one MM object applied with typical loss-less compression techniques should relatively be smaller or equal to (<=) in file size with respect to the original or raw MM object.
Background
The motivation of this project is based on the problem of impedance-mismatches between an MMO and its metadata(for increasing semantics), DRM solutions that is based on proprietary technology, and the lack of MM Album type of file.
Use cases
Single image w/ caption (most basic application) , Image Album (some refer to it as photo essays), Music Album (set of music, set of images, lyrics all rolled into one), Music Singles w/ lyrics and Images, A movie with other MM artifacts of its history and from its casts, Web object like an applet (using jnlp, or other means to compete w/ SWF runnability over the web), Portable object (a Javabean) - write once run anywhere properties, Addresses DRM issues (dig sig, dig certs, steganos), Karaoke/Videoke objects w/ active visuals, Multimedia Mining - enabled by embedded rich metadata set per MMO where an API will be provided for miners such as Yahoo, Google and the likes, and many other uses...
Mission
- To become a standard Multimedia Object (MMO) that wraps around the SMIL standard.
- To become a standard Album packager format for images, music and movies.
- To provide an acceptable DRM implementation to MMOs.
- To increase MMO semantics that is based on Open Standards.
Basic Amber Architecture Model
![]() |
Project highlights
V1.01.11, an Amber object prototype - Alpha1It has two(2) branches
First branch is the PackNRoll service. This branch is more concerned on the jboxim file format specification. It makes sure foremost that the JAR original META-INF with the Manifest and other JAR particulars are unencumbered for legacy and compatibility reasons. It however introduces a set of Attributes into the Manifest which are specific to a jboxim. Then it ensures that it builds two main arbitrary folders from the root, the amber system and the user's MMO asset folder. The PortaPlayer described in the 2nd branch will be embedded in the appropriate amber system folder. The super metadata and MMO specific metadata will be written in this same folder organized in a manner that will serve the amber system efficiently and manageably. This service ensures that packing an MMO will never ever be as difficult as putting things in a bag, literally speaking. The achievements so far were:
- A validator heuristic w/c ensures MMO packing is both convenient and easy. No programming needed!
- It can scan and validate captions provided by the end-user in text or XML format.
- It has also provided an option to enter captions on-the-fly for those who can not live w/o it.
Second branch is the Amber embedded PortaPlayer. Using the above specifications, this PortaPlayer makes sure that it is able to utilize the assets packed in an Amber in order to provide a crude but functional GUI with a viewer/player. Current capabilities are:
- ability to read JPG,PNG and GIF. BMP is an excellent raw source, hence it will remain as such. Other image formats (JPG in particular) will have a minimum fidelity requirements at validation/re-encoding time to satisfy some DRM needs.
- image slideshow.
- ability to display captions and metadata summaries in-sync with the slideshow.
- enabled the temporal playable assemblies such as Layers, Scenes and Frames.
V01.02.xx , Audio enabled - Alpha2
Will be rolling-out Alpha2 very soon. It is decided that OGG will play the major role of transcoding WAV, MP3, AU, AIFF & MIDI to a Vorbis audio file(.ogg). See examples below.
V3.00.xx , a prototype version for mobile/wireless devices. Mobility (Alpha 3) - now on active R&D.
V01.03.xx , MPEG-4 or most likely, theora - also on active R&D.
V01.04.xx , enabling a functional & effective DRM. Utilizing the combined power of Digital Signature, Digital Certificate, Watermarks and PK technology to provide an effective means of protection(Access Control) for an entity's copyrighted assets.
V01.05.xx , will provide an Authoring Manager built over the Netbeans platform. Will also create object loader and related NB things.
V01.06.xx , enabling more advanced visualizations...
V01.07.xx , a dukebox that will manage jboxims in a jukebox-like player.
V2.00.xx , a commercial version w/ a sleekier GUI and one w/ less bytecode baggage (if the JVM can accomodate the jboxim's player). A formal specification of this need will be defined in proper time.
Research fields
- Psycho-acoustics - for watermarking & insync visuals
- DRM, cryptography, steganography
- AI, mining, HCI, heuristics, neural nets (object recognition) - for visualizations and mining search engines API.
- 2D/3D geometry & animation, Physics of lighting, shadow & ray-tracing for the visualization features and as in itself an MMO
- Compression - smaller entails a faster download
- Streaming - for network delivery & runnability
- Peer to peer & Grid networks - for network delivery
- GUI - usability and an eye-candy. Skins.
Releases
Alpha Version 01.01.11 sources and binaries are in CVS. This version presents a prototype for an Image Album. This should be enough to demonstrate its fundamental objectives. But other core features like Audio playing is currently a WIP.
Examples
Try out this latest Amber PackNRoll utility program. Download it. Before running it, make sure you have created a folder for your images. It will serve as the root of the folder "image" (for now), which you must also create. Then put a picture or several pictures inside the image folder. You may organize your images into subfolders if you like - this will be validated by the service as scenes. Forget about scenes for now, if you want to appreciate this one fundamental feature of Amber's PackNRoll in a snap. Once you have the picture(s) in place, invoke this in the command line,
java -jar amber.jar yourfolder
Assuming it passes successful validation, it will generate a yourfolder.jar as an output. For now, the extension is a .jar, but our proposal calls for a .jbx extension to distinguish its unique features even if it descended from a jar.
Now try out your image album by invoking this,
java -jar yourfolder.jar
If you just want to see an example output quick, click this to download it. Oh, and try to make sure you have Java 5.0 or higher installed.
Try while Hot!!
Disclaimer:
- Music provided herein are solely for research purposes only. They are not meant for commercial distribution. Please respect the copyrights of their rightful owners.
- The Duke pictures were taken here. The Duke Amber file contains loud music. It is not our intent to offend anyone but it is plainly for the purpose of experimenting on how loud Amber can go. Our expression here is more of joy rather than to mask an alternate meaning (of anger for instance).
- Amber's file size are proportional to the sizes of its digital content so we recommend a DSL or a faster internet connection.
- Controls and meta-info(it is not a user-consummable thing anyway) will be skipped for now. It will be enabled soon, in Alpha 3.
Feedback
Please do give me feedback, even if you think the idea sucks. d3ns10 at gmail dot com - is your quickest portal to the one and only fool cum day-dreamer that believes this project provides an alternative(to er, you know what...) and can be useful to many.
Your donation will provide our teams more mileage in our goal to perfect this software tool and application for everyone to use. Older 1Ghz PC & Laptops are also welcome. Thank you very much for your support.
| Powered by CollabNet | Feedback |
FAQ |
Press |
Developer tools
© 1995 - 2007 CollabNet. CollabNet is a registered trademark of CollabNet, Inc. |



