-
Notifications
You must be signed in to change notification settings - Fork 8
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
Conformance testing #117
Comments
OpenJPEG lossless encoding is broken: uclouvain/openjpeg#892 |
Holy shit - others have problems too.
…Sent from my iPad
On 11 Feb 2017, at 23:34, Benjamin Geer <[email protected]<mailto:[email protected]>> wrote:
OpenJPEG lossless encoding is broken: uclouvain/openjpeg#892<uclouvain/openjpeg#892>
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub<#117 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AFN9zAPjcVKQwOhpGqAl5tY7JnRKzcAAks5rbjd-gaJpZM4L4JZS>.
|
JPEG 2000 conformance testing at the US National Institute of Standards and Technology: https://www.nist.gov/programs-projects/conformance-testing-jpeg-2000-codecs ISO/IEC conformance testing procedures for JPEG 2000: http://www.iso.org/iso/catalogue_detail.htm?csnumber=39079 International Telecommunications Union recommendation for JPEG 2000 conformance testing: |
ITU reference software: http://www.itu.int/rec/T-REC-T.804-201504-I |
Hello. OpenJPEG is fully compliant with ISO conformance tests for JPEG 2000. Unfortunately, it also has bugs :) |
Hello @boxerab and thanks for replying. If I understand correctly, OpenJPEG uses Kakadu for conformance testing. Since Sipi uses Kakadu internally, we'd like to do conformance testing without relying on Kakadu. I haven't yet received my copy of the ISO conformance testing document; does it involve using a reference implementation? And do you have any advice on how we should proceed? |
Hi Benjamin, OpenJPEG test suite tests both conformance and non-regression. I am pretty sure that conformance does not have any dependency on Kakadu. Non-regression also can be done without Kakadu, but if Kakadu is available, then more tests are run using that option. I am not familiar with the ISO docs, but I think the best approach might be to clone OpenJPEG, enable testing in CMake, and take a look at all of the conformance tests that get run. |
@boxerab The page https://github.com/uclouvain/openjpeg/wiki/ConformanceTesting says:
Is that correct? I also see Kakadu being used in this file: https://github.com/uclouvain/openjpeg/blob/master/tests/conformance/CMakeLists.txt Although that file is in a directory called What do you use for measuring MSE? |
Yes, that page does mention Kakadu, but the Kakadu binaries are not used. I think it just refers to images that originated from Kakadu somehow, and are in the public domain, or the conformance suite. If you don't see the text As for MSE, OpenJPEG has a |
@boxerab OK thanks, that's very helpful. |
I've had a look at the ISO/IEC conformance testing procedures for JPEG 2000, ISO/IEC 15444-4:2004. Interestingly, the standard only gives quality requirements for decoders, not for encoders:
Specifically:
But this isn't good enough for us, because we need to show that we can both encode and decode without significant distortion. In particular, a crucial use case is converting TIFF images to JP2 and back again without significant distortion. The standard suggests testing an encoder like this:
As for how you do (3), it says:
For our use case with TIFF, it doesn't seem practical to use the reference decoders directly. JasPer doesn't support TIFF, OpenJPEG has a conformance issue at the moment, and JJ2000 seems to be a dead project. The standard provides a set of reference images for testing decoders, and it says you can use them for testing encoders, too:
Here are the descriptions of the files, each of which is provided in TIFF and JPEG 2000 formats.
So I think we can do tests like this: Check encoding
Check decoding
Check round trip
|
Found some bugs when trying the above: #144 #145 It looks like GraphicsMagick isn't going to work for comparing JPEG 2000 images:
I'll try OpenJPEG's |
Just realised that OpenJPEG's |
ImageMagick with OpenJPEG seems OK, trying that. |
Can we do something like this?
https://github.com/uclouvain/openjpeg/wiki/ConformanceTesting
The text was updated successfully, but these errors were encountered: