Skip to content

ISCC-UNIT Content-Code Video#

IEP: 0006
Title: ISCC-UNIT Condent-Code Video
Author: Titusz Pan tp@iscc.foundation
Comments: https://github.com/iscc/iscc-ieps/issues/11
Status: DRAFT
Type: Core
License: CC-BY-4.0
Created: 2022-09-28
Updated: 2024-01-01

Note

This document is a DRAFT contributed as input to ISO TC 46/SC 9/WG 18. The final version is developed at the International Organization for Standardization as ISO/DIS 24138

1. General#

  1. The Content-Code Subtype Video (Video-Code) shall be a similarity hash of the input video.
  2. The Video-Code shall be robust against format conversions, scaling, compression, changes of framerate and minor edits.

2. Format#

The Video-Code shall have the data format illustrated in Figure 8.

Figure 8 - Data format of the Video-Code

Figure 8 - Data format of the Video-Code

EXAMPLE 1: 64-bit Video-Code in its canonical form:

ISCC:EMA7KERCWROEVL6F

EXAMPLE 2: 256-bit Video-Code in its canonical form:

ISCC:EMD7KERCWROEVL6FU3SISZAZPJCBAZKXEZLZTSRQPGASTENCMSYFOAY

3. Inputs#

The input for calculation of the Video-Code shall be the MPEG-7 video frame signatures, as specified in ISO/IEC 15938, from the original video data.

4. Outputs#

Video-Code processing shall generate the following ISCC metadata output elements:

  1. iscc: the Video-Code in its canonical form (required);
  2. width: width of the original input video in number of pixels (optional);
  3. height: height of the original input video in number of pixels (optional);
  4. duration: duration of video in seconds (optional);
  5. fps: frames per second of the original video (optional);
  6. thumbnail: a thumbnail from the original video encoded as Data-URL (optional);
  7. Additional metadata extracted from the video (optional).

5. Processing#

An ISCC processor shall pre-process the video file input as follows:

  1. Generate the MPEG-7 video signature at 5 frames per second.

An ISCC processor shall calculate the Video-Code as follows:

  1. For each of the 380 integer values of the MPEG-7 frame signature calculate its sum over all frames.
  2. Apply WTA hash to the resulting array of 380 integer values to calculate the ISCC-BODY of the Video-Code at the desired bit-length.

The normative behaviour of an ISCC processor in generating a Video–Code is specified only for the MPEG 7 video frame signature input. An implementation of the Video-Code algorithm shall be regarded as conforming to the standard if it creates the same Video-Code as the reference implementation for the same MPEG 7 video frame signature input.

NOTE

For further technical details see source-code in modules code_content_video.py and wtahash.py of the reference implementation.