Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Semantics of "one picture" in HEIF #76

Open
bradh opened this issue Jun 4, 2023 · 3 comments
Open

Semantics of "one picture" in HEIF #76

bradh opened this issue Jun 4, 2023 · 3 comments
Labels

Comments

@bradh
Copy link

bradh commented Jun 4, 2023

The 1pic brand as defined in ISO/IEC 23008-12:2022 is "coded image item(s) that only contain one picture and that picture is intra coded".

What does "picture" mean in the context of HEIF? Does it mean the same as picture in AVC or HEIF (i.e. YCbCr field)? Can it have an attached image (e.g. aux image, thumbnail, mask)?

Is a grid considered to be 1pic, or does the presence of two or more image items within the grid represent two different pictures?

Does this test only apply at the image item level? For example, if I have two or more non-hidden image items that are both YCbCr intra-coded, is that still 1pic for the file ftyp (as well as 1pic for each associated brnd, if any)?

@cconcolato
Copy link
Contributor

Thanks for raising the issue.

What does "picture" mean in the context of HEIF? Does it mean the same as picture in AVC or HEIF (i.e. YCbCr field)?

I agree the spec is ambiguous. We need to:

  • add a definition of the term "picture". I would suggest "coded image" when the codec is one of 14496-15.
  • do a pass on the spec to make sure that we are consistent
  • fix the brand definition to indicate that it applies to a particular codec, or maybe use the TypeCombinationBox to say HEVC + 1pic

Can it have an attached image (e.g. aux image, thumbnail, mask)?

Yes. The brand only talks about how coded images are coded.

Is a grid considered to be 1pic?

A grid item is not a coded image item.

does the presence of two or more image items within the grid represent two different pictures?

I think the notion behind 1pic is that the coded image does not contain multiple pictures like (multiview, layered, interlaced, ...). A grid usually points to multiple image items. If one of the items corresponds to one such multi-picture item, then the file cannot use the 1pic brand. Some items may have a brand property that says 1pic though.

Does this test only apply at the image item level?

The test applies at the item level to decide what to put in the corresponding BrandProperty, if any.
The test applies at the file level for the ftyp box.
(There are other, edge cases: track level meta box and items for the ttyp box).

For example, if I have two or more non-hidden image items that are both YCbCr intra-coded, is that still 1pic for the file ftyp (as well as 1pic for each associated brnd, if any)?

Yes.

@bradh
Copy link
Author

bradh commented Jun 9, 2023

Thanks for the response.

It might help to add (possibly informative) text about what a consumer is supposed to infer from this brand.

The interlaced case is interesting, given how 14496-10 defines a picture (i.e. potentially with top and bottom fields).

Also, does 1pic potentially apply to JPEG 2000 or something else that is not 14496-15 coded (e.g. 23001-17 uncompressed)? What would be the tests in that case?

@cconcolato
Copy link
Contributor

Sorry for the confusion about interlaced. I'm actually not sure when a coded image could contain multiple pictures. For the record, the HEVC/VVC definition of a picture is:

picture: An array of luma samples in monochrome format or an array of luma samples and two corresponding arrays of chroma samples in 4:2:0, 4:2:2, and 4:4:4 colour format.
NOTE – A picture may be either a frame or a field. However, in one CVS, either all pictures are frames or all pictures are fields.

Also, does 1pic potentially apply to JPEG 2000 or something else that is not 14496-15 coded (e.g. 23001-17 uncompressed)?

I don't think it should.

@cconcolato cconcolato changed the title Sematics of "one picture" in HEIF Semantics of "one picture" in HEIF Jul 17, 2023
@podborski podborski added the HEIF label Jan 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants