»áÔ±£º ÃÜÂ룺 ¡¡Ãâ·Ñ×¢²á | Íü¼ÇÃÜÂë | »áÔ±µÇ¼ ÍøÒ³¹¦ÄÜ£º ¼ÓÈëÊÕ²Ø ÉèΪÊ×Ò³ ÍøÕ¾ËÑË÷  
 °²È«¼¼Êõ¼¼ÊõÎĵµ
  ¡¤ °²È«ÅäÖÆ
  ¡¤ ¹¤¾ß½éÉÜ
  ¡¤ ºÚ¿Í½Ìѧ
  ¡¤ ·À»ðǽ
  ¡¤ Â©¶´·ÖÎö
  ¡¤ ÆƽâרÌâ
  ¡¤ ºÚ¿Í±à³Ì
  ¡¤ ÈëÇÖ¼ì²â
 °²È«¼¼ÊõÂÛ̳
  ¡¤ °²È«ÅäÖÆ
  ¡¤ ¹¤¾ß½éÉÜ
  ¡¤ ·À»ðǽ
  ¡¤ ºÚ¿ÍÈëÇÖ
  ¡¤ Â©¶´¼ì²â
  ¡¤ Æƽⷽ·¨
  ¡¤ É±¶¾×¨Çø
 °²È«¼¼Êõ¹¤¾ßÏÂÔØ
  ¡¤ É¨Ã蹤¾ß
  ¡¤ ¹¥»÷³ÌÐò
  ¡¤ ºóÃÅľÂí
  ¡¤ ¾Ü¾ø·þÎñ
  ¡¤ ¿ÚÁîÆƽâ
  ¡¤ ´úÀí³ÌÐò
  ¡¤ ·À»ðǽ
  ¡¤ ¼ÓÃܽâÃÜ
  ¡¤ ÈëÇÖ¼ì²â
  ¡¤ ¹¥·ÀÑÝʾ
¼¼ÊõÎĵµ > VBÎĵµ > ÆäËûÎĵµ
ÓÃVBÓïÑÔ±à³ÌʵÏÖJPEGÊý¾ÝѹËõ
·¢±íÈÕÆÚ£º2003-08-18 00:00:00×÷ÕߣºÖ ³ö´¦£º  

  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)

¡¾·µ»Ø¶¥²¿¡¿ ¡¾´òÓ¡±¾Ò³¡¿ ¡¾¹Ø±Õ´°¿Ú¡¿

¹ØÓÚÎÒÃÇ / ¸øÎÒÁôÑÔ / °æȨ¾Ù±¨ / Òâ¼û½¨Òé / ÍøÕ¾±à³ÌQQȺ   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net ¼ÓÔØʱ¼ä 0.00158