これは、16 進エディタで JPG ファイルを見たときに、JPG ファイルに見られるいくつかのパターンについての好奇心からの質問です。JPEG ファイル形式に関する質問だと思います。なぜこの部分は他の部分と同じように「ランダム ノイズ」ではないのですか (ハフマン コーディングなど)。
ここに行きます:
この 136 ビット (17 バイト) のパターンは、Adobe Photoshop によって生成されたいくつかの JPG ファイルに表示されます (これらを生成するアプリケーションがPhotoshopだけかどうかはわかりません)。
F7 5E EB DE FD D7 BA F7 BF 75 EE BD EF DD 7B AF 7B
1 つのファイルに複数の場所があり、1 回の反復だけの場合もあれば、8 回または 12 回のように繰り返されて、1088 ビットまたは 1632 ビットのブロックのブロックを構成する場合もあります。正確には、実際には 68 ビットのパターンであり、2 回以上繰り返されます。
F7 5E EB DE FD D7 BA F7 B
11110111010111101110101111011110111111011101011110111010111101111011
AFAIKは、JPGファイル構造について少し読んで、これを16進数で確認して、JPGファイル構造の先頭がFF xxでマークされていることを確認しました。これらの 68 ビット パターンの直前にも直後にも、そのような FF xx 構造体マーカーはありません。
Breakpoint Hex Workshop を使用すると、[データ ビジュアライザー] ウィンドウでこれらのパターンを簡単に見つけることができます。ハフマン ビットストリームの残りの部分は「ノイズ」のように見えますが、突然、明確なパターンを示すブロックが現れます。
また..これがどれほど関連性があるかはわかりませんが..:
以前、CR2 ファイル、つまり Canon RAW ファイルにもこのようなタイプのパターンがあることに気付きました。ただし、ここではパターンははるかに単純な 40 ビットのものでした。
73 9C E7 39 CE
0111 0011 1001 1100 1110 0111 0011 1001 1100 1110
スペースを調整すると、次のようになります。
01110 01110 01110 01110 01110 01110 01110 01110
ご覧のとおり、これは実際には5 ビットの繰り返しパターンであり、CR2 ファイルに出現する場所ごとに数百回繰り返されています。CR2 ファイル形式も圧縮ファイルですが、ロスレスです。もう一度言いますが、私が正しく理解していれば、JPG のハフマン コーディングも一種のロスレス「圧縮」です。
圧縮されたストリームに、「無駄な」ビットのこれらのパターンがあることは非常に奇妙です..
ここに JPG ファイルの 1 つをアップロードしましたhttp://i.imgur.com/t0mi7vo.jpg - これは、フォルダー内のいくつかのファイルの単純なスクリーンショットです。ハフマン コード ビットストリームは、オフセット 0x0000027C から最後まで続きます。たとえば、オフセット 0x0001604A に、繰り返しパターンのインスタンスの 1 つが表示される場合があります。