-
Notifications
You must be signed in to change notification settings - Fork 17
Proposal: Add New Image File Object
Status: Closed
Comment Period Closes: 12/17/2013
Affects Backwards Compatibility: No
Relevant Issue: https://github.com/CybOXProject/schemas/issues/117
Many image file formats exist that all share a common set of properties; some examples are JPEG, PNG, BMP, and GIF. CybOX 2.0.1 does not provide standard characterization of these image formats and their common set of properties.
We propose the creation of a new CybOX object capable of characterizing the common set of metadata associated with image files.
The ImageFileObjectType
is an extension of the FileObj:FileObjectType
and will introduce the following fields.
Field | Type | Description |
---|---|---|
Image_File_Format | ImageFileFormatType |
The Image_File_Format field specifies the name of the file format used in the image file. It is strongly recommended that the values provided in the ImageFileFormatEnum are used for describing common image formats, but other formats may also be specified as a custom string. |
Image_Height | cyboxCommon:IntegerObjectPropertyType |
The Image_Height field specifies the height of the image in the image file, in pixels. |
Image_Width | cyboxCommon:IntegerObjectPropertyType |
The Image_Width field specifies the width of the image in the image file, in pixels. |
Bits_Per_Pixel | cyboxCommon:PositiveIntegerObjectPropertyType |
The Bits_Per_Pixel field specifies the sum of bits used for each color channel in the image in the image file, and thus the total number of pixels used for expressing the color depth of the image. |
Compression_Algorithm | cyboxCommon:StringObjectPropertyType |
The Compression_Algorithm field specifies the name of the compression algorithm used to compress the image, if applicable. Note that for many popular image formats, such as JPEG, the compression algorithm is inherent to the file format and so does need to be captured here as long as the format itself is identified in the Image_File_Format field. |
image_is_compressed | xs:boolean |
The image_is_compressed field specifies whether the image in the image file is compressed. |
The ImageFileFormatType
is a union of the base xs:string
type and the ImageFileFormatEnum
. The ImageFileFormatEnum
is intended to non-exhaustively enumerate possible types of image file format names and thus contains the following values:
Value | Description |
---|---|
JPEG/JFIF | Specifies the Joint Photographic Experts Group (JPEG) JPEG File Interchange Format (JFIF). |
JPEG 2000 | Specifies the Joint Photographic Experts Group (JPEG) 2000 format. |
Exif | Specifies the Exchangeable image file format (Exif). |
TIFF | Specifies the Tagged Image File Format (TIFF). |
DNG | Specifies the Digital Negative (DNG) file format. |
GIF | Specifies the Graphics Interchange Format (GIF). |
BMP | Specifies the Windows bitmap (BMP) image file format. |
PNG | Specifies the Portable Network Graphics (PNG) format. |
For the full proposed schema, please see https://github.com/ikiril01/schemas/commit/9468da4831c01eef37d04b75eea8b94dd11630af
There is no expected compatibility impact.
- Does it make sense to add such an object to CybOX?
- Are there any fields we should add to the
ImageFileObjectType
? Should we change any of the types used to capture the fields we've defined? - Are there any values we should add to the
ImageFileFormatEnum
?