LibMISB/LibMISB Introduction/What does the library do: Difference between revisions

From RidgeRun Developer Wiki
(Created page with " <noinclude> {{LibMISB/Head|previous=LibMISB_Introduction/What_is_LibMISB|next=Examples/Reference_application|keywords=}} </noinclude> == LibMISB Overview == Metadata in v...")
 
No edit summary
 
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<noinclude>
<noinclude>
{{LibMISB/Head|previous=LibMISB_Introduction/What_is_LibMISB|next=Examples/Reference_application|keywords=}}
{{LibMISB/Head|previous=LibMISB_Introduction/What_is_LibMISB|next=LibMISB_Introduction/_Functionalities_supported|metakeywords=}}
</noinclude>
</noinclude>


This library aims to make it easier for users to manipulate the encoding and decoding of metadata following MISB standards.  It allows configuring the type of file to be used.
Also, the library was designed to be flexible and modular when adding or manipulating MISB standards, allowing the possibility to implement a custom standard if the customer requires it. 


The following package diagram shows the general structure of the library:
<br>
<br>
[[File:LibMISB uml package.png| 700px|center|thumb|LibMISB Package diagram|alt=Diagram of main structure of LibMISB Library]]
<br>
<html>
<style type="text/css">
.tg  {border-collapse:collapse;border-color:#ccc;border-spacing:0;margin:0px auto;}
.tg td{background-color:#fff;border-color:#ccc;border-style:solid;border-width:1px;color:#333;
  font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;border-width:1px;color:#333;
  font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-mqa1{border-color:#000000;font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-lmxn{border-color:#000000;font-style:italic;text-align:left;vertical-align:top}
.tg .tg-73oq{border-color:#000000;text-align:left;vertical-align:top}
</style>
<table class="tg">
<thead>
  <tr>
    <th class="tg-mqa1">Package name</th>
    <th class="tg-mqa1">Objective</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td class="tg-lmxn">codec</td>
    <td class="tg-73oq">Stores what is needed to encode and decode metadata</td>
  </tr>
  <tr>
    <td class="tg-lmxn">decoder</td>
    <td class="tg-73oq">Contains the logic necessary to decode metadata.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">coder</td>
    <td class="tg-73oq">Contains the logic necessary to encode metadata.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">standards</td>
    <td class="tg-73oq">Stores the MISB standards implemented by the developer<br> with their respective specifications and limitations.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">misb0601</td>
    <td class="tg-73oq">Contains the structure that stores the UAS Datalink LS elements <br>of the MISB 0601 standard.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">common</td>
    <td class="tg-73oq">Stores tools in common that can be used to modify or create MISB<br> standards.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">st_utils</td>
    <td class="tg-73oq">Contains structures and tools for creating MISB standards.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">klv_utils</td>
    <td class="tg-73oq">Contains structures and tools for KLV handling.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">formatter</td>
    <td class="tg-73oq">Stores the types of formatting that the library can perform by parsing<br> the metadata inserted by the user.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">json_formatter</td>
    <td class="tg-73oq">Contains the logic for reading metadata from a JSON file.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">misb</td>
    <td class="tg-73oq">Contains the logic and connection of the user's incoming data<br>and of the use of the library in general. It is the package where the <br>user's api is located.</td>
  </tr>
</tbody>
</table>
</html>


== LibMISB Overview ==
<noinclude>{{LibMISB/Foot|LibMISB_Introduction/What_is_LibMISB|LibMISB_Introduction/_Functionalities_supported}}</noinclude>
Metadata in video streams has been used to provide information about streams, audio, or video files. Those metadata could be included on video streaming or as a separate file within a media container; the metadata can include information about the entire video stream, file, or specific frames of the stream.
 
There is a set of standard specifications defined by the Motion Imagery Standards Board (MISB), where they represent standards for review in the area of Motion Imagery, as well as associated metadata and multimedia. Put another way, MISB standards define how metadata should be processed before being sent to a receiver, or received by a sender. Importantly, this standard uses the Key-Length-Value (KLV) data encoding protocol.

Latest revision as of 13:59, 3 October 2024



Previous: LibMISB_Introduction/What_is_LibMISB Index Next: LibMISB_Introduction/_Functionalities_supported





This library aims to make it easier for users to manipulate the encoding and decoding of metadata following MISB standards. It allows configuring the type of file to be used. Also, the library was designed to be flexible and modular when adding or manipulating MISB standards, allowing the possibility to implement a custom standard if the customer requires it.

The following package diagram shows the general structure of the library:

Diagram of main structure of LibMISB Library
LibMISB Package diagram


Package name Objective
codec Stores what is needed to encode and decode metadata
decoder Contains the logic necessary to decode metadata.
coder Contains the logic necessary to encode metadata.
standards Stores the MISB standards implemented by the developer
with their respective specifications and limitations.
misb0601 Contains the structure that stores the UAS Datalink LS elements
of the MISB 0601 standard.
common Stores tools in common that can be used to modify or create MISB
standards.
st_utils Contains structures and tools for creating MISB standards.
klv_utils Contains structures and tools for KLV handling.
formatter Stores the types of formatting that the library can perform by parsing
the metadata inserted by the user.
json_formatter Contains the logic for reading metadata from a JSON file.
misb Contains the logic and connection of the user's incoming data
and of the use of the library in general. It is the package where the
user's api is located.


Previous: LibMISB_Introduction/What_is_LibMISB Index Next: LibMISB_Introduction/_Functionalities_supported