FANDOM


IE5.5で不具合を引き起こすJPEGInternet Explorer5.5で読み込むと不具合を起こすjpegファイル。

概要編集

MacintoshPhotoshop(7.0以降)、及びPhotoshop Elements(2.0以降)で「別名で保存」で作成されたpsdjpegtiffには「com.apple.print.ticket.creator」という文字列を含む異様に長いxmpメタデータ(7kb程、プロパティリスト?)が付加される(Windows版では付加されない)。この画像を含むページ(画像掲示板ブログのサムネイル画像、TwitterFacebook等のアイコン用画像に多い)をInternet Explorer5.5(Windows)で読み込もうとすると、それ以降、どのページを開いても(再起動するまで)画像が表示されない、という不具合を引き起こす(6.0以降では起きない)。Macintoshに於いても2002年頃の「ビューワ」(Finderの機能の1つ)で正常に表示されない、という不具合が起きる。尚、「Web用に保存」「ImageReadyから保存」を行なうとメタデータが極最小限となる(「Adobe」「Ducky」という文字列を含む短いメタデータ)。

不具合を引き起こすファイルの特徴編集

但し、異様に長いxmpメタデータを含むからと言って全てのファイルが不具合を起こすとは限らない。それぞれのファイルの特徴を示す(異常なファイルは正常なファイルを元にサーバーが作成したものとみられるサムネイル画像)(解析結果はJpegAnalyzer Plus1.42を使用)。

異常なファイル編集

         Analyze Start. File name = ????.jpg
            File Size 21,999 bytes / Address (00000000-000055EE)
            File Path ?:\???\???\

Address  Length Message
00000000 ****** SOI  :Start Of Image ******
00000002 [0010] APP0 :JPEG File Interchange Format Ver 1.1 (JFIF)
                 密度 72:72 dots/inch
00000014 [2F3C] APP13:Photoshop Image Resource Block(IRB)  Count = 20
                 0000237E-00002EDB Thumbnail Block     2,910 bytes
00002F52 [0C70] APP1 :Exchangeable image file format (Exif)
                 00002F64-00002FBD 0th IFD               Tag = 7
                 00002FF8-00003021 Exif IFD              Tag = 3
                 00003024-00003071 1st IFD               Tag = 6
                 00003082-00003BC3 Thumbnail
00003BC4 [1248] APP1 :Adobe XMP metadata packet
00004E0E [0043] DQT  :Define Quantization Table
                 00004E12 QT0-8bit IJG-QT0-75
00004E53 [0043] DQT  :Define Quantization Table
                 00004E57 QT1-8bit IJG-QT1-75
00004E98 [0011] SOF0 :Start Of Frame 0 - Baseline DCT
                 128[0] x 128[0] pixel - 24bit color (YCbCr 4:2:0)
                 ComponentID-01 Y  2x2 QT0
                 ComponentID-02 Cb 1x1 QT1
                 ComponentID-03 Cr 1x1 QT1
00004EAB [001C] DHT  :Define Huffman Table
                 00004EAF HT0-DC   CRC-CFF76D65
00004EC9 [0037] DHT  :Define Huffman Table
                 00004ECD HT0-AC   CRC-BDD4F42C
00004F02 [001B] DHT  :Define Huffman Table
                 00004F06 HT1-DC   CRC-77AFCDEE
00004F1F [0029] DHT  :Define Huffman Table
                 00004F23 HT1-AC   CRC-E2F2737F
00004F4A [000C] SOS  :Start Of Scan 0-63[00]
                 HT Selector[DC/AC] Y[0/0] Cb[1/1] Cr[1/1]
00004F58 ****** Image Data ******
                 Data Size 1,685 bytes
000055ED ****** EOI  :End Of Image   ******


         Analyze End.

正常なファイル編集

         Analyze Start. File name = ????.jpg
            File Size 26,493 bytes / Address (00000000-0000677C)
            File Path ?:\???\???\

Address  Length Message
00000000 ****** SOI  :Start Of Image ******
00000002 [0010] APP0 :JPEG File Interchange Format Ver 1.2 (JFIF)
                 密度 72:72 dots/inch
00000014 [0C70] APP1 :Exchangeable image file format (Exif)
                 00000026-0000007F 0th IFD               Tag = 7
                 000000BA-000000E3 Exif IFD              Tag = 3
                 000000E6-00000133 1st IFD               Tag = 6
                 00000144-00000C85 Thumbnail
