📄 jpg.htm
字号:
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>40</FONT></P></TD>
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>44</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>53</FONT></P></TD></TR>
<TR>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>10</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>19</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>23</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>32</FONT></P></TD>
<TD vAlign=top width="11%"><FONT lang=ZH-CN face=宋体>
<P align=center>39</FONT></P></TD>
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>45</FONT></P></TD>
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>52</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>54</FONT></P></TD></TR>
<TR>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>20</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>22</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>33</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>38</FONT></P></TD>
<TD vAlign=top width="11%"><FONT lang=ZH-CN face=宋体>
<P align=center>46</FONT></P></TD>
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>51</FONT></P></TD>
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>55</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>60</FONT></P></TD></TR>
<TR>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>21</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>34</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>37</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>47</FONT></P></TD>
<TD vAlign=top width="11%"><FONT lang=ZH-CN face=宋体>
<P align=center>50</FONT></P></TD>
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>56</FONT></P></TD>
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>59</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>61</FONT></P></TD></TR>
<TR>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>35</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>36</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>48</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>49</FONT></P></TD>
<TD vAlign=top width="11%"><FONT lang=ZH-CN face=宋体>
<P align=center>57</FONT></P></TD>
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>58</FONT></P></TD>
<TD vAlign=top width="12%"><FONT lang=ZH-CN face=宋体>
<P align=center>62</FONT></P></TD>
<TD vAlign=top width="13%"><FONT lang=ZH-CN face=宋体>
<P align=center>63</FONT></P></TD></TR></TBODY></TABLE></CENTER>
<P></P><FONT lang=ZH-CN face=宋体>
<P align=center>图5-18 量化DCT系数的序号</P>
<P> </P></FONT><B><FONT lang=ZH-CN face=宋体 color=#800080>
<P>4. 直流系数的编码</P></B></FONT><FONT lang=ZH-CN face=宋体>
<P>8 <FONT face=Symbol>´</FONT>
8图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8 <FONT face=Symbol>´</FONT>
8图像块的DC系数值变化不大。根据这个特点,JPEG算法使用了差分脉冲调制编码(DPCM)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码,</P><I>
<P align=center>Delta</I>=<I>DC</I>(0, 0)<I><SUB>k</I></SUB>-<I>DC</I>(0,
0)<I><SUB>k</I>-1</SUB> ........ (5-5)</P></FONT><B><FONT lang=ZH-CN
face=宋体 color=#800080>
<P>5. 交流系数的编码</P></B></FONT><FONT lang=ZH-CN face=宋体>
<P>量化AC系数的特点是1 <FONT face=Symbol>´</FONT>
64矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码(RLE)对它们进行编码。</P>
<P>JPEG使用了1个字节的高4位来表示连续“0”的个数,而使用它的低4位来表示编码下一个非“0”系数所需要的位数,跟在它后面的是量化AC系数的数值。</P></FONT><B><FONT
lang=ZH-CN face=宋体 color=#800080>
<P>6. 熵编码</P></B></FONT><FONT lang=ZH-CN face=宋体>
<P>使用熵编码还可以对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。</P>
<P>在JPEG有损压缩算法中,使用霍夫曼编码器来减少熵。使用霍夫曼编码器的理由是可以使用很简单的查表(lookup
table)方法进行编码。压缩数据符号时,霍夫曼编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。这种可变长度的霍夫曼码表可以事先进行定义。</P><B>
<P>[例5.1]
</B>表5-07所示的是DC码表符号举例。如果DC的值(Value)为4,符号SSS用于表达实际值所需要的位数,实际位数就等于3。</P>
<DIR><B>
<P align=center>表5-07 DC码表符号举例</P></DIR></B></FONT>
<P align=center>
<CENTER>
<TABLE borderColor=#000000 cellSpacing=1 cellPadding=1 width=216
border=1><TBODY>
<TR>
<TD vAlign=top width="48%"><FONT lang=ZH-CN face=宋体>
<P align=center>Value</FONT></P></TD>
<TD vAlign=top width="52%"><FONT lang=ZH-CN face=宋体>
<P align=center>SSS</FONT></P></TD></TR>
<TR>
<TD vAlign=top width="48%"><FONT lang=ZH-CN face=宋体>
<P align=center>0</FONT></P></TD>
<TD vAlign=top width="52%"><FONT lang=ZH-CN face=宋体>
<P align=center>0</FONT></P></TD></TR>
<TR>
<TD vAlign=top width="48%"><FONT lang=ZH-CN face=宋体>
<P align=center>-1, 1</FONT></P></TD>
<TD vAlign=top width="52%"><FONT lang=ZH-CN face=宋体>
<P align=center>1</FONT></P></TD></TR>
<TR>
<TD vAlign=top width="48%"><FONT lang=ZH-CN face=宋体>
<P align=center>-3,-2, 2,3</FONT></P></TD>
<TD vAlign=top width="52%"><FONT lang=ZH-CN face=宋体>
<P align=center>2</FONT></P></TD></TR>
<TR>
<TD vAlign=top width="48%"><FONT lang=ZH-CN face=宋体>
<P align=center>-7..-4, 4..7</FONT></P></TD>
<TD vAlign=top width="52%"><FONT lang=ZH-CN face=宋体>
<P align=center>3</FONT></P></TD></TR></TBODY></TABLE></CENTER>
<P></P><B><FONT lang=ZH-CN face=宋体>
<P> </P></FONT><FONT lang=ZH-CN face=宋体 color=#800080>
<P>7. 组成位数据流</P></B></FONT><FONT lang=ZH-CN face=宋体>
<P>JPEG编码的最后一个步骤是把各种标记代码和编码后的图像数据组成一帧一帧的数据,这样做的目的是为了便于传输、存储和译码器进行译码,这样的组织的数据通常称为JPEG位数据流(JPEG
bitstream)。</P></FONT><B><FONT lang=ZH-CN face=宋体 color=#ff0000>
<DIR>
<P>5.7.3 应用JPEG算法举例</P></DIR></B></FONT><FONT lang=ZH-CN face=宋体>
<P>有关JPEG算法更详细的信息和数据,请参看JPEG标准ISO/IEC
10918。下面是使用JPEG算法对一个8×8图像块计算得到的结果。在这个例子中,计算正向离散余弦变换(FDCT)之前对源图像中的每个样本数据减去了128,在逆向离散余弦变换之后对重构图像中的每个样本数据加了128。</P>
<P align=center><IMG height=194 src="JPG.files/imgc5259.gif" width=246>
<IMG height=190 src="JPG.files/imgc5260.gif" width=243></P>
<P align=center><IMG height=172 src="JPG.files/imgc5261.gif" width=288>
<IMG height=173 src="JPG.files/imgc5262.gif" width=221></P>
<P align=center><IMG height=173 src="JPG.files/imgc5263.gif" width=231>
<IMG height=173 src="JPG.files/imgc5263.gif" width=231></P>
<P align=center></P>
<P align=center><IMG height=145 src="JPG.files/imgc5264.gif" width=222>
<IMG height=145 src="JPG.files/imgc5264.gif" width=222></P>
<P align=center></P>
<P align=center>
<HR width="85%">
<P></P>
<P align=center>图5-19 JPEG压缩编码举例</P></FONT></TD></TR>
<TR>
<TD align=middle width="100%"><BR>
<HR width="90%">
<SPAN class=_9pt>CopyRight © Octopus 2000</SPAN>
<BR><BR></TD></TR></TBODY></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -