최근 수정 시각 : 2019-03-18 16:42:12

GIF

나무위키에 개별 문서가 있는 그래픽 포맷 목록
비트맵 APNG, AVIF, BMP, BPG, DDS, GIF, HEIF, JPEG, PNG, PSD, RAW, WebP
벡터 AI, CDR, SVG
비디오 AVI, BIK, FLV, mkv, MOV, MP4, MPEG, WebM, WMV, AV1


파일:attachment/GIF/d0048777_4cd575465b56d.gif
GIF 이미지 예시

1. 개요2. 상세3. GIF의 발음에 대한 논란4. 특징5. 현재6. 기타

1. 개요

그림 파일 형식의 하나. Graphics Interchange Format의 약자로, 네트워크 상에서 그래픽을 압축하여 빠르게 전송하려는 목적으로 개발되었다. 따라서 압축률을 우선적으로 고려한 포맷이다. 인터넷 매체에서는 움짤이라고 부른다.

2. 상세

1987년에 미국의 컴퓨서브(CompuServe)사에서 자사의 PC통신에서 사용하기 위해 처음 개발하였으며, 최종 버전은 1989년에 발표한 GIF89a이다. 데이터의 압축은 렘펠-지브-웰치(LZW; Lempel-Ziv-Welch) 알고리즘을 사용하여 압축한다. JPG 포맷이 개발되기 전까지 그림파일들은 대부분 이 형식이었다. 컴퓨서브 사에서 이 형식에 대해 유료 라이선스를 주장하지 않겠다고 공표했기 때문이다. 그랬다가 JPG가 나오면서 사장되나 싶었지만 고용량, 고속 통신 시대를 맞으면서 속칭 움짤이라고 부르는 animated GIF 형식으로 다시 인기를 끌고 있다.

3. GIF의 발음에 대한 논란

파일:external/68.media.tumblr.com/tumblr_oligreqicE1umt03ao5_r2_500.jpg

발음은 /dʒɪf/('지프'에 가깝다)와 /ɡɪf/('기프'에 가깝다) 두 가지가 혼용돼서 사용되고 있다. 그런데 어느 쪽이 올바른 발음인지에 대한 논쟁이 일어나자, 참다 못한 GIF의 개발자인 스티브 윌하이트가 /dʒɪf/가 올바른 발음이라고 공언했다. 심지어 그는 표준 발음을 제시한 정도를 넘어서, /ɡɪf/는 아예 잘못된 발음이라고 했다.

사실 영어가 표음성이 매우 극악한 언어로 악명이 높다. 물론 영어 외에도 표음성이 매우 나쁜 언어도 많고 심지어 영어보다 표음성이 더 나쁜 언어도 있으나 메이저한 언어 중에는 영어가 단연이다. 이런 고유 명사를 제대로 읽지 못하는 건 애교 수준이라고 생각하면 편하다.

아무튼 공식적으로는 '지프'로 발음하지만, 개발자라고 발음을 결정할 수 있는 건 아니라며 여전히 '기프'라고 발음하는 사람들도 많으며, GIF의 발음은 여전히 식지 않는 떡밥이다. 기프 측도 근거가 아주 없는 것은 아니어서, 'g 다음에 i가 오면 /ɡ/로 발음되는 경우도 많다[1]'고 주장하지만, /dʒ/로 발음되는 반례[2]도 많기 때문에 탕수육 부먹 vs 찍먹 논쟁처럼 병림픽을 벌이는 중이다. 혹은 'G가 Graphic의 첫자이므로 발음도 이에 따라야 한다'는 주장도 있다.[3]

한국어에서는 대체로 라틴 문자 한 글자씩 끊어 읽은 '지 아이 에프'로 발음하므로 이런 논쟁은 없다. 약자는 대문자로 표기하고 한글자씩 끊어읽는 게 원칙이나, 현대 영어의 특성상 약자도 편의상 단어처럼 읽는 경향(Ex. ASAP 에이쌮, WYSIWYG 위지위그)이 많기에 이런 논란이 일어나는 것이다. 마찬가지로 JPEG, PNG에도 주류 발음(/ˈdʒeɪpɛɡ/ '제이페그', /pɪŋ/ '핑')이 있지만 한국어에서는 대개 라틴 문자마다 끊어서 읽는다.

비슷한 예로 GNU, GNOME이 있다. 정식 발음은 /ɡnuː/('그누'), /ɡnoʊm/('그놈')[4]이지만 /nuː/('누'),[5] /noʊm/('놈')으로 읽어야 한다고 주장하는 사람들이 있다. 이들의 입장을 정리하면 현대 영어 발음에서 /ɡn/ 어두 자음군은 어색한 데다가, 원래 일반 명사인 gnu, gnome는 g가 묵음이므로 철자가 같은 GNU와 GNOME도 동일하게 발음하게 해야지, 사람들에게 /ɡ/ 음을 억지로 발음하도록 요구하는 건 과도하다는 것이다.

4. 특징

  • 비손실 압축 알고리즘을 사용하는 무손실 압축 포맷이기 때문에 이미지 저장시 원본 데이터와 달라지는 손실이 발생하지 않는다. 다만, 포맷 자체가 256 색상밖에 지원하지 않으므로 256 색상보다 섬세하게 색을 표현하는 이미지[6]를 GIF 포맷으로 저장하면 256 색상으로 변환하는 과정에서 손실이 발생할 수 있다. 이러한 발색의 손실 때문에 GIF를 손실 압축 포맷으로 착각하는 사람도 많다. PNG-24 포맷을 GIF 포맷으로 변환하는 과정에서 발생하는 손실은 GIF 포맷이 갖고 있는 최대 256 색상과 알파 채널 미지원이라는 한계 때문에 필연적으로 발생하는 손실이지, GIF 포맷 자체가 손실 압축 포맷인 건 아니다. 즉, GIF로 변환하면서 손실이 발생한 이미지를 다시 GIF로 저장하면 거기서 또 손실이 발생하지는 않는다.
  • 여러 장의 이미지를 하나의 파일에 담을 수 있으며, 이를 Animated GIF 라고 부른다. Animated GIF는 단순히 GIF 이미지를 여러개 이어서 붙이는 방식으로 저장하는것도 가능하지만, 각각의 이미지에서 변화된 내용만을 적용하는 방식으로 저장하여 용량을 줄이는 것도 가능하다.
  • 투명 컬러를 지정하는 것이 가능하다. PNG처럼 알파값이 존재하는 것이 아니라 특정 컬러를 투명컬러로 지정하는 방식이다. PNG와 같이 정교하게 알파값을 지정하는 방식보다 나쁘기는 하지만, PNG의 알파값을 지원하지 못하는 웹 브라우저가 있기 때문에[7] 예전에는 많이 사용했다.
  • GIF 포맷에 사용된 LZW 알고리즘은 Unisys사가 특허를 보유하고 있는 기술이었다. Unisys는 1999년, 뜬금없이 너 고소를 시전하며 특허료 청구를 요구했는데 이 때문에 그 전까지 GIF 포맷을 잘 지원해온 프로그램들이 모조리 GIF 지원을 빼는 사태가 벌어졌다. 1985년에 특허등록이 된 기술이므로 2004년경에 대부분의 나라에서 특허 유효기간으로 설정한 20년이 만료되어 그 이후 다시 아무런 제한없이 사용이 가능하게 되었다.
    • PNG 포맷은 처음부터 이 GIF의 대안으로 만든 것인데, GIF와 동등, 또는 그 이상의 성능을 발휘하면서 LZW 알고리즘의 라이센스 문제를 비껴갈 수 있는 공개된 포맷이 요구되었기 때문이다. 실제로 PNG는 애니메이션 기능을 제외하면 GIF를 완벽하게 대체할 수 있다. 다만 저 99년의 대량 소송 사태 때 만들어진 것은 아니고 실제 제작은 그보다 약간 앞서서 1996년에 첫 릴리즈가 되었다.

5. 현재

GIF 자체가 오래된 기술이기에 압축률은 매우 떨어진다. 트위터에 Animated GIF 파일을 업로드하면 자체적으로 mp4 동영상으로 변환하여 저장하는데, 이 경우 500 KB 수준의 GIF 파일이 100 KB 수준의 mp4 파일로 변환이 되기도 한다.

나무위키에서도 용량이 큰 GIF 파일은 MP4 파일로 변환해서 보여주는 것이 기본 설정이다. 루리웹에서도 2019년 3월 13일부터 새로 올리는 이미지에 한해 MP4 변환을 지원하는데[8], 8 MB 약간 넘는 이미지가 519 KB(약 1/16 수준)까지 줄어들기도 한다(열람 시 데이터 주의!).

GIF 포맷은 후에 나온 PNG 포맷에 비해서 압축률도 떨어지고 확장성도 떨어지지만, 지원하는 프로그램 많아서 호환성이 좋고, 애니메이션을 구현하기 쉽다는 이유 때문에 아직까지 많이 사용되고 있다. 정지 화상은 PNG가 GIF의 뒤를 잇는 포맷으로 자리잡았으나, 애니메이션은 GIF를 대체하기 위한 APNG, WebP, BGF 등의 파일 형식이 등장하고 있으나 브라우저에 따라서 지원하기도 하고 안하기도 하는 등 아직까지는 이렇다할 차세대 공통 표준이 없는 상태.

