에릭슨 텍스처 압축

Ericsson Texture Compression

에릭슨 텍스처 압축(ETC)은 2005년 초 에릭슨 리서치와 공동으로 개발한 손실 텍스처 압축 기법이다.원래는 iPACKMAN이라는[1] 이름으로 개발되었으며, PACKMAN이라는 초기 압축 체계를 기반으로 개발되었다.[2]

ETC1

원래의 'ETC1' 압축 체계는 24비트 RGB 데이터의 6배 압축을 제공한다.이에 대한 해결책은 있지만 Alpha 구성 요소를 사용한 이미지 압축을 지원하지 않는다.[3]

ETC1은 4x4 픽셀 데이터 그룹을 취하여 각각 64비트 단어로 압축한다.4×4 픽셀 그룹은 먼저 수평 또는 수직의 두 개의 4×2 청크로 나뉜다.각 절반은 기본 색상이 주어진다 - 4/4/4 RGB를 사용하거나 그 중 한 개는 5/5/5 RGB를 주고 다른 하나는 그 베이스에서 3/3/3 비트 오프셋으로 한다.각 4×2 영역에는 3비트 밝기 범위 선택도 있다.그런 다음 각 픽셀은 4×4 그룹의 절반에 해당하는 기본 색상에 4개의 서명 값 중 하나를 추가하여 기본 색상에서 오프셋된다.

이 형식은 휴대폰과 같은 임베디드 디바이스에 대한 OpenGL ES 그래픽[4] 표준 확장의 일부분으로, 크러노스 그룹으로부터 브라우저측 월드 와이드 웹 그래픽용 WebGL 그래픽 표준에 사용할 수 있도록 승인을 받았다.[citation needed]

Android 버전 2.2(Froyo)에는 ETC1에 대한 지원이 포함되어 있다.[5]

[3]ETC2 및 EAC

'ETC2' 체계는 ETC1을 역호환성 방식으로 확장하여 고품질 RGB 압축뿐만 아니라 [6]RGBA(RGB + 알파), 단일 채널(R11) 및 이중 채널(RG11) 데이터의 압축도 제공한다.

OpenGL ES 3[7].0 및 OpenGL 4.3에서는 다음과 같은 ETC2 코덱이 필수적이다.[8]

  • GL_COMPRESSED_RGB8_ETC2— ETC1의 후속 조치인 RGB888 데이터 압축
  • GL_COMPRESSED_RGBA8_ETC2_EAC— 완전한 알파 지원을 통해 RGBA88888 데이터 압축
  • GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2— 픽셀이 완전히 투명하거나 완전히 불투명한 경우 RGBA 데이터 압축

위의 코덱의 sRGB 변형도 이용할 수 있다.

EAC는 ETC1/ETC2와 동일한 원리로 구축되지만 1채널 또는 2채널 데이터에 사용된다.다음의 4개의 EAC 코덱이 OpenGL ES 3.0 및 OpenGL 4.3에서 의무적으로 포함되어 있다.

  • GL_COMPRESSED_R11_EAC— 서명되지 않은 하나의 채널 데이터
  • GL_COMPRESSED_SIGNED_R11_EAC— 단일 채널 서명 데이터
  • GL_COMPRESSED_RG11_EAC— 서명되지 않은 두 채널 데이터
  • GL_COMPRESSED_SIGNED_RG11_EAC— 두 채널 서명 데이터

RGBA와 RG11 형식은 4x4 블록당 128비트로 인코딩되며, 나머지는 블록당 64비트로 인코딩된다.RGBA의 경우 RGB 채널이 일반 64비트 블록으로 인코딩되는 반면 A 채널은 자체 64비트 블록을 갖는다.RG11 형식은 부품당 하나의 64비트 블록으로 유사하게 인코딩된다.

ETC1/ETC2 텍스처의 압축 및 압축 해제를 위해 etcpack이라는 소프트웨어 유틸리티를 GitHub의 에릭슨에서 코드 형태로 무료로 다운로드할 수 있다.[9]

부드러운 종단

'원활한 프로필'은 신문에만[10] 나와 있다.ETC2 Planar Mode와 유사하지만 부드러운 질감을 제공하기 위해 더 많은 기능을 사용한다.

참고 항목

참조

  1. ^ iPACKMAN: 휴대 전화를 위한 고품질, 저복잡성 텍스처 압축 - Jacob Ström(에릭슨 연구), Tomas Akeinine-Möler(런드 대학교)
  2. ^ PACKMAN: 휴대 전화를 위한 텍스처 압축 - Jacob Ström (Ericson Research), Tomas Akeinine-Möler (Lund University.
  3. ^ a b "Sample code for handling alpha channels in ETC1 from ARM". Archived from the original on 2011-10-27. Retrieved 2011-11-03.
  4. ^ OES_compressed_ETC1_RGB8_textures, OpenGL ES 확장 레지스트리의 ETC1 압축 알고리즘 및 텍스처 형식 설명
  5. ^ Android 2.2 Wayback Machine에 보관된 2010-10-11용 릴리스 노트(Froyo)
  6. ^ ETC2에 대한 용지: 잘못된 조합을 사용한 텍스처 압축
  7. ^ OpenGL ES 버전 3.0 사양
  8. ^ OpenGL 버전 4.3 사양
  9. ^ 기투브의 에릭슨 ETCPACK
  10. ^ Smooth Profile Function을 이용한 라이트 맵의 텍스처 압축 - Jim Rasmusson, Jacob Ström, Per Wennersten (Ericsson Research), Michael Doggett, Tomas Akenine-Möler (Lund University)

외부 링크