GPAC: Support for High Efficiency Image Format (HEIF)
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 644 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/41336 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | |
Genre |
00:00
Computer animation
00:07
HypermediaContent (media)VideoconferencingSummierbarkeitMaxima and minimaRing (mathematics)Extension (kinesiology)EmailType theoryTerm (mathematics)SequenceCovering spaceComputer filePartition (number theory)Data compressionMedical imagingStreaming mediaRotationTransformation (genetics)Auditory maskingExtension (kinesiology)Alpha (investment)TesselationAdditionOverlay-NetzCuboidRule of inferenceMetadataGreen computingData storage deviceMathematical optimizationShared memoryHypermediaFile formatCodecMultimediaRevision controlLink (knot theory)Inclusion mapParameter (computer programming)Function (mathematics)Presentation of a groupWeb browserDifferent (Kate Ryan album)Multiplication signBitMeta elementVideoconferencingClient (computing)Frame problemThumbnailLatent heatDesign by contractMetreSoftware bugConstructor (object-oriented programming)NetiquetteTrailSoftware frameworkSet (mathematics)Cross-platformComputer animation
05:15
InformationComputer animation
05:31
Sampling (statistics)Software developerPatch (Unix)File formatElectronic visual displayComputer fileClient (computing)Web pageMedical imagingLecture/Conference
07:21
File formatMedical imagingComputer animationLecture/Conference
07:54
Computer animationLecture/Conference
08:03
InformationLecture/Conference
08:24
CollaborationismProgram flowchart
Transcript: English(auto-generated)
00:05
Thank you. Hello, everyone. My name is Hamad Adasekat. And I will present you a support for high efficiency image format that we made in GPAC.
00:22
OK. So my name is Hamad Adasekat. I work on the GPAC team. And I will present you a support for high efficiency image format in GPAC. So, as usual, for those who don't know, GPAC is a multimedia framework, a multi-platform multimedia framework.
00:42
It's under the LGPL license and it's hosted on GitHub. Basically, we have two sets of tools. MP4 box, which you may know, it's a worldwide difference for MP4 file manipulations. And the second tool is MP4 client, which is a player.
01:03
It's a bit more than a simple video audio player. It's halfway between a player and the browser. And here is the presentation that we made before here in FOSETM last year. So what is HIF?
01:21
HIF is a new image container format. It's derived from ISO BMFF. And with some image-specific constructs, boxes. And it may contain individual images or image sequences, like bursts. Or image metadata. It's a codec agnostic, originally designed for HEVC, still picture.
01:44
And officially supports EVC still and GPAC. We have a lot of nice features, like image transformations. For example, rotation mirror or grid overlays.
02:00
There is also additional image plans, like alpha masks. We can add tambourine nails, cover images, or hide images. You can also do codec optimizations. And we have progressive refinement also.
02:22
So the design of HIF container is based on the ISO BMFF construct, which is supported on GPAC. So for a single image, you can store it as an item in the metadata box.
02:42
And you can also share properties, like transformation rules and data. Like parameters set and tile data with other images. You can also store image sequences as a usual track, but with the new handled type called PICT.
03:07
Here we have the different brands and file extensions. There is a lot of brands. For example, we have HEIC for one picture and HEVC for a sequence of pictures.
03:25
And they both support HEVC. So why would you use HEIC? In terms of coding, it's two types better compression than GPAC when it uses HEVC.
03:44
And it allows partitioning of picture into tiles. We have also multiple images in the same file. It's efficient in terms of storage of image bursts and HDR images. It keeps links between a master image and its derivative version.
04:05
And it's an extensible format. You can add your own codec if needed and not restricted just to images. You have the possibility to include other media types like text and audio.
04:24
So here we have some commands that you can use to generate and to extract using MP4 box. So the first command will take the first picture, first image of the HEVC file and create a meta box.
04:41
And add one image item, make it a primary item and add the HEIC brand to the output file. The second command will do the same thing. But for the next idea frame, after the given time. And add the HEIX brand.
05:01
And the last one will take the tiled HEVC stream and generate one item per tile and one item for the entire image. So thank you. And if you need any other information, you can refer to these links.
05:22
And thank you. Is there any question? Yes, I'm coming.
05:47
What I wanted to ask is, are you happy with the format? Do you think it was something that we all waited for? Well, I'm an FFmpeg developer and we have like, let's say, four or five different samples.
06:05
And there was a patch and the patch was really huge. I mean, it was far too big for a patch that just supports a variant of an existing container format. And the patch doesn't work on the actual sample files we have.
06:21
So apparently this format is so much more complex than anything we have seen so far. And this includes MXF. I wonder now, why was that necessary? Or maybe I don't understand it, so perhaps you can explain it. I don't have a specific explanation, but I just know that there is a lot of advantages you can use.
06:48
And that's why we implemented it in GPAC. And that's why we added the support in GPAC. OK, so your player, MP4 client, can actually display HEIF images?
07:11
Yeah, we have support in the MP4 client, but we're still improving it.
07:29
We're immediately able to support it and nobody is actually working at it as far as I know. And the reason is basically that it seems surprisingly complex for an image format.
07:42
You can say that, yeah. OK, thank you. Yeah, I agree with you. Another question?
08:03
It was not that difficult. Last chance for another question. OK, thank you, Ahmed.