Skip to content

Editorial: Clarify semantics of operating_point_idc[i] #359

@podborski

Description

@podborski

This is an editorial thing.

The current semantics of the operating_point_idc[i] bitmask in the specification is somewhat unclear, especially regarding the spatial and temporal layer mapping. I find the language a bit confusing myself but I also experienced other people struggling with it.

We could try to improve it. For example, we could rephrase the text and add a small figure that makes it more clear.

We could replace this:

operating_point_idc[ i ] contains a bitmask that indicates which spatial and temporal layers should be decoded for operating point i. Bit k is equal to 1 if temporal layer k should be decoded (for k between 0 and 7). Bit j+8 is equal to 1 if spatial layer j should be decoded (for j between 0 and 3).

with this:

operating_point_idc[i] is a bitmask that specifies the spatial and temporal layers to be decoded for operating point i. Bits 0 to 7 represent the temporal layers, while bits 8 to 11 represent the spatial layers. If bit k (where k is between 0 and 7) is set to 1, temporal layer k is decoded. Similarly, if bit j+8 (where j is between 0 and 3) is set to 1, spatial layer j is decoded.

The following figure illustrates the bitmask structure:

| spatial layers  |       temporal layers      |
 3   2   1   0     7   6   5   4   3   2   1   0  <-- Layer value (j, k)
11  10   9   8     7   6   5   4   3   2   1   0  <-- Bit index

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions