jpeg格式 - kkl_fly - 网易博客.htm

来自「一个jpeg的解码库」· HTM 代码 · 共 1,051 行 · 第 1/3 页

HTM
1,051
字号
      <P></P>
      <P style="TEXT-INDENT: 2em">Other marker</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">SOI</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFD8</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Start of image</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">EOI</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFD9</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">End of image</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">SOS</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFDA</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Start of scan</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">DQT</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFDB</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Define quantization table(s)</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">DNL</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFDC</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Define number of lines</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">DRI</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFDD</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Define restart interval</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">DHP</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFDE</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Define hierarchical progression</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">EXP</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFDF</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Expand reference image(s) </P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">APPn</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFE0~0xFFEF</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Reserved for application use</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">JPGn</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFF0~0xFFFD</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Reserved for JPEG extension</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">COM</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFFE</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Comment</P></TD></TR>
  <TR>
    <TD vAlign=top colSpan=3>
      <P></P>
      <P style="TEXT-INDENT: 2em">Reserved markers</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">TEM</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFF01</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">For temporary use in arithmetic 
  coding</P></TD></TR>
  <TR>
    <TD vAlign=top width="28%">
      <P></P>
      <P style="TEXT-INDENT: 2em">RES</P></TD>
    <TD vAlign=top width="30%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFF02~0xFFBF</P></TD>
    <TD vAlign=top width="42%">
      <P></P>
      <P style="TEXT-INDENT: 2em">Reserved</P></TD></TR></TBODY></TABLE></P>
