02/25/2009

From zedwiki

Jump to: navigation, search

ZIP As Container Format

The ZIP file format would be a good candidate to use as a container for Daisy books as it concatenates multiple files into a single file. It also allows to have compressed and non-compressed files in the same archive. So of all the files that make up a Daisy book, the text files would be compressed and the audio files, already heavily compressed, would be left uncompressed which would allow devices with limited memory and processing power to access those audio files with the same ease as if they were not compressed and directly from inside the zip archive.

The main reason for not allowing compression of audio files is to enable devices with limited resources to easily be able to directly seek to specific positions in an audio file within a zip file without having to decompress the whole file. Also since audio files are already compressed, adding a layer of compression would yield very little space reduction for all the processing overhead it would incur.

Unfortunately, using a zip archive would prevent progressive download as the Central Directory (list and position of all files in the zip) is located at the end of the zip file.

The zip Password protection method could be applied on compressed files as they have to be processed to be uncompressed anyway. Applying a zip password to audio files would not be possible as it would eliminate the possibility of accessing the files randomly. Using PDTB2 would work seamlessly though.

Discussion

  • No progressive download
  • Can compress text
  • Audio would remain uncompressed to allow devices to use random access
    • Compressed formats OK, e.g. as MP3, to allow extraction of a specific audio file
    • No zip encryption on audio, although vendor based DRM OK
  • Images can use compressed formats but should not be zip compressed
  • Header is at the end so therefore no way to read metadata from the beginning
    • ZIP format internally stores each file with its own header, and then a "central directory" / header at the end describing what's in the package
  • One file is easier to handle for devices, downloading

Progressive Download

  • Something that's desirable for audio
  • Start playing book before it has fully downloaded
  • Save bandwidth
  • Implies that user is already online; so, why not in that case use the DAISY Online web service for this?
Personal tools