|
|
 | | From: | Pete Fraser | | Subject: | Motion JPEG2000 chroma subsampling question. | | Date: | Wed, 12 Jan 2005 10:20:38 -0800 |
|
|
 | I'm generating .mj2 sequences with YUV 4:4:4. I'm playing them with WMP with the Morgan plugin.
The sequences are generated either by Kakadu kdu_v_compress or by my hardware.
The Kakadu sequences are displayed correctly. The hardware sequences are displayed with the chrominance zoomed by a factor of two. I can fix this by having my hardware insert a 'jsub' box in the 'stsd' box to explicitly state that there is no chroma subsampling. However, Kakadu does not need the 'jsub'.
The individual frames in both the Kakadu and hardware sequences have all three XRsiz and YRsiz fields of the SIZ markers set to 01.
Clearly there's something in my hardware files that suggests the chrominance has been sunsampled, but I don't know what.
Any ideas?
Thanks
Pete
|
|
 | | From: | Thomas Richter | | Subject: | Re: Motion JPEG2000 chroma subsampling question. | | Date: | 13 Jan 2005 09:36:02 GMT |
|
|
 | Hi Pete,
> I'm generating .mj2 sequences with YUV 4:4:4. > I'm playing them with WMP with the Morgan plugin.
> The sequences are generated either by Kakadu kdu_v_compress > or by my hardware.
> The Kakadu sequences are displayed correctly. > The hardware sequences are displayed with the chrominance > zoomed by a factor of two. I can fix this by having my hardware > insert a 'jsub' box in the 'stsd' box to explicitly state that there > is no chroma subsampling. However, Kakadu does not need > the 'jsub'.
> The individual frames in both the Kakadu and hardware > sequences have all three XRsiz and YRsiz fields of > the SIZ markers set to 01.
> Clearly there's something in my hardware files that suggests > the chrominance has been sunsampled, but I don't know what.
> Any ideas?
Not without looking at the streams, I afraid. You might want to check the following:
Are the components (YUV) all encoded in one codestream per frame? Or are they using multi-codestream files with additional expansion factors in a codestream-registration box (this is a fileformat thing, not a codestream thing)? Does this also happen in case you extract the raw codestream of one frame and display this? Which viewer do you use to check for the result?
So long, Thomas
|
|
 | | From: | Pete Fraser | | Subject: | Re: Motion JPEG2000 chroma subsampling question. | | Date: | Thu, 13 Jan 2005 09:10:46 -0800 |
|
|
 | Thanks Thomas
> > Not without looking at the streams, I afraid. You might want > to check the following: > > Are the components (YUV) all encoded in one codestream per frame?
Yes. I'm taking the Y, U and V codestreams, multiplexing them into one j2c codestream with three tile parts, and wrapping the whole thing in a jp2c box.
A representative SIZ would be:
FF 51 00 2F 00 00 00 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 00 03 07 01 01 07 01 01 07 01 01
> Or are they using multi-codestream files with additional expansion > factors in a codestream-registration box (this is a fileformat > thing, not a codestream thing)? Does this also happen in case you > extract the raw codestream of one frame and display this?
No. It displays fine.
> Which viewer do you use to check for the result?
kdu_4.3
Thanks for your help.
Pete
|
|
 | | From: | Thomas Richter | | Subject: | Re: Motion JPEG2000 chroma subsampling question. | | Date: | 14 Jan 2005 09:08:27 GMT |
|
|
 | Hi Pete,
>> Are the components (YUV) all encoded in one codestream per frame?
> Yes. I'm taking the Y, U and V codestreams, multiplexing > them into one j2c codestream with three tile parts, and wrapping > the whole thing in a jp2c box.
> A representative SIZ would be:
/* snip */
The SIZ is fine and describes 8bpp 1x1 subsampled images indeed. So the problem is not here. Did you try a second codec? What might be happening here is that your hardware specifically describes the data as YUV encoded somewhere, and outsmarts Kakadu which then tries to upsample a typically subsampled YUV image.
>> Or are they using multi-codestream files with additional expansion >> factors in a codestream-registration box (this is a fileformat >> thing, not a codestream thing)? Does this also happen in case you >> extract the raw codestream of one frame and display this?
> No. It displays fine.
I see. So a file format thingy.
>> Which viewer do you use to check for the result?
> kdu_4.3
I would recommend to use a second JPEG2000 implementation to cross check. For me it seems that this is some kind of "feature" in the Kakadu expander that is outsmarted by something in the stream. The codestream at least gives no indication on the upsampling, but there might be other hints in the file format that might make the Kakadu believe it should do this. That is, a list of all boxes and their contents might come handy. Especially, I'd have a look whether the color specification boxes look different (to try a shot into the dark).
So long, Thomas
|
|
|