Coded Raw Project

Archive Note

This article was written in 2005. It is a DRAFT, with expectations of a detailed rewrite.

For Coded Raw to work successfully, all the elements need to be defined in standards, so that they may behave predictably.

This standardisation covers many aspects of using images, including the protocols that an application uses to get information, and the identification of elements that are common to most image files.

Summary of the types of standard in Coded Raw

  1. File format: Binary structure of the file, navigating the file, and the format of data types. The terms 'file' and 'object stream' are interchangable.
  2. Interface:
    1. Protocol: Querying and using capabilities, execution model, persistence, structure of I/O streams.
    2. Supported Methods: Code blocks that perform the processing, or implementation of interface protocol. These blocks are loaded into the host application and executed.
      1. Method Parameters: standards will help with identification of any common meaning for parameters, their data type, default values, local enumerations, typical ranges, and valid ranges. This helps applications to assume parameter values, and to present sensible options to users who might want to change parameters.
      2. Method Set: A standard for collections of Supported Methods supported by an interface. A Coded Raw image may then be described as 'supporting standard X'.
      3. Protocol Methods: A minimal set of Protocol Methods (required by the Base Method Set) is used to identify and access the Supported Methods, e.g. "tell me what methods and standards you support".
      4. Metadata: Identification of popular meta-data items in an image.
    3. Raw format enumeration: So that Coded Raw may be used as a wrapper for proprietary camera-raw files, and interchangeable modular methods may be used in the application environment.
    4. Workflow methods: An extension to the Interface Protocol, supporting image processing workflow elements.