image-compression

3 개의 포스트

discord

디스코드에서 커스텀 이 (새 탭에서 열림)

Discord의 커스텀 이모지는 서버 구성원이 직접 업로드해 메시지, 리액션, 사용자 지정 상태에 활용하는 이미지다. 서버별로 저장되며, 다른 서버에서 사용하려면 해당 서버에 다시 업로드하거나 Nitro가 필요하다. 현재 Discord가 이미지 크기와 형식을 자동 조정하므로 업로드가 간편하지만, 서버별 이모지 한도와 커뮤니티 가이드라인은 지켜야 한다. ## 커스텀 이모지란? - Discord의 기본 이모지와 달리 서버 커뮤니티가 직접 만들고 업로드하는 작은 이미지다. - 메시지에 삽입하거나 메시지 리액션으로 사용하고, 사용자 지정 상태에도 활용할 수 있다. - 특정 밈, 내부 농담, 친구의 사진 등 커뮤니티만의 개성을 표현하는 용도로 적합하다. - 커스텀 이모지는 업로드된 서버에 귀속된다. ## 커스텀 이모지 추가 방법 - 이모지 업로드 권한이 있는 서버에서 다음 메뉴로 이동한다. - **Server Settings > Emoji** - 권한이 있다면 데스크톱의 이모지 선택기에서 바로 업로드할 수도 있다. - 업로드한 이모지는 해당 서버 구성원이 사용할 수 있다. - 다른 서버에서 사용하려면: - 사용하려는 서버마다 직접 업로드하거나 - Discord Nitro를 구독해야 한다. ## 파일 형식과 권장 규격 Discord는 업로드 과정에서 이미지 크기 조정과 자르기를 지원하므로 과거처럼 규격을 정확히 맞출 필요는 줄었다. - 지원 파일 형식: **JPEG, PNG, GIF, WEBP, AVIF** - 권장 파일 크기: **256KB** - 초과해도 Discord가 압축한다. - 권장 이미지 크기: **128×128픽셀** - 더 크거나 작아도 업로드 가능하며, Discord가 조정한다. - 이모지 이름: - 최소 2자 이상 - 메시지에서 `:이모지이름:` 형태로 입력해 사용한다. - 예: `:joy:`, `:GiantHead:` ## 애니메이션 이모지 - 정적 이모지와 동일한 방식으로 업로드한다. - 업로드 후에는 일반 이모지와 별도로 **Animated Emoji** 영역에 표시된다. - 새로 업로드한 애니메이션 이모지를 사용하려면 Nitro가 필요하다. ## 제작 시 지켜야 할 제한 - 기술적으로는 다양한 이미지를 만들 수 있지만 Discord의 다음 정책을 따라야 한다. - Community Guidelines - Terms of Service - 저작권 및 지식재산권 정책 - 이모지는 연령 제한 콘텐츠로 지정할 수 없다. - 따라서 다음과 같은 이미지는 이모지로 허용되지 않는다. - 노골적인 성인 콘텐츠 - 그래픽한 폭력 묘사 - 연령 제한이 필요한 콘텐츠 - 직접 제작하지 않은 이미지라면 업로드 권리를 보유하고 있는지 확인해야 한다. ## 이모지를 크게 표시하는 방법 - 메시지에 일반 텍스트 없이 이모지만 입력하면 이모지가 크게 표시된다. - 한 메시지에 최대 **27개**까지 이모지를 넣을 수 있다. - 이 조건을 충족하면 모든 이모지가 큰 크기로 표시된다. - 28개 이상을 넣거나 일반 텍스트를 함께 입력하면 일반 크기로 표시된다. ## 서버별 이모지 한도 일반 서버의 기본 한도는 다음과 같다. - 일반 커스텀 이모지: **50개** - 애니메이션 커스텀 이모지: **50개** - 이 한도는 서버 전체에 적용되므로, 한 사람이 대부분을 업로드하면 다른 구성원이 추가할 공간이 줄어든다. 서버 부스트 레벨이 올라가면 한도가 증가한다. - **레벨 1**: 일반 100개, 애니메이션 100개 - **레벨 2**: 일반 150개, 애니메이션 150개 - **레벨 3**: 일반 250개, 애니메이션 250개 ## 실용적인 추천 업로드 전에는 128×128픽셀에 가깝게 이미지를 준비하고, 작은 화면에서도 표정이나 형태가 잘 보이는 단순한 디자인을 선택하는 것이 좋다. 또한 서버의 이모지 한도를 고려해 이름 규칙을 통일하고, 저작권 및 연령 제한 콘텐츠가 포함되지 않았는지 확인해야 한다.

discord

디스코드 업데이트: (새 탭에서 열림)

디스코드는 사용자 개성을 표현하는 프로필 기능과 커뮤니티 가시성을 높이는 '서버 태그'를 도입하며 사용자 경험을 한층 강화했습니다. 이와 더불어 퀵 스위처 알고리즘 개선, 모바일 이미지 품질 향상 등 기술적 최적화를 통해 소통의 효율성을 높이는 데 집중하고 있습니다. 이번 업데이트는 단순한 기능 추가를 넘어 사용자들이 소속감을 더 직관적으로 드러내고 편리하게 대화할 수 있는 환경을 구축하는 데 결론을 두고 있습니다. ### 서버 태그를 통한 커뮤니티 정체성 강화 * 사용자 이름 옆에 자신이 소속된 서버나 좋아하는 게임 커뮤니티를 나타내는 '서버 태그(Server Tags)' 기능이 추가되었습니다. * 다른 사용자가 태그를 클릭하면 해당 서버의 상세 정보를 확인할 수 있으며, 관리자 설정에 따라 즉시 가입하거나 가입 신청을 보낼 수 있습니다. * 서버 부스트 3단계를 달성하면 커뮤니티 관리자가 서버 태그 기능을 활성화하여 구성원들이 이를 프로필 설정에서 사용할 수 있게 됩니다. ### 프로필 개인화 및 시각적 요소 업데이트 * 데스크톱 앱에서 최근에 사용한 프로필 이미지(Avatar) 6개를 저장하여, 매번 이미지를 새로 업로드할 필요 없이 이전 이미지로 빠르게 교체할 수 있습니다. * Nitro 멤버는 퀘스트를 통해 획득한 한정판 아바타 장식을 기존 2개월 제한을 넘어 훨씬 더 오랜 기간 유지할 수 있게 되었습니다. * 상점에 새로운 네임플레이트가 대거 추가되었으며, 서버 부스트를 통해 역할(Role) 이름에 화려한 그라데이션 효과를 주는 '향상된 역할 스타일' 기능을 사용할 수 있습니다. ### 메시징 편의성 및 성능 최적화 * **퀵 스위처(Quick Switcher) 개선:** 사용자가 실제로 이동하고자 하는 채널이나 DM을 더 정확하게 예측하여 보여주도록 알고리즘이 고도화되었습니다. * **이메일 마크다운 지원:** 이메일 주소를 `<example@email.com>`과 같이 괄호 안에 넣으면 클릭 시 즉시 메일 작성 화면으로 연결되는 하이퍼링크가 생성됩니다. * **모바일 이미지 품질 향상:** 모바일 앱의 이미지 압축 방식을 개선하여 저화질 이미지의 임베드 품질을 높였으며, 전반적인 이미지 업로드 및 렌더링 속도가 향상되었습니다. ### Discord 내 액티비티: Wordle 도입 * 채팅창에 `/wordle` 명령어를 입력하면 New York Times의 Wordle 게임을 Discord 내에서 바로 플레이할 수 있는 액티비티 기능이 추가되었습니다. * 게임 결과를 `/share` 명령어로 다른 채널이나 DM에 공유하여 친구들과 정답 맞히기 기록을 비교하고 경쟁할 수 있습니다. 커뮤니티를 운영 중인 관리자라면 서버 부스트를 활용해 '서버 태그'와 '역할 그라데이션'을 활성화하여 멤버들에게 소속감과 시각적 즐거움을 제공해 보시기 바랍니다. 또한, 평소 채널 이동이 잦은 사용자라면 개선된 퀵 스위처를 통해 더 빠르게 대화에 참여할 수 있습니다.

discord

디스코드의 현대 (새 탭에서 열림)