00000C86 [2F3C] APP13:Photoshop Image Resource Block(IRB)  Count = 20
                 00002FF0-00003B4D Thumbnail Block     2,910 bytes
00003BC4 [1248] APP1 :Adobe XMP metadata packet
00004E0E [000E] APP14:Adobe segment Ver.100 Flags [80000000]
                 Transform = 1  YCbCr色空間
00004E1E [0084] DQT  :Define Quantization Table 【Photoshop 画質5 小】
                 00004E22 QT0-8bit AdobeQT0-05
                 00004E63 QT1-8bit AdobeQT1-05
00004EA4 [0011] SOF0 :Start Of Frame 0 - Baseline DCT
                 300[4] x 300[4] pixel - 24bit color (YCbCr 4:2:0)
                 ComponentID-01 Y  2x2 QT0
                 ComponentID-02 Cb 1x1 QT1
                 ComponentID-03 Cr 1x1 QT1
00004EB7 [0004] DRI  :Define Restart Interval (MCU blocks=19)
00004EBD [013F] DHT  :Define Huffman Table 【Photoshop 画質3-5(IR11-40)】
                 00004EC1 HT0-DC   PS35輝度DC
                 00004EDE HT1-DC   PS35色差DC
                 00004EFB HT0-AC   PS35輝度AC
                 00004F7E HT1-AC   PS35色差AC
00004FFE [000C] SOS  :Start Of Scan 0-63[00]
                 HT Selector[DC/AC] Y[0/0] Cb[1/1] Cr[1/1]
0000500C ****** Image Data ******
                 Data Size 5,999 bytes
0000677B ****** EOI  :End Of Image   ******


         Analyze End.

メタデータの内容編集

異常・正常・共に同じ(但し異常な方にはAPP14が入らない)

APP1
Exif
Exif Information   Filename = ????.jpg   Filesize = 26,493 bytes
0000001E TIFF header 4D4D002A00000008   big endian (モトローラ)

00000026-0000007F 0th IFD Tag-7    Next IFD 000000E6 (Value-000000C8)
00000028 0112 画像方向                      先頭の行が上、列が左(回転なし)
00000034 011A 画像の幅の解像度              72 
00000040 011B 画像の高さの解像度            72 
0000004C 0128 画像の幅と高さの解像度の単位  インチ(dpi)
00000058 0131 使用ソフトウェア名            Adobe Photoshop 7.0
00000064 0132 ファイル変更日時              20??:??:?? ??:??:??
00000070 8769 Exif IFDへのポインタ          000000BA (Value-0000009C)

000000BA-000000E3 Exif IFD Tag-3
000000BC A001 色空間情報                    sRGB以外
000000C8 A002 実効画像幅                    300
000000D4 A003 実効画像高さ                  300

000000E6-00000133 1st IFD Tag-6
000000E8 0103 圧縮種類                      JPEG圧縮
000000F4 011A 画像の幅の解像度              72 
00000100 011B 画像の高さの解像度            72 
0000010C 0128 画像の幅と高さの解像度の単位  インチ(dpi)
00000118 0201 サムネイルへのポインタ        00000144 (Value-00000126)
00000124 0202 サムネイルのバイト数          2,882 bytes


300x300(1:1)

Exif Information end.
APP13
Photoshop IRB
Photoshop IRB Information   Filename = ????.jpg   Filesize = 26,493 bytes

Address  ID   Len  Message
00000CA4 0425 0010 --- 不明なリソース ---
00000CC0 03EA 1DA6 XMPプリント情報
00002A72 03E9 0078 Macintosh Print Manager 印刷情報
00002AF6 03ED 0010 解像度情報 (72dpi×72dpi)
00002B12 0426 000E --- 不明なリソース ---
00002B2C 040D 0004 Global Angle
00002B3C 0419 0004 Global Altitude
00002B4C 03F3 0009 プリントフラグ (0000 0000 0000 0000 01)
00002B62 040A 0001 著作権フラグ (OFF)
00002B70 2710 000A プリントフラグ情報 (0001 0000 0000 0000 0002)
00002B86 03F5 0048 カラー中間調情報
00002BDA 03F8 0070 カラー変換設定
00002C56 0408 0010 GridGuides情報
00002C72 041E 0004 URLリスト
00002C82 041A 0343 Slices
00002FD2 0411 0001 ICC Untagged
00002FE0 0414 0004 ドキュメントスペックID (00000003)
00002FF0 040C 0B5E サムネイル (kJpegRGB 128x128 0000300C-00003B4D)
00003B5A 0421 0055 バージョン情報 (Version=1 FileVersion=1)
                   Writer = Adobe Photoshop
                   Reader = Adobe Photoshop 7.0
00003BBC 0406 0007 JPEG画質設定 (画質5 標準圧縮)

Photoshop IRB Information end.
APP1
Adobe XMP metadata packet

これは後の方なので不具合の原因にならない(Windows版で作成されたファイルにも入る)

http://ns.adobe.com/xap/1.0/
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?> 
<?adobe-xap-filters esc="CR"?> 
<x:xapmeta xmlns:x="adobe:ns:meta/" x:xaptk="XMP toolkit 2.8.2-33, framework 1.5">
 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:iX="http://ns.adobe.com/iX/1.0/">
  <rdf:Description about="uuid:11b68f84-6ed6-11d8-b06d-d166e9dda74b"
  xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/">
   <xapMM:DocumentID>
    adobe:docid:photoshop:e23922a3-6ed5-11d8-b06d-d166e9dda74b
   </xapMM:DocumentID> 
  </rdf:Description>
 </rdf:RDF>
</x:xapmeta>
<?xpacket end='w'?>
XMPプリント情報

これこそが不具合の原因(Windows版で作成されたファイルには入らない)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>com.apple.print.PageFormat.PMHorizontalRes</key>
 <dict>
  <key>com.apple.print.ticket.creator</key>
  <string>com.apple.printingmanager</string>
  <key>com.apple.print.ticket.itemArray</key>
  <array>
   <dict>
    <key>com.apple.print.PageFormat.PMHorizontalRes</key>
    <real>72</real>
    <key>com.apple.print.ticket.client</key>
    <string>com.apple.printingmanager</string>
    <key>com.apple.print.ticket.modDate</key>
    <date>20??-??-??T??:??:??Z</date>
    <key>com.apple.print.ticket.stateFlag</key>
    <integer>0</integer>
   </dict>
  </array>
 </dict>
~~中略~~
 <key>com.apple.print.ticket.APIVersion</key>
 <string>00.20</string>
 <key>com.apple.print.ticket.privateLock</key>
 <false/>
 <key>com.apple.print.ticket.type</key>
 <string>com.apple.print.PageFormatTicket</string>
</dict>
</plist>

考察編集

上記の様に、APP13:Photoshop IRBの初めの方に「XMPプリント情報」(プロパティリスト?)が収録されてる。正常なファイルではAPP1:Exifの方が先に来る事によって不具合が回避されてるのに対し、異常なファイルではAPP13:Photoshop IRBが先に来る(つまり「XMPプリント情報」がファイルの冒頭付近に来る)事、又、それをIE5.5が解釈しようとする事によって不具合が引き起こされる。又、正常なファイルでは本体イメージデータ部分がAdobe形式なのに対し、異常なファイルでは本体イメージデータ部分がIJG形式である(Adobe形式ではない)事が判る。この事から、正常なファイルはPhotoshop、又はPhotoshop Elementsで作成されたものに対し、異常なファイルは、正常なファイルを元に、Adobe製以外の画像ソフトで作成された、又はサーバーが、送信されたファイルを元に作成したサムネイル・プレビュー画像(作成時にAPP1とAPP13の順番を入れ替え、APP14を削除、それ以外のメタデータを存置)と見られる。

対策編集

送信者側編集

送信者はMacintoshのユーザーと見られるので、HP・ブログ・SNS等で使う画像をPhotoshopPhotoshop Elementsで作成する時には「Web用に保存」を使う事が望ましい。「別名で保存」で作成済みの画像に対してはImageOptim(Macintosh用フリーソフト)を使って、その様なメタデータを削除し、画質を劣化させずに画像データを軽量化・最適化した後、(再度)送信する事が望ましい(gif、pngにも有効)(WindowsではIrfanViewを推奨)。特に、TwitterやFacebook用にPhotoshopPhotoshop Elementsで「別名で保存」で作ったアイコン用画像に対して実行するとデータが驚くほど小さく、軽くなる。デジタルカメラ携帯電話スマートフォンで撮影した画像をPC経由でネットに公開する場合にも、これを使うとデータが若干(サイトが自動作成するサムネイル画像は大幅に)軽くなる。又、メタデータが原因の不具合も回避される。

サーバー側編集

サムネイル画像やプレビュー画像を作成する処理に於いてAPP0:JFIF以外のメタデータを全て削除する事が望ましい。特にサムネイル画像やAPP2:ICC Profileは重い一方でブラウザ(Safari以外)での表示には不要である。

外部リンク編集