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#
- The Content-Code Subtype Video (Video-Code) shall be a similarity hash of the input video.
- 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.
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:
- iscc: the Video-Code in its canonical form (required);
- width: width of the original input video in number of pixels (optional);
- height: height of the original input video in number of pixels (optional);
- duration: duration of video in seconds (optional);
- fps: frames per second of the original video (optional);
- thumbnail: a thumbnail from the original video encoded as Data-URL (optional);
- Additional metadata extracted from the video (optional).
5. Processing#
An ISCC processor shall pre-process the video file input as follows:
- Generate the MPEG-7 video signature at 5 frames per second.
An ISCC processor shall calculate the Video-Code as follows:
- For each of the 380 integer values of the MPEG-7 frame signature calculate its sum over all frames.
- 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.