JPEGѹËõ¸ñʽÊÇĿǰͼÏñ´¦ÀíÁìÓòÀïÃæÓõÃ×î¹ã·ºµÄÒ»ÖÖͼÏñѹËõ·½Ê½£¬ËüµÄʵÏÖÖ÷Òª·Ö³ÉËĸö²½Ö裺 1£®ÑÕɫģʽת»»¼°²ÉÑù£» 2£®DCT±ä»»£¨ÀëÉ¢ÓàÏұ任£©£» 3£®Á¿»¯£» 4£®±àÂ루ÓÐËãÊõ±àÂëºÍ»ô·òÂü±àÂëÁ½ÖÖ£¬ÕâÀï²ÉÓûô·òÂü±àÂ룩£¬ÓÃVBÓïÑÔ±à³ÌʵÏÖÒÔÉÏËĸö²½Ö裬¼´Íê³ÉÁËJPEGѹËõ¹ý³Ì£¬ÕâÀï¼ÙÉè¸ø¶¨µÄԴͼÏñÊÇÒ»·ù24λÕæ²ÊÉ«µÄBMPͼÏñ¡£ Ò»¡¢ÑÕɫת»»¼°²ÉÑù 1£®ÑÕɫת»»£º¶ÔBMPͼÏñÖеÄÑÕÉ«Êý¾Ý½øÐÐÓÉRGBÒ»YCbCrµÄת»»£¬Y±íʾÁÁ¶È£¬CbCr·Ö±ð±íʾÀ¶É«¶ÈºÍºìÉ«¶È¡£ ת»»¹«Ê½£º Y=0.2990R+0.5870G+0.1140B Cb=-0.1687R-0.3313G+0.5000B Cr=0.5000R-0.4187G-0.0813B ÕâÑùת»»ÒÔºó¾ÍµÃµ½Èý¸öеĻùÉ«Öµ£¬¶ÔÕâÈý¸ö»ùÉ«ÖµÀ´½²£¬¶¼¿ÉÒÔµ±×÷Ò» ¸ö¶ÀÁ¢µÄͼÏñƽÃæÀ´½øÐÐѹËõ±àÂë¡£ 2£®²ÉÑù£ºÑÕɫת»»ºó£¬±£ÁôÿһµãµÄÁÁ¶ÈÖµY¶øÉ«¶ÈÖµCb£¬CrÔòÊÇÿÁ½µã±£ÁôÒ»µã£¬ÔÚͼÏñµÄÐкÍÁз½ÏòÉ϶¼¿ÉÖ´ÐÐÑÕÉ«²ÉÑù£¬ÕâÀï²ÉÓõIJÉÑù±ÈÊÇÐÐÁз½Ïò¶¼ÊÇ2:1:1£¬ÔÚÐз½Ïò£¬Ã¿Á½µã±£ÁôÒ»µã£¬Áз½ÏòÒ²ÊÇÿÁ½µã±£ÁôÒ»µã£¬ÕâÑùÈç¹û¼ÙÉèÔÀ´µÄCbCr¾ØÕó´óСΪM*S£¬Ôò¾¹ý2:1:1³éÑùÖ®ºó³ÉÁËM/2*s/2£½1/4M*S£¬Ö»ÓÐÔÀ´µÄ1/4ÁË£¬Í¼Ïñ´ó´óËõС£¬Èç¹ûÏë¼õСͼÏñµÄʧÕæ¶È£¬Ôò¿ÉÐз½Ïò²»³éÑù»òÁз½Ïò²»³éÑù¡£ ³ÌÐòʵÏÖ£º 1£®¶ÁÈ¡BMPͼÏñÐÅÏ¢£¬»ñȡͼÏñÐÐÏñËغÍÁÐÏñËØÊýÖµ£¬ÔÚBMPͼÏñÖУ¬Í¼ÏñÊý¾ÝÊÇÒÔµ¹Ðò´æ·ÅµÄ¡£Ò༴ʵ¼ÊͼÏñµÚÒ»ÐÐ×ÊÁÏ´æ·ÅÔÚBMPͼÏñÊý¾Ý¾ØÕóµÄ×îºóÒ»ÐУ¬ÒÀ´ÎÀàÍÆ£¬ËùÒÔÈ¡×ÊÁϵÄʱºòÒª´ÓBMPͼÏñÊý¾Ý¾ØÕóµÄ×îºóÒ»ÐпªÊ¼¶ÁÆ𣬰ÑÊý¾Ý´æ·ÅÔÚн¨Êý×é(»ò³Æ¾ØÕó)µÄµÚÒ»ÐУ¬Ò»Ö±È¡Íê¡£BMPͼÏñÐÐÏñËغÍÁÐÏñËصÄÊýÖµ·Ö±ð´æÓÚÎļþÍ·ÐÅÏ¢µÄµÚ18ºÍ22×Ö½Ú¡£ÓÃGetÓï¾ä¿ÉµÃµ½Pwidth(ͼÏñ¿í¶È)ºÍPhight(ͼÏñ¸ß¶È)µÄÊýÖµ¡£ 2£®µÃµ½Pwidth*Phightºó±ãµÃÖªBMPͼÏñµÄÏñËصã´óС£¬¶øÊý¾Ý¾ØÕó£¨Èý»ùÉ«£¬RGB¾ØÕ󣩵ĴóСÊÇPwidth*Phight*3£¬ÒòΪÿһ¸öÏñËص㶼º¬ÓÐRGBÈý¸öÊý¾Ý£¬ÎÒÃÇÒª´¦ÀíµÄÊÇÊý¾Ý¾ØÕó¶ø²»ÊÇÏñËصã¾ØÕó¡£ËùÒÔ£¬Ð½¨Êý×éµÄ´óСÊÇ(Pwidth*3)*Phight¡£ ÔÚBMPͼÏñÊý¾Ý¾ØÕóÖУ¬ÈýÔÉ«RGBµÄÅÅÁÐ˳ÐòÊÇÕâÑùµÄ£º B. G. R. B. G. R...........R B. G. R....................R B........ . . B. G. R....................R ½ÓÏÂÀ´£¬°ÑÕâÒ»¸ö¾ØÕó(°üº¬BGR)²ð·Ö³ÉÈý¸ö¶ÀÁ¢µÄB¡¢G¡¢R¾ØÕ󣬵õ½Èý¸öеľØÕó(Ö»°üº¬BµÄ¾ØÕó£¬Ö»°üº¬GµÄ¾ØÕó£¬Ö»°üº¬RµÄ¾ØÕó)£¬¼ò³ÆΪB¾ØÕó¡¢G¾ØÕó¡¢R¾ØÕó(´óСΪPwidth*Phight)£¬ÓóÌÐòʵÏÖ²ð·Ö£¬Ö»ÒªÒÀ´ÎÈ¡Ô¾ØÕóµÄµÚ1¡¢4¡¢7¡¢10¡¢13......¸ö×ÊÁϼ´µÃµ½B¾ØÕó£¬ÒÀ´Î¶ÁÈ¡µÚ2¡¢5¡¢8¡¢11......¸öÊý¾Ý¼´µÃµ½G¾ØÕó£¬ÒÀ´Î¶ÁµÚ3¡¢6¡¢9¡¢12......¸ö×ÊÁϼ´µÃµ½R¾ØÕó¡£ µÃµ½B¡¢G¡¢R¾ØÕóºóÔÙÀûÓÃÑÕɫת»»¹«Ê½ºÜÈÝÒ׾Ϳɵõ½YCbCr¾ØÕó¡£ Y(n)=0.114B(n)+0.587G(n)+0.299R(n) Cb(n)=0.5B(n)-0.3313G(n)-0.1687R(n) Cr(n)=0.0813B(n)-0.14187G(n)+0.5R(n) (For n=1 To PW*PH) ÆäÖÐPWΪPwidthµÄ¼òд£¬PHΪPhightµÄ¼òд¡£ µÃY¡¢Cb¡¢Cr¾ØÕóºó£¬ÏÈÅжÏÒ»ÏÂÈý¸ö¾ØÕóµÄÐÐÊýºÍÁÐÊýÊÇ·ñ¶¼±»16Õû³ý£¬ Èç¹û²»ÄÜÔòÒÔ×îºóÒ»ÐлòÒ»ÁеÄ×ÊÁÏÌî³äµ½Äܱ»16Õû³ýΪֹ£¬ËùÐèÌî³äµÄÊýÄ¿ Ϊ£ºÐз½Ïò£º16-(Pwidth mod 16) Áз½Ïò£º16-(Phight mod 16) Ìî³äÒÔºóYCbCr¾ØÕóµÄ´óС³ÉΪM*S£¬ÆäÖУ¬ÉèM=Pwidth+16-(Pwidth mod 16);S=Phight+16-(Phight mod 16)¡£ 3¡¢³éÑù£ºY¾ØÕ󲻶¯£¬CbCr¾ØÕóÐÐÁз½ÏòÉÏÏàÁÚÁ½µãÖ»±£ÁôÒ»µãµÄ×ÊÁÏÖµ (Ö»ÒªÔÚÆäÐз½ÏòÈ¡µÚ1¡¢3¡¢5¡¢7......¸öÊýÖµ£¬Áз½ÏòҲȡ1¡¢3¡¢5¡¢7...... ¸ö×ÊÁϼ´¿ÉÍê³É2:1:1²ÉÑù),ÐС¢Áз½Ïò¶¼½øÐÐ2:1:1³éÑùºóµÄCb¡¢Cr¾ØÕó´óС ±ä³ÉÔÀ´µÄ1/4(M/2*S/2)¡£ ÏÖÔڵĽá¹ûÊÇY¾ØÕó´óСΪM*S£¬Cb,CrΪM/2*S/2£¬ÖÁ´ËÒѾÍê³ÉÁËÑÕɫת»»¼°²ÉÑù£¬½ÓÏÂÀ´×öµÚ¶þ²½--DCT±ä»»¡£ ¶þ¡¢DCT±ä»» ÔÚDCT±ä»»Ö®Ç°µÃ×öһЩ׼±¸¹¤×÷£¬ÓÉÓÚDCT±ä»»Ò»´ÎÖ»ÄÜ×ö64¸ö×ÊÁÏ¡£Òò´Ë£¬Ê×ÏȵðÑY¡¢Cb¡¢Cr¾ØÕó·Ö³ÉÒ»¸ö8*8µÄС¿é£»Æä´Î£¬ÓÉÓÚÀëÉ¢ÓàÏұ任¹«Ê½ËùÄܽÓÊܵÄÊýÖµ·¶Î§ÊÇ-128ÖÁ127Ö®¼ä£¬Òò´Ë»¹µÃ°ÑY¡¢Cb¡¢Cr¾ØÕóÖеÄÿ¸ö×ÊÁϼõÈ¥128¡£ ·Ö¿éÊÇÒ»Ïî±È½Ï·³ËöµÄ¹¤×÷£¬ÓÈÆäÊǶÔÓÚY¾ØÕó£¬Cb¡¢Cr¾ØÕóºÃ°ì£¬Ö±½Ó °´Ë³Ðò·Ö³É8*8¿é¾Í¿ÉÒÔÁË£¬¶øY¿éΪÁ˱£Ö¤4¸ö8*8Y¿é¶ÔÓ¦Ò»¸ö8*8Cb¿éºÍÒ»¸ö8*8Cr¿é£¬²»Ö´òÂÒ˳Ðò£¬µÃÏÈ°ÑY¾ØÕó·Ö³ÉÒ»¸ö¸ö16*16µÄ¿é£¬ÕâÑùµÃµ½Ò»¸ö16*16Y¿é¶ÔÓ¦Ò»¸ö8*8Cb¿éºÍÒ»¸ö8*8Cr¿é£¬È»ºóÔÙ°Ñÿһ¸ö16*16¿é·Ö³ÉËĸö8*8С¿é£¬Í¼±êÈçÏ£º ÉÏͼÖÐÿһ¸ö±êÓÐÊý×ÖµÄС¿é±íʾһ¸ö8*8¿é£¬Ð¡¿éÖеÄÊý×Ö±íʾ·Ö¿éÒÔ ºó£¬¸Ã8*8С¿éÔÚ¾ØÕóÖеÄλÖÃ˳Ðò¡£ ¶þάDCT±ä»»¹«Ê½Îª£º ÆäÖÐx,y´ú±íͼÏñÊý¾Ý¾ØÕóÖеÄij¸ö×ÊÁÏÖµµÄ×ø±êλÖà f(x,y)ָͼÏñÊý¾Ý¾ØÕóÖиõãµÄ×ÊÁÏÖµ u,vÖ¸¾¹ýDCT±ä»»ºó¾ØÕóÖеÄijÊýÖµµãµÄ×ø±êλÖã¬ÔÚÕâÀïu=x,v=y F(u,v)Ö¸¾¹ýDCT±ä»»ºó¸Ã×ø±êµãµÄ×ÊÁÏÖµ¡£ µ±u=0,v=0ʱ£¬C(u)C(v)=1.414/2 µ±u>0,v>0ʱ£¬C(u)C(v)=1,¾¹ý±ä»»ºóµÄÊý¾ÝÖµF(u,v)³ÆΪƵÂÊϵÊý(»ò ³ÆDFTϵÊý)¡£ ÓÉÓÚVB»ã±àÖж¼ÎÞ·¨ÊµÏÖ¶þάDCT¼ÆË㹫ʽ£¬ËùÒÔÖ»ÓаѶþάµÄ±ä»»±ä ³ÉÏÈ×öһά£¬ÔÙ×öÁíһάµÄ±ä»»£¬Ò»Î¬DCT±ä»»¹«Ê½¼û¸½Í¼Ò»¡£ ÔÚÎҵijÌÐòÖУ¬ÉèÒ»¸ö´óСΪ8µÄÊý×éSL(8),ÔªËؼÆÊý´Ó1¿ªÊ¼£¬¶ø²»ÊÇͨ³£µÄ0¿ªÊ¼£¬ÏȶÁÈ¡Ò»¸ö8*8¿éµÄµÚÒ»ÐÐ×ÊÁÏÖµ£¬¸³¸øSL(8),¶ÔSL(8)½øÐÐһάDCT±ä»»ºóµÃµ½Ò»¸öеÄSL(8)Êý×飬ÔÙ°ÑSL(8)Êý×鸲¸Çµ½ÔÀ´µÄ8*8¿éÖÐÏàÓ¦µÄµØ·½È¥¡£×öÍêµÚÒ»ÐкóÔÙ×öµÚ¶þÐУ¬Ò»Ö±×öÍê8ÐУ¬Ò»¸ö8*8¿éµÄһάDC¼´¸æÍê³É£¬È»ºóÔÙ×öÁз½ÏòµÄµÚ¶þάDCT±ä»»£¬±ä»»¹«Ê½Ò»Ñù£¬Ö»ÊÇÓÉSL(8)È¡8*8¿éµÄÐÐ×ÊÁϱä³ÉÈ¡ÁÐÊýÖµ¡£×öÍêºó¸²¸Ç»ØÔÖµ£¬¼´µÃµ½Ò»¸ö8*8¿éµÄDFTϵÊý¿é£¬ÔÙÖظ´ÕâÁ½¸ö¹ý³Ì×öµÚ¶þ¸ö8*8¿é......Ò»Ö±µ½×öÍêÈ«²¿8*8¿é£¨Y£¬Cb£¬Cr£©¡£ÕâÑù¾ÍµÃµ½Y¡¢Cb¡¢CrµÄDFTϵÊý¾ØÕó£¬Òª×öµ½DCTϵÊý¾ØÕ󻹵ðÑDFTϵÊý¾ØÕóÒÔÒ»¸öϵÊý¾ØÕó£¬Y¾ØÕóÓÃÒ»¸öϵÊý¾ØÕó£¬Cb¡¢CrºÏÓÃÁíÒ»¸öϵÊý¾ØÕó£¬ÕâÁ½¸öϵÊý¾ØÕó¼û¸½Â¼¶þ£¬ÕâÁ½¸öϵÊý¾ØÕó¿ÉÒÔÖ±½ÓµÃµ½µÚÈý²½µÄÁ¿»¯½á¹û¡£ Èý¡¢Á¿»¯ ±¾À´£¬µÚ¶þ²½Öè×îºóµÃµ½µÄDFTϵÊý¾ØÕ󣬳ËÒÔÒ»¸ö¸ø¶¨µÄϵÊý¾ØÕóµÃµ½DCTϵÊý¾ØÕó£¬DCTϵÊý¾ØÕóÔÙ³ýÒÔÒ»¸öÁ¿»¯¾ØÕóµÃµ½Á¿»¯ºóµÄDCTϵÊý¾ØÕ󣬶øÎÒÃÇ°ÑÕâÁ½²½ºÏ³ÉÒ»²½À´×ö£¬¼´ÓÉϵÊý¾ØÕóºÍÁ¿»¯¾ØÕóµÃµ½Ò»¸öеÄϵÊý¾ØÕó£¬Ò༴¸½Â¼ËùÁеľØÕó£¬ÕâÑù£¬°ÑDFTϵÊýÊý¾ØÕó³ËÒÔеÄϵÊý¾ØÕó¾ÍÖ±½ÓµÃµ½Á¿»¯ºóµÄDCT¾ØÕó¡£ Á¿»¯¹ý³ÌʵÖÊÉÏÊÇ°ÑÁÁ¶È×ÊÁϺÍÉ«¶È×ÊÁÏÓÉÊÒÓòת±ä³ÉƵÓò²¢Â˳ý¸ßƵ·ÖÁ¿µÄ¹ý³Ì£¬ÓÉÓÚÈËÑÛ¶Ô¸ßƵ·ÖÁ¿²»Ãô¸Ð£¬ËùÒÔ¿ÉÒÔÂ˳ý¸ßƵ·ÖÁ¿£¬¾¹ýÁ¿»¯ÒÔºóµÄÿһ¸ö8*8Êý¾Ý¿éÖУ¬µÚÒ»¸öÔªËØÊý¾ÝֵΪֱÁ÷·ÖÁ¿£¬³ÆΪDC£¬ÆäÓà63¸ö×ÊÁÏΪ½»Á÷·ÖÁ¿£¬³ÆΪAC¡£ ÓóÌÐòʵÏÖÁ¿»¯¹ý³Ì£¬³ýÁËϵÊý¾ØÕóµÄÍÆËã±È½ÏÂé·³Ö®Í⣬ÆäÓàµÄ¶¼±È½Ï¼ò µ¥£¬¶ÁÈ¡Y¾ØÕóÖеÚÒ»¸ö8%¿é£¬ÓëÁ¿»¯ÏµÊý¾ØÕóÖжÔÓ¦µÄÏà³Ë£¬µÃµ½µÄÖµ¸²¸Ç»ØÔ¾ØÕó£¬È»ºó×öµÚ¶þ¸ö8*8¿é£¬Ò»Ö±µ½×öÍêÈ«²¿8*8¿é£¬È»ºó×öCbCr¾ØÕóµÄÁ¿»¯£¬ÓÃÁíÍâÒ»¸öϵÊý¾ØÕó¡£ ¾¹ýÁ¿»¯ºóµÄDCTϵÊý¾ØÕ󣬳ýDCÖµÒ»°ã²»ÎªÁãÍ⣬ACϵÊý´ó¶àÊÇÔÚÁãµã¸½½üµÄ¸¡µãÊý¡£ ÓÉÓÚ»ô·òÂü±àÂëµÄ¶ÔÏóÊÇÕûÊý£¬ËùÒÔÔÚ×ö»ô·òÂü±àÂë֮ǰ£¬»¹µÃ¶ÔÁ¿»¯ºóµÄ DCTϵÊý¾ØÕó½øÐÐÈ¡Õû¡£ ÀûÓÃVBÖеÄIntº¯Êý¿ÉÒÔʵÏÖµÄYcbCrµÄDCTÁ¿»¯ºóϵÊý¾æÕó½øÐÐÈ¡Õû¡£ ¾¹ýÈ¡ÕûÒÔºó£¬Ã¿Ò»¸ö8*8¿éÖУ¬ÓдóÁ¿µÄACϵÊýµÄֵΪ0¡£ÎªÁ˰Ѿ¡¿ÉÄܶàµÄÆäֵΪ0µÄACϵÊý´®ÔÚÒ»Æð£¬ÒÔÀûÓÚµÚËIJ½µÄAC±àÂë¼°Ìá¸ßѹËõ±È£¬»¹±ØÐë°ÑYcbCr¾ØÕóÖеÄÿһ¸ö8*8¿éÖеÄ64¸öÔªËؽøÐÐ"Ö®"×ÖÐÎÅÅÐò£¨ÕâÑù¾Í¿ÉÒÔ×öµ½°Ñ¾¡¿ÉÄܶàµÄ0´®ÔÚÒ»Æ𣩣¬Æä¹ý³ÌʾÒâͼÈçÏ£º¼ÙÉèSB£¨1£©-SB£¨64£©ÎªÒ»¸ö8*8¿éÖеÄ64¸öÔªËØ£¬ÔªËØλÖüÆÊý´Ó1¿ªÊ¼£º ¼ýÍ··½Ïò±íʾ"Ö®"×ÖÐÎÅÅÐòÒÔºóÔ8%ÖÐÔªËصÄеÄλÖÃ˳Ðò¡£Ò༴¾¹ý "Ö®"×ÖÐÎÅÅÐòÒÔÏ£¬ÐµÄ8*8¿éÖеÄÔªËØÖµÈçÏ£ºµÈʽ×ó±ß±íʾԪËØλÖ㬵ÈʽÓұ߱íʾԪËØֵΪÅÅÐò֮ǰijλÖÃÖеÄÔªËØÖµ£ºÈçSB£¨15£©£½SB£¨5£©£¬Ôò×ó±ß±íʾÅÅÐòºóµÄ8*8¿éÖеÚ15¸öÔªËصÄÖµµÈÓÚÅÅÐò֮ǰµÚ5¸öÔªËصÄÖµ¡£ SB(1)=SB(1) SB(2)=SB(2) SB(3)=SB(9) SB(4)=SB(17) SB(5)=SB(10) SB(6)=SB(3) SB(7)=SB(4) SB(8)=SB(11) SB(9)=SB(18) SB(10)=SB(25) SB(11)=SB(33) SB(12)=SB(26) SB(13)=SB(19) SB(14)=SB(12) SB(15)=SB(5) SB(12)=SB(6) ...... SB(61)=SB(48) SB(62)=SB(56) SB(63)=SB(63) SB(64)=SB(64) ÓóÌÐòʵÏÖ£ºÔÙпªÒ»¸ö´óСΪ64µÄÊý×éSC£¬°ÑSBµÄÖµ¸³¸øSC£¬ÔÙ°ÑÒÔÉϵÈʽÓұߵÄSB»»³ÉSC¼´¿É¡£ÀýÈçSB£¨15£©£½CB£¨5£©»»³ÉSB£¨15£©£½SC£¨5£©¡£»»ÍêÒÔºó¼´Íê³ÉÒ»¸ö8*8¿éµÄÖ®×ÖÐα任£¬ÕâÀïΪʲôҪпªÒ»¸öÊý×éSCÄØ£¿ÕâÊÇÒòΪ£ºÀýÈç°ÑSB£¨9£©µÄÖµ¸³¸øÅÅÐòºóµÄSB£¨3£©£¬ÔòSB(3)µÄÖµ¾Í±»SB(9)µÄÖµ¸²¸ÇµôÁË£¬µ½ºóÃæÐè°ÑSB (3)µÄÖµ¸³¸øSB(6)£¬Èç¹û²»Ð¿ªÒ»¸öÊý×é±£ÁôÔªËصÄÔÀ´µÄÖµ£¬Ôò¸³¸øSB£¨6£©µÄ¾Í³ÉÁËÊÇSB£¨9£©µÄÖµ¶ø²»ÊÇSB£¨3£©µÄÖµ£¬¹ÊҪпªÒ»¸öÊý×éµÄ±£Áô8*8¿éÖеÄÔÖµ¡£ Íê³É"Ö®"×ÖÐÎÅÅÐòÖ®ºó£¬¾Í¿ªÊ¼×öµÚËIJ½¹¤×÷£º»ô·òÂü±àÂë¡£ ËÄ¡¢»ô·òÂü±àÂë Ç°Ãæ˵µ½±ä»»ºóµÄÒ»¸ö8*8ƵÂÊϵÊý¾ØÕóÓÉÒ»¸öDCÖµºÍ63¸öACÖµ¹¹³É£¬±àÂëʱ¶ÔDCÖµºÍACÖµÓò»Í¬µÄ»ô·òÂü±àÂë±í£¬¶ÔÁÁ¶ÈºÍÉ«¶ÈÒ²ÐèÓò»Í¬µÄ»ô·òÂü±àÂë±í£¬ËùÒÔ±ØÐëʹÓÃËÄÕŲ»Í¬µÄ»ô·òÂü±àÂë±í£¬²ÅÄÜÍê³ÉJPEG±àÂë¡£ DC±àÂ룺ÔÚ×öDC±àÂë֮ǰ£¬»¹±ØÐë¶ÔDCÖµ½øÐÐÂö³å²îÖµÔËË㣬¾ßÌå×ö·¨ÊÇÔÚY¡¢Cb¡¢CrƵÂÊϵÊý¾ØÕóÖУ¬ºóÒ»¸ö8*8¿éµÄDCÖµ¼õȥǰһ¸ö8*8¿éµÄDC×÷ΪºóÒ»¸ö8*8¿éеÄDCÖµ£¬²¢±£ÁôºóÒ»¸ö8*8¿éµÄDCÔÖµ£¬ÓÃÓÚºóÒ»¸ö8*8¿éµÄ²îÖµDCÔËË㣬Ò༴ÿ´ÎºóÒ»¸ö8*8¿éµÄDCÖµ¼õÈ¥µÄÊǵÚÒ»¸ö8*8¿éµÄÔÀ´DCÖµ£¬¶ø²»ÊǾÔËËãºóµÄ²îÖµ¡£ DC±àÂ룽»ô·òÂüʶ±ðÂ루»ò³Æ±êÖ¾Â룩£«DC²îÖµ¶þ½øÖÆ´úÂë ÏÂÃæ¸ø³öY¡¢CbCr¾ØÕóµÄDC²îÖµ»ô·òÂü±àÂë±í¡£ ¾ÙÀý£ºÀýÈçY¾ØÕóÖÐÒ»¸ö8*8¿éµÄDCÖµ=10£¬¶þ½øÖÆֵΪ1010£¬Â볤Ϊ4£¬²éµÚÒ»ÕűíµÃ»ô·òÂüʶ±ð³¤Îª3£¬Ê¶±ðÂëΪ101£¬ÔòÆä»ô·òÂü±àÂëΪ1011010£¬ ¸ºÊýµÄ±àÂëÊÇÈ¡Æä¾ø¶ÔÖµµÄ·´Âë½øÐбàÂ룬ÈçDC£½-10£¬ÔòÆä¾ø¶ÔֵΪ10£¬ ¶þ½øÖÆÈÔΪ1010£¬·´ÂëΪ0101£¬»ô·òÂü±àÂëΪ1010101¡£ AC±àÂ룺AC±àÂëµÄÔÀíºÍ·½·¨¸úDCÏàËÆ£¬Ëù²»Í¬µÄÊÇAC±àÂëÖжàÁËÒ»ÏîRLEѹËõ±àÂ룬ǰÃæ˵µ½¾¹ýÁ¿»¯È¡ÕûÒÔºó£¬ÓÐÐí¶àACֵΪ0£¬²¢¾¹ý"Ö®"×ÖÐÎÅÅÐò£¬°ÑÔ¿ÉÄܶàµÄ0´®ÐÐÔÚÒ»Æð¡£ÔÚÕâÀïRLEѹËõ±àÂëµÄ¾ÍÊÇÓÃÒ»¸öÊýÖµ±íʾΪ0µÄACֵǰÓм¸¸öACֵΪ0¡£ÀýÈ磬ÔÚ[M£¬N]ÕâÒ»×éRLE±àÂëÖУ¬N±íʾ²»Îª0µÄACÖµ£¬MÔò±íʾÔÚÕⲻΪ0µÄACÖµN֮ǰ0µÄ¸öÊý£¬M×î¶àÖ»ÄÜΪ15£¬Èç¹ûAC×ÊÁÏÖµN֮ǰÓÐ17¸öACֵΪ0£¬ÔòÏÈÒÔ[15£¬0]´ú±íÓÐ16¸öֵΪ0£¬ÔÙÒÔ[1£¬N]±íʾNÇ°ÓÐÒ»¸öֵΪ0£¬Èç¹ûÔÚij¸öAC×ÊÁÏÖµÖ®ºó£¨¸ÃÖµ²»Îª0£©£¬ËùÓÐACÖµ½ÔΪ0£¬ÔòÕâ´®×ÊÁÏ¿ÉÒÔÓÃ[0£¬0]±íʾ¡£ ×öÍêRLEѹËõºó£¬ÔÙ¶Ô²»Îª0µÄACÖµ½øÐлô·òÂü±àÂ룬¸úDCÖµÒ»Ñù½øÐУ¬Ö»²»¹ýÓõÄÊÇÁíÁ½ÕÅ»ô·òÂü±àÂë±í£¬ÍêÕûµÄAC±àÂëÈçÏ£º £¨ÍêÕûµÄAC±àÂëÂë´®°üÀ¨Èý²¿·Ö£º£¨1£©µÄλÖüǼ"0"µÄ¸öÊý£»£¨2£©µÄλÖÃΪ»ô·òÂüʶ±ðÂ룻£¨3£©µÄλÖõÄACÖµµÄ¶þ½øÖÆ´úÂëÖµ£©ÕâÑùµÄÒ»¸öÂë´®²ÅËãÊÇÒ»¸öÍêÕûµÄAC»ô·òÂüÂë´®¡£ ×öµ½ÕâÀï¾ÍÍê³ÉÁËÕû¸öJPEGѹËõ¹ý³Ì¡£ ÔÚÕû¸öѹËõ¹ý³ÌÖУ¬×îÄѵIJ¿·Ö¾ÍÊǵÚËIJ½£¬»ô·òÂü±àÂëÓóÌÐòʵÏÖÆð ·Ç³£·±Ëö£¬±ØÐëÅжÏÒ»¸ö¸öDC£¨AC£©µÄÖµ£¬ÒÔ¼°×ª»»³É¶þ½øÖÆ´úÂëºóµÄÂ볤£¬ ÔÙÈ¥¶ÔÕÕ»ô·òÂü±àÂë±í½øÐбàÂ룬±ÈÈç¶ÔÒ»¸öDCÖµ±àÂ룬Ê×ÏȵÃÏÈÅжϸÃDC µÄÖµÔÚÄĶη¶Î§ÄÚ£¬ÔÚijһ¶Î·¶Î§ÄÚµÄÊýÖµ£¬Æä¶þ½øÖÆ´úÂ볤ÏàµÈ¡£²¢ÒªÈÃ³Ì ÐòÖªµÀ¸ÃDCµÄÖµµ½µ×Ϊ¶àÉÙ£¬È»ºó²ÅÄܽøÐбàÂ룬£¨ÕâÀïÃ滹Éæ¼°µ½Ò»¸öÊý ÖÆת»»¹ý³Ì£¬¼´ÓÉÊ®½øÖÆÊýת»»³É¶þ½øÖÆÊý£©¡£ ѹËõ¹ý³ÌÍê³ÉÒԺ󣬽ÓÏÂÈ¥Òª×öµÄ¹¤×÷±ãÊÇÂë´®´æÖü£¬´æÖüʱÐèҪעÒâ µÄ-µãÊÇÔÚ³éÑù¹ý³ÌÖеõ½4¸öY¿é¶ÔÓ¦1¸öCb¿éÒ»¸öCr¿éµÄ¶ÔÓ¦¹Øϵ£¬ÔÚ´æÖüʱҲҪ°´ÕâÖÖ¶ÔÓ¦¹Øϵ´æÖü£¬¼´4¸öY¿éµÄÂë´®ºóÃæ½ô½Ó×Å´æ·ÅÓëÆä¶ÔÓ¦µÄÒ»¸öCb¿éµÄÂë´®¼°Ò»¸öCr¿éµÄÂë´®£¬Ñ»·Íù¸´£¬´æÍêËùÓд®¡£ÕâÑùµÄ4¸öY8*8¿é+1¸öCb¿é+1¸öCr¼ò³ÆΪMCU£¬ÊÇJPEG¸ñʽµÄ×îС´æÖü´¦Àíµ¥Ôª¡£ ¸½Â¼1£ºÒ»Î¬DCT±ä»»¹«Ê½ C1 C2 C3 C4 C5 C6 C7Ϊ³£Êý C1=0.9808 C2=0.9239 C3=0.8315 C4=0.7071 C5=0.5556 C6=0.3827 C7=0.1951 S18=SL(1)+SL(8) S27=SL(2)+SL(7) S36=SL(3)+SL(6) S45=SL(4)+SL(5) S1845=S18+S45 S2736=S27+S36 D18=SL(1)+SL(8) D27=SL(2)+SL(7) D36=SL(3)+SL(6) D45=SL(4)+SL(5) D1845=S18-S45 D2736=S27-S36 SL(1)=0.5*(C4*(S1845+S2736)) SL(2)=0.5*(C1*D18+C3*D27+C5*D36+C7*D45) SL(3)=0.5*(C2*D1845+C6*D2736) SL(4)=0.5*(C3*D18-C7*D27-C1*D36-C5*D45) SL(5)=0.5*(C4*(S1845-S2736)) SL(6)=0.5*(C5*D18-C1*D27+C7*D36+C3*D45) SL(7)=0.5*(C6*D1845-C2*D2736) SL(8)=0.5*(C7*D18-C5*D27+C3*D36-C1*D45) |