¡¶¶àýÌå¼¼Êõ¡·ÊµÑéÖ¸µ¼Êé - ͼÎÄ ÏÂÔØ±¾ÎÄ

ʵÑé¶þ JEPG ͼÏñ±àÂë

ʵÑé¶þ JPEG ͼÏñ±àÂë

1£®ÊµÑéÄ¿µÄ

±¾ÊµÑéÖ¼ÔÚÁ˽âĿǰ×îΪ³£ÓÃµÄ JPEG ѹËõËã·¨µÄ¹¤×÷Ô­Àí£¬ÖØµãÊÇ DCT ±ä»»ºÍÁ¿»¯¡£

2£®ÊµÑéÌõ¼þ

£¨1£© ÆÕͨ PC ¼ÆËã»ú £¨2£© MATLAB6.5 £¨3£© ±ê×¼²âÊÔͼÏñ

3£®ÊµÑéÄÚÈÝ

£¨1£© Óà MATLAB Éú³ÉÖ»ÓУ¨0£¬0£©ÏµÊýΪ 1£¬ÆäÓàϵÊý¾ùΪ 0 µÄ 8¡Á8 ¾ØÕ󣬲¢¶Ô¸Ãϵ

Êý¾ØÕó×ö DCT ·´±ä»»£¬²¢ÒÔͼÏñ·½Ê½ÏÔʾ±ä»»ºó¾ØÕó¡£ £¨2£© ¸Ä±äϵÊý 1 µÄλÖã¬Öظ´²½Öè 1£¬¹Û²ìÊä³öͼÏñµÄ±ä»¯Çé¿ö£¬½ø¶øÀí½â DCT ϵÊýµÄ

ÎïÀíº¬Òå¡£ £¨3£© ¸ù¾Ý JPEG ±ê×¼¶Ô±ê×¼²âÊÔͼÏñ×ö DCT ±ä»»£¬²¢¶Ô DCT ϵÊý½øÐÐÁ¿»¯£¨Ñ¡ÔñÁ¿»¯

²½³¤Îª 8£©£»È»ºó×ö·´ÁËÁ¿»¯ºÍ·´±ä»»£¬µÃµ½Öؽ¨Í¼Ïñ£¬±È½ÏԭʼͼÏñºÍÖØ½¨Í¼ÏñµÄ ²î±ð¡£

£¨4£© ¸Ä±äÁ¿»¯²½³¤£¬Öظ´²½Ö裨3£©¹Û²ìÁ¿»¯²½³¤¶ÔͼÏñÖÊÁ¿µÄÓ°Ïì¡£

£¨5£© ÀûÓà MATLAB ×Ô´øµÄ JPEG ѹËõËã·¨£¬¶Ô±ê×¼²âÊÔͼÏñ½øÐÐѹËõ£¬²¢±£´æ±àÂëºóµÄ

JPEG ͼÏñ£¬±È½Ï±àÂëǰºóͼÏñÖÊÁ¿ºÍÎļþ´óСµÄ²î±ð¡£

4£®ÊµÑéÔ­Àí

£¨1£©JPEG-¾²Ö¹Í¼ÏñѹËõ±ê×¼

¶ÔÓÚ¾²Ö¹Í¼Ïñ£¬¹ú¼Ê±ê×¼»¯×éÖ¯ ISO¡¢Ô­À´µÄ¹ú¼Êµç±¨µç»°×ÉѯίԱ»á CCITT£¨ÏÖ¸Ä ÃûΪ ITU-T£©¼°¹ú¼Êµç¹¤Î¯Ô±»á IEC ¹²Í¬×éÖ¯ÁËÒ»¸öͼƬר¼ÒÁªºÏС×飨Joint Photographic Experts Group£©Ñо¿Öƶ©±ê×¼£¬²¢³ÆÖ®Îª JEPG ±ê×¼¡£JEPG ±ê×¼·ÖΪÁ½Àࣺ»ùÓÚ DPCM Óë ìØ±àÂëµÄÎÞÊ§Õæ±àÂëϵͳ£»»ùÓÚÀëÉ¢ÓàÏұ任 DCT µÄÏÞÊ§Õæ±àÂëϵͳ¡£Ç°Õß²»»á²úÉúÊ§Õæ£¬ µ«Ñ¹Ëõ´ËºÜС£»ºóÒ»ÖÖËã·¨½øÐÐͼÏñѹËõÊÇÐÅÏ¢ËäÓÐËðʧµ«Ñ¹Ëõ±È¿ÉÒԺܴó£¬ÀýÈçѹËõ 20 ±¶×óÓÒʱ£¬ÈËÑÛ»ù±¾ÉÏ¿´²»³öÊ§Õæ¡£

±¾ÊµÑéÖÐËùÓõÄÊÇ»ùÓÚÀëÉ¢ÓàÏұ任 DCT µÄ JPEG Ëã·¨£¬¸Ã JPEG Ëã·¨²Ù×÷¿É·Ö³ÉÒÔ ÏÂÈý¸ö²½Ö裺ͨ¹ýÀëÉ¢ÓàÏұ任£¨DCT£©È¥³ýÊý¾ÝÈßÓࣻʹÓÃÁ¿»¯±í¶ÔÒÔ DCT ϵÊý½øÐÐÁ¿ »¯£¬Á¿»¯±íÊǸù¾ÝÈËÀàÊÓ¾õϵͳºÍѹËõͼÏñÀàÐ͵ÄÌØµã½øÐÐÓÅ»¯µÄÁ¿»¯ÏµÊý¾ØÕó£»¶ÔÁ¿»¯ºó µÄ DCT ϵÊý½øÐбàÂëʹÆäìØ´ïµ½×îС£¬ìرàÂë²ÉÓà Huffman ¿É±ä×Ö³¤±àÂë¡£

¾ßÌå¹ý³ÌÈçÏ£º£¨Èçͼ 1 Ëùʾ£©

14

ʵÑé¶þ JEPG ͼÏñ±àÂë

ͼ 1 JPEG Ëã·¨µÄ±à½âÂë¹ý³Ì

ÀëÉ¢ÓàÏұ任£ºJPEG ²ÉÓà 8x8 ×Ó¿éµÄ¶þάÀëÉ¢ÓàÏұ任Ëã·¨¡£ÔÚ±àÂëÆ÷µÄÊäÈë¶Ë£¬°Ñ ԭʼͼÏñ£¨¶Ô²ÊɫͼÏñÊÇÿ¸öÑÕÉ«³É·Ö£©Ë³ÐòµØ·Ö¸î³ÉһϵÁÐ 8x8 µÄ×Ó¿é¡£ÔÚ 8x8 ͼÏñ¿éÖУ¬ ÏñËØÖµÒ»°ã±ä»¯½Ïƽ»º£¬Òò´Ë¾ßÓÐ½ÏµÍµÄ¿Õ¼äÆµÂÊ¡£ÊµÊ©¶þά 8x8 ÀëÉ¢ÓàÏұ任¿ÉÒÔ½«Í¼Ïñ ¿éµÄÄÜÁ¿¼¯ÖÐÔÚ¼«ÉÙÊý¼¸¸öϵÊýÉÏ£¬ÆäËüϵÊýµÄÖµÓëÕâЩϵÊýÏà±È£¬¾ø¶ÔֵҪСµÃ¶à¡£Óë Fourier ±ä»»ÀàËÆ£¬¶ÔÓڸ߶ÈÏà¹ØµÄͼÏñÊý¾Ý½øÐÐÕâÑù±ä»»µÄЧ¹ûʹÄÜÁ¿¸ß¶È¼¯ÖУ¬±ãÓÚºó ÐøµÄѹËõ´¦Àí¡£

Á¿»¯£ºÎªÁ˴ﵽѹËõÊý¾ÝµÄÄ¿µÄ£¬¶Ô DCT ϵÊýÐè×÷Á¿»¯´¦Àí¡£Á¿»¯µÄ×÷ÓÃÊÇÔÚ±£³ÖÒ» ¶¨ÖÊÁ¿Ç°ÌáÏ£¬¶ªÆúͼÏñÖжÔÊÓ¾õЧ¹ûÓ°Ïì²»ÈëµÄÐÅÏ¢¡£Á¿»¯ÊǶà¶ÔÒ»Ó³É䣬ÊÇÔì³É DCT ±àÂëÐÅÏ¢ËðʧµÄ¸ùÔ´¡£JPEG ±ê×¼ÖвÉÓÃÏßÐÔ¾ùÔÈÁ¿»¯Æ÷£¬Á¿»¯¹ý³ÌΪ¶Ô 64 ¸ö DCT ϵÊý³ý ÒÔÁ¿»¯²½³¤²¢ËÄÉáÎåÈëÈ¡Õû£¬Á¿»¯²½³¤ÓÉÁ¿»¯±í¾ö¶¨¡£Á¿»¯±íÔªËØÒò DCT ϵÊýλÖúͲÊÉ« ·ÖÁ¿µÄ²»Í¬¶øÈ¡²»Í¬Öµ¡£Á¿»¯±íΪ 8x8 ¾ØÕó£¬Óë DCT ±ä»»ÏµÊýÒ»Ò»¶ÔÓ¦¡£Á¿»¯±íÒ»°ãÓÉÓà »§¹æ¶¨ JPEG ±ê×¼Öиø³öÁ˲ο¼Öµ£©£¬²¢×÷Ϊ±àÂëÆ÷µÄÒ»¸öÊäÈë¡£Á¿»¯±íÖÐÔªËØÎª 1 µ½ 255 Ö®¼äµÄÈÎÒâÕûÊý£¬ÆäÖµ¹æ¶¨ÁËÆäËù¶ÔÓ¦ DCT ϵÊýµÄÁ¿»¯²½³¤¡£ DCT ±ä»»ÏµÊý³ýÒÔÁ¿»¯±í ÖжÔӦλÖõÄÁ¿»¯²½³¤²¢ºÏÈëСÊý²¿·Öºó¡£¶àÃαäΪÁ㣬´Ó¶ø´ïµ½ÁËѹËõµÄÄ¿µÄ¡£

Óγ̱àÂ룺64 ¸ö±ä»»Êý¾­Á¿»¯ºó£¬×óÉϽÇϵÊýÊÇÖ±Á÷·ÖÁ¿£¨DC ϵÊý£©£¬¼´¿Õ¼äÓòÖÐ 64 ¸öͼÏñ²ÉÑùÖµµÄ¾ùÖµ¡£ÏàÁÚ 8x8 ¿éÖ®¼äµÄ DC ϵÊýÒ»°ãÓкÜÇ¿µÄÏà¹ØÐÔ£¬JPEG ±ê×¼¶Ô DC ϵÊý²ÉÓà DPCM ±àÂ루²î·Ö±àÂ룩·½·¨£¬¼´¶ÔÏàÁÚÏñËØ¿éÖ®¼äµÄ L ϵÊýµÄ²îÖµ½øÐбàÂë¡£ ÆäÓà 63 ¸ö½»Á÷·ÖÁ¿£¨AC ϵÊý£©Ê¹ÓÃÓγ̱àÂ룬´Ó×óÉϽǿªÊ¼ÑضԽÇÏß·½Ïò£¬ÒÔ Z ×ÖÐÎ £¨Zig-Zag£©½øÐÐɨÃèÖ±ÖÁ½áÊø¡£Á¿»¯ºóµÄ AC ϵÊýͨ³£»áÓÐÐí¶àÁãÖµ£¬ÒÔ Z ×ÖÐη¾¶½øÐÐ Óγ̱àÂëÓÐЧµØÔö¼ÓÁËÁ¬Ðø³öÏÖµÄÁãÖµ¸öÊý¡£

ìØ±àÂ룺ΪÁ˽øÒ»²½Ñ¹ËõÊý¾Ý£¬¶Ô DC ÂëºÍ AC Ðг̱àÂëµÄÂë×ÖÔÙ×÷»ùÓÚͳ¼ÆÌØÐÔµÄìØ ±àÂë¡£ JPEG ±ê×¼½¨ÒéʹÓõÄìØ±àÂë·½·¨ÓÐ Huffman ±àÂëºÍ×ÔÊÊÓ¦¶þ½øÖÆËãÊõ±àÂë¡£

£¨2£©DCT ±ä»»Óë·´±ä»»

Ê×ÏȰÑÒ»·ùͼÏñ£¨µ¥É«Í¼ÏñµÄ»Ò¶ÈÖµ»ò²ÊɫͼÏñµÄÁÁ¶È·ÖÁ¿»òÉ«²î·ÖÁ¿Ðźţ©·Ö³É 8¡Á8 µÄ¿é°´Í¼ÖеĿòͼ½øÐÐÀëÉ¢ÓàÏÒÕý±ä»»£¨FDCT£©ºÍÀëÉ¢ÓàÏÒÄæ±ä»»£¨IDCT£©¡£8¡Á8FDCT ºÍ 8¡Á8IDCT Êýѧ¶¨Òå±í´ïʽÈçÏ£º

FDCT£º

? 7 7 ( 2x?? 1) ( 2 y?? 1) ??1 F (u, v)???C (u)C (v)????? cos ?????? f ( x, y)?? cos 16 u??4 16 v???? x??0 y??0 ??

(1)

15

IDCT£º

ʵÑé¶þ JEPG ͼÏñ±àÂë

1?? 7 7 ( 2x?? 1) ( 2 y?? 1) ??

F ( x, y)??????u???? cos ??? C (u)C(v) f (u, v)?? cos 16 ???16 v??4??? u??0 v??0 ??

1 Á½Ê½ÖУ¬ C (u), C (v)???£¬µ± u?? v?? 0 £»

2 C (u), C (v)?? 1 , ÆäËüÇé¿ö

(2)

ÿ¸ö 8¡Á8 ¶þάԭͼÏñ²ÉÑùÊý¾Ý¿é£¬Êµ¼ÊÉÏÊÇ 64 µãÀëÉ¢Ðźţ¬¸ÃÐźÅÊǿռä¶þά²ÎÊý x ºÍ y µÄº¯Êý¡£fdct °ÑÕâЩÐźÅ×÷ΪÊäÈ룬Ȼºó°ÑËü·Ö½â³É 64 ¸öÕý½»»ùÐźţ¬Ã¿¸öÕý½»»ùÐÅ ºÅ¶ÔÓ¦ÓÚ 64 ¸ö¶þά£¨2d£©¿Õ¼äƵÂÊÖеÄÒ»¸ö£¬ÕâЩ¿Õ¼äƵÂÊÊÇÓÉÊäÈëÐÅºÅµÄÆµÆ××é³É¡£fdct µÄÊä³öÊÇ 64 ¸ö»ùÐźŵķùÖµ£¨¼´ dct ϵÊý£©£¬Ã¿¸öϵÊýÖµÓÉ 64 µãÊäÈëÐźÅΨһµØÈ·¶¨£¬¼´ ÀëÉ¢ÓàÏұ任µÄ±ä»»ÏµÊý¡£ÔÚÆµÓòÆ½ÃæÉϱ任ϵÊýÊǶþάƵÓò±äÁ¿ u ºÍ v µÄº¯Êý¡£¶ÔÓ¦ÓÚ u=0,v=0 µÄϵÊý£¬³Æ×öÖ±Á÷·ÖÁ¿£¨dc ϵÊý£©£¬ÆäÓà 63 ¸öϵÊý³Æ×ö½»Á÷·ÖÁ¿£¨ac ϵÊý£©¡£ÒòΪ ÔÚÒ»·ùͼÏñÖÐÏñËØÖ®¼äµÄ»Ò¶È»òÉ«²îÐźű仯»ºÂý£¬ÔÚ 8¡Á8 ×Ó¿éÖÐÏñËØÕâ¼äÏà¹ØÐÔºÜÇ¿£¬ ËùÒÔͨ¹ýÀëÉ¢ÓàÏÒÕý±ä»»´¦Àíºó£¬ÔÚ¿Õ¼äÆµÂÊµÍÆµ·¶Î§ÄÚ¼¯ÖÐÁËÊýÖµ´óµÄϵÊý£¬ÕâÑùΪÊý¾Ý

ѹËõÌṩÁË¿ÉÄÜ¡£

5£®ÊµÑé²½Öè¼°½á¹û

£¨1£© Óà MATLAB Éú³ÉÖ»ÓУ¨0£¬0£©ÏµÊýΪ 1£¬ÆäÓàϵÊý¾ùΪ 0 µÄ 8¡Á8 ¾ØÕ󣬲¢¶Ô¸Ãϵ

Êý¾ØÕó×ö DCT ·´±ä»»£¬²¢ÒÔͼÏñ·½Ê½ÏÔʾ±ä»»ºó¾ØÕó¡£

±¾ÊµÑéµÄ matlab Ô´´úÂëÈçÏ£º T = dctmtx(8); I1

=[1

0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0];

I2 = blkproc(I1,[8 8],'P1*x*P2',T',T); I3 = imresize(I1,16); I4 = imresize(I2,16); figure

subplot(2,1,1); imshow(I3); subplot(2,1,2); imshow(I4,[]);

ÔËÐнá¹ûÈçÏÂËùʾ£¨×óͼÒÔºÚ°×ÏÔʾԭ¾ØÕó£¬ÓÒͼÒÔ»Ò¶ÈÏÔʾ±ä»»ºó¾ØÕ󣩣º

16

ʵÑé¶þ JEPG ͼÏñ±àÂë

ͼ 2

£¨2£© ¸Ä±äϵÊý 1 µÄλÖã¬Öظ´²½Öè 1£¬¹Û²ìÊä³öͼÏñµÄ±ä»¯Çé¿ö£¬½ø¶øÀí½â DCT ϵÊýµÄ

ÎïÀíº¬Òå¡£

¸Ä±äÔ­¾ØÕóÖÐ 1 µÄλÖã¬Áî I1

= [0 0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0 1

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0];

0 0 0 0

¾Í¿ÉµÃµ½ÈçϵĽá¹û£º

ͼ 3

ͬÑùµÄ£¬Èô I1

= [0

0

0

0

0

0

0

0

17