<P style="TEXT-INDENT: 2em">JPEG文件由下面的8个部分组成:</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp; (1) 图像开始SOI(Start of Image)标记</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp; (2) APP0标记(Marker)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ① 
APP0长度(length)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ② 
标识符(identifier)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ③ 
版本号(version)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ④ 
X和Y的密度单位(units=0:无单位;units=1:点数/英寸;units=2:点数/厘米)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ⑤ 
X方向像素密度(X density)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ⑥ 
Y方向像素密度(Y density)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ⑦ 
缩略图水平像素数目(thumbnail horizontal pixels)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ⑧ 
缩略图垂直像素数目(thumbnail vertical pixels)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ⑨ 
缩略图RGB位图(thumbnail RGB bitmap)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp; (3) 
APPn标记(Markers),其中n=1~15(任选)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ① 
APPn长度(length)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ② 
由于详细信息(application specific information)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;(4) 一个或者多个量化表DQT(difine 
quantization table)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ① 
量化表长度(quantization table length)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ② 
量化表数目(quantization table number)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ③ 
量化表(quantization table)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;(5) 帧图像开始SOF0(Start of 
Frame)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ① 
帧开始长度(start of frame length)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ② 
精度(precision),每个颜色分量每个像素的位数(bits per pixel per color component)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ③ 
图像高度(image height)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ④ 
图像宽度(image width)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ⑤ 
颜色分量数(number of color components)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ⑥ 
对每个颜色分量(for each component) </P>
<UL>
  <UL>
    <LI>ID 
    <LI>垂直方向的样本因子(vertical sample factor) 
    <LI>水平方向的样本因子(horizontal sample factor) 
    <LI>量化表号(quantization table#) </LI></UL></UL>
<P></P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;(6) 一个或者多个霍夫曼表DHT(Difine 
Huffman Table)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ① 
霍夫曼表的长度(Huffman table length)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ② 
类型、AC或者DC(Type, AC or DC)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ③ 
索引(Index)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ④ 位表(bits 
table)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ⑤ 
值表(value table)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;(7) 扫描开始SOS(Start of 
Scan)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ① 
扫描开始长度(start of scan length)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ② 
颜色分量数(number of color components)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ③ 每个颜色分量 
</P>
<UL>
  <UL>
    <LI>ID 
    <LI>交流系数表号(AC table #) 
    <LI>直流系数表号(DC table #) </LI></UL></UL>
<P></P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ④ 
压缩图像数据(compressed image data)</P>
<P style="TEXT-INDENT: 2em">&nbsp;&nbsp;&nbsp;&nbsp;(8) 图像结束EOI(End of 
Image)</P>
<P style="TEXT-INDENT: 2em">下表表示了APP0域的详细结构。有兴趣可通过UltraEdit或者PC 
TOOLS等工具软件打开一个JPG图像文件,对APP0的结构进行分析和验证。 </P>
<DIR>
<P></P>
<P style="TEXT-INDENT: 2em">JFIF格式中APP0域的详细结构</P></DIR>
<P></P>
<P style="TEXT-INDENT: 2em">
<TABLE borderColor=#000000 cellSpacing=2 cellPadding=1 width=558 border=1>
  <TBODY>
  <TR>
    <TD vAlign=top width="7%">
      <P></P>
      <P style="TEXT-INDENT: 2em">偏移</P></TD>
    <TD vAlign=top width="8%">
      <P></P>
      <P style="TEXT-INDENT: 2em">长度</P></TD>
    <TD vAlign=top width="10%">
      <P></P>
      <P style="TEXT-INDENT: 2em">内容</P></TD>
    <TD vAlign=top width="36%">
      <P></P>
      <P style="TEXT-INDENT: 2em">块的名称</P></TD>
    <TD vAlign=top width="39%">
      <P></P>
      <P style="TEXT-INDENT: 2em">说明</P></TD></TR>
  <TR>
    <TD vAlign=top width="7%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0</P></TD>
    <TD vAlign=top width="8%">
      <P></P>
      <P style="TEXT-INDENT: 2em">2 byte</P></TD>
    <TD vAlign=top width="10%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFD8</P></TD>
    <TD vAlign=top width="36%">
      <P></P>
      <P style="TEXT-INDENT: 2em">(Start of Image,SOI)</P></TD>
    <TD vAlign=top width="39%">
      <P></P>
      <P style="TEXT-INDENT: 2em">图像开始</P></TD></TR>
  <TR>
    <TD vAlign=top width="7%">
      <P></P>
      <P style="TEXT-INDENT: 2em">2</P></TD>
    <TD vAlign=top width="8%">
      <P></P>
      <P style="TEXT-INDENT: 2em">2 byte</P></TD>
    <TD vAlign=top width="10%">
      <P></P>
      <P style="TEXT-INDENT: 2em">0xFFE0</P></TD>
    <TD vAlign=top width="36%">
      <P></P>
      <P style="TEXT-INDENT: 2em">APP0(JFIF application segment)</P></TD>
    <TD vAlign=top width="39%">
      <P></P>
      <P style="TEXT-INDENT: 2em">JFIF应用数据块</P></TD></TR>
  <TR>
    <TD vAlign=top width="7%">
      <P></P>
      <P style="TEXT-INDENT: 2em">4</P></TD>
    <TD vAlign=top width="8%">
      <P></P>
      <P style="TEXT-INDENT: 2em">2 bytes</P></TD>
    <TD vAlign=top width="10%"> </TD>
    <TD vAlign=top width="36%">
      <P></P>
      <P style="TEXT-INDENT: 2em">length of APP0 block</P></TD>
    <TD vAlign=top width="39%">
      <P></P>
      <P style="TEXT-INDENT: 2em">APP0块的长度</P></TD></TR>
  <TR>
    <TD vAlign=top width="7%">
      <P></P>
      <P style="TEXT-INDENT: 2em">6</P></TD>
    <TD vAlign=top width="8%">
      <P></P>
      <P style="TEXT-INDENT: 2em">5 bytes</P></TD>
    <TD vAlign=top width="10%"> </TD>
    <TD vAlign=top width="36%">
      <P></P>
      <P style="TEXT-INDENT: 2em">"JFIF"+"0"</P></TD>
    <TD vAlign=top width="39%">
      <P></P>
      <P style="TEXT-INDENT: 2em">识别APP0标记</P></TD></TR>
  <TR>
    <TD vAlign=top width="7%">
      <P></P>
      <P style="TEXT-INDENT: 2em">11</P></TD>
    <TD vAlign=top width="8%">
      <P></P>
      <P style="TEXT-INDENT: 2em">1 byte</P></TD>
    <TD vAlign=top width="10%"> </TD>
    <TD vAlign=top width="36%">
      <P></P>
      <P style="TEXT-INDENT: 2em">&lt;Major version&gt;</P></TD>
    <TD vAlign=top width="39%">
      <P></P>
      <P style="TEXT-INDENT: 2em">主要版本号(如版本1.02中的1)</P></TD></TR>
  <TR>
    <TD vAlign=top width="7%">
      <P></P>
      <P style="TEXT-INDENT: 2em">12</P></TD>
    <TD vAlign=top width="8%">
      <P></P>
      <P style="TEXT-INDENT: 2em">1 byte</P></TD>
    <TD vAlign=top width="10%"> </TD>
    <TD vAlign=top width="36%">
      <P></P>
      <P style="TEXT-INDENT: 2em">&lt;Minor version&gt;</P></TD>
    <TD vAlign=top width="39%">
      <P></P>
      <P style="TEXT-INDENT: 2em">次要版本号(如版本1.02中的02)</P></TD></TR>
  <TR>
    <TD vAlign=top width="7%">
      <P></P>
      <P style="TEXT-INDENT: 2em">13</P></TD>
    <TD vAlign=top width="8%">
      <P></P>
      <P style="TEXT-INDENT: 2em">1 byte</P></TD>
    <TD vAlign=top width="10%"> </TD>
    <TD vAlign=top width="36%">
      <P></P>
      <P style="TEXT-INDENT: 2em">&lt;Units for the X</P>
      <P style="TEXT-INDENT: 2em">and Y densities&gt;</P></TD>
    <TD vAlign=top width="39%">
      <P></P>
      <P style="TEXT-INDENT: 2em">X和Y的密度单位</P>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?