IEP: | 0006 |
---|---|
Title: | ISCC-UNIT Condent-Code Video |
Author: | Titusz Pan [email protected] |
Comments: | #11 |
Status: | DRAFT |
Type: | Core |
License: | CC-BY-4.0 |
Created: | {{ git_creation_date_localized }} |
Updated: | {{ git_revision_date_localized }} |
!!! note
This document is a **DRAFT** contributed as input to
[ISO TC 46/SC 9/WG 18](https://www.iso.org/committee/48836.html). The final version is
published under [ISO 24138:2024](https://www.iso.org/standard/77899.html).
- 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.
The Video-Code shall have the data format illustrated in Figure 8.
![Figure 8 - Data format of the Video-Code](images/iscc-iep-0006-f08-video-code.png) Figure 8 - Data format of the Video-Code!!! example "EXAMPLE 1: 64-bit Video-Code in its canonical form:"
ISCC:EMA7KERCWROEVL6F
!!! example "EXAMPLE 2: 256-bit Video-Code in its canonical form:"
ISCC:EMD7KERCWROEVL6FU3SISZAZPJCBAZKXEZLZTSRQPGASTENCMSYFOAY
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.
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).
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 "NOTE"
For further technical details see source-code in modules
[code_content_video.py](https://github.com/iscc/iscc-core/blob/main/iscc_core/code_content_video.py)
and [wtahash.py](https://github.com/iscc/iscc-core/blob/main/iscc_core/wtahash.py) of the
[reference implementation](https://github.com/iscc/iscc-core).