Discord는 이미지 파이프라인에 애니메이션 WebP와 AVIF 지원을 추가해 첨부파일·임베드·애니메이션 이모지의 화질과 재생 성능을 개선했다. 특히 GIF보다 높은 색상 표현력과 알파 투명도를 제공하면서도 파일 크기를 크게 줄여 로딩 속도를 높이는 것이 핵심이다. 다만 플랫폼별 호환성과 디코딩 성능 문제 때문에 Discord는 기본 변환 포맷으로 WebP를 선택하고, AVIF는 호환성을 위해 WebP로 변환한다. ## GIF에서 WebP·AVIF로의 전환 - GIF는 오랫동안 짧은 애니메이션의 표준으로 사용됐지만 다음과 같은 한계가 있다. - 256색(8비트) 팔레트만 지원 - 완전 투명/불투명만 가능한 이진 투명도 - 비효율적인 압축으로 인한 큰 파일 크기 - WebP와 AVIF는 현대적인 이미지·동영상 압축 기술을 활용해 Discord의 대규모 미디어 전송에 더 적합하다. - Discord는 수억 명의 일일 활성 사용자가 매일 수십억 개의 이미지를 공유하므로, 이미지 품질뿐 아니라 저장·전송·재생 비용도 중요하게 고려해야 한다. ## 알파 투명도와 색상 표현력 향상 - WebP와 AVIF는 픽셀별로 다양한 투명도 값을 표현하는 알파 채널을 지원한다. - 부드러운 가장자리 표현 가능 - 반투명 스티커와 이모지 제작에 적합 - Discord의 라이트·다크 테마 배경에 자연스럽게 조화 - 색상 깊이도 GIF보다 크게 향상된다. - GIF: 256색 - WebP: 채널당 8비트, 약 1,670만 색상 - AVIF: 최대 채널당 12비트 - 그 결과 다음과 같은 이점이 있다. - 색상 그라데이션의 밴딩 감소 - 더 정확하고 선명한 색상 - 사진 이미지 표현력 향상 - 호환 디스플레이에서 HDR 지원 가능 ## 애니메이션 압축 효율 - WebP와 AVIF는 프레임 간 차이만 저장하는 방식으로 중복 데이터를 줄인다. - 주요 기술적 이점은 다음과 같다. - 프레임 간 압축 - 고급 예측 모드 - 품질과 파일 크기를 조절하는 인코딩 옵션 - 밀리초 단위의 가변 프레임 타이밍 - 예시로 제시된 애니메이션은 GIF가 302KB인 반면 WebP는 43KB로 크게 줄었다. - 특히 모바일 환경에서는 파일 크기 감소가 데이터 사용량과 로딩 시간 개선으로 직접 이어진다. ## 멀티플랫폼 지원의 어려움 - Discord는 웹, Windows·macOS·Linux 데스크톱, iOS, Android를 모두 지원해야 한다. - 모든 첨부 이미지와 임베드에 대해 다음 작업을 수행해야 한다. - 이미지 형식 검사 - 필요 시 포맷 변환 - 크기 조정 - 정지 이미지와 애니메이션 이미지의 일관된 처리 - 플랫폼마다 브라우저·운영체제·이미지 라이브러리의 지원 수준과 성능이 달라, 단순히 포맷을 추가하는 것만으로는 충분하지 않다. ## WebP를 기본 변환 대상으로 선택한 이유 - Discord는 AVIF보다 WebP를 우선적인 변환 포맷으로 선택했다. - 선택 이유: - 플랫폼 전반에서 거의 보편적인 지원 - AVIF보다 빠른 인코딩·디코딩 - 성숙한 도구와 넓은 생태계 - 예측 가능한 성능 - 단점도 존재한다. - AVIF의 10/12비트보다 낮은 8비트 색상 깊이 - 동일한 품질에서 AVIF보다 큰 파일 크기 - 일부 콘텐츠에서 압축 효율이 낮음 - 따라서 AVIF 파일은 최대한 높은 시각적 품질을 유지하면서 WebP로 변환한다. - HDR AVIF는 SDR로 톤 매핑해 원본의 색상 특성을 가능한 한 보존한다. ## iOS에서의 애니메이션 WebP 디코딩 문제 - Discord는 iOS에서 다양한 이미지 형식을 처리하기 위해 SDWebImage 라이브러리를 사용한다. - SDWebImage는 iOS 14 이상에서 Apple의 ImageIO를 이용해 WebP를 렌더링할 수 있어 처음에는 적합한 선택처럼 보였다. - 그러나 성능 테스트에서 ImageIO 기반 애니메이션 WebP 재생 문제가 발견됐다. - 시간이 지날수록 프레임 타이밍이 늦어짐 - 고해상도 또는 프레임 수가 많은 애니메이션에서 문제가 심화 - 10초짜리 480p·30fps 파일 재생 시 실제 재생이 3초 이상 지연 - 반면 libwebp를 사용한 디코딩은 실시간으로 처리되어 약 10초 안에 정상적으로 재생됐다. - 이 사례는 포맷 자체의 지원 여부뿐 아니라 플랫폼별 디코더 구현과 프레임 처리 성능까지 검증해야 한다는 점을 보여준다. Discord의 접근 방식은 새로운 이미지 포맷을 도입할 때 압축률만 비교해서는 안 된다는 점을 보여준다. 실제 서비스에서는 호환성이 넓고 디코딩 성능이 안정적인 WebP를 기본 포맷으로 활용하되, AVIF의 고품질·고효율 특성은 입력 포맷으로 수용하고 적절히 변환하는 전략이 현실적이다.