Results 1 to 23 of 23

Thread: Detector for ex-JPEG images

  1. #1
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts

    Lightbulb Detector for ex-JPEG images

    Command-line executable for Windows is here:
    http://www.imagecompression.info/gralic/Detector.zip
    It takes an image in PPM format, prints the "JPEGish coefficient", and then
    if it's less than 1.05, "NO, this doesn't look like an ex-JPEG image",
    if it's less than 1.10, "Maybe: either an ex-JPEG with smart post-processing, or an image with filtering/processing",
    and if it's bigger than 1.10, "YES, this looks like an ex-JPEG image".

    The highest value I observed so far is 18.17.
    The higher the value, the higher are odds that you'll be able to visually see the artifacts.

    Please report false positives and false negatives.
    Last edited by Alexander Rhatushnyak; 30th March 2011 at 18:53.

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  2. #2
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,611
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Nice. I have a question. Why don't your tools support bmp images?

  3. #3
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts
    Quote Originally Posted by m^2 View Post
    Nice. I have a question. Why don't your tools support bmp images?
    BMP format is not as simple as PPM because of line alignment and because BMP files may contain RLE-compressed data. Besides, alignment bytes may contain garbage, so sometimes comparing two BMP files for bit-exactness is not as simple as fc/b file1 file2.

    An improved detector is here: http://www.imagecompression.info/gralic/Detector.zip
    Now the YES margin is at 1.15, but fewer images fall into Maybe.
    First version is here, just in case: http://www.imagecompression.info/gralic/Detector10.zip
    Last edited by Alexander Rhatushnyak; 31st March 2011 at 00:32.

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  4. #4
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 779 Times in 486 Posts
    Here is a quick test using lena.bmp and ImageMagick convert (bmp -> jpg -> ppm) with JPEG quality settings from 10 to 100.

    Code:
      7,544 lena10.jpg
     12,314 lena20.jpg
     16,388 lena30.jpg
     19,984 lena40.jpg
     23,465 lena50.jpg
     27,224 lena60.jpg
     33,203 lena70.jpg
     37,050 lena75.jpg
     43,247 lena80.jpg
     51,883 lena85.jpg
     92,889 lena90.jpg
     99,750 lena91.jpg
    106,738 lena92.jpg
    118,300 lena93.jpg
    134,324 lena94.jpg
    154,279 lena95.jpg
    187,263 lena96.jpg
    227,727 lena97.jpg
    279,893 lena98.jpg
    354,348 lena99.jpg
    407,462 lena100.jpg
    786,447 lena.ppm (bmp -> ppm)
    
    C:\tmp>detector lena10.jpg.ppm
    10.836 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena20.jpg.ppm
     5.459 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena30.jpg.ppm
     4.099 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena40.jpg.ppm
     3.512 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena50.jpg.ppm
     3.284 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena60.jpg.ppm
     2.992 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena70.jpg.ppm
     2.633 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena75.jpg.ppm
     2.440 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena80.jpg.ppm
     2.179 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena85.jpg.ppm
     1.941 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena90.jpg.ppm
     1.266 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena91.jpg.ppm
     1.228 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena92.jpg.ppm
     1.194 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena93.jpg.ppm
     1.164 ! YES, this looks like an ex-JPEG image.
    
    C:\tmp>detector lena94.jpg.ppm
     1.126   Maybe: either an ex-JPEG with smart post-processing, or an image with filtering/processing
    
    C:\tmp>detector lena95.jpg.ppm
     1.048   NO,  this doesn't look like an ex-JPEG image.
    
    C:\tmp>detector lena96.jpg.ppm
     1.025   NO,  this doesn't look like an ex-JPEG image.
    
    C:\tmp>detector lena97.jpg.ppm
     1.008   NO,  this doesn't look like an ex-JPEG image.
    
    C:\tmp>detector lena98.jpg.ppm
     1.006   NO,  this doesn't look like an ex-JPEG image.
    
    C:\tmp>detector lena99.jpg.ppm
     1.006   NO,  this doesn't look like an ex-JPEG image.
    
    C:\tmp>detector lena100.jpg.ppm
     1.009   NO,  this doesn't look like an ex-JPEG image.
    
    C:\tmp>detector lena.ppm
     1.011   NO,  this doesn't look like an ex-JPEG image.
    The JPEG quantization coefficients (0 1 2 3...31...63) for quality 93 through 95 are:

    93 (YES)
    Q0 = 2 2 2 2...7...14
    Q1 = 2 3 3 3...14...14

    94 (MAYBE)
    Q0 = 2 1 1 2...6...12
    Q1 = 2 2 2 3...12...12

    95 (NO)
    Q0 = 2 1 1 1...5...10
    Q1 = 2 2 2 2...10...10

    For quality 100, all quantization values are 1. (Q0 = grayscale, Q1 = color).

    Also, of note, from maximumcompression.com, I converted a10.jpg and rafale.bmp to ppm:

    Code:
    C:\tmp>detector a10.ppm
     1.005   NO,  this doesn't look like an ex-JPEG image.
    
    C:\tmp>detector rafale.ppm
     1.156 ! YES, this looks like an ex-JPEG image.
    a10.jpg has coefficients that look like a quality setting about 98.5

    Q0 = 1 1 1 1...1...3
    Q1 = 1 1 1 1...3...3

    Also, I tested the Kodak set, and all files are detected as NO.

  5. #5
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts
    Matt, thank you for testing!
    I guess it's obvious that a smart post-processing can eliminate all JPEG-specific artifacts. Looks like ImageMagick applies a smart post-processing step (unlike some other image viewers and convertors).
    Nevertheless, here's an improved version: http://www.imagecompression.info/gralic/Detector.zip

    Margins are at 1.05 and 1.15 as before, but a10.ppm is detected as Maybe, Rafale is YES with much higher confidence, and among 24 Kodak images only 4 are detected as NO.

    There's a bigger Kodak set here: ftp://ftp.kodak.com/www/images/ -- 108 images. If conversion (PCD=>PPM) is done by ImageMagic, 31 of 108 are detected as YES, 49 as NO, 28 as Maybe, if conversion is done by Display ( ftp://ftp.elf.stuba.sk/pub/pc/graph/dispt5.exe ) 33 as YES, 47 as NO, 28 as Maybe. But if it's done by IrfanView 4.28 ( http://www.irfanview.com ) , all 108 are YES.

    Among 32 images used in the FLIC/others comparison ( http://encode.su/threads/1222-FLIC-a...age-compressor ), only one is YES, and four are Maybe.
    Last edited by Alexander Rhatushnyak; 1st April 2011 at 21:54.

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  6. #6
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 779 Times in 486 Posts
    How are you doing the detection? I would guess convert the image to quality 100 JPEG (all quantization coefficients 1) in each of the 3 common sampling rates (1x1, 2x1, 2x2), then look at the 128 frequency distributions for repeating patterns.

  7. #7
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts
    Quote Originally Posted by Matt Mahoney View Post
    How are you doing the detection? I would guess convert the image to quality 100 JPEG (all quantization coefficients 1) in each of the 3 common sampling rates (1x1, 2x1, 2x2), then look at the 128 frequency distributions for repeating patterns.
    No, that would be much slower, and code size would be bigger, BTW. Hopefully someone will create a thorough ex-JPEG detector caring little about speed. Ex-JPEGs can be compressed much better once you know which of your images are ex-JPEGs and apply a special algorithm.

    Previous version of my detector was too much influenced by Kodak images, the corrected version is at http://www.imagecompression.info/gralic/Detector.zip
    Last edited by Alexander Rhatushnyak; 2nd April 2011 at 18:38.

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  8. #8
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,611
    Thanks
    30
    Thanked 65 Times in 47 Posts
    False negative.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	lena.png 
Views:	325 
Size:	126.9 KB 
ID:	1526  

  9. #9
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts
    Quote Originally Posted by m^2 View Post
    False negative.
    Thanks for reporting!
    The latest version 1.4 simply says "Maybe. Try better methods" instead of speculating why.
    I believe some of the better methods will try a number of rotation variants before analyzing the image.

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  10. #10

  11. #11
    Member
    Join Date
    Apr 2010
    Location
    El Salvador
    Posts
    43
    Thanks
    0
    Thanked 1 Time in 1 Post
    Quote Originally Posted by Alexander Rhatushnyak View Post
    There's a bigger Kodak set here: ftp://ftp.kodak.com/www/images/ -- 108 images.
    Gallery: http://cdb.paradice-insight.us/?class=7

  12. #12
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts

    Arrow

    Quote Originally Posted by Matt Mahoney View Post
    Also, of note, from maximumcompression.com, I converted a10.jpg and rafale.bmp to ppm:
    Code:
    C:\tmp>detector a10.ppm
     1.005   NO,  this doesn't look like an ex-JPEG image.
    
    C:\tmp>detector rafale.ppm
     1.156 ! YES, this looks like an ex-JPEG image.
    ...
    Also, I tested the Kodak set, and all files are detected as NO.
    The latest improved version prints "Yes" for both images from maximumcompression.com, 7 of 24 Kodak images, and two of six images from my previous message.
    http://www.imagecompression.info/gralic/Detector.zip

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  13. #13
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts
    Version 2.2 is able to detect the majority of ex-JPEGs created with quality 100.
    Some of the rotated ex-JPEGs may be detected.
    http://www.imagecompression.info/gralic/Detector.zip

    An example of an image detected as YES but rather close to Maybe:
    http://cdb.paradice-insight.us/corpo...C_6543.ppm.bz2
    Magnified: http://www.imagecompression.info/gra..._magnified.png
    Artifacts (squares) can be seen in the lower right corner, but not in the upper left.

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  14. #14
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 779 Times in 486 Posts
    It would be interesting if a tool could guess the original JPEG quantization values and be used to convert to JPEG and back losslessly.

  15. #15
    Member
    Join Date
    Jun 2009
    Location
    Kraków, Poland
    Posts
    1,474
    Thanks
    26
    Thanked 121 Times in 95 Posts
    Final quantization isn't the only source of rounding errors in JPEG. DCT and even color space transform are lossy. It's impossible to get back the original JPEG. But probably you can get very close. Maybe then encoding guessed JPEG + difference would bring us some space savings, who knows?

    You would need first to collect some widely used algorithms for color space transforms and DCT transforms, as there are many, some are less accurate, some are more accurate. Then use some brute force, like precomp does for deflate streams, to find the algorithm used.

  16. #16
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 779 Times in 486 Posts
    Yes, or encode as a JPEG plus pixel differences.

  17. #17
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,611
    Thanks
    30
    Thanked 65 Times in 47 Posts
    Alex, I have a couple of images for you. Not sure if you're interested in small stuff, but I believe they are all false positives.
    Attached Files Attached Files

  18. #18
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts
    Quote Originally Posted by m^2 View Post
    Alex, I have a couple of images for you. Not sure if you're interested in small stuff, but I believe they are all false positives.
    Why do you believe so?
    The biggest image has horizontal and vertical edges in low-contrast areas (the left arrow in the attached magnified fragment). And there's an "antenna" on top of 2 (the right arrow).
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	e5579a.png 
Views:	296 
Size:	23.0 KB 
ID:	1742  
    Last edited by Alexander Rhatushnyak; 30th November 2011 at 00:16.

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  19. #19
    Member m^2's Avatar
    Join Date
    Sep 2008
    Location
    Ślůnsk, PL
    Posts
    1,611
    Thanks
    30
    Thanked 65 Times in 47 Posts
    You're the expert. I looked at the image closeups and didn't see anything suspicious, that's all.

  20. #20
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts
    All of WebP's sample images are ex-JPEGs, here's a magnified section of 9_webp.png: http://imagecompression.info/gralic/webp9magnified.png

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

  21. #21
    Expert
    Matt Mahoney's Avatar
    Join Date
    May 2008
    Location
    Melbourne, Florida, USA
    Posts
    3,255
    Thanks
    306
    Thanked 779 Times in 486 Posts
    Yes. The original JPEGs are included in the download. Image 9 is the lowest quality of the set, looking at the quantization tables.

    Code:
    C:\tmp\webp-samples>jpegtest *.jpg
    10_original.jpg
           0 SOI [0]
           0 SOI
           4 APP0 [16] JFIF ver 1.2 units 1, density 180 by 180
          22 APP1 [6274] Exif  II*               å           î
        6298 APP13 [6728] Photoshop 3.0 8BIM %                      8BIM φ
       13028 APP1 [5067] http://ns.adobe.com/xap/1.0/ <?xpacket begin=''
       18097 APP2 [3160] ICC_PROFILE      HLino    mntrRGB XYZ  ╬       1
       21259 APP14 [14] Adobe d@
       21275 DQT [132]
        Q0 = 1 1 1 1...1...3
        Q1 = 1 1 1 1...3...3
       21409 Baseline DCT [17]  988x1208, 8 bit:(C1=1x1,Q0)(C2=1x1,Q1)(C3=1x1,Q1)
       21428 DRI [4] 124
       21434 DHT [418]
        DC0: (3: 07 08 06 05 04 09)(4: 03 0A)(5: 02 01 00),1,0,0,0,0,0,0,0,0,0,0
        DC1: (3: 06 05 04 03 07 02)(4: 08 01 09)(5: 00),1,1,0,0,0,0,0,0,0,0,0
        AC0: (2: 01 02)(3: 03)(4: 04 11 05)(5: 12 06 21 07),1,3,3,2,3,3,3,2,6,9,117
        AC1: (2: 01 02)(3: 03)(4: 11 04 21)(5: 12 05),4,4,3,5,4,4,4,6,6,5,109
       21854 SOS [12] Coef 0-63, bits 0-0 of (C1 DC0 AC0)(C2 DC1 AC1)(C3 DC1 AC1)
     1093966 EOI [0]
    
     1093968 end of file
    
    1_original.jpg
           0 SOI [0]
           0 SOI
           4 APP0 [16] JFIF ver 1.1 units 1, density 200 by 200
          22 DQT [67]
        Q0 = 3 2 2 3...10...20
          91 DQT [67]
        Q1 = 3 4 4 5...20...20
         160 Baseline DCT [17]  800x 440, 8 bit:(C1=2x2,Q0)(C2=1x1,Q1)(C3=1x1,Q1)
         179 DHT [31]
        DC0: (2: 00)(3: 01 02 03 04 05)(4: 06)(5: 07),1,1,1,1,0,0,0,0,0,0,0
         212 DHT [181]
        AC0: (2: 01 02)(3: 03)(4: 00 04 11)(5: 05 12 21),2,4,3,5,5,4,4,0,0,1,125
         395 DHT [31]
        DC1: (2: 00 01 02)(3: 03)(4: 04)(5: 05),1,1,1,1,1,1,0,0,0,0,0
         428 DHT [181]
        AC1: (2: 00 01)(3: 02)(4: 03 11)(5: 04 05 21 31),4,3,4,7,5,4,4,0,1,2,119
         611 SOS [12] Coef 0-63, bits 0-0 of (C1 DC0 AC0)(C2 DC1 AC1)(C3 DC1 AC1)
      136778 EOI [0]
    
      136780 end of file
    
    3_original.jpg
           0 SOI [0]
           0 SOI
           4 APP0 [16] JFIF ver 1.2 units 0, density 100 by 100
          22 APP12 [37] Ducky       N           5 . 1 . 2
          61 APP14 [14] Adobe d└
          77 DQT [132]
        Q0 = 3 2 2 2...6...14
        Q1 = 3 3 3 5...14...14
         211 Baseline DCT [17]  450x 288, 8 bit:(C1=1x1,Q0)(C2=1x1,Q1)(C3=1x1,Q1)
         230 DHT [183]
        DC0: (2: 04 05)(3: 02 03 06)(5: 00 01 07),1,1,0,0,0,0,0,0,0,0,0
        DC1: (2: 02 03)(3: 00 01 04)(4: 05)(5: 06),1,1,0,0,0,0,0,0,0,0,0
        AC0: (2: 01 02)(3: 03)(4: 11 04)(5: 00 21 31 12 05),2,4,3,5,5,5,6,5,3,3,5
        AC1: (2: 00 01)(3: 11 02)(4: 03)(5: 21 31 12 04),1,2,3,6,6,2,1,4,3,1,0
         415 SOS [12] Coef 0-63, bits 0-0 of (C1 DC0 AC0)(C2 DC1 AC1)(C3 DC1 AC1)
       46766 EOI [0]
    
       46768 end of file
    
    4_original.jpg
           0 SOI [0]
           0 SOI
           4 APP1 [18538] Exif  MM *                 &#198;           ?
       18544 APP2 [88] MPF MM *      ░       0100░           ░          2
       18634 DQT [132]
        Q0 = 1 1 2 2...8...15
        Q1 = 1 2 2 3...15...15
       18768 Baseline DCT [17] 2048x1536, 8 bit:(C1=2x1,Q0)(C2=1x1,Q1)(C3=1x1,Q1)
       18787 DHT [418]
        DC0: (2: 00)(3: 01 02 03 04 05)(4: 06)(5: 07),1,1,1,1,0,0,0,0,0,0,0
        AC0: (2: 01 02)(3: 03)(4: 00 04 11)(5: 05 12 21),2,4,3,5,5,4,4,0,0,1,125
        DC1: (2: 00 01 02)(3: 03)(4: 04)(5: 05),1,1,1,1,1,1,0,0,0,0,0
        AC1: (2: 00 01)(3: 02)(4: 03 11)(5: 04 05 21 31),4,3,4,7,5,4,4,0,1,2,119
       19207 SOS [12] Coef 0-63, bits 0-0 of (C1 DC0 AC0)(C2 DC1 AC1)(C3 DC1 AC1)
      795866 EOI [0]
    
      795870 SOI [0]
      795870 SOI
      795874 APP1 [116] Exif  MM *                 >           F (
      795992 DQT [132]
        Q0 = 1 1 1 1...2...5
        Q1 = 1 1 1 1...4...5
      796126 Baseline DCT [17]  640x 480, 8 bit:(C1=2x1,Q0)(C2=1x1,Q1)(C3=1x1,Q1)
      796145 DHT [418]
        DC0: (2: 00)(3: 01 02 03 04 05)(4: 06)(5: 07),1,1,1,1,0,0,0,0,0,0,0
        AC0: (2: 01 02)(3: 03)(4: 00 04 11)(5: 05 12 21),2,4,3,5,5,4,4,0,0,1,125
        DC1: (2: 00 01 02)(3: 03)(4: 04)(5: 05),1,1,1,1,1,1,0,0,0,0,0
        AC1: (2: 00 01)(3: 02)(4: 03 11)(5: 04 05 21 31),4,3,4,7,5,4,4,0,1,2,119
      796565 SOS [12] Coef 0-63, bits 0-0 of (C1 DC0 AC0)(C2 DC1 AC1)(C3 DC1 AC1)
      936603 EOI [0]
    
      936605 end of file
    
    6_original.jpg
           0 SOI [0]
           0 SOI
           4 APP1 [37930] Exif  II*               &#198;           ▓           ╩
       37936 DQT [132]
        Q0 = 2 2 2 2...7...14
        Q1 = 2 3 3 3...14...14
       38070 Baseline DCT [17] 3264x2448, 8 bit:(C1=2x1,Q0)(C2=1x1,Q1)(C3=1x1,Q1)
       38089 DHT [418]
        DC0: (2: 00)(3: 01 02 03 04 05)(4: 06)(5: 07),1,1,1,1,0,0,0,0,0,0,0
        AC0: (2: 01 02)(3: 03)(4: 00 04 11)(5: 05 12 21),2,4,3,5,5,4,4,0,0,1,125
        DC1: (2: 00 01 02)(3: 03)(4: 04)(5: 05),1,1,1,1,1,1,0,0,0,0,0
        AC1: (2: 00 01)(3: 02)(4: 03 11)(5: 04 05 21 31),4,3,4,7,5,4,4,0,1,2,119
       38509 SOS [12] Coef 0-63, bits 0-0 of (C1 DC0 AC0)(C2 DC1 AC1)(C3 DC1 AC1)
     1867350 EOI [0]
    
     1867802 end of file
    
    7_original.jpg
           0 SOI [0]
           0 SOI
           4 APP0 [16] JFIF ver 1.1 units 1, density 314 by 314
          22 APP13 [80] Photoshop 3.0 8BIM       3  Z   %G         x  OLYM
         104 APP2 [576] ICC_PROFILE      0ADBE    mntrRGB XYZ  ╨       3 ;
         682 APP1 [657] Exif  MM *                             &#229;
        1341 DQT [67]
        Q0 = 2 1 1 2...6...11
        1410 DQT [67]
        Q1 = 2 2 2 3...11...11
        1479 Baseline DCT [17] 3648x2736, 8 bit:(C1=2x2,Q0)(C2=1x1,Q1)(C3=1x1,Q1)
        1498 DHT [31]
        DC0: (2: 00)(3: 01 02 03 04 05)(4: 06)(5: 07),1,1,1,1,0,0,0,0,0,0,0
        1531 DHT [181]
        AC0: (2: 01 02)(3: 03)(4: 00 04 11)(5: 05 12 21),2,4,3,5,5,4,4,0,0,1,125
        1714 DHT [31]
        DC1: (2: 00 01 02)(3: 03)(4: 04)(5: 05),1,1,1,1,1,1,0,0,0,0,0
        1747 DHT [181]
        AC1: (2: 00 01)(3: 02)(4: 03 11)(5: 04 05 21 31),4,3,4,7,5,4,4,0,1,2,119
        1930 SOS [12] Coef 0-63, bits 0-0 of (C1 DC0 AC0)(C2 DC1 AC1)(C3 DC1 AC1)
     3587689 EOI [0]
    
     3587691 end of file
    
    9_original.jpg
           0 SOI [0]
           0 SOI
           4 APP1 [19120] Exif  MM *                 ▓       "   ╚
       19126 APP2 [117] FPXR        &#163; /   E x t e n s i o n   L i s t
       19245 APP2 [427] FPXR         ■*       `aVT┴╬ &#224;S ? &#237;∙[     `aVT┴╬ &#224;
       19674 APP2 [61623] FPXR         ■*      1   └o╨ ╜  `&#249; &#237;&#199;    1   └o╨ ╜
       81299 APP2 [17818] FPXR       ≡&#191;W-Tφ =√?═&#196;≡j≥&#198;√─[ δ)╟≈Dp╚▀&#252;ατ≡ ?╟ k
       99119 APP9 [15571]
      114692 DQT [132]
        Q0 = 5 5 5 5...8...23
        Q1 = 5 5 5 5...8...24
      114826 Baseline DCT [17] 3072x2304, 8 bit:(C1=2x2,Q0)(C2=1x1,Q1)(C3=1x1,Q1)
      114845 DHT [418]
        DC0: (2: 00)(3: 01 02 03 04 05)(4: 06)(5: 07),1,1,1,1,0,0,0,0,0,0,0
        DC1: (2: 00 01 02)(3: 03)(4: 04)(5: 05),1,1,1,1,1,1,0,0,0,0,0
        AC0: (2: 01 02)(3: 03)(4: 00 04 11)(5: 05 12 21),2,4,3,5,5,4,4,0,0,1,125
        AC1: (2: 00 01)(3: 02)(4: 03 11)(5: 04 05 21 31),4,3,4,7,5,4,4,0,1,2,119
      115265 DRI [4] 1728
      115271 SOS [12] Coef 0-63, bits 0-0 of (C1 DC0 AC0)(C2 DC1 AC1)(C3 DC1 AC1)
     1175640 EOI [0]
    
     1175642 end of file
    
    
    C:\tmp\webp-samples>dir
     Volume in drive C is OS
     Volume Serial Number is 66E6-426E
    
     Directory of C:\tmp\webp-samples
    
    10/01/2010  11:27 PM    <DIR>          .
    10/01/2010  11:27 PM    <DIR>          ..
    10/01/2010  11:27 PM             6,148 .DS_Store
    09/30/2010  11:22 AM         1,093,968 10_original.jpg
    09/30/2010  11:21 AM         1,575,804 10_webp.png
    09/30/2010  11:22 AM           136,780 1_original.jpg
    09/30/2010  11:21 AM           576,422 1_webp.png
    09/30/2010  11:22 AM            46,768 3_original.jpg
    09/30/2010  11:21 AM           170,569 3_webp.png
    09/30/2010  11:22 AM           936,605 4_original.jpg
    09/30/2010  11:21 AM         2,707,632 4_webp.png
    09/30/2010  11:22 AM         1,867,802 6_original.jpg
    09/30/2010  11:21 AM         7,734,863 6_webp.png
    09/30/2010  11:22 AM         3,587,691 7_original.jpg
    09/30/2010  11:21 AM        13,722,548 7_webp.png
    09/30/2010  11:22 AM         1,175,642 9_original.jpg
    09/30/2010  11:21 AM         4,819,986 9_webp.png
                  15 File(s)     40,159,228 bytes

  22. #22
    Member Karhunen's Avatar
    Join Date
    Dec 2011
    Location
    USA
    Posts
    91
    Thanks
    2
    Thanked 1 Time in 1 Post
    Here is a rendered wood texture from POV 3.7, which comes up 1.203 ( positive ):Click image for larger version. 

Name:	cedar.png 
Views:	392 
Size:	594.4 KB 
ID:	1997

    The attached POV and Portable aNyMap in zip file below

    Are there settings for the detector that enumerate the regions that flag as compression artifacts?
    Attached Files Attached Files

  23. #23
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts
    You are right, this image is a false positive.
    Hopefully someone will create a better detector. It may be much slower, I'd guess speed is not an issue for the majority of practical applications.

    This newsgroup is dedicated to image compression:
    http://linkedin.com/groups/Image-Compression-3363256

Similar Threads

  1. Open source JPEG compressors
    By inikep in forum Data Compression
    Replies: 8
    Last Post: 22nd October 2011, 01:16
  2. JPEG Compression Test [April 2010]
    By Skymmer in forum Data Compression
    Replies: 18
    Last Post: 7th February 2011, 23:30
  3. JPEG Compression Test [December 2009]
    By Skymmer in forum Data Compression
    Replies: 9
    Last Post: 23rd December 2009, 21:06
  4. New fast open-source paq-based jpeg compressor
    By Bulat Ziganshin in forum Forum Archive
    Replies: 14
    Last Post: 13th September 2007, 14:57
  5. MM type detector
    By Bulat Ziganshin in forum Forum Archive
    Replies: 10
    Last Post: 5th April 2007, 16:32

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •