GstObuMetadata/GstObuMetadata Basics: Difference between revisions

From RidgeRun Developer Wiki
No edit summary
No edit summary
Line 3: Line 3:
</noinclude>
</noinclude>


== AV1 Standards Overview ==
== AV1 Overview ==


The AV1 video compression format is developed by the Alliance for Open Media (AOMedia) as a successor for VP9. AV1 developement considered hardware specification resulting in a codec balance in compression performance and hardware feasibility.


== Open bitstream units (OBU) ==
== Open bitstream units (OBU) ==


An AV1 coded video is comprise of one or more temporal units. Each temorar unit is fed with a sequence of OBUs of different types like: Sequence Header, Temporal Delimiter, Frame Header, Tile Group, Metadata, Frame, Redundant Frame Header, Tile List and Padding. Each OBU contains a header and a payload byte, the header indicates the type of OBU and specifies the payload size.
An AV1 coded video is comprise of one or more temporal units. Each temorar unit is fed with a sequence of OBUs of different types like: Sequence Header, Temporal Delimiter, Frame Header, Tile Group, Metadata, Frame, Redundant Frame Header, Tile List and Padding. Each OBU contains a header and a payload byte, the header indicates the type of OBU and specifies the payload size.
The image below shows the structure of a temporal unit, where each one can have a sequence of one or more frame headers followed by zero or more tile group.
[[File:OBU-diagram.png|800px|frame|center|OBU's temporal unit structure]]


The GstObuMetadata plugin focuses on the OBU Metadata which carries information of different types such as high dynamic range, scalability, and timecode.
The GstObuMetadata plugin focuses on the OBU Metadata which carries information of different types such as high dynamic range, scalability, and timecode.

Revision as of 17:44, 21 February 2024



  Index  





AV1 Overview

The AV1 video compression format is developed by the Alliance for Open Media (AOMedia) as a successor for VP9. AV1 developement considered hardware specification resulting in a codec balance in compression performance and hardware feasibility.

Open bitstream units (OBU)

An AV1 coded video is comprise of one or more temporal units. Each temorar unit is fed with a sequence of OBUs of different types like: Sequence Header, Temporal Delimiter, Frame Header, Tile Group, Metadata, Frame, Redundant Frame Header, Tile List and Padding. Each OBU contains a header and a payload byte, the header indicates the type of OBU and specifies the payload size.

The image below shows the structure of a temporal unit, where each one can have a sequence of one or more frame headers followed by zero or more tile group.

OBU's temporal unit structure


The GstObuMetadata plugin focuses on the OBU Metadata which carries information of different types such as high dynamic range, scalability, and timecode.

The plugin manage metadata as OBU Metadata units which is inserted to the frame using the obuinject element either as a string, binary or GstMeta. Also, it extract the information out of the OBU Metadata unit with the obuextract element inserted by obuinject.

The plugin description looks like:

Plugin Details:
  Name                     obu
  Description              Gstreamer plugin to add metadata as Open Bitstream Units (OBU)
  Filename                 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libobu.so
  Version                  0.1.0
  License                  Proprietary
  Source module            gst-obu
  Binary package           gst-obu
  Origin URL               https://www.ridgerun.com/

  obuextract: OBU extract metadata
  obuinject: OBU inject metadata
  obumetatester: Helper element to insert a test GstObuMeta to buffers.

  3 features:
  +-- 3 elements

References

Links to the AV1 websites:



  Index