8

I have a motion-JPEG 2000 file that I need to determine if the creator used lossless compression to create it based on the file itself. I do not have the raw video data to compare to, and I do not have the source code of the application used to produce the file.

Based on what I have found, it looks like the best I can do is check the wavelet filter (biorthogonal 3/5) and the quantization step size (1), and assume lossless if those conditions are true.

Any suggestions on how to check for lossless compression are greatly appreciated. My working environment is MATLAB or Java, but any hints for other platforms will be helpful.

Arthur Ward
  • 597
  • 3
  • 20

2 Answers2

2

You can use ffmpeg for this purpose. Download it from here: https://ffmpeg.org/. After you installed the software and added its source folder to WIN path, you can simply do the following:

ffprobe Test.mj2

The output then shows you many details about the video, including its possible losslessness.

See the following example output

[1]

Omal Perera
  • 2,971
  • 3
  • 21
  • 26
Jan Osch
  • 143
  • 1
  • 10
0

It is possible to use 5/4 wavelet and quantization step of 1, and still truncate the code stream during encoding to get a lossy result. This is still a valid JPEG 2000 images. So, the only way of checking for lossless is to compare with original.

Jacko
  • 12,665
  • 18
  • 75
  • 126