గిఫ్

వికీపీడియా నుండి
ఇక్కడికి గెంతు: మార్గసూచీ, వెతుకు
Graphics Interchange Format (గ్రాఫిక్ ఇంటర్చేంజ్ సంప్రకారం)
తెరపట్టు Rotating earth (large).gif
పేరు Graphics Interchange Format (గ్రాఫిక్ ఇంటర్చేంజ్ సంప్రకారం)
పొడిగింపు .gif
అంతర్జాలమాధ్యమ రకం image/gif
మ్యాజిక్ GIF87a/GIF89a
యజమాని కంప్యు-సెర్వ్
విడుదలతేదీ 1987; 30 years ago (1987)

గిఫ్ అన్నది ఆంగ్ల G,I,F పొడి అక్షరాల ద్వారా వచ్చిన పదం. Graphics Interchange Format కు సంక్షిప్త రూపం. గిఫ్ అనేది చిత్రాలకు సంబంధించిన ఒక సంప్రకారం. కంప్యూసర్వ్ ద్వారా 1987 లో క బిట్మ్యాప్ చిత్ర సంప్రకారం గా ఆవిష్కరించబడింది. ఈనాడు ఒక చలనం లో గల స్థిర చిత్రాన్ని చూపేందుకు ఇదే సంప్రకారాన్ని ప్రపంచవ్యాప్తంగా వాడుతున్నాము. ఈ సంప్రకారం లో ఒక్కో చిణువు(pixel) లో 8 బిట్లు అమర్చుకునే సౌలభ్యం ఉండటంవల్ల, 256 వేరు వేరు రంగుల్లో మనం చిత్రాన్ని చూపవచ్చు. RGB రంగు స్థానలను వాడి ఈ రంగులను కోడీకరిన్చవచ్చు.తక్కువ రంగులు ఉండటం కారణంగా ఈ సంప్రకారాన్ని కొద్దిపాటి చిత్రాలు, ముద్రిక, గ్రాఫిక్ చిత్రాలు వంటివి చెయ్యటానికి అనువుగా ఉంటుంది. పేటెంట్ హక్కుల వివాదాల వల్ల ఈ సంప్రకారం, PNG అనే కొత్త సంప్రకారానికి దారి తీసింది.

చరిత్ర[మార్చు]

1987 లో కంప్యూసర్వ్ సంస్థ గిఫ్ ఫార్మటు ను ప్రవేశపెట్టింది. వాళ్ళ కంపెనీ వెబ్సైటు లో ఉండే దిగుమతి లంకెల కొరకు పూర్వం ఉండే RLE ఫార్మటు కు బదులుగా దీన్ని ప్రవేశపెట్టారు. దీనికి కారణం RLE ఫార్మటు కేవలం నలుపు మరియు తెలుపు రంగులను వినియోగించడమే.

GIF ఫార్మాట్ యొక్క అసలు వెర్షన్ 87a గా పిలిచారు. 1989 లో, CompuServe 89a అనే మెరుగుపరచబడిన వెర్షన్ విడుదల చేసింది. ఇది యానిమేషన్ జాప్యాలు కోసం మద్దతు (ప్రవాహం లో బహుళ చిత్రాలు ఇప్పటికే 87a మద్దతు చేయబడ్డాయి), పారదర్శక నేపథ్యం రంగులు, మరియు అప్లికేషన్ నిర్దిష్ట మెటాడేటా నిల్వ జోడించారు.89a స్పెసిఫికేషన్ వచన (గ్రాఫికల్ డేటా వాటిని ఎంబెడ్డింగ్ కాదు) వంటి టెక్స్ట్ లేబుల్స్ కలుపుకొని మద్దతు, కానీ ప్రదర్శన ఫాంట్లు మీద కొంచం నియంత్రణను ఉంది, ఈ ఫీచర్ విస్తృతంగా ఉపయోగించడం లేదు.రెండు వెర్షన్లు ఫైల్ ( "మ్యాజిక్ సంఖ్య" లేదా "సంతకం"), ఇది, ASCII అన్వయించి ఉన్నప్పుడు, "GIF87a" మరియు "GIF89a" చదివి వరుసగా మొదటి ఆరు బైట్లు చూడటం ద్వారా వేరు చేయవచ్చు.

కంప్యుసర్వ్ అనేక కంప్యూటర్లను కోసం డౌన్లోడ్ మార్పిడి వినియోగాలు అందించడం ద్వారా GIF స్వీకరణ ప్రోత్సహించింది.డిసెంబర్ 1987 నాటికి, ఉదాహరణకు, ఒక ఆపిల్ IIGS యూజర్ ఒక అటారి ST లేదా కమోడోర్ 64. పై రూపొందించినవారు చిత్రాలు వీక్షించడానికి కాలేదు. GIF బ్లాక్ అండ్ వైట్ XBM అనే పిలుస్తారు. సాధారణముగా వెబ్ సైట్లలో ఉపయోగించడానికి మొదటి రెండు చిత్రం ఫార్మాట్లలో ఒకటి.

సెప్టెంబర్ 1995 లో నెట్స్కేప్ నావిగేటర్ 2.0 లూప్ యానిమేటెడ్ GIF లు కోసం సామర్థ్యాన్ని జోడించింది.

నియంత్రణ డేటా కలిసి ఒక ఫైల్ లో బహుళ చిత్రాలు నిల్వ లక్షణం, సాధారణ యానిమేషన్లు ఉత్పత్తి వెబ్లో విస్తృతంగా ఉపయోగిస్తారు.కూడా ఒక పాక్షికంగా డౌన్లోడ్ చిత్రం కొంతవరకు గుర్తించదగిన ఉంది అలాంటి ఒక పద్ధతిలో క్రమంలో బయటకు చిత్రం స్కాన్ పంక్తులు నిల్వ ఇది ఐచ్ఛిక కూర్పును ఫీచర్ కూడా GIF యొక్క ప్రజాదరణ సహాయపడింది, కాకుంటే ఒక యూజర్ డౌన్లోడ్ ఆపగలిగే అవకాశమున్నందున ఏమి అవసరమైంది.

మే 2015 లో ఫేస్‌బుక్ వారు మొదట తమ సైట్ వాటిని మద్దతు లేదు అయినప్పటికీ, GIF మద్దతు జోడించబడింది.

వాడుక[మార్చు]

  • GIF లు రంగులు పరిమిత సంఖ్యలో పదునైన కొనలను లైన్ కళ (వంటి లోగోలు) అనుకూలంగా ఉంటాయి.ఈ బాగా నిర్వచించిన అంచులతో ఏకరీతి రంగు యొక్క సమతల ప్రాంతాల్లో అనుకూలంగా ఇది ఫార్మాట్ యొక్క సమాచారం నష్టపోకుండా కుదింపు, ప్రయోజనాన్ని తీసుకుంటుంది.
  • GIF లు తక్కువ రంగు (స్ప్రైట్) కంప్యూటర్ గ్రాఫిక్స్ నిల్వ ఉపయోగించవచ్చు.
  • GIF లు చిన్న యానిమేషన్లు మరియు తక్కువ రిజల్యూషన్ చిత్ర కోసం ఉపయోగించవచ్చు.

ఫైల్ ఫార్మాట్[మార్చు]

దస్త్రం:Empty.gif hex ఎడిటర్ ద్వారా

భావపరంగా, ఒక GIF ఫైల్ ఒక స్థిర-పరిమాణం గ్రాఫికల్ ప్రాంతంలో ( "తార్కిక తెర") సున్నా లేదా ఎక్కువ "చిత్రాలు" తో జనాభా వివరిస్తుంది.అనేక GIF ఫైళ్లు మొత్తం తార్కిక స్క్రీన్ నింపే ఒక చిత్రం కూడా.ఇతరత్రా ప్రత్యేక ఉప చిత్రాలను తార్కిక స్క్రీన్ విభజించడానికి.చిత్రాలు ఒక యానిమేటెడ్ GIF ఫైల్ లో యానిమేషన్ ఫ్రేముల మాదిరిగా పని చేస్తుంది, కానీ మళ్ళీ ఈ మొత్తం తార్కిక స్క్రీన్ పూరించడానికి అవసరం లేదు.

GIF ఫైళ్లు ఒక నిర్దిష్ట-పొడవు శీర్షిక ( "GIF87a" లేదా "GIF89a") వెర్షన్ ఇవ్వడం, పరిమాణం మరియు తార్కిక తెర ఇతర లక్షణాలు ఇవ్వడం ఒక స్థిర-పొడవు లాజికల్ స్క్రీన్ వర్ణన తరువాత ప్రారంభం.స్క్రీన్ వర్ణన కూడా ఉన్నట్లయితే తదుపరి అనుసరించే ఒక గ్లోబల్ రంగు పట్టిక యొక్క ఉనికిని మరియు పరిమాణం తెలియచేయవచ్చు.

ఆ తరువాత, ఫైలు భాగాలుగా విభజించబడింది, ఒక 1-బైట్ సెంటినెల్ ద్వారా పరిచయం ప్రతి:

  • చిత్రం (0x2C, కామాతో పరిచయం',' )
  • పొడిగింపు బ్లాక్ (0x21, ఆశ్చర్యార్థకం పాయింట్ ద్వారా పరిచయం'!' )
  • ట్రైలర్ (విలువ 0x3B, ఒక సెమీ కోలన్ యొక్క ఒక బైట్';' ) ఫైలు యొక్క గత బైట్ ఉండాలి.

ఒక చిత్రం (పక్కన ఉంటే అనుసరిస్తుంది) ఒక స్థానిక రంగు టేబుల్ ఉనికిని మరియు పరిమాణం తెలియచేయవచ్చు ఇది ఒక స్థిర-పొడవు ఇమేజ్ వర్ణన, తో మొదలవుతుంది.చిత్రం డేటా క్రింది: ఒక బైట్ LZW ఎన్కోడ్ డేటా కలిగి ఉప బ్లాకుల ఒక లింక్ జాబితా తరువాత (కూడా ద్వి వర్ణం చిత్రాలు, విస్తృత కనీసం 2 బిట్స్ ఉండాలి ఇది) ఎన్-కొడ్ చెయబడని (unencoded) చిహ్నాలు యొక్క బిట్ వెడల్పు ఇవ్వడం.

పొడిగింపు బ్లాక్స్ (ఇప్పటికే 87a స్పెక్ లో నిర్వచించబడిన విధానం ద్వారా 87a నిర్వచనం "విస్తరించడానికి" బ్లాక్ల) సెంటినెల్ ఒక అదనపు బైట్ పొడిగింపు రకం పేర్కొనడం, మరియు పొడిగింపు డేటా ఉప బ్లాకుల ఒక లింక్ జాబితా ఉంటాయి.ఒక చిత్రం (ఐచ్ఛిక యానిమేషన్ ఆలస్యం సమయం మరియు ఐచ్ఛిక పారదర్శక నేపథ్యం రంగును పేర్కొనే గ్రాఫిక్ కంట్రోల్ పొడిగింపు వంటి) మార్చే పొడిగింపు బ్లాక్స్ వెంటనే వారు చూడండి చిత్రంతో విభాగంలో ముందు ఉండాలి.

చిత్రం డేటా మరియు పొడిగింపు బ్లాక్స్ ద్వారా ఉపయోగిస్తారు లింక్ జాబితాలు ఉప బ్లాక్స్ సిరీస్ ఉంటాయి, ప్రతి సబ్-బ్లాక్ ఉప బ్లాక్ (1 255) తరువాతి డేటా బైట్లు సంఖ్య ఇవ్వడం ఒక బైట్ ప్రారంభించి.ఉప బ్లాక్స్ సిరీస్ ఒక ఖాళీ ఉప బ్లాక్ (0 బైట్) ద్వారా ముగిస్తారు.

ఈ నిర్మాణం అన్ని భాగాలు అర్థం ఉంటే ఫైలు కూడా అన్వయించడం అనుమతిస్తుంది.ఒక GIF మార్క్ 87a పొడిగింపు బ్లాక్స్ కలిగి ఉండవచ్చు;ఉద్దేశం వారిద్దరి డికోడర్ చదివి అర్థం లేదు పొడిగింపులు లో కవర్ లక్షణాలు లేకుండా ఫైలు ప్రదర్శిస్తుంది ఉంది.

ఫైలు ఫార్మాట్ పూర్తి వివరాలు GIF (specifications) ల పొందుపరచి ఉంటుంది.

పాలెట్స్[మార్చు]

ఒక ఉదాహరణ GIF చిత్రాన్ని, సేవ్ వెబ్-సేఫ్ పాలెట్ తొ ఫ్లొయిడ్-స్టైంబర్గ్ పద్దతి ద్వారా బొమ్మకి శబ్ధం (white noise) జొడించబడింది. రంగులు సంఖ్య తగ్గిన కారణంగా చిత్రం లో, ప్రదర్శన సమస్యలు ఉన్నాయి.

GIF బొమ్మలను ఒక వెబ్ సురక్షిత రంగులకు తో సేవ్ చెయ్యటం ఒక ఉదాహరణ మరియు ప్లాయిడ్-స్టెన్ బెర్గ్ పద్ధతి ఉపయోగించి dithered.చిత్రంలో రంగులు సంఖ్య తగ్గిపోయిన కారణంగా, ప్రదర్శన సమస్యలు ఉన్నాయి.

ఫైల్ లో ఒక చిత్రం (ఒక ఫ్రేమ్) లో ఉపయోగించే రంగులు 256 ఎంట్రీల వరకు జరపవచ్చని సూచించబడింది ఒక పాలెట్ పట్టిక లో నిర్వచించిన వారి RGB విలువలు, మరియు చిత్రం వారి సూచీలు ద్వారా రంగులు సూచించే డేటా కలిగి (: GIF పాలెట్ ఆధారిత ఉంది 0-255) పాలెట్ పట్టికలో.పాలెట్ రంగు నిర్వచనాలు షేడ్స్ మిలియన్ల (224 షేడ్స్, ప్రతి ప్రాధమిక 8 బిట్లు) ఒక రంగు స్పేస్ నుండి డ్రా చేయవచ్చు, కానీ, ఒక GIF ఫ్రేమ్ కి ఉపయోగించే రంగుల గరిష్ట సంఖ్య 256. ఎందుకంటే, ఈ ఫొర్మట్ ని అభివృద్ధి చేసినప్పుడు ఈ పరిమితి సహేతుకమైన అనిపించింది. ఉంది కొద్ది మంది ఒకేసారి మరిన్ని రంగులను ప్రదర్శించడానికి ప్రయత్నిస్తున్నాగా దాని హార్డ్ వేర్ స్థోమత బట్టి ఆధరపడి ఉంటుంది. సాధారణ గ్రాఫిక్స్, లైన్ డ్రాయింగ్లు, కార్టూన్లు, మరియు బూడిద ఎత్తున ఛాయాచిత్రాలను సాధారణంగా కంటే తక్కువ 256 రంగులు అవసరం.

కేటాయించిన ఈ ఇండెక్స్ యానిమేషన్ యొక్క మునుపటి ఫ్రేమ్ లెక్కింపబడిన ఉండవచ్చు నేపథ్యం, నుండి అదే స్థానంలో పిక్సెల్ యొక్క రంగు తీసుకుంటుంది ఏ పిక్సెల్: ప్రతి ఫ్రేమ్ ఒక "పారదర్శక నేపథ్యం రంగు" వంటి ఒక ఇండెక్స్ నిర్దిష్టంగా ఉంటుంది.

అనేక పద్ధతులు, సమిష్టిగా కొంత అనిశ్చిత అని, రంగులు మధ్య లో ఇంచుమించుగా రెండు లేదా అంతకంటే ఎక్కువ వర్ణాలను పిక్సెళ్ళు ఉపయోగించి ఒక చిన్న కలర్ పాలెట్ తో రంగులు విస్తృతిలో ఇంచుమించుగా అభివృద్ధి చేయబడ్డాయి.ఈ పద్ధతులు లోతుగా రంగు స్పష్టత ఇంచుమించుగా స్పేషియల్ రిజల్యూషన్ త్యాగం.కోర్సు యొక్క GIF కాదు వివరణ భాగంగా, కొంత అనిశ్చిత చిత్రాలు ఉపయోగించవచ్చు ఉండగా తదనంతరం GIF చిత్రాలు ఎన్కోడ్.ఈ తరచుగా స్పేషియల్ రిజల్యూషన్ యొక్క నష్టం సాధారణంగా ఒక చిత్రం తెరపై మసక చూడండి, మరియు కొంత అనిశ్చిత నమూనాలు తరచుగా GIF యొక్క ప్రధాన ప్రయోజనం వ్యతిరేకంగా పని, ఇమేజ్ డేటా సంపీడనత్వం జోక్యం ఎందుకంటే చేస్తుంది రెండు ఎందుకంటే, GIF చిత్రాలు ఆదర్శవంతమైన పరిష్కారం కాదు.

గ్రాఫికల్ వెబ్ బ్రౌజర్ల ప్రారంభ రోజుల్లో, 8-బిట్ బఫర్సు (మాత్రమే 256 రంగులు అనుమతిస్తుంది) తో గ్రాఫిక్స్ కార్డులు సాధారణంగా ఉండేవి మరియు అది వెబ్ సేఫ్ పాలెట్ ఉపయోగించి .ఇది ఊహాజనిత ప్రదర్శన అందేలా GIF చిత్రాలు బొత్తిగా సామాన్యంగా ఉండేది, కానీ తీవ్రంగా రంగుల ఎంపిక పరిమితంగా .24-bit రంగు మారినప్పుడు కట్టుబాటు వర్ణ బదులుగా వ్యక్తిగత చిత్రాలు వాంఛనీయ రంగులతో జనాభా కాలేదు.

ఒక చిన్న కలర్ పట్టిక చిన్న చిత్రాలు తగినంత ఉండవచ్చు, మరియు రంగు పట్టిక చిన్న ఉంచడం ఫైలు వేగంగా డౌన్లోడ్ అనుమతిస్తుంది.రెండు 87a మరియు 89a లక్షణాలు 8. చాలా గ్రాఫిక్స్ అప్లికేషన్లు ద్వారా 1 నుండి ఏ n కోసం 2n రంగుల్లో పట్టికలు ఈ పట్టిక పరిమాణాల ఏ చదివి ప్రదర్శన GIF చిత్రాలు అనుమతిస్తుంది;కానీ కొన్ని చిత్రాలు సృష్టిస్తున్నప్పుడు అన్ని పరిమాణాలు మద్దతు లేదు. ఇవి 2, 16, మరియు 256 రంగులు పట్టికలు విస్తృతంగా మద్దతిస్తోంది

ట్ర్రు - కలర్[మార్చు]

యానిమేటెడ్ GIF 256 రంగులు యొక్క విలక్షణ పరిమితి కంటే మరింత ప్రదర్శించడానికి ఒక టెక్నిక్ చిత్రీకరించడంతొ

GIF ఫార్మాట్ ట్రూ కలర్ చిత్రాలు దాదాపు ఎప్పుడూ వాడినప్పటికీ, అది అలా ఉపయొగించుకునే అవకాశం ఉంది .GIF బొమ్మలను ప్రతి భాగం దాని స్వంత 256-రంగుల కలిగి బహుళ చిత్రం బ్లాక్స్ చేర్చవచ్చు, మరియు బ్లాక్లను ఒక పూర్తి చిత్రాన్ని రూపొందించడానికి ఇటుక చేయవచ్చు.ప్రత్యామ్నాయంగా, GIF89a స్పెసిఫికేషన్ ప్రతి చిత్రం బ్లాక్ 255 కనిపించే రంగులు ప్లస్ ఒకటి పారదర్శక రంగు యొక్క దాని సొంత పాలెట్ చేర్చవచ్చు ఒక "పారదర్శక" రంగు యొక్క ఆలోచనను ప్రవేశపెట్టారు.ఒక పూర్తి చిత్రాన్ని పైన పొరలు పారదర్శక భాగాలనుండి చూపిస్తున్న ప్రతి పొర కనిపించే భాగంలో తో చిత్రం బ్లాక్స్ పొరలు రూపొందించినవారు చేయవచ్చు.

ఒక GIF వంటి ఒక పూర్తిస్థాయి కలర్ చిత్రం రెండర్ అసలు చిత్రం కంటే ఎక్కువ 255 లేదా 256 వివిధ రంగులు కలిగి చిన్న ప్రాంతాలుగా విభజించవచ్చు ఉండాలి.ఈ ప్రాంతాల్లో ప్రతి అప్పుడు మరియు దాని స్వంత స్థానిక పాలెట్ తో ఒక ప్రత్యేక చిత్రం బ్లాక్ నిలువ ఉంటుంది చిత్రం బ్లాక్స్ (పలకల ద్వారా లేదా పాక్షికంగా పారదర్శక చిత్రం బ్లాక్స్ పొరలు ద్వారా గాని) పూర్తి, పూర్తి రంగు చిత్రం కనిపిస్తుంది కలిసి ప్రదర్శించబడతాయి ఉన్నప్పుడు.ఉదాహరణకు, 16 పిక్సెళ్ళు (మొత్తం 256 పిక్సెళ్ళు) ద్వారా 16 పలకలు ఒక చిత్రాన్ని బద్దలు పెద్ద పలకలు ఉపయోగించవచ్చు అయినప్పటికీ మరియు ఇలాంటి రంగులు రంగు యొక్క కొన్ని ఊడిపోతాయి విలీనం ఏ టైల్, 256 రంగులు స్థానిక పాలెట్ పరిమితి కంటే ఎక్కువ ఉంది నిర్ధారిస్తుంది సమాచారం.

ప్రతి చిత్రం బ్లాక్ దాని స్వంత స్థానిక రంగు పట్టిక అవసరం కాబట్టి, ఒక GIF ఫైల్ చిత్రం బ్లాక్స్ మా కలిగి పూర్తి రంగు GIF లు యొక్క ఉపయోగం పరిమితం, చాలా పెద్ద కావచ్చు.అదనంగా, అన్ని GIF రెండరింగ్ కార్యక్రమాలు సరిగ్గా ఇటుక లేదా లేయర్డ్ చిత్రాలు నిర్వహించడానికి.అనేక రెండరింగ్ కార్యక్రమాలు యానిమేషన్ ఫ్రేముల మాదిరిగా పలకలు లేదా పొరలు అర్థం మరియు చాలా వెబ్ బ్రౌజర్లు స్వయంచాలకంగా 0.1 సెకన్లు లేదా మరింత ఆలస్యం సమయం ఫ్రేమ్లను ప్రదర్శిస్తోంది. దీంతొ అంతులేని యానిమేషన్ వలె క్రమంలో వాటిని ప్రదర్శించడానికి వీలుబడుతుంది.

భాషాపరమైన లక్షణాలు[మార్చు]

నామవాచకం, పదం GIF అనేక నిఘంటువులు కొత్త సంచికలు కనబడుతుంది. 2012 లో, ఆక్స్ఫర్డ్ యూనివర్సిటీ ప్రెస్ అమెరికన్ వింగ్ GIF ఒక క్రియ, అలాగే "GIFing వేసవి ఒలింపిక్స్ దృశ్యాలను భాగస్వామ్యం చేయడానికి ఖచ్చితంగా మాధ్యమంగా" గా, "ఒక GIF ఫైల్ సృష్టించడానికి" అంటే గుర్తించింది. పత్రికా యొక్క lexicographers GIF లు "పరిశోధన మరియు జర్నలిజం సహా తీవ్రమైన అనువర్తనాలతో ఒక సాధనం" చెప్పబడ్డాయి చెప్పి, వారి సంవత్సరపు పదం ఓటు దీనికి వేసారు.

GIF ఫైలు ఉదాహరణ[మార్చు]

ఉదాహరణ పటం (విస్తారించింది), అసలు 3 pixels వెడల్పు బై 5 pixels ఎత్తు
Bytes Dh to 30Ch in the example define a palette of 256 colors.

మైక్రోసాఫ్ట్ పెయింట్ కింది GIF ఫైల్ గా ఒక చిన్న నలుపు మరియు తెలుపు చిత్రం ఆదా.పెయింట్ GIF ఫార్మాట్ సరిగా ఉపయోగించడానికి లేదు;కారణంగా అనవసరంగా పెద్ద రంగు పట్టిక మరియు చిహ్నం వెడల్పు (బదులుగా 2 ఉపయోగిస్తారు పూర్తి 256 రంగులు నిల్వ), ఈ GIF ఫైల్ కాదు 15 పిక్సెల్ చిత్రం (పైన విస్తారిత సచిత్ర) సమర్థవంతమైన ప్రాతినిథ్యం.

గ్రాఫిక్స్ కంట్రోల్ పొడిగింపు బ్లాక్ పారదర్శకం రంగు ఇండెక్స్ 16 (హెక్సాడెసిమల్ 10) ప్రకటించినప్పటికీ, ఆ సూచిక చిత్రం వాడటం లేదు.చిత్రం డేటా కనిపించే ఒకేఒక్క కలర్ సూచికలు గ్లోబల్ రంగు టేబుల్ వరుసగా నలుపు మరియు తెలుపు, పటాలను ఇది దశాంశ 40 మరియు 255 ఉన్నాయి.

క్రింది పట్టికలలో హెక్స్ సంఖ్యలో గమనించండి తక్కువగా ఎన్డియన్ బైట్ ఆర్డర్ ఫార్మాట్ వంటి వివరణ సూచిస్తుంది .

byte#  hexadecimal  text or
(hex)               value       Meaning
0:     47 49 46
       38 39 61     GIF89a      Header
                                Logical Screen Descriptor
6:     03 00        3            - logical screen width in pixels
8:     05 00        5            - logical screen height in pixels
A:     F7                        - GCT follows for 256 colors with resolution 3 x 8 bits/primary; the lowest 3 bits represent the bit depth minus 1, the highest true bit means that the GCT is present
B:     00           0            - background color #0
C:     00                        - default pixel aspect ratio
                   R    G    B  Global Color Table
D:     00 00 00    0    0    0   - color #0 black
10:    80 00 00  128    0    0   - color #1
 :                                       :
85:    00 00 00    0    0    0   - color #40 black
 :                                       :
30A:   FF FF FF  255  255  255   - color #255 white
30D:   21 F9                    Graphic Control Extension (comment fields precede this in most files)
30F:   04           4            - 4 bytes of GCE data follow
310:   01                        - there is a transparent background color (bit field; the lowest bit signifies transparency)
311:   00 00                     - delay for animation in hundredths of a second: not used
313:   10          16            - color #16 is transparent
314:   00                        - end of GCE block
315:   2C                       Image Descriptor
316:   00 00 00 00 (0,0)         - NW corner position of image in logical screen
31A:   03 00 05 00 (3,5)         - image width and height in pixels
31E:   00                        - no local color table
31F:   08           8           Start of image - LZW minimum code size
320:   0B          11            - 11 bytes of LZW encoded image data follow
321:   00 51 FC 1B 28 70 A0 C1 83 01 01
32C:   00                        - end of image data
32D:   3B                       GIF file terminator

చిత్రం కోడింగ్[మార్చు]

చిత్రం పిక్సెల్ డేటా, పైన ఎడమ నుండి అడ్డంగా స్కాన్ ద్వారా మార్చబడతాయి LZW ఎన్కోడింగ్ అప్పటి ఫైల్ లో నిల్వ కొరకు బైట్స్ గా ప్రతిలేఖనం చేయబడతాయి అని సంకేతాలు.పిక్సెల్ సంకేతాలు సాధారణంగా బైట్లు 8-బిట్ పరిమాణం సరిపోలడం లేదు, కాబట్టి సంకేతాలు ఒక "చిన్న-ఎన్డియన్" పథకం ద్వారా బైట్లు లోకి ప్యాక్: కనీసం ముఖ్యమైన బిట్ లో నిల్వ చేయబడుతుంది మొదటి కోడ్ కనీసం ముఖ్యమైన బిట్ మొదటి బైట్, బైట్ యొక్క అధిక స్థాయి బిట్స్ కోడ్ యొక్క అధిక స్థాయి బిట్స్ వంటి అవసరమైన తదుపరి బైట్ యొక్క అత్యల్ప స్థాయి అంశాలు ప్రవేశించింది మిగలకుండా.ప్రతి తదుపరి కోడ్ కనీసం ముఖ్యమైన బిట్ ఇప్పటికే ఉపయోగించరు వద్ద ప్రారంభమై నిల్వ ఉంది.

ఈ బైట్ స్ట్రీమ్ "ఉప" యొక్క వరుస వంటి ఫైల్ లో నిల్వ చేయబడుతుంది.ప్రతి ఉప-బ్లాక్ గరిష్ట పొడవు 255 బైట్లు ఉంది మరియు ఉప-బ్లాక్ లో డేటా బైట్లు సంఖ్య సూచించే ఒక బైట్ తో ముందు ఉంది.ఉప బ్లాక్స్ సిరీస్ (0 డేటా బైట్లు కలిగిన సబ్ బ్లాక్ సూచిస్తూ, ఒకే 0 బైట్) ఒక ఖాళీ ఉప బ్లాక్ ద్వారా ముగిస్తారు.

9-బిట్ సంకేతాలు మరియు బైట్లు మధ్య జరగుతుంది మ్యాపింగ్ పైన నమూనా చిత్రం కోసం క్రింద చూపించాం.


9-bit code
(hex)
Binary Bytes
(hex)
00000000 00
100
0101000|1 51
028
111111|00 FC
0FF
00011|011 1B
103
0010|1000 28
102
011|10000 70
103
10|100000 A0
106
1|1000001 C1
107
10000011 83
00000001 01
101
0000000|1 01

కొంత కుదింపు స్పష్టమైంది: 15 బైట్లు ప్రారంభంలో నిర్వచించిన పిక్సెల్ రంగులు ఖచ్చితంగా నియంత్రణ సంకేతాలు సహా 12 కోడ్ బైట్లు సూచించబడతాయి. 9-బిట్ సంకేతాలు ఉత్పత్తి చేసే ఎన్కోడింగ్ ప్రక్రియ క్రింద చూపించాం.ఒక స్థానిక స్ట్రింగ్ పిక్సెల్ రంగు సంఖ్యలు కాలం స్థానిక స్ట్రింగ్ ఒక కోడ్ పట్టికలో చూడవచ్చు ఎలాంటి అవుట్పుట్ చర్య తో, పాలెట్ నుండి సంచితం.పట్టిక తీగలను చేర్పులు దాని ప్రారంభ పరిమాణం నుండి పెరుగుతుంది ముందు వచ్చే మొదటి రెండు పిక్సెళ్ళు ప్రత్యేక చికిత్స ఉంది.ప్రతి అవుట్పుట్ కోడ్ తరువాత, స్థానిక స్ట్రింగ్ (ఆ అవుట్పుట్ కోడ్ చేర్చడానికి కాలేదు) తాజా పిక్సెల్ రంగు మొదలగు ఉంది.

                          Table           9-bit
                     string --> code      code    Action
                          #0 | 000h               Initialize root table of 9-bit codes
                    palette  |  :
                     colors  |  :
                        #255 | 0FFh
                         clr | 100h
                         end | 101h
                             |            100h     Clear
Pixel          Local         |
color Palette  string        |
BLACK  #40     28            |            028h     1st pixel always to output
WHITE  #255    FF            |                     String found in table
                  28 FF      | 102h                Always add 1st string to table
               FF            |                     Initialize local string
WHITE  #255    FF FF         |                     String not found in table
                             |            0FFh     - output code for previous string
                  FF FF      | 103h                - add latest string to table
               FF            |                     - initialize local string
WHITE  #255    FF FF         |                     String found in table
BLACK  #40     FF FF 28      |                     String not found in table
                             |            103h     - output code for previous string
                  FF FF 28   | 104h                - add latest string to table
               28            |                     - initialize local string
WHITE  #255    28 FF         |                     String found in table
WHITE  #255    28 FF FF      |                     String not found in table
                             |            102h     - output code for previous string
                  28 FF FF   | 105h                - add latest string to table
               FF            |                     - initialize local string
WHITE  #255    FF FF         |                     String found in table
WHITE  #255    FF FF FF      |                     String not found in table
                             |            103h     - output code for previous string
                  FF FF FF   | 106h                - add latest string to table
               FF            |                     - initialize local string
WHITE  #255    FF FF         |                     String found in table
WHITE  #255    FF FF FF      |                     String found in table
WHITE  #255    FF FF FF FF   |                     String not found in table
                             |            106h     - output code for previous string
                  FF FF FF FF| 107h                - add latest string to table
               FF            |                     - initialize local string
WHITE  #255    FF FF         |                     String found in table
WHITE  #255    FF FF FF      |                     String found in table
WHITE  #255    FF FF FF FF   |                     String found in table
                                                   No more pixels
                                          107h     - output code for last string
                                          101h     End

స్పష్టత కోసం పట్టిక పెరుగుతున్న పొడవు యొక్క తీగల యొక్క కడుతున్నారు పైన చూపించాం. ఆ పథకం పనిచేయగలదు కానీ పట్టిక మెమరీ ఒక అనూహ్య మొత్తం తింటాయి. మెమరీ భద్రపర్చడానికి ప్రతి కొత్త స్ట్రింగ్ ఒక పాత్ర ద్వారా అభివృద్ధి గతంలో నిల్వ స్ట్రింగ్ కలిగి పేర్కొంది ద్వారా ఆచరణలో సేవ్ చేయవచ్చు. మరియు ఇప్పటికే చిరునామా ఒక పాత్ర: ప్రతి చిరునామాలో కేవలం రెండు పదాలు నిల్వ పొదుపుగా.

LZW అల్గోరిథం ప్రతి పిక్సెల్ కోసం పట్టిక యొక్క ఒక శోధన అవసరం.వరకు 4096 చిరునామాలను ద్వారా ఒక సరళ శోధన కోడింగ్ నెమ్మదిగా తయారవుతుంది.ఆచరణలో సంకేతాలు సంఖ్యా విలువ క్రమంలో నిల్వ చేయవచ్చు;కేవలం 12 తీవ్రతతో ఉపమానాలు, ఈ ADCలు (కొన్ని వరుస అంచనాగా ADC ల్లో ఉపయోగించబడిన వరుస ఉజ్జాయింపు రిజిస్టర్) ప్రతి శోధన ఎస్ఎఆర్ ద్వారా చెయ్యటానికి అనుమతిస్తుంది.ఈ సామర్థ్యం కోసం అదనపు పట్టిక సంకేతాలు మరియు వాస్తవ మెమరీ చిరునామాలకు మధ్య మార్చేందుకు అవసరమైన ఉంది;అదనపు పట్టిక "అప్ కీపింగ్" ఒక కొత్త కోడ్ పిక్సెల్ రేటు కంటే చాలా తక్కువ నిర్మాణము నిల్వ చేసినప్పుడు మాత్రమే అవసరమవుతుంది.

బొమ్మని డీకోడింగ్ చెసే పద్ధతి[మార్చు]

డీకోడింగ్ 9-బిట్ సంకేతాలు నిల్వ బైట్లు తిరిగి మ్యాపింగ్ ద్వారా ప్రారంభమవుతుంది. ఈ క్రింద చూపిన విధంగా పిక్సెల్ రంగుల తిరిగి డీకోడ్ ఉంటాయి. ఎన్కోడర్ ఉపయోగిస్తారు ఈ నియమం ద్వారా తీగలను జోడించడం ద్వారా నిర్మించబడింది ఒక సమానంగా ఒక పట్టిక:

ఇన్కమింగ్ కోడ్ పట్టిక కనబడుతుంది? 
 YES: ఇన్కమింగ్ కోడ్ స్ట్రింగ్ మొదటి బైట్ తరువాత స్థానిక కోడ్ స్ట్రింగ్ జోడించడానికి 
 NO: దాని స్వంత మొదటి బైట్ యొక్క కాపీని తరువాత స్థానిక కోడ్ స్ట్రింగ్ జోడించడానికి 
      shift
9-bit ----> Local      Table                 Pixel
code        code   code --> string   Palette color  Action
100h               000h  | #0                       Initialize root table of 9-bit codes
                    :    | palette
                    :    | colors
                   0FFh  | #255
                   100h  | clr
                   101h  | end
028h                     |             #40    BLACK Decode 1st pixel
0FFh        028h         |                           Incoming code found in table
                         |             #255   WHITE  - output string from table
                   102h  | 28 FF                     - add to table
103h        0FFh         |                           Incoming code not found in table
                   103h  | FF FF                     - add to table
                         |                           - output string from table
                         |             #255   WHITE
                         |             #255   WHITE
102h        103h         |                           Incoming code found in table
                         |                           - output string from table
                         |             #40    BLACK
                         |             #255   WHITE
                   104h  | FF FF 28                  - add to table
103h        102h         |                           Incoming code found in table
                         |                           - output string from table
                         |             #255   WHITE
                         |             #255   WHITE
                   105h  | 28 FF FF                  - add to table
106h        103h         |                           Incoming code not found in table
                   106h  | FF FF FF                  - add to table
                         |                           - output string from table
                         |             #255   WHITE
                         |             #255   WHITE
                         |             #255   WHITE
107h        106h         |                           Incoming code not found in table
                   107h  | FF FF FF FF               - add to table
                         |                           - output string from table
                         |             #255   WHITE
                         |             #255   WHITE
                         |             #255   WHITE
                         |             #255   WHITE
101h                     |                           End

LZW కోడ్ వివరాలు[మార్చు]

షార్టర్ కోడ్ పొడవులు ఉదాహరణలో 256 రంగులు కంటే చిన్న వర్ణ కోసం ఉపయోగించవచ్చు.పాలెట్ 64 రంగులు ఉంటే, చిహ్నాలు 0 నుండి 63 వరకు ఉంటాయి (కాబట్టి రంగు సూచికలు 6 బిట్స్ విస్తృత ఉన్నాయి), మరియు చిహ్నం వెడల్పు 7 బిట్స్ వద్ద ప్రారంభమై సంకేతాలు, 6 బిట్స్ తీసుకోవచ్చు.పాలెట్ పరిమాణం 2 యొక్క ఏ శక్తి ఉన్నంత డీకోడ్ విలువలు పాలెట్ లో రంగులు సంఖ్య కంటే ఎప్పుడూ తక్కువ ఉంటాయి, చిహ్నాలు 2 నుండి 8 వరకు ఏ వెడల్పు ఉంటుంది, మరియు: నిజానికి, సింబల్ వెడల్పు పాలెట్ పరిమాణం సరిపోలడం లేదు అవసరం 2 నుండి 256. ఉదాహరణకు, కేవలం మొదటి నాలుగు రంగులు పాలెట్ (విలువలు 0 నుండి 3) వాడతారు ఉంటే, చిహ్నాలు 3 బిట్స్ వద్ద ప్రారంభమై సంకేతాలు విస్తృత 2 బిట్స్ తీసుకోవచ్చు.

దీనికి విరుద్ధంగా, చిహ్నం వెడల్పు, 8 సెట్ కాలేదు మాత్రమే విలువలను కూడా 0 మరియు 1 వాడతారు;ఈ డేటా కేవలం 2-రంగు పట్టిక కావాలి.ఫైలు విధంగా ఎన్కోడింగ్ ఏ పాయింట్ ఉంది ఉంటుందని, ఇలాంటి ఏదో సాధారణంగా ద్వి వర్ణం చిత్రాలు జరుగుతుంది: మాత్రమే 0 మరియు 1 ఉపయోగిస్తారు విలువలు కూడా కనీస చిహ్నం వెడల్పు, 2 ఉంది.

కోడ్ పట్టిక ప్రారంభంలో ప్రక్రియ సమయంలో కలుపుతారు తీగలను కోసం రెండు ప్రత్యేక కోడ్లు 'clr' 'మరియు' 'ముగింపు' 'మరియు సంకేతాలు కల్పించేందుకు గాను ఒక బిట్ ఇక చిహ్నం పరిమాణం కంటే ఉన్నాయి అని సంకేతాలు కలిగి.పట్టిక పూర్తి అయినప్పుడు కోడ్ నిడివి పెరుగుతుంది గరిష్టంగా కోడ్ 4095 = fff (హెక్స్) వరకు, మరింత తీగలను స్థలాన్ని ఇవ్వడానికి.డికోడర్ దాని పట్టిక ఆధారమై గా కోడ్ పొడవు ఈ పెరుగుదల ట్రాక్ మరియు దానికి అనుగుణంగా ఇన్కమింగ్ బైట్లు అన్ప్యాక్ చేయవచ్చు.

కంప్రెస్ చెయని GIF బొమ్మ[మార్చు]

7-బిట్ చిహ్నాలు గల ఒక 46 x 46 కంప్రెస్డ్ GIF (128 రంగులు, 8-బిట్ సంకేతాలు).కోడ్ యొక్క వివరణకై చిత్రంపై క్లిక్ చేయండి.

GIF ఎన్కోడింగ్ ప్రక్రియను ఇప్పటికీ ఒక GIF ఇమేజ్ వీక్షించవచ్చు LZW కంప్రెషన్ లేకుండా ఒక ఫైల్ సృష్టించడానికి సవరించబడతాయి.ఈ టెక్నిక్ పేటెంట్ ఉల్లంఘన నివారించేందుకు ఒక మార్గంగా మొదట ప్రవేశపెట్టబడింది.వ్యక్తిగత పిక్సెళ్ళు పఠనం లేదా చిత్రలేఖనం కోసం అందుబాటులో ఉంటాయి, ఎందుకంటే కంప్రెస్డ్ GIF కూడా ఒక గ్రాఫిక్స్ ప్రోగ్రామర్ ఒక ఉపయోగకరమైన ఇంటర్మీడియట్ ఫార్మాట్ ఉంటుంది.ఒక కంప్రెస్డ్ GIF ఫైల్ కేవలం ఒక చిత్రం ఎడిటర్ ద్వారా పంపిస్తూ ఒక సాధారణ GIF ఫైల్ మార్చవచ్చును.

చివరి మార్పు ఎన్కోడింగ్ పద్ధతి LZW పట్టిక నిర్మాణం పట్టించుకోదు మరియు రూట్ పాలెట్ సంకేతాలు మరియు స్పష్టమైన మరియు STOP కోసం సంకేతాలు ప్రసరిస్తుంది.ఈ సరళమైన ఎన్కోడింగ్ కానీ త్యాగం కుదింపు అన్ని (కోడ్ విలువలు మరియు పాలెట్ సంకేతాలు మధ్య ఒక 1-టు-1 అనురూప్యం) దిగుబడి: చిత్రం లో ప్రతి పిక్సెల్ దాని రంగు ఇండెక్స్ సూచిస్తూ ఒక అవుట్పుట్ కోడ్ ఉత్పత్తి.ఒక కంప్రెస్డ్ GIF చేసేటప్పుడు, ఒక ప్రామాణిక GIF డికోడర్ దాని నిఘంటువు పట్టిక తీగలను రచనా నిరోధించే కాదు, కానీ ఆ బైట్లు బిట్స్ వేరే ప్యాకింగ్ ట్రిగ్గర్స్ నుండి కోడ్ వెడల్పు పెరుగుతుంది ఎప్పుడూ ఉండాలి.

చిహ్నం వెడల్పు n ఉంటే, వెడల్పు n + 1 సహజంగా పతనం యొక్క కోడ్స్ రెండు ముక్కలుగా: 2n తక్కువ బ్లాక్ ఒకే చిహ్నాలు కోడింగ్ కోసం సంకేతాలు, మరియు 2 ఎగువ బ్లాక్n సన్నివేశాలు కోసం డికోడర్ ద్వారా ఉపయోగపడే సంకేతాలు పొడవు ఒకటి కంటే ఎక్కువ.ఎగువ బ్లాక్లో ఉన్న మొదటి రెండు సంకేతాలు ఇప్పటికే తీసుకోబడింది: 2n CLEAR కోసం మరియు 2n+ 1 STOP కోసం .డికోడర్ కూడా ఎగువ బ్లాక్ లో గత కోడ్ ఉపయోగించి 2n + 1-1 నుండి నిరోధించే తప్పక డికోడర్ ఆ స్లాట్ నింపుతుంది ఇది ఎందుకంటే, కోడ్ వెడల్పు పెరుగుతుంది, .అందువలన ఎగువ బ్లాక్ లో 2n-3 ఉన్నాయి డికోడర్ అందుబాటులో సంకేతాలు కోడ్ వెడల్పు పెరుగుదల ట్రిగ్గర్ కాదని .డికోడర్ ఎల్లప్పుడూ ఒక టేబుల్ నిలబెట్టడానికి వెనుక అడుగు కాబట్టి, దానిని ఎన్కోడర్ నుండి మొదటి కోడ్ రాకపోవడంతో పట్టిక ఎంట్రీ ఉత్పత్తి లేదు, కానీ ప్రతి తరువాత కోడ్ ఒక ఉత్పత్తి.అందువలన ఎన్కోడర్ 2n-2 రూపొందించవచ్చు కోడ్ వెడల్పు పెరుగుదల చెందేందుకు లేకుండా కోడ్స్ మార్పు చెయవచ్చు .అందువలన ఎన్కోడర్ యొక్క 2n వ్యవధిలో అదనపు CLEAR సంకేతాలు విడుదల చేయాలి డికోడర్ కోడింగ్ నిఘంటువు రీసెట్ చేయడానికి 2 సంకేతాలు లేదా తక్కువ , GIF ప్రామాణిక అదనపు CLEAR సంకేతాలు ఏ సమయంలో చిత్రం డేటాలోని ఉండటాన్ని అనుమతిస్తుంది.మిశ్రమ డేటా స్ట్రీమ్ ప్రతి 1 నుండి 255 బైట్లు ఉంచుకోవాలి ఉప బ్లాక్స్ విభజించబడింది.


పైన చుపబదిన 3x5 బొమ్మ ఉదాహరణ గా, క్రింది 9-బిట్ సంకేతాలు సూచించడానికి "స్పష్టమైన" (100) స్కాన్ క్రమంలో చిత్రం పిక్సెళ్ళు తరువాత మరియు "స్టాప్" (101).

9-bit codes: 100 028 0FF 0FF 0FF 028 0FF 0FF 0FF 0FF 0FF 0FF 0FF 0FF 0FF 0FF 101

తర్వాత పైన సంకేతాలు మ్యాప్ bytes, కంప్రెస్డ్ ఫైల్ నుండి వ్యత్యాసంగా సంపీడన ఫైల్ విధంగా:

 :
320: 14            20            20 bytes uncompressed image data follow
321: 00 51 FC FB F7 0F C5 BF 7F FF FE FD FB F7 EF DF BF 7F 01 01
335: 00                          - end
 :

ఇంటర్లేసింగ్[మార్చు]

ఇది ఇంటర్లేస్డ్ (అల్లిక) కాదని పేర్కొనడానికి ఒక GIF ఫైలు యొక్క తార్కిక తెరలో GIF స్పెసిఫికేషన్ ప్రతి చిత్రం అనుమతిస్తుంది;అంటే, దాని డేటా బ్లాక్ లో రాస్టర్ క్రమాన్ని లైన్లు కాదు సీక్వెన్షియల్ అని.ఈ పూర్తి చిత్రం చిత్రీకరించాడు ముందు గుర్తించవచ్చు చిత్రానికి ఒక పాక్షిక ప్రదర్శన అనుమతిస్తుంది.

ఒక ఇంటర్లేస్డ్ చిత్రం, 8 పిక్సెళ్ళు అధిక కుట్లు లోకి పైనుంచి నుండి విభజించబడింది మరియు చిత్రం యొక్క వరుసలు కింది క్రమంలో ప్రదర్శించారు:

  • ప్రతి స్ట్రిప్ నుండి లైన్ 0 (టాప్ అత్యంత లైన్): పాస్ 1.
  • పాస్ 2: లైన్ 4 ప్రతి స్ట్రిప్ నుండి.
  • పాస్ 3: లైన్స్ 2 మరియు 6 ప్రతి స్ట్రిప్ నుండి.
  • పాస్ 4: లైన్స్ 1, 3, 5, 7 ప్రతి స్ట్రిప్ నుండి.

ప్రతి లైన్ లోపల పిక్సెళ్ళు ఇంటర్లేస్డ్ లేదు, కానీ ఎడమ నుండి కుడికి వరుసగా అందించింది.కాని ఇంటర్లేస్డ్ చిత్రాలు మాదిరిగా, ఒక లైన్ కోసం డేటా మరియు తదుపరి కోసం డేటా మధ్య ఎటువంటి విరామం ఉంది.ఒక చిత్రం ఇంటర్లేస్డ్ అని సూచిక చిత్రం యొక్క శీర్షిక బ్లాక్ లో సెట్ ఒక బిట్ ఉంది.

యానిమేటెడ్ GIF[మార్చు]

GIF ఫార్మాట్ ద్వారా న్యూటన్ క్రేడల్ ను ఈ చిత్రం లో, యానిమేషన్ ప్రదర్శించడానికి ఉపయోగించవచ్చు
ఒక GIF యానిమేషన్ మరొక లోకి మార్ఫింగ్, రెండు ఫోటోలు తయారు
ఒక చమురు పంప్ జాక్ యొక్క యానిమేషన్ ఒక వీడియో మళ్ళీ వెతికినా భాగంగా (లూప్) చేసిన పటం

ప్రాథమిక యానిమేషన్ వీడియో క్లిప్ ఏర్పాటు, ఇది ఫైల్ లో వివిధ చిత్రాలు (ఫ్రేములు) సమయం ఆలస్యం చిత్రించబడ్డాయి అనుమతిస్తుంది గ్రాఫిక్స్ కంట్రోల్ పొడిగింపు (GCE) ద్వారా GIF89a స్పెక్ చేర్చబడ్డారు.ఒక యానిమేటెడ్ GIF ఫైల్ వరుసగా ప్రదర్శించబడతాయి ఆ ఫ్రేములు, ప్రతి ఫ్రేమ్ డ్రా తర్వాత వేచి సమయం ఆలస్యం ఇస్తుంది దాని సొంత GCE ప్రవేశపెట్టబడినది అనేక వుంటారు.ఫైల్ ప్రారంభంలో గ్లోబల్ ఇన్ఫర్మేషన్ అన్ని ఫ్రేమ్లను అప్రమేయంగా వర్తిస్తుంది.డేటా స్రవంతి ఆధారిత ఉంది, కాబట్టి ఫైల్ ఆఫ్సెట్ ప్రతి GCE ప్రారంభానికి డేటా అంతకుముందు యొక్క పొడవు మీద ఆధారపడి ఉంటుంది.ప్రతి ఫ్రేమ్ లోపల LZW కోడెడ్ ఇమేజ్ డేటా 255 బైట్లు ఉప బ్లాక్స్ అమర్చబడింది;ప్రతి ఉప బ్లాక్ యొక్క పరిమాణం ముందున్న బైట్ నిర్థారించారు.

అప్రమేయంగా, అయితే, ఒక యానిమేషన్ ఫ్రేమ్లను క్రమం ఒక్కసారి మాత్రమే, చివరి ఫ్రేం ప్రదర్శించినప్పుడు ఆపటం ప్రదర్శిస్తుంది.GIF వినియోగదారులు కొత్త బ్లాక్స్ నిర్వచించడానికి అనుమతిస్తాయి రూపొందించబడింది కనుక, నెట్స్కేప్ 1990 లో వినియోగ పొడిగింపు బ్లాక్ నెట్స్కేప్ అప్లికేషన్ బ్లాక్ (NAB) అమలు (విక్రయదారులు GIF ఫైల్ అప్లికేషన్-నిర్దిష్ట సమాచారాన్ని జోడించడానికి అనుమతిస్తుంది ఉద్దేశించిన) ఉపయోగించారు. [27]అన్ని యానిమేషన్ ఫ్రేమ్లను ముందు వెంటనే ఉంచుతారు ఈ బ్లాక్, సార్లు ఫ్రేమ్లను క్రమం ఆడాలి సంఖ్య నిర్దేశిస్తుంది.(విలువ 0 నిరంతర ప్రదర్శన సూచిస్తుంది.) మొదటి నెట్స్కేప్ నావిగేటర్ వెర్షన్ 2.0 లో కనిపించింది, ఆపై ఇతర బ్రౌజర్లకు వ్యాపించి ఈ పునరావృతమైన యానిమేషన్లు మద్దతు. [28]చాలా బ్రౌజర్లు ఇప్పుడు దానిని గుర్తించి GIF89a వివరణ భాగమైన ఖచ్చితంగా కానప్పటికీ, NAB మద్దతు.

కింది ఉదాహరణ వ్యాసం ఎగువన యానిమేషన్ ఫైలు తిరిగే భూమి (పెద్ద) యొక్క నిర్మాణం చూపిన .gif (థంబ్ నెయిల్) చూపిస్తుంది.

byte#  hexadecimal  text or
(hex)               value     Meaning
0:     47 49 46
       38 39 61     GIF89a    Header
                              Logical Screen Descriptor
6:     90 01        400        - width in pixels
8:     90 01        400        - height in pixels
A:     F7                      - GCT follows for 256 colors with resolution 3 x 8bits/primary
B:     00           0          - background color #0
C:     00                      - default pixel aspect ratio
D:                            Global Color Table
:
30D:   21 FF                  Application Extension block
30F:   0B           11         - eleven bytes of data follow
310:   4E 45 54
       53 43 41
       50 45        NETSCAPE   - 8-character application name
       32 2E 30     2.0        - application "authentication code"
31B:   03           3          - three more bytes of data
31C:   01           1          - data sub-block index (always 1)
31D:   FF FF        65535      - unsigned number of repetitions
31F:   00                      - end of App Extension block
320:   21 F9                  Graphic Control Extension for frame #1
322:   04           4          - four bytes of data follow
323:   08                      - bit-fields 3x:3:1:1, 000|010|0|0 -> Restore to bg color
324:   09 00                   - 0.09 sec delay before painting next frame
326:   00                      - no transparent color
327:   00                      - end of GCE block
328:   2C                     Image Descriptor
329:   00 00 00 00  (0,0)      - NW corner of frame at 0, 0
32D:   90 01 90 01  (400,400)  - Frame width and height: 400 x 400
331:   00                      - no local color table; no interlace
332:   08           8         LZW min code size
333:   FF           255       - 255 bytes of LZW encoded image data follow
334:                data
433:   FF           255       - 255 bytes of LZW encoded image data follow
                    data
                     :
92BA:  00                    - end of LZW data for this frame
92BB:  21 F9                 Graphic Control Extension for frame #2
 :                                                            :
153B7B:21 F9                 Graphic Control Extension for frame #44
 :
15CF35:3B                    File terminator

ప్రతి ఫ్రేమ్ యానిమేషన్ ఆలస్యం రెండవ వందల లో GCE లో వివరింపబడినది.ఒక ఫ్రేమ్ మాత్రమే చిత్రం వర్ణన ఒక చిన్న దీర్ఘచతురస్ర బదులుగా మొత్తం చిత్రం యొక్క రీ - స్కాన్ చెసి వుంటుంది అని నిర్వచించలేదు ఎందుకంటే ప్రదర్శన యొక్క పిక్సెళ్ళు ఒక భాగం తిరగరాసే అవసరం పేరు డేటా కొన్ని ఆర్థిక సాధ్యమే.బ్రౌజర్లు లేదా యానిమేటెడ్ GIF లు మద్దతు ఇవ్వని ఇతర ప్రదర్శనల్లో సాధారణంగా మొదటి ఫ్రేమ్ చూపించు.

యానిమేటెడ్ GIF ఫైళ్లు పరిమాణం మరియు రంగు నాణ్యత లో వాటిని సృష్టించడానికి ఉపయోగించిన అనువర్తనాన్ని బట్టి గణనీయంగా మారుతూ ఉంటాయి.అన్ని ఫ్రేములు (కాకుండా ప్రతి ఫ్రేమ్ కోసం ఒక పూర్తి ప్రాంతీయ రంగు పట్టిక కంటే) కోసం ఒక సాధారణ ప్రపంచ రంగు పట్టిక ఉపయోగించి ఉంటాయి ఫైలు పరిమాణం తగ్గించడం కోసం వ్యూహాలు మరియు వరుస ఫ్రేమ్లను లో కవర్ పిక్సెళ్ళు సంఖ్య తగ్గించడం (కాబట్టి ఒక ఫ్రేమ్ నుండి మార్చడానికి మాత్రమే పిక్సెళ్ళు తదుపరి) తరువాతి ఫ్రేమ్ లో చేర్చబడ్డాయి.కేవలం ఒక మిశ్రమ అనిమేషన్ స్వతంత్ర ఫ్రేమ్ చిత్రాల వరుస ప్యాకింగ్ పెద్ద ఫైల్ పరిమాణాలు ఈల్డ్ ఉంటుంది.

ఇంటర్నెట్ ఎక్స్ప్లోరర్ GIF లు వేగం తగ్గితే ఫ్రేమ్ రేటు రెండవ లేదా అధిక మరియు మైక్రోసాఫ్ట్ 20 ఫ్రేములు Google Chrome మరియు Safari కూడా కొన్ని GIF యానిమేషన్ వేగాన్ని ఆ ఫిర్యాదు ఉంది.

1995 ప్రారంభంతో మొదలుపెట్టి ఉల్మ్ విశ్వవిద్యాలయం ఒక నియంత్ర మోడల్ రైల్ రోడ్ చూపించడానికి ప్రత్యక్ష వీడియో స్ట్రీమింగ్ ఫార్మాట్ యానిమేటెడ్ GIF ఉపయోగిస్తారు.

ప్రత్యామ్నాయాలు[మార్చు]

PNG[మార్చు]

పోర్టబుల్ నెట్వర్క్ గ్రాఫిక్స్ (PNG) , LZW కంప్రెషన్ టెక్నిక్ యూనిసిస్ 'పేటెంటు ఉల్లంఘన తొలగించడానికి GIF ఫార్మాట్ కోసం ఒక భర్తీ చేయడానికి దీనిని రూపొందించారు. PNG , GIF కంటే మెరుగైన కుదింపు మరియు మరిన్ని ఫీచర్లు అందిస్తుంది, యానిమేషన్ మాత్రమే ముఖ్యమైన మినహాయింపు.PNG సందర్భాల్లో GIF నిజమైన రంగు ఇమేజింగ్ మరియు ఆల్ఫా పారదర్శకత అవసరమైన చోట కంటే ఎక్కువ అనుకూలంగా ఉంటుంది.

PNG ఫార్మాట్ మద్దతు నెమ్మదిగా వచ్చినప్పటికీ, కొత్త వెబ్ బ్రౌజర్లలో సాధారణంగా PNG మద్దతు.ఇంటర్నెట్ ఎక్స్ప్లోరర్ యొక్క పాత వెర్షన్లు PNG అన్ని మద్దతివ్వటం లేదు.సంస్కరణలు 6 అంతకు ముందువి Microsoft-నిర్దిష్ట HTML పొడిగింపులు ఉపయోగించి లేకుండా ఆల్ఫా ఛానల్ పారదర్శకత మద్దతు లేదు. PNG చిత్రాల గామా దిద్దుబాటు వెర్షన్ 8, మరియు ప్రారంభ సంస్కరణలు తప్పు రంగు కలిగి ఉండవచ్చు ఈ చిత్రాల ప్రదర్శన ముందు మద్దతు లేదు.

PNG, GIF కంటే ఎక్కువ రంగు లోతు మరియు పారదర్శకత సమాచారాన్ని నిల్వ సామర్థ్యం వంటి PNG ఫైళ్లు, ఒక GIF మరియు ఒక PNG ఫైలు అదే అధిక నాణ్యత చిత్రం మూలం నుండి సృష్టించబడ్డాయి పరిస్థితుల్లో GIF ఫైళ్లు కంటే పెద్దవిగా ఉండవచ్చు.అయితే, ఒకే 8-బిట్ (లేదా తక్కువ) చిత్రం డేటా కోసం, PNG ఫైళ్లు సమానమైన GIF లు, PNG ఎన్కోడింగ్ ఉపయోగిస్తారు మరింత సమర్థవంతమైన కుదింపు పద్ధతులు కారణంగా కంటే చిన్నవిగా ఉంటాయి. GIF ఫార్మాట్ కోసం పూర్తి మద్దతు అయితే ఈ కాంపాక్ట్ యానిమేషన్ లక్షణాలు అనుమతిస్తుంది ఏమిటి, ఇది అనుమతిస్తుంది సంక్లిష్ట కాన్వాస్ నిర్మాణం ప్రధానంగా సంక్లిష్టమైనది.

ఇతర యానిమేషన్ ఫార్మాట్లు[మార్చు]

MNG మొదట యానిమేషన్లు కోసం ఒక PNG ఆధారిత పరిష్కారం వలె అభివృద్ధి చేయబడింది. MNG 2001 లో వెర్షన్ 1.0 చేరుకుంది, కాని కొన్ని అప్లికేషన్లు మద్దతు వరకే.

2006 లో, APNG అని PNG ఫార్మాట్ పొడిగింపు మొజిల్లా MNG ఫార్మాట్ ప్రత్యామ్నాయ ప్రతిపాదించారు.యానిమేషన్ భాగం (MNG కాకుండా) అర్థం కాదు డికోడర్లను అనుకూలత వెనుకకు నిలుపుకుంటూనే APNG, PNG ఫైళ్లు యానిమేట్ చేయడానికి సామర్థ్యాన్ని అందిస్తాయి.పాత డికోడర్లను కేవలం యానిమేషన్ మొదటి ఫ్రేమ్ కలిగిస్తుంది.PNG బృందం అధికారికంగా ఏప్రిల్ 20, 2007 న అధికారికంగా విస్తరణగా APNG తిరస్కరించింది అనేక వివిధ పద్ధతులను ఉపయోగించి PNG ఆధారంగా ఒక సాధారణ యానిమేటెడ్ గ్రాఫిక్స్ ఫార్మాట్ కోసం పలు అనంతర ప్రతిపాదనలు వచ్చాయి. అయితే, యానిమేటెడ్ పోర్టబుల్ నెట్వర్క్ గ్రాఫిక్స్ మొజిల్లా ఇంకా అభివృద్ధిలో ఉంది మరియు Firefox 3 లో మద్దతు ఉంది MNG మద్దతు పడిపోయింది జరిగింది.

పొందుపరిచిన Adobe Flash వస్తువులు మరియు MPEG సాధారణ వీడియో ప్రదర్శించడానికి, కానీ ఒక అదనపు బ్రౌజర్ ప్లగిన్ వాడకం అవసరం కొన్ని వెబ్సైట్లు ఉపయోగిస్తున్నారు. WebM మరియు webp అభివృద్ధి మరియు కొన్ని వెబ్ బ్రౌజర్లు మద్దతు ఉంది. వెబ్ యానిమేషన్ ఇతర ఎంపికలు AJAX ఉపయోగించి ఫ్రేమ్లలో ఒక్కొక్కదానిలో అందిస్తున్న, లేదా జావాస్క్రిప్ట్ లేదా స్మిల్ ఉపయోగించి SVG ఇమేజీలను అనుకరిస్తూ ఉన్నాయి.

HTML5 యొక్క విస్తృత మద్దతు ప్రవేశంతో<video>చాలా వెబ్ బ్రౌజర్లలో ట్యాగ్, కొన్ని వెబ్సైట్లు JavaScript విధులు ద్వారా ఉత్పత్తి వీడియో ట్యాగ్ ఒక లూప్డ్ వెర్షన్ను ఉపయోగించండి.ఈ ఒక GIF రూపాన్ని ఇస్తుంది, కానీ కంప్రెస్ వీడియో పరిమాణం మరియు వేగ ప్రయోజనాలు తో.గమనించదగిన ఉదాహరణలు Gfycat మరియు ఇమ్గుర్ మరియు నిజంగా ఒక లూప్డ్ MP4 లేదా WebM కుదించబడిన వీడియో ఆడుతున్న వీడియో ట్యాగ్ ఇది వారి GIFV metaformat ఉన్నాయి.

"https://te.wikipedia.org/w/index.php?title=గిఫ్&oldid=2166074" నుండి వెలికితీశారు