Filling Out the Image Compression Parameters Class

From The SBN Wiki
Revision as of 00:08, 23 April 2017 by Raugh (talk | contribs) (Safety Save)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The Image_Compression_Parameters class contains attributes describing onboard compression parameters used for data storage and transmission.

The first three attributes below are part of a choice list where each element has minOccurs=0. (Problem with LDDTool?)

<compression_mode_id>

OPTIONAL

This is defined as an integer, with is not consistent with the usual use of "mode".

<compression_mode_name>

OPTIONAL

There is no standard value list for this attribute.

<compression_type>

OPTIONAL

There is no standard value list for this attribute.

<compressor_id>

OPTIONAL

There is no standard value list for this attribute.

<compression_parameter>

OPTIONAL

The definition of this attribute actually says it is specific to JPEG. If this is true, the attribute name really should indicate that. If it's not true, the definition needs re-writing.

<compression_quality>

OPTIONAL

The definition of this attribute actually says it is specific to JPEG. If this is true, the attribute name really should indicate that. If it's not true, the definition needs re-writing.

This is also defined as an integer without any indication of whether a larger integer is higher or lower quality.

<compression_rate>

OPTIONAL

<compression_ratio>

OPTIONAL

<block_count>

OPTIONAL

How are this and the related values attributes of the image object?

<block_size_x>

OPTIONAL

<block_size_y>

OPTIONAL

<color_mode>

OPTIONAL

There is a null rule in the Schematron for this context, but no standard values defined.

<decomposition_stages>

OPTIONAL

This attribute seems to assume wavelet decomposition. Is that the only type of compression, or the only type of compression for which the term "decomposition" is ever used (or will ever be used)?

<quantization_table_id>

OPTIONAL

Given the definition of this attribute, it does not seem to comply with PDS4 IM design principles. It is neither explicit nor does is it sufficient in itself to provide the linking detailed in its definition.

<quantization_table_id_ac>

OPTIONAL

This seems to have a much more specific relevance than the name implies (relevant only to specific compression types), and has the same referential issues as <quantization_table_id>.

<quantization_table_id_dc>

OPTIONAL

This seems to have a much more specific relevance than the name implies (relevant only to specific compression types), and has the same referential issues as <quantization_table_id>.

<quantization_type>

OPTIONAL

There are no standard values define for this attribute.

<segment_count>

OPTIONAL

<Image_Compression_Segment>

OPTIONAL

Seems like <segment_count> should be required if at least one occurence of this class is present.

<segment_number>

REQUIRED

<first_line>

REQUIRED

This attribute is allowed to be zero or negative.

<first_sample>

REQUIRED

This attribute is allowed to be zero or negative.

<lines>

REQUIRED

This value is allowed to be zero.

<samples>

REQUIRED

This value is allowed to be zero.

<segment_quality>

OPTIONAL

This attribute appears to only be relevant to specific compression methods, though the name implies otherwise. There is no indication of whether this value can be negative, or zero, or whether a higher number corresponds to higher or lower quality.

<segment_status>

OPTIONAL

This is actually defined as a "bit mask", which is not consistent with the definition of "status". There is also no indication in the definition of byte-order, even though this value is not constrained to be 8 digits or less in length. Neither is there any indication of whether the mask must be a multiple of 8 digits, or how to apply masks that are not multiple of 8 digits.

<missing_constant>

OPTIONAL

The definition refers to a missing "value", but in the context of this class there is nothing that corresponds to a single "value".