APNG는 인터넷 익스플로러(모든 버전)와 Microsoft Edge(EdgeHTML 기반)에서 지원하지 않으며, 첫번째 프레임만 표시된다. WebP는 구글에서 개발한 형식이라 Chromium 계열 브라우저에서만 지원하며 다른 브라우저에서는 아예 불러와지지 않는다.[9] 그렇지만 이런 파일 형식들은 GIF에 비해 용량이 작아 로딩속도가 빠르고, 지원하는 색이 다양하다는 장점이 있다. 그리고 대부분의 웹 브라우저들이 Chromium 엔진으로 갈아탄 탓에 호환성 문제도 대부분 해결되었다.[10]

6. 기타

HTML5SVG 등의 보급으로 어도비 플래시가 고사했듯 차세대 애니메이션 이미지의 표준이 정해지는 날이 온다면 GIF도 같은 운명을 맞게 될 것으로 보인다.

재미있게도 플래시가 처음 개발된 목적이 기존 애니메이션 GIF의 한계를 극복하기 위한 대체재로 개발된 것이었다. 하지만 보안에 취약하고 모바일에 제대로 대응하지 못한 탓에 플래시가 GIF보다 먼저 고사하였다.

GIF 파일을 올릴 때 일정 크기를 넘어가면 업로드를 차단하거나 JPG 파일로 변환해서 올리는 경우가 많다. 텀블러는 3MB, 네이버 밴드는 5MB, 루리웹은 12MB(댓글은 1MB), 트위터카카오톡은 15MB까지인 등.


[1] girl, give, gift, gill, gig, giggle, girdle, giddy, gigabyte 등.[2] gin, giraffe, giant, gibberish, ginger, gigantic 등.[3] 근데 여러 발음이 가능한 문자가 약어가 됐을 때 그 문자의 발음은 원래의 단어에서 쓰인 발음과 다른 경우가 많아서 이 주장에는 문제가 있다. 예를 들어 NATO의 A가 Atlantic(애틀랜틱)에서는 /æ/('애')로 읽히지만 약어인 NATO 자체의 A는 /eɪ/('에이')로 발음된다. 참고로 NATO를 한국어에서는 '나토'라고 읽지만 영어로는 /ˈneɪtoʊ/로 읽어서 '네이토'에 가깝다.[4] 영어에서 /ɡn/가 어두 자음군으로 쓰이기 어색하기 때문에 무표 모음(無標母音·default vowel)인 /ə/를 첨가하여 /gəˈnuː/('거누'), /ɡəˈnoʊm/('거놈') 식으로 2음절화하여 읽는 사람들도 있다. 영어에서는 GNU나 GNOME 말고도 자음군으로 읽기 어려운 조합의 자음 뒤에 /ə/를 첨가해 읽는 방식은 흔하다. 이건 한국어의 외래어에서 원어의 자음 뒤에 ㅡ(/ɯ/)를 첨가해 읽는 것(예를 들면 GNU를 누로 옮기는 게 한 예)과 유사하다(다만 영어와 달리 한국어에서는 무표 모음이 ㅡ이므로 ㅡ를 붙인다는 차이가 있을 뿐이다). 그리고 GNU의 경우 어말의 u를 표준적인 영국 영어 발음인 용인발음(Received Pronunciation) 등에서 u 발음을 /juː/('유')로 읽기 때문에 이런 철자-발음 대응에 익숙한 사람들은 /ɡnjuː/('그뉴')나 /ɡəˈnjuː/('거뉴')로 읽기도 한다.[5] 용인발음식으로는 /njuː/('뉴')[6] 일반적으로 쓰이는 거의 모든 이미지 파일 형식이 해당된다.[7] IE 6은 지원하지 않으며, IE 7/8은 지원하기는 하나 CSS 알파와 동시에 사용할 경우 작동하지 않는 버그가 있다. 그 외의 현대 웹 브라우저는 모두 지원한다.[8] 루리웹은 이미지 서버가 상당히 느리다. 그래서 GIF 파일이 올라오면 1~2 프레임으로 재생되는 경우도 흔했다. 그리고 모바일 페이지에서는 GIF 파일이 1 MB를 넘어가면 썸네일만 표시되고 직접 클릭해줘야 재생이 되었다.[9] 다만 다운받아둔 파일은 꿀뷰에서 재생이 가능하다. 참고로 구글에서 개발한 동영상 포맷으로 WebM이 있다. 역시 Chromium 계열 브라우저만 지원하며, 이건 팟플레이어에서 재생이 가능하다.[10] 물론 이것 때문에 브라우저 엔진의 획일화를 우려하는 목소리도 있긴 하다. 하지만 대부분의 웹 서비스들이 Chromium을 기준으로 설계한 경우가 많아서 다른 브라우저에서는 제대로 동작하지 않는 경우가 흔한 탓에 Chromium 엔진을 채택하는 경우가 많다.

분류