KR20140126256A - 컬러 버퍼 압축 - Google Patents

컬러 버퍼 압축 Download PDF

Info

Publication number
KR20140126256A
KR20140126256A KR1020140046039A KR20140046039A KR20140126256A KR 20140126256 A KR20140126256 A KR 20140126256A KR 1020140046039 A KR1020140046039 A KR 1020140046039A KR 20140046039 A KR20140046039 A KR 20140046039A KR 20140126256 A KR20140126256 A KR 20140126256A
Authority
KR
South Korea
Prior art keywords
tile
pixel
processor
constant
cleared
Prior art date
Application number
KR1020140046039A
Other languages
English (en)
Other versions
KR101587347B1 (ko
Inventor
토마스 아케나인-몰러
짐 닐슨
존 하셀그렌
매그너스 안데르손
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20140126256A publication Critical patent/KR20140126256A/ko
Application granted granted Critical
Publication of KR101587347B1 publication Critical patent/KR101587347B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

일부 실시예들에 따라, 타일 내의 각각이 픽셀이 클리어링되었는지의 여부에 관한 정보를 레코딩하도록 마스크 또는 표가 유지될 수 있다. 본원에서 사용된 바와 같이, "클리어링된" 타일은 임의의 다른 도시된 오브젝트들에 의해 커버되지 않는 것이다. 클리어 마스크는 픽셀 또는 샘플이 컬러 값을 포함하는지의 여부 또는 그것이 클리어링되었는지의 여부를 표시하기 위해 픽셀 또는 샘플 당 1비트를 저장할 수 있다. 그 결과, 일부 실시예들에서 압축 비는 부분적으로 커버된 타일들에 대해 증가할 수 있다.

Description

컬러 버퍼 압축{COLOR BUFFER COMPRESSION}
이 출원은 일반적으로 컴퓨터들에 대한 그래픽 프로세싱에 관한 것이고, 특히 컬러 캐시에서 데이터의 캐싱에 관한 것이다.
그래픽 프로세싱 유닛(GPU)들에 대한 성능을 높이기 위해, 메모리 대역폭 감소 기법들이 사용된다. 대역폭 요건들을 감소시키기 위한 일 방식은 버퍼 압축을 수행하는 것이다. 그래픽 시스템은 픽셀들의 컬러들이 도출되는 컬러 버퍼 및 각각의 픽셀의 깊이가 저장되는 깊이 버퍼를 사용할 수 있다. 렌더링 동안, 이들 버퍼들은 판독되고 기록되며, 종종 동일한 픽셀이 양 버퍼들에 대해 수차례 액세스된다. 이들 판독 및 기록 액세스들은 에너지 소모의 견지에서 고가이며, 유리하게는, 특히 모바일 디바이스들과 같은 제한된 파워 서플라이를 가지는 사용자 단말들에 있어서 가능한 범위로 감소될 수 있다.
일부 실시예들은 후속하는 도면들에 관해 기술되어 있다.
도 1은 일 실시예의 개략적 도시이다.
도 2는 8x4 픽셀들의 타일 사이즈를 사용하는 일 실시예에 대한 흐름도이다.
도 3은 일 실시예에 대한 시스템 도시이다.
도 4는 일 실시예에 대한 프론트 정면도이다.
일부 실시예들에 따라, 마스크 또는 표는 타일 내의 각각의 픽셀이 클리어링되었는지의 여부에 관한 정보를 레코딩하도록 유지될 수 있다. 본원에서 사용되는 바와 같이, "클리어링된" 타일, 픽셀 또는 샘플은 임의의 다른 도시된 오브젝트들에 의해 커버되지 않는 것이다. 클리어 마스크는 픽셀 도는 샘플이 컬러 값을 포함하는지의 여부 또는 그것이 클리어링되었는지의 여부를 표시하기 위해 픽셀 또는 샘플 당 비트를 저장할 수 있다. 그 결과, 압축비는 일부 실시예들에서 부분적으로 커버된 타일들에 대해 증가할 수 있다.
버퍼 압축/압축해제는 게임, 3D 맵 및 장면, 3D 메시지들, 예를 들어, 애니메이팅된 메시지들, 스크린 세이버들, 사람-기계 인터페이스(MMI)들 등과 같은 3차원(3D) 그래픽에서 사용될 수 있지만 이에 제한되지 않는다. 따라서, 압축/압축해제는 또한, 다른 타입들의 이미지들 또는 그래픽들, 예를 들어, 1차원(1D), 2차원(2D) 또는 3D 이미지들을 인코딩하기 위해 사용될 수 있다.
압축 및 압축해제는 통상적으로 픽셀들의 타일 또는 블록의 형태인, 복수의 픽셀들을 집합적으로 핸들링한다. 일 실시예에서, 픽셀 블록은 MxN 개 픽셀들의 사이즈를 가지며, 여기서 M, N은, M 및 N이 모두 동시에 1은 아니라는 조건을 가지는 정수들이다. 바람직하게는 M=2m 및 N=2n이고, 여기서, m 및 n은 0이거나, m 및 n이 동시에 0은 아니라는 조건을 가지는 정수들이다. 통상의 구현예 M=N 및 그러한 블럭 실시예들은 4x4 픽셀, 8x4, 8x8 픽셀 또는 16x16 픽셀일 수 있다.
표현 픽셀 또는 "블록 엘리먼트"는 블록 내의 엘리먼트 또는 블록의 인코딩된 표현을 지칭한다. 이 블록은, 차례로, 이미지, 텍스쳐 또는 버퍼의 일부분에 대응한다. 따라서, 픽셀은 (1D, 2D, 3D) 텍스쳐의 텍셀(텍스쳐 엘리먼트), (1D 또는 2D) 이미지의 픽셀 또는 3D 이미지의 복셀(볼륨 엘리먼트)일 수 있다. 일반적으로, 픽셀은 연관된 픽셀 파라미터 또는 속성 값 또는 피쳐를 특징으로 한다. 통상적으로, 어떤 종류의 픽셀 블록이 핸들링되는지에 따라, 픽셀들에 할당될 수 있는 상이한 특성의 속성 값들이 존재한다. 예를 들어, 속성 값은 픽셀에 할당된 컬러 값일 수 있다. 상이한 컬러 공간들이 픽셀 컬러 값들을 나타내기 위해 이용가능하다. 하나의 컬러 공간은 소위 레드, 그린, 블루(RGB) 컬러 공간이다. 따라서, 픽셀 속성 값은 RGB 컬러의 레드 값, 그린 값 또는 블루 값일 수 있다.
픽셀 컬러는 또한 휘도 및 색차 성분들의 형태로 표현될 수 있다. 이러한 경우에서, RGB 컬러 값을 휘도 값, 및 통상적으로 2개의 색차 성분들로 변환하기 위한 변환이 사용될 수 있다. 휘도-색차 공간들의 예들은 YUV, YCoCg 및 YCrCb을 포함한다. 따라서, 속성 값은 또한 휘도 값(Y) 또는 색차 값(U, V, Co, Cg, Cr, 또는 Cb)일 수 있다. 컬러 버퍼의 픽셀 블록들을 압축/압축해제하는 경우, 픽셀들의 RGB 컬러들은 휘도/색차 컬러 공간으로 변환될 수 있다. 이것은 RGB 데이터를 역상관시켜 개선된 압축 레이트들을 초래할 뿐만 아니라, 휘도 및 색차 성분들에 대한 상이한 압축 정책들을 가질 가능성을 허용한다. 따라서, 사람의 시각 체계가 휘도 성분에서의 에러에 더 취약하므로, 통상적으로 색차 성분들이 휘도 성분들보다 더욱 공격적으로 압축될 수 있다.
도 1에서, 그래픽 프로세서(10)는 래스터화 유닛(40), 텍스쳐 및 프래그먼트 프로세싱 유닛(42), 및 깊이 또는 Z 비교 및 블렌드 유닛(44)을 포함하는 래스터화 파이프라인을 포함할 수 있다. 이들 유닛들 각각은 일부 실시예들에서 소프트웨어 또는 하드웨어에 의해 전체적으로 또는 부분적으로 구현될 수 있다.
텍스쳐 및 프래그먼트 프로세싱 유닛(42)은 텍스쳐 캐시(46)에 연결된다. 캐시(46)는 차례로 텍스쳐 압축해제 모듈(54)을 통해 메모리 파티션(60)에 연결된다. 따라서, 캐시 내에 저장된 텍스쳐 정보는 메모리 파티션과 캐시 사이에서 압축해제될 수 있다.
깊이 비교 및 블렌드 유닛(44)은 깊이 버퍼 캐시(48), 컬러 버퍼 캐시(50) 및 타일 표 캐시(52)에 연결된다. 다음으로, 깊이 버퍼 캐시(48)는 깊이 버퍼 코더/디코더(코덱)(56)를 통해 메모리 파티션(60)에 연결된다. 마찬가지로, 컬러 버퍼 캐시(50)는 컬러 버퍼 코더/디코더(코덱)(58)를 통해 메모리 파티션(60)에 연결된다. 메모리 파티션(60)은 시스템 메모리의 일부분일 수 있는 동적 랜덤 액세스 메모리(DRAM)(62, 64, 66 및 68)에 연결될 수 있다. 일부 실시예들에서, 텍스쳐 캐시, 깊이 버퍼 캐시 및 컬러 버퍼 캐시를 포함하는 통합 캐시가 사용될 수 있다.
일부 실시예들에서, 통합 코덱은 유닛들(54, 56, 및 58)을 대체할 수 있다. 다양한 구성들은 논문,
Figure pat00001
등에 의한 Floating Point Buffer Compression in a Unified Codec Architecture , Graphics Hardware (2008)에 더욱 상세히 기술된다.
도 2를 참조하면, 컬러 버퍼 압축에 대한 시퀀스(70)는 하드웨어, 소프트웨어 및/또는 펌웨어로 구현될 수 있다. 소프트웨어 및 펌웨어 실시예들에서, 자기, 광학 또는 반도체 저장 매체와 같은 하나 이상의 비-일시적 컴퓨터 판독가능한 매체에 저장된 컴퓨터 실행가능한 명령들에 의해 구현될 수 있다. 이러한 저장 매체의 예들은, 몇몇 예들을 언급하자면, 컬러 버퍼 캐시 그 자체, 동적 랜덤 액세스 메모리, 또는 이와 연관된 프로세서, 예를 들어, 그래픽 프로세싱 유닛을 포함할 수 있다.
시퀀스는 모드 비트들을 설정함으로써 시작할 수 있다(블록 72). 일 실시예에서, 2개의 모드 비트들이 제공된다. 컬러의 압축은, 별도로 타일에 대한 일정한 알파 컬러 채널의 공통적 경우, 뿐만 아니라 알파 값들이 타일에 걸쳐 변경하는 경우를 포함한다. 따라서, 2개의 모드 비트들은 3가지 가능한 상황들을 커버하도록 사용될 수 있는데: 첫째, 알파 값은 일정할 수 있고 전체 타일에 대해 0일 수 있고; 둘째, 알파 값은 전체 타일에 걸쳐 상수 1일 수 있고(여기서, 1은 통상적으로 8비트 렌더 타겟들에 대해 255로서 인코딩됨); 그리고 셋째, 알파 값은 일정하지 않은데, 즉, 전체 타일에 걸쳐 0 또는 1이 아니다.
통상적인 타일 사이즈는 8 x 4개 픽셀들이다. 그러나, 본 발명은 임의의 특정 타일 사이즈에 제한되지 않는다. 추가로, 현재 캐시 라인 사이즈들은 64 바이트이다. 즉, 압축되지 않은 타일은 2개의 캐시 라인들에 맞고 압축된 타일은 1개의 캐시 라인에 맞다. 그러나 본 개시내용은 임의의 특정 압축비 또는 임의의 특정 캐시 라인 사이즈에 제한되지 않는다.
다음으로, 클리어 마스크 비트들은 블록(74)에 표시된 바와 같이, 각각의 타일에 대해 저장된다. 타일 사이즈가 8 x 4인 일 실시예에서, 각각의 타일에 대한 32개의 이러한 클리어 마스크 비트들이 존재한다. 일 실시예에서 클리어 마스크 C 내의 1은 픽셀이 클리어되었음을 표시한다. 클리어 마스크를 사용하는 한 가지 이점은 컬러 값들이 클리어링되지 않은 픽셀들에 대해서만 저장되어야 한다는 점이다. 일 실시예에서, 마스크 내의 클리어링되지 않은 픽셀들, 소위 제로들의 전체 수는 n(C)로 표기된다. 클리어 마스크가 이후 512 비트 캐시 라인을 갖는 실시예에서 사용되는 경우, 480개 비트들이 클리어 마스크에 대한 32개 비트들을 고려한 이후 클리어링되지 않은 컬러들을 나타내도록 유지된다. 이후, 2개 모드 비트들을 고려하고 일정한 알파를 가정하면, 24 비트 RGB 값을 가지는 경우 오직 3개의 컬러 값들이 픽셀마다 저장된다.
남아 있는 비트 버짓 및 컬러 채널 정밀도가 주어진 일정한 알파 값(다이아몬드 76)에 대해, 이후, 클리어링되지 않은 픽셀들 또는 샘플들의 수가 20 미만인 한(다이아몬드 78), 클리어링되지 않은 컬러 값들은 전체 정밀도로 저장될 수 있고, 결과적으로 타일은 항상 블록(80)에 표시된 바와 같이 압축될 수 있다. 즉, (24비트 RGB 방식을 사용하는 실시예에서) 남아 있는 480 비트 빼기 2개 모드 비트를 취하여, 픽셀 당 24비트로 나누는 경우, 19.92 픽셀들을 획득한다.
일정하지 않은 알파 값에 대해(즉, 다이아몬드(76)에서의 옵션 없음), 이후 클리어링되지 않은 비트들의 수는 하나의 캐시 라인에서 전체 정밀도를 저장하기 위해(블록 84) 15미만이어야 한다(다이아몬드 82). 이것은 478을 픽셀 당 32비트로 나누는 것에 의해 결정되며, 이는 타일 당 14.94개의 클리어링되지 않은 비트들과 동일하다.
따라서, 통상적으로 압축된 타일의 컨텐츠는 2개 모드 비트들, 이에 후속하는 32개 클리어 마스크 비트들, 이에 후속하는 실제로 사용되는 압축 비트들을 포함할 것이다. 일 예로서, 12개의 클리어링되지 않은 비트들이 존재하는 경우, 캐시 라인의 512비트 버짓 내에 잘 맞는 2 + 32 + 12 x 24 = 322 비트를 가질 것이다.
클리어링되지 않은 비트들의 수가 일정한 알파 경우에 대해 20보다 더 크거나 같은 경우, 임의의 다른 압축 방식이 일반적인 바와 같이 사용될 수 있다. 예를 들어, 델타 컬러 압축이 사용될 수 있다. 델터 컬러 압축에서, 픽셀들의 각각의 타일 또는 그룹에 대해, 단일 기준 값은 각각의 컬러 채널에 대해 저장된다. 개별 픽셀 컬러들은 이후 기준 값으로부터 델터 값들로서 인코딩된다. 델타 컬러 압축에 비한 차이는, 클리어되지 않은 비트들의 수가 달라짐에 따라, 수는 컬러 성분들에 대한 가변적인 델타 비트들의 수와 결합될 수 있다. 일 예로서, 이들 경우들에 대한 델타 비트 분포들이 후속하는 표에 표시된다.
Figure pat00002
위의 표는 또한 RGBA로 일반화하기에 용이하다. 다양한 비트 분산들에 걸쳐 남아 있는 나머지 미사용된 비트들은 또한 타일 내의 픽셀들의 서브세트의 델타 범위를 증가시키기 위해 이용될 수 있다. 예를 들어, 클리어링되지 않은 비트들의 수가 24인 경우, 22개의 미사용된 비트들은 24개 중 22개 픽셀들에 대해 6+6+6로부터 6+7+6로 델타 비트들의 수를 증가시키도록 사용될 수 있다. 또한, 미사용된 비트들을 조금 더 양호하게 사용할 가능성이 있다. 예를 들어, 타일 내의 제1의 M개 컬러에 대해 나머지 미사용된 비트들이 확산될 수 있고, 따라서, 델타 비트들의 수는 일부 픽셀들에서 더 높아지고 일부 픽셀들에서는 더 낮아진다.
타일 사이즈 및 캐시 라인 사이즈들의 상이한 조합들은 후속하는 표에서 도시된 바와 같이 상이한 최대 압축비들을 허용한다. 8 x 8 픽셀들의 타일은 32 바이트의 캐시 라인을 가지고 8:1 비로 최대로 압축될 수 있는데, 이는 타일이 8개 대신 1개의 캐시 라인에 저장됨을 의미한다. 그 경우, 최대 9개까지의 픽셀 컬러 값들(256-2-32)/24))이 일정한 알파 값들을 가정하여 전체 해상도로 저장될 수 있다:
Figure pat00003
또다른 실시예에서, 픽셀 비트 필드 당 1비트로서 클리어 마스크를 저장하는 것 대신, 동일한 정보는 기존의 압축 방법 내로 포함될 수 있다. 델타 압축 방식이 존재할 때, RGB-델타 값들의 하나의 미리 결정된 비트 조합이 클리어링된 픽셀을 나타내기 위해 사용될 수 있다. 예를 들어, 특정 픽셀에 대한 델타 값들이 모두 1로 설정되는 경우, 버퍼링된 클리어 컬러가 대신 그 픽셀에 대해 포함된다. 이러한 방식은 압축기의 성공 비를 감소시키는데, 왜냐하면 그것이 1로 표현가능한 컬러들의 수를 감소시키기 때문이다. 그러나, 많은 경우들에서, 클리어링된 픽셀들을 표현하기 위한 능력이 이러한 약간의 유실보다 더 중요하다.
특정 타일에 대해, 삼각형은 래스터화되고, 결과적인 커버리지가 하기에 도시된다. 박스들(0-2, 9-11, 18-20, 및 27-29)은 타일의 커버된 픽셀들이고, 컬러 정보가 이들 픽셀들에 대해 저장된다.
Figure pat00004
이 예에서, 압축된 타일의 컨텐츠는 다음과 같이 보일 수 있다:
Figure pat00005
전체 비트 카운트는 2+32+12x24=322이며, 캐시 라인의 512 비트 버짓 내에 수월하게 맞다.
도 3은 시스템(700)의 실시예를 예시한다. 실시예들에서, 시스템(700)은 미디어 시스템일 수 있지만, 시스템(700)은 이 상황으로 제한되지 않는다. 예를 들어, 시스템(700)은 개인용 컴퓨터(PC), 랩톱 컴퓨터, 울트라 랩톱 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜톱 컴퓨터, 개인용 디지털 보조 단말(PDA), 셀룰러 전화, 컴비네이션 셀룰러 전화/PDA, 텔레비전, 스마트 디바이스(예를 들어, 스마트 폰, 스마트 태블릿 또는 스마트 텔레비전), 모바일 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스 등 내에 포함될 수 있다.
실시예들에서, 시스템(700)은 디스플레이(720)에 연결된 플랫폼(702)을 포함한다. 플랫폼(702)은 컨텐츠 서비스 디바이스(들)(730) 또는 컨텐츠 전달 디바이스(들)(740) 또는 다른 유사한 컨텐츠 소스들과 같은 컨텐츠 디바이스로부터 컨텐츠를 수신할 수 있다. 하나 이상의 내비게이션 피쳐들을 포함하는 내비게이션 제어기(750)는 예를 들어, 플랫폼(702) 및/또는 디스플레이(720)와 상호작용하기 위해 사용될 수 있다. 이들 컴포넌트들 각각이 하기에 더 상세하게 기술된다.
실시예들에서, 플랫폼(702)은 칩셋(705), 프로세서(710), 메모리(712), 저장소(714), 그래픽 서브시스템(715), 애플리케이션들(716) 및/또는 라디오(718)의 임의의 조합을 포함할 수 있다. 칩셋(705)은 프로세서(710), 메모리(712), 스토리지(714), 그래픽 서브시스템(715), 애플리케이션들(716) 및/또는 라디오(718) 간의 상호통신을 제공할 수 있다. 예를 들어, 칩셋(705)은 저장소(714)와의 상호작용을 제공할 수 있는 저장 어댑터(미도시됨)를 포함할 수 있다.
프로세서(710)는 복소 명령 세트 컴퓨터(CISC) 또는 축소 명령 세트 컴퓨터(RISC) 프로세서들, x86 명령 세트 호환가능 프로세서들, 멀티-코어, 또는 임의의 다른 마이크로프로세서 또는 중앙 처리 장치(CPU)로서 구현될 수 있다. 실시예들에서, 프로세서(710)는 듀얼-코어 프로세서(들), 듀얼-코어 모바일 프로세서(들) 등을 포함할 수 있다. 프로세서는 메모리(712)와 함께 도 2의 시퀀스를 구현할 수 있다.
메모리(712)는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 또는 정적 RAM(SRAM)과 같은, 그러나 이에 제한되지 않는 휘발성 메모리 디바이스로서 구현될 수 있다.
저장소(714)는 자기 디스크 드라이브, 광학 디스크 드라이브, 테이프 드라이브, 내부 저장 디바이스, 부착된 저장 디바이스, 플래시 메모리, 배터리 백업 SDRAM(동기식 DRAM) 및/또는 네트워크 액세스가능 저장 디바이스와 같은, 그러나 이에 제한되지 않는, 비휘발성 저장 디바이스로서 구현될 수 있다. 실시예들에서, 저장소(714)는 예를 들어, 다수의 하드 드라이브들이 포함될 때 중요한 디지털 미디어에 대한 저장 성능 강화 보호를 증가시키기 위한 기술을 포함할 수 있다.
그래픽 서브시스템(715)은 디스플레이를 위한 스틸 또는 비디오와 같은 이미지들의 프로세싱을 수행할 수 있다. 그래픽 서브시스템(715)은 예를 들어, 그래픽 프로세싱 유닛(GPU) 또는 비주얼 프로세싱 유닛(VPU)일 수 있다. 아날로그 또는 디지털 인터페이스는 그래픽 서브시스템(715) 및 디스플레이(720)를 통신상으로 연결시키기 위해 사용될 수 있다. 예를 들어, 인터페이스는 고해상도 멀티미디어 인터페이스, 디스플레이포트, 무선 HDMI, 및/또는 무선 HD 컴플라이언트 기법들 중 임의의 것일 수 있다. 그래픽 서브시스템(715)은 프로세서(710) 또는 칩셋(705) 내로 통합될 수 있다. 그래픽 서브시스템(715)은 칩셋(705)에 통신상으로 연결되는 독립형 카드일 수 있다.
본원에 기술된 그래픽 및/또는 비디오 프로세싱 기법들은 다양한 하드웨어 아키텍쳐들에서 구현될 수 있다. 예를 들어, 그래픽 및/또는 비디오 기능성이 칩 셋 내에 통합될 수 있다. 대안적으로, 이산 그래픽 및/또는 비디오 프로세서가 사용될 수 있다. 또다른 실시예로서, 그래픽 및/또는 비디오 기능들은, 멀티-코어 프로세서를 포함하는 범용 프로세서에 의해 구현될 수 있다. 추가적인 실시예에서, 기능들은 가전 디바이스에서 구현될 수 있다.
라디오(718)는 다양한 적절한 무선 통신 기법들을 사용하여 신호들을 전송 및 수신할 수 있는 하나 이상의 라디오들을 포함할 수 있다. 이러한 기법들은 하나 이상의 무선 네트워크들을 통한 통신들을 수반할 수 있다. 예시적인 무선 네트워크들은 무선 로컬 네트워크(WLAN)들, 무선 개인 영역 네트워크(WPAN)들, 무선 도심 영역 네트워크(WMAN)들, 셀룰러 네트워크들 및 위성 네트워크들을 포함한다(그러나, 이에 제한되지 않는다). 이러한 네트워크들을 통한 통신에서, 라디오(718)는 임의의 버전에서 하나 이상의 응용가능한 표준들에 따라 동작할 수 있다.
실시예들에서, 디스플레이(720)는 임의의 텔레비전 타입 모니터 또는 디스플레이를 포함할 수 있다. 디스플레이(720)는, 예를 들어, 컴퓨터 디스플레이 스크린, 터치 스크린 디스플레이, 비디오 모니터, 텔레비전-유사 디바이스, 및/또는 텔레비전을 포함할 수 있다. 디스플레이(720)는 디지털 및/또는 아날로그일 수 있다. 실시예들에서, 디스플레이(720)는 홀로그래픽 디스플레이일 수 있다. 또한, 디스플레이(720)는 시각적 투사(projection)를 수신하는 투명 표면일 수 있다. 이러한 프로젝션들은 다양한 형태들의 정보, 이미지들, 및/또는 오브젝트들을 전달할 수 있다. 예를 들어, 이러한 프로젝션들은 모바일 증강 현실(MAR) 애플리케이션에 대한 시각적 오버레이일 수 있다. 하나 이상의 소프트웨어 애플리케이션들(716)의 제어 하에서, 플랫폼(702)은 디스플레이(720) 상에 사용자 인터페이스(722)를 디스플레이할 수 있다.
실시예들에서, 컨텐츠 서비스 디바이스(들)(730)는 임의의 국가적, 국제적 및/또는 독립적 서비스에 의해 호스팅될 수 있고, 따라서 예를 들어, 인터넷에 의해 플랫폼(702)에 대해 액세스가능하다. 컨텐츠 서비스 디바이스(들)(730)는 플랫폼(702) 및/또는 디스플레이(720)에 연결될 수 있다. 플랫폼(702) 및/또는 컨텐츠 서비스 디바이스(들)(730)는 네트워크(760)에 그리고 네트워크(760)로부터 미디어 정보를 통신(예를 들어, 송신 및/또는 수신)하기 위해 네트워크(760)에 연결될 수 있다. 컨텐츠 전달 디바이스(들)(740)는 또한 플랫폼(702) 및/또는 디스플레이(720)에 연결될 수 있다.
실시예들에서, 컨텐츠 서비스 디바이스(들)(730)는, 네트워크(760)를 통해 또는 직접적으로, 케이블 텔레비전 박스, 개인용 컴퓨터, 네트워크 전화, 디지털 정보 및/또는 컨텐츠를 전달할 수 있는 인터넷 인에이블 디바이스 또는 어플라이언스, 및 컨텐츠 제공자들과 플랫폼(702) 및/디스플레이(720) 사이에서 컨텐츠를 단방향으로 또는 양방향으로 통신할 수 있는 임의의 다른 유사한 디바이스를 포함할 수 있다. 컨텐츠가 네트워크(760)를 통해 컨텐츠 제공자 및 시스템(700) 내의 컴포넌트들 중 임의의 하나에 그리고 이로부터 단방향으로 그리고/또는 양방향으로 전달될 수 있다는 점이 이해될 것이다. 컨텐츠의 예들은, 예를 들어, 비디오, 음악, 의료 및 게임 정보 등을 포함하는 임의의 미디어 정보를 포함할 수 있다.
컨텐츠 서비스 디바이스(들)(730)는 미디어 정보, 디지털 정보 및/또는 다른 컨텐츠를 포함하는 케이블 텔레비전 프로그래밍과 같은 컨텐츠를 수신한다. 컨텐츠 제공자들의 예들은 임의의 케이블 또는 위성 텔레비전 또는 라디오 또는 인터넷 컨텐츠 제공자들을 포함할 수 있다. 제공된 예들은 발명의 실시예들을 제한하도록 의도되지 않는다.
실시예들에서, 플랫폼(702)은 하나 이상의 내비게이션 피쳐들을 가지는 내비게이션 제어기(750)로부터 제어 신호들을 수신할 수 있다. 예를 들어, 제어기(750)의 내비게이션 피쳐들이 사용자 인터페이스(722)와 상호작용하기 위해 사용될 수 있다. 실시예들에서, 네비게이션 제어기(750)는 사용자로 하여금 공간(예를 들어, 계속적인 그리고 다차원적인) 데이터를 컴퓨터에 입력하게 하는 컴퓨터 하드웨어 컴포넌트(구체적으로, 휴먼 인터페이스 디바이스)일 수 있는 포인팅 디바이스일 수 있다. 그래픽 사용자 인터페이스들(GUI), 및 텔레비전들 및 모니터들과 같은 많은 시스템들은 사용자로 하여금 물리적 제스쳐들을 사용하여 데이터를 제어하여 컴퓨터 또는 텔레비전에 제공하게 한다.
제어기(750)의 내비게이션 피쳐들의 움직임들은 포인터, 커서, 포커스 링, 또는 디스플레이 상에 디스플레이된 다른 시각적 표시자들의 움직임들에 의해 디스플레이(예를 들어, 디스플레이(720)) 상에서 에코잉될 수 있다. 예를 들어, 소프트웨어 애플리케이션들(716)의 제어 하에서, 내비게이션 제어기(750) 상에 위치된 내비게이션 피쳐들이 예를 들어, 사용자 인터페이스(722) 상에 디스플레이된 가상 내비게이션 피쳐들에 매핑될 수 있다. 실시예들에서, 제어기(750)는 별도의 컴포넌트가 아니라 플랫폼(702) 및/또는 디스플레이(720)에 통합될 수 있다. 그러나, 실시예들은 상기 실시예들에, 또는 본원에 도시되거나 기술된 상황에 제한되지 않는다.
실시예들에서, 드라이버들(미도시)은, 예를 들어, 인에이블되었을 때, 사용자들로 하여금 초기 부트업 이후 버튼의 터치로 텔레비전과 같은 플랫폼(702)을 순시적으로 턴온 및 턴오프하게 하기 위한 기술을 포함할 수 있다. 프로그램 로직은 플랫폼(702)이 턴 "오프" 되었을 때 미디어 어댑터들 또는 다른 컨텐츠 서비스 디바이스(들)(730) 또는 컨텐츠 전달 디바이스(들)(740)에 대해 컨텐츠를 스트리밍하게 할 수 있다. 추가로, 칩셋(705)은 예를 들어, 5.1 서라운드 사운드 오디오 및/또는 고해상도 7.1 서라운드 사운드 오디오에 대한 하드웨어 및/또는 소프트웨어 지원을 포함할 수 있다. 드라이버들은 통합 그래픽 플랫폼들에 대한 그래픽 드라이버를 포함할 수 있다. 실시예들에서, 그래픽 드라이버는 주변 컴포넌트 상호접속(PCI) 익스프레스 그래픽 카드를 포함할 수 있다.
다양한 실시예들에서, 시스템(700)에 도시된 컴포넌트들 중 임의의 하나 이상이 통합될 수 있다. 예를 들어, 플랫폼(702) 및 컨텐츠 서비스 디바이스(들)(730)가 통합될 수 있거나, 또는 플랫폼(702) 및 컨텐츠 전달 디바이스(들)(740)가 통합될 수 있거나, 또는 플랫폼(702), 컨텐츠 서비스 디바이스(들)(730) 및 컨텐츠 전달 디바이스(들)(740)가 통합될 수 있다. 다양한 실시예들에서, 플랫폼(702) 및 디스플레이(720)는 통합 유닛일 수 있다. 예를 들어, 디스플레이(720) 및 컨텐츠 서비스 디바이스(들)(730)가 통합될 수 있거나, 또는 디스플레이(720) 및 컨텐츠 전달 디바이스(들)(740)가 통합될 수 있다. 이들 예들이 발명을 제한하도록 의도되지 않는다.
다양한 실시예들에서, 시스템(700)은 무선 시스템, 유선 시스템, 또는 둘 모두의 조합으로서 구현될 수 있다. 무선 시스템으로서 구현될 때, 시스템(700)은 하나 이상의 안테나들, 송신기들, 수신기들, 트랜시버들, 증폭기들, 필터들, 제어 로직 등과 같은 무선 공유 미디어를 통해 통신하기에 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 무선 공유 미디어의 예는 RF 스펙트럼 등과 같은 무선 스펙트럼의 일부분들을 포함할 수 있다. 유선 시스템으로서 구현될 때, 시스템(700)은 입력/출력(I/O) 어댑터들, 대응하는 유선 통신 매체를 가지는 I/O 어댑터를 접속시키기 위한 물리적 커넥터들, 네트워크 인터페이스 카드(NIC), 디스크 제어기, 비디오 제어기, 오디오 제어기 등과 같은, 유선 통신 매체를 통해 통신하기에 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 유선 통신 매체의 예들은, 와이어, 케이블, 금속 리드들, 인쇄 회로 기판(PCB), 백플레인, 스위치 섬유, 반도체 물질, 트위스티드 페어 와이어, 동축 케이블, 광섬유 등을 포함할 수 있다.
플랫폼(702)은 정보를 통신하기 위해 하나 이상의 논리적 또는 물리적 채널들을 설정할 수 있다. 정보는 미디어 정보 및 제어 정보를 포함할 수 있다. 미디어 정보는 사용자에 대해 의도되는 컨텐츠를 나타내는 임의의 데이터를 지칭할 수 있다. 컨텐츠의 예들은, 예를 들어, 음성 대화로부터의 데이터, 화상회의, 스트리밍 비디오, 전자 메일("이메일") 메시지, 음성 메일 메시지, 영숫자 심볼, 그래픽, 이미지, 비디오, 텍스트 등을 포함할 수 있다. 음성 대화로부터의 데이터는 예를 들어, 스피치 정보, 사일런스(silence) 기간들, 배경 잡음, 컴포트 잡음(comfort noise), 톤들 등일 수 있다. 제어 정보는 자동화된 시스템에 대해 의도된 커맨드들, 명령들 또는 제어 워드들을 나타내는 임의의 데이터를 지칭할 수 있다. 예를 들어, 제어 정보는 시스템을 통해 미디어 정보를 라우팅하거나 또는 미리 결정된 방식으로 미디어 정보를 프로세싱하도록 노드에 명령하기 위해 사용될 수 있다. 그러나, 실시예들은 엘리먼트들에, 또는 도 3에 도시되거나 기술된 상황에 제한되지 않는다.
전술된 바와 같이, 시스템(700)은 다양한 물리적 스타일들 또는 폼팩터들에서 구현될 수 있다. 도 4는 시스템(700)이 구현될 수 있는 작은 폼팩터 디바이스(800)의 실시예들을 예시한다. 실시예들에서, 예를 들어, 디바이스(800)는 무선 능력들을 가지는 모바일 컴퓨팅 디바이스로서 구현될 수 있다. 모바일 컴퓨팅 디바이스는 예를 들어, 프로세싱 시스템 및 하나 이상의 배터리들과 같은 모바일 전원 또는 파워 서플라이를 가지는 임의의 디바이스를 지칭할 수 있다.
전술된 바와 같이, 모바일 컴퓨팅 디바이스의 예들은 개인용 컴퓨터(PC), 랩톱 컴퓨터, 울트라-랩톱 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜톱 컴퓨터, 개인용 디지털 보조 단말(PDA), 셀룰러 전화, 컴비네이션 셀룰러 전화/PDA, 텔레비전, 스마트 디바이스(예를 들어, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 모바일 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스 등을 포함할 수 있다.
모바일 컴퓨팅 디바이스의 예들은 또한 손목 컴퓨터, 핑거 컴퓨터, 링 컴퓨터, 안경 컴퓨터, 벨트 클립 컴퓨터, 암밴드 컴퓨터, 신발 컴퓨터, 의복 컴퓨터와 같은, 사람에 의해 착용되도록 배열된 컴퓨터들 및 다른 착용가능한 컴퓨터들을 포함할 수 있다. 실시예들에서, 예를 들어, 모바일 컴퓨팅 디바이스는 컴퓨터 애플리케이션들을 실행할 수 있을 뿐만 아니라 음성 통신 및/또는 데이터 통신이 가능한 스마트 폰으로서 구현될 수 있다. 일부 실시예들이 예시에 의해 스마트 폰으로서 구현되는 모바일 컴퓨팅 디바이스를 이용하여 기술될 수 있지만, 다른 실시예들이 또한 다른 무선 모바일 컴퓨팅 디바이스들을 사용하여 구현될 수 있다는 점이 이해될 수 있다. 실시예들은 이 상황에 제한되지 않는다.
일부 실시예들에서, 프로세서(710)는 카메라(722) 및 글로벌 포지셔닝 시스템 센서(720)와 통신할 수 있다. 프로세서(710)에 연결된 메모리(712)는 소프트웨어 및/또는 펌웨어 실시예들에서 도 2에 도시된 시퀀스들을 구현하기 위한 컴퓨터 판독가능한 명령들을 저장할 수 있다.
도 4에 도시된 바와 같이, 디바이스(800)는 하우징(802), 디스플레이(804), 입력/출력(I/O) 디바이스(806), 및 안테나(808)를 포함할 수 있다. 디바이스(800)는 또한 내비게이션 피쳐들(812)을 포함할 수 있다. 디스플레이(804)는 모바일 컴퓨팅 디바이스에 대해 적절한 정보를 디스플레이하기 위한 임의의 적절한 디스플레이 유닛을 포함할 수 있다. I/O 디바이스(806)는 모바일 컴퓨팅 디바이스 내에 정보를 입력하기 위한 임의의 적절한 I/O 디바이스를 포함할 수 있다. I/O 디바이스(806)에 대한 예들은 영숫자 키보드, 숫자 키패드, 터치 패드, 입력 키들, 버튼들, 스위치들, 락커 스위치들, 마이크로폰들, 스피커들, 음성 인식 디바이스 및 소프트웨어 등을 포함할 수 있다. 정보는 또한 마이크로폰에 의해 디바이스(800)에 입력될 수 있다. 이러한 정보는 음성 인식 디바이스에 의해 디지털화될 수 있다. 실시예들은 이 상황에 제한되지 않는다.
다양한 실시예들은 하드웨어 엘리먼트들, 소프트웨어 엘리먼트들, 또는 이들 모두의 조합을 사용하여 구현될 수 있다. 하드웨어 엘리먼트들의 예들은 프로세서들, 마이크로프로세서들, 회로들, 회로 엘리먼트들(예를 들어, 트랜지스터들, 레지스터들, 커패시터들, 인덕터들 등), 집적 회로들, 주문형 집적 회로(ASIC)들, 프로그램가능한 논리 디바이스(PLD), 디지털 신호 프로세서(DSP)들, 필드 프로그램가능 게이트 어레이(FPGA), 논리 게이트들, 레지스터들, 반도체 디바이스, 칩들, 마이크로칩들, 칩 셋들 등을 포함할 수 있다. 소프트웨어의 예들은 소프트웨어 컴포넌트들, 프로그램들, 애플리케이션들, 컴퓨터 프로그램들, 응용 프로그램들, 시스템 프로그램들, 기계 프로그램들, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈들, 루틴들, 서브루틴들, 함수들, 방법들, 프로시져들, 소프트웨어 인터페이스들, 응용 프로그램 인터페이스(API)들, 명령 세트들, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트들, 컴퓨터 코드 세그먼트들, 워드들, 값들, 심볼들, 또는 이들의 임의의 조합을 포함할 수 있다. 실시예가 하드웨어 엘리먼트 및/또는 소프트웨어 엘리먼트들을 사용하여 구현되는지의 여부를 결정하는 것은, 원하는 계산 레이트, 전력 레벨들, 내열성들, 프로세싱 사이클 버짓, 입력 데이터 레이트들, 출력 데이터 레이트들, 메모리 자원들, 데이터 버스 속도, 및 다른 설계 또는 성능 제약들 등과 같은 임의의 개수의 인자들에 따라 달라질 수 있다.
후속하는 구문들 및/또는 예들은 추가적인 실시예들에 관한 것이다:
일 예시적인 실시예는 픽셀들 또는 샘플들의 타일이 일정한 또는 가변적인 알파 값을 가지는지의 여부를 결정하는 단계, 타일에 대한 클리어링된 픽셀들 또는 샘플들의 수를 결정하는 단계, 및 알파 값 결정 및 클리어링된 픽셀들 또는 샘플들의 수에 기초하여 타일을 저장하는 방법을 결정하는 단계를 포함하는 컴퓨터 실행 방법일 수 있다. 방법은 또한 알파 값 결정을 저장하기 위해 2비트를 사용하는 단계를 포함할 수 있다. 방법은 또한 상수 0, 상수 1 및 가변값을 포함하는 3개의 알파 값 결정들을 제공하는 단계를 포함할 수 있다. 방법은 또한 픽셀 또는 샘플이 클리어되는지의 여부를 표시하기 하기 위해 타일의 각각의 픽셀 또는 샘플에 대한 클리어 비트를 저장하는 단계를 포함할 수 있다. 방법은 또한 1개의 캐시 라인에 저장가능한 타일에 대한 클리어 비트들의 최대 수를 결정하는 단계를 포함할 수 있다. 방법은 또한 하나의 캐시 라인에 저장하기 위해 타일을 압축하기 위해 일정한 및 가변적인 알파 값들 각각에 대한 클리어 비트들의 최대 수를 결정하는 것을 포함할 수 있다.
또다른 예시적인 실시예에서, 하나 이상의 비일시적 컴퓨터 판독가능한 매체는, 프로세서로 하여금 픽셀들 또는 샘플들의 타일이 일정한 또는 가변적인 알파 값을 가지는지의 여부를 결정하는 것, 타일에 대한 클리어링된 픽셀들 또는 샘플들의 수를 결정하는 것, 및 알파 값 결정 및 클리어링된 픽셀들 또는 샘플들의 수에 기초하여 타일을 저장하는 방법을 결정하는 것을 포함하는 시퀀스를 수행하게 하는 명령들을 저장한다. 매체는 알파 값 결정을 저장하기 위해 2비트를 사용하는 것을 포함하는 상기 시퀀스를 더 저장할 수 있다. 매체는 상수 0, 상수 1 및 가변 값을 포함하는 3개의 알파 값 결정들을 제공하는 것을 포함하는 상기 시퀀스를 더 저장할 수 있다. 매체는 픽셀 또는 샘플이 클리어링되었는지의 여부를 표시하기 위해 타일의 각각의 픽셀 또는 샘플에 대한 클리어 비트를 저장하는 것을 포함하는 상기 시퀀스를 더 저장할 수 있다. 매체는 하나의 캐시 라인에 저장가능한 타일에 대한 클리어 비트들의 최대 수를 결정하는 것을 포함하는 상기 시퀀스를 더 저장할 수 있다. 매체는 하나의 캐시 라인에서 저장하기 위해 타일을 압축하기 위해 일정한 그리고 가변적인 알파 값들 각각에 대한 클리어 비트들의 최대 수를 결정하는 것을 포함하는 상기 시퀀스를 더 저장할 수 있다.
또다른 예시적인 실시예는 픽셀들 또는 샘플들이 일정한 또는 가변적인 알파 값을 가지는지의 여부를 결정하는 것, 타일에 대한 클리어링된 픽셀들 또는 샘플들의 수를 결정하는 것, 및 알파 값 결정 및 클리어링된 픽셀들 또는 샘플들의 수에 기초하여 타일을 저장하는 방법을 결정하는 것을 포함하는 시퀀스를 수행하기 위한 프로세서, 및 상기 프로세서에 연결된 저장소를 포함하는 장치일 수 있다. 장치는 알파 값 결정을 저장하기 위해 2비트를 사용하는 것을 포함하는 상기 시퀀스를 포함할 수 있다. 장치는 상수 0, 상수 1 및 가변적인 값을 포함하는 3개의 알파 값 결정들을 제공하는 것을 포함하는 상기 시퀀스를 포함할 수 있다. 장치는 픽셀 또는 샘플이 클리어링되었는지의 여부를 표시하기 위해 타일의 각각의 픽셀 또는 샘플에 대한 클리어 비트를 저장하는 것을 포함하는 상기 시퀀스를 포함할 수 있다. 장치는 하나의 캐시 라인에 저장가능한 타일에 대한 클리어 비트들의 최대 수를 결정하는 것을 포함하는 상기 시퀀스를 포함할 수 있다. 장치는 하나의 캐시 라인에 저장하기 위해 타일을 압축하기 위해 일정한 및 가변적인 알파 값들 각각에 대한 클리어 비트들의 최대 수를 결정하는 것을 포함하는 상기 시퀀스를 포함할 수 있다. 장치는 운영 체제, 배터리 및 펌웨어, 및 상기 펌웨어를 업데이트하기 위한 모듈을 포함할 수 있다.
또다른 예시적인 실시예는 메모리, 및 픽셀이 임의의 다른 도시된 오브젝트에 의해 커버되지 않기 때문에 픽셀이 클리어링되었는지의 여부를 결정하고, 클리어링되지 않은 픽셀들에 대한 컬러 값들만을 상기 메모리에 저장하는 프로세서를 포함하는 장치일 수 있다. 장치는 상기 프로세서가 그래픽 프로세싱 유닛인 것을 포함할 수 있다. 장치는 각각의 압축 타일 내에서 픽셀 당 1비트의 클리어 마스크를 저장하는 상기 프로세서를 포함할 수 있다. 장치는 알파 값이 전체 타일에 걸쳐 0, 1인지 또는 일정하지 않은지의 여부를 표시하기 위해 2개의 마스크 비트들을 사용하는 상기 프로세서를 포함할 수 있다. 장치는 전체 정밀도에서 컬러 값들을 저장하는 상기 프로세서를 포함할 수 있다. 장치는 클리어링된 픽셀을 나타내기 위해 델타 값의 비트를 사용하는 상기 프로세서를 포함할 수 있다. 장치는 운영 체제, 배터리, 및 펌웨어 및 상기 펌웨어를 업데이트하기 위한 모듈을 포함할 수 있다.
본원에 기술된 그래픽 프로세싱 기법들은 다양한 하드웨어 아키텍쳐들에서 구현될 수 있다. 예를 들어, 그래픽 기능성은 칩셋 내에 통합될 수 있다. 대안적으로, 이산 그래픽 프로세서가 사용될 수 있다. 또다른 실시예에서, 그래픽 기능들은, 멀티코어 프로세서를 포함하는 범용 프로세서에 의해 구현될 수 있다.
이 명세서 전반에 걸쳐 "일 실시예" 또는 "실시예"에 대한 참조는 실시예와 관련하여 기술된 특정 피쳐, 구조 또는 특성이 본 개시내용 내에 포함된 적어도 하나의 구현예에 포함됨을 의미한다. 따라서, 구문 "일 실시예" 또는 "실시예에서"는 반드시 동일한 실시예를 지칭하지는 않는다. 또한, 특정 피쳐들, 구조들 또는 특성들은 예시된 특정 실시예가 아닌 다른 적절한 형태들로 도입될 수 있으며, 모든 이러한 형태들이 본 출원의 청구항들 내에 포함될 수 있다.
실시예들의 수가 제한되지만, 당업자는 이들로부터의 다수의 수정들 및 변형들을 이해할 것이다. 첨부된 청구항들은, 이 개시내용의 진의 및 범위내에 듦에 따라 모든 이러한 수정들 및 변형들을 커버하도록 의도된다.

Claims (24)

  1. 컴퓨터 실행 방법으로서,
    픽셀들 또는 샘플들의 타일이 일정한 또는 가변적인 알파 값을 가지는지의 여부를 결정하는 단계;
    상기 타일에 대한 클리어링된 픽셀들 또는 샘플들의 수를 결정하는 단계; 및
    상기 알파 값 결정 및 상기 클리어링된 픽셀들 또는 샘플들의 수에 기초하여, 상기 타일을 저장하는 방법을 결정하는 단계
    를 포함하는 컴퓨터 실행 방법.
  2. 제1항에 있어서,
    상기 알파 값 결정을 저장하기 위해 2비트를 사용하는 단계를 포함하는 컴퓨터 실행 방법.
  3. 제1항에 있어서,
    상수 0, 상수 1 및 가변값을 포함하는 3개의 알파 값 결정들을 제공하는 단계를 포함하는 컴퓨터 실행 방법.
  4. 제1항에 있어서,
    상기 픽셀 또는 샘플이 클리어링되었는지의 여부를 표시하기 위해 상기 타일의 각각의 픽셀 또는 샘플에 대한 클리어 비트를 저장하는 단계를 포함하는 컴퓨터 실행 방법.
  5. 제4항에 있어서,
    압축된 형태로 저장가능한 타일에 대한 클리어 비트들의 최대 수를 결정하는 단계를 포함하는 컴퓨터 실행 방법.
  6. 제5항에 있어서,
    압축된 형태로 저장하기 위해 타일을 압축하기 위해 일정한 그리고 가변적인 알파 값들 각각에 대한 클리어 비트들의 최대 수를 결정하는 단계를 포함하는 컴퓨터 실행 방법.
  7. 프로세서로 하여금 시퀀스를 수행하게 하는 명령들을 저장하는 하나 이상의 비-일시적 컴퓨터 판독가능한 매체로서, 상기 시퀀스는:
    픽셀들 또는 샘플들의 타일이 일정한 또는 가변적인 알파 값을 가지는지의 여부를 결정하는 것;
    상기 타일에 대한 클리어링된 픽셀들 또는 샘플들의 수를 결정하는 것; 및
    상기 알파 값 결정 및 상기 클리어링된 픽셀들 또는 샘플들의 수에 기초하여, 상기 타일을 저장하는 방법을 결정하는 것
    을 포함하는 컴퓨터 판독가능한 매체.
  8. 제7항에 있어서,
    상기 시퀀스는 상기 알파값 결정을 저장하기 위해 2비트를 사용하는 것을 포함하는 컴퓨터 판독가능한 매체.
  9. 제7항에 있어서,
    상기 시퀀스는 상수 0, 상수 1, 및 가변값을 포함하는 3개의 알파 값 결정들을 제공하는 것을 포함하는 컴퓨터 판독가능한 매체.
  10. 제7항에 있어서,
    상기 시퀀스는 상기 픽셀 또는 샘플이 클리어링되었는지의 여부를 표시하기 위해 상기 타일의 각각의 픽셀 또는 샘플에 대한 클리어 비트를 저장하는 것을 포함하는 컴퓨터 판독가능한 매체.
  11. 제10항에 있어서,
    상기 시퀀스는 압축된 형태로 저장가능한 타일에 대한 클리어 비트들의 최대 수를 결정하는 것을 포함하는 컴퓨터 판독가능한 매체.
  12. 제11항에 있어서,
    상기 시퀀스는 압축된 형태로 저장하기 위해 타일을 압축하기 위해 일정한 그리고 가변적인 알파 값들 각각에 대한 클리어 비트들의 최대 수를 결정하는 것을 포함하는 컴퓨터 판독가능한 매체.
  13. 시퀀스를 수행하기 위한 프로세서; 및
    상기 프로세서에 연결된 저장소를 포함하고,
    상기 시퀀스를 수행하기 위해, 상기 프로세서는 픽셀들 또는 샘플들의 타일이 일정한 또는 가변적인 알파 값을 가지는지의 여부를 결정하고, 상기 타일에 대한 클리어링된 픽셀들 또는 샘플들의 수를 결정하고, 상기 알파 값 결정 및 상기 클리어링된 픽셀들 또는 샘플들의 수에 기초하여, 상기 타일을 저장하는 방법을 결정하는 장치.
  14. 제13항에 있어서,
    상기 시퀀스를 수행하기 위해, 상기 프로세서는 상기 알파 값 결정을 저장하기 위해 2비트를 사용하는 장치.
  15. 제13항에 있어서,
    상기 시퀀스를 수행하기 위해, 상기 프로세서는 상수 0, 상수 1 및 가변 값을 포함하는 3개의 알파 값 결정들을 제공하는 장치.
  16. 제13항에 있어서,
    상기 시퀀스를 수행하기 위해, 상기 프로세서는 상기 픽셀 또는 샘플이 클리어링되었는지의 여부를 표시하기 위해 상기 타일의 각각의 픽셀 또는 샘플에 대한 클리어 비트를 저장하는 장치.
  17. 제16항에 있어서,
    상기 시퀀스를 수행하기 위해, 상기 프로세서는 압축된 형태로 저장가능한 타일에 대한 클리어 비트들의 최대 수를 결정하는 장치.
  18. 제17항에 있어서,
    상기 시퀀스를 수행하기 위해, 상기 프로세서는 압축된 형태로 저장하기 위해 타일을 압축하기 위해 일정한 그리고 가변적인 알파 값들 각각에 대한 클리어 비트들의 최대 수를 결정하는 장치.
  19. 메모리; 및
    상기 메모리에 연결되어, 픽셀이 임의의 다른 도시된 오브젝트에 의해 커버되지 않기 때문에 픽셀이 클리어링되었는지의 여부를 결정하고, 클리어링되지 않은 픽셀들에 대한 컬러 값들만을 상기 메모리에 저장하는 프로세서
    를 포함하는 장치.
  20. 제19항에 있어서,
    상기 프로세서는 그래픽 프로세싱 유닛인 장치.
  21. 제19항에 있어서,
    상기 프로세서는 압축된 타일 각각에 픽셀 당 1비트의 클리어 마스크를 저장하는 장치.
  22. 제21항에 있어서,
    상기 프로세서는 알파 값이 전체 타일에 걸쳐 0, 1 또는 일정하지 않은지의 여부를 표시하기 위해 2개의 마스크 비트들을 사용하는 장치.
  23. 제22항에 있어서,
    상기 프로세서는 전체 정밀도(full precision)로 컬러 값들을 저장하는 장치.
  24. 제19항에 있어서,
    상기 프로세서는 클리어링된 픽셀을 나타내기 위해 델타 값의 비트를 사용하는 장치.
KR1020140046039A 2013-04-22 2014-04-17 컬러 버퍼 압축 KR101587347B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/867,250 US9582847B2 (en) 2013-04-22 2013-04-22 Color buffer compression
US13/867,250 2013-04-22

Publications (2)

Publication Number Publication Date
KR20140126256A true KR20140126256A (ko) 2014-10-30
KR101587347B1 KR101587347B1 (ko) 2016-01-20

Family

ID=50624410

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140046039A KR101587347B1 (ko) 2013-04-22 2014-04-17 컬러 버퍼 압축

Country Status (7)

Country Link
US (1) US9582847B2 (ko)
EP (1) EP2797049B1 (ko)
JP (2) JP5870145B2 (ko)
KR (1) KR101587347B1 (ko)
CN (1) CN104113757B (ko)
BR (1) BR102014009378A2 (ko)
TW (1) TWI615805B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2538856B (en) * 2014-02-06 2018-04-25 Imagination Tech Ltd Opacity testing for processing primitives in a 3D graphics processing system
US9552620B2 (en) * 2014-06-30 2017-01-24 Intel Corporation Depth offset compression
US9466124B2 (en) * 2014-11-10 2016-10-11 Intel Corporation Compression using index bits in MSAA
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
CN111726639B (zh) * 2016-11-18 2023-05-30 上海兆芯集成电路有限公司 纹理砖压缩及解压缩方法以及使用该方法的装置
CN108322722B (zh) * 2018-01-24 2020-01-21 阿里巴巴集团控股有限公司 基于增强现实的图像处理方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008227934A (ja) * 2007-03-13 2008-09-25 Akuseru:Kk 画像圧縮装置、画像圧縮プログラムおよび画像伸張装置
JP2012230689A (ja) * 2006-08-03 2012-11-22 Qualcomm Inc ピクセルマスクを用いたグラフィックシステム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282428A (ja) * 1992-04-03 1993-10-29 Fujitsu Ltd 3次元コンピュータグラフィクス用図形データ作成方法
US5684939A (en) * 1993-07-09 1997-11-04 Silicon Graphics, Inc. Antialiased imaging with improved pixel supersampling
US8698840B2 (en) * 1999-03-05 2014-04-15 Csr Technology Inc. Method and apparatus for processing video and graphics data to create a composite output image having independent and separate layers of video and graphics display planes
JP2000268191A (ja) * 1999-03-17 2000-09-29 Hitachi Ltd 隠面処理方法
JP2001184521A (ja) * 1999-12-27 2001-07-06 Mitsubishi Electric Corp 3次元グラフィックスシステム
SE0401850D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
EP1548573A1 (en) * 2003-12-23 2005-06-29 Barco N.V. Hierarchical control system for a tiled large-screen emissive display
US7519899B2 (en) * 2004-05-03 2009-04-14 Microsoft Corporation Planar mapping of graphical elements
JP4656497B2 (ja) * 2005-03-07 2011-03-23 株式会社リコー 画像処理装置、画像処理方法、プログラム及び情報記録媒体
US20080284780A1 (en) * 2007-05-15 2008-11-20 R-Ming Hsu Method for enabling alpha-to-coverage transformation
GB0809631D0 (en) * 2008-05-28 2008-07-02 Mirriad Ltd Zonesense
EP2327058A4 (en) * 2008-09-23 2017-03-29 Telefonaktiebolaget LM Ericsson (publ) Pixel block processing
JP2011049764A (ja) * 2009-08-26 2011-03-10 Toshiba Corp データ圧縮伸長装置
GB0922126D0 (en) * 2009-12-17 2010-02-03 Advanced Risc Mach Ltd Graphics processing systems
US9038034B2 (en) * 2009-12-22 2015-05-19 Intel Corporation Compiling for programmable culling unit
US9437025B2 (en) * 2012-07-12 2016-09-06 Nvidia Corporation Stencil data compression system and method and graphics processing unit incorporating the same
CN103024246B (zh) * 2012-11-29 2015-06-24 华东师范大学 一种文书档案图像压缩方法
US9093021B2 (en) * 2013-03-11 2015-07-28 Qualcomm Incorporated Methods, apparatuses, and devices for rendering indoor maps on a display

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230689A (ja) * 2006-08-03 2012-11-22 Qualcomm Inc ピクセルマスクを用いたグラフィックシステム
JP2008227934A (ja) * 2007-03-13 2008-09-25 Akuseru:Kk 画像圧縮装置、画像圧縮プログラムおよび画像伸張装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hasselgren et al. A Compressed Depth Cache. Journal of Computer Graphics Techniques, 31 Dec. 2012 , pp. 101-108.* *

Also Published As

Publication number Publication date
JP6182225B2 (ja) 2017-08-16
US20140313211A1 (en) 2014-10-23
EP2797049B1 (en) 2020-12-16
BR102014009378A2 (pt) 2015-10-13
JP2014216011A (ja) 2014-11-17
EP2797049A2 (en) 2014-10-29
EP2797049A3 (en) 2018-02-28
TWI615805B (zh) 2018-02-21
KR101587347B1 (ko) 2016-01-20
CN104113757B (zh) 2018-06-26
US9582847B2 (en) 2017-02-28
JP5870145B2 (ja) 2016-02-24
CN104113757A (zh) 2014-10-22
TW201504990A (zh) 2015-02-01
JP2016103288A (ja) 2016-06-02

Similar Documents

Publication Publication Date Title
US9357236B2 (en) Color compression using a selective color transform
KR101587347B1 (ko) 컬러 버퍼 압축
US10621691B2 (en) Subset based compression and decompression of graphics data
US9754345B2 (en) Compression and decompression of graphics data using pixel region bit values
US9251731B2 (en) Multi-sampling anti-aliasing compression by use of unreachable bit combinations
JP6745020B2 (ja) 方法、コンピュータプログラム、コンピュータ可読記録媒体および装置
TWI517089B (zh) 色彩緩衝器快取技術
JP6427831B2 (ja) 色圧縮のためのクラスタ化およびエンコード
EP2889875A1 (en) Adaptive depth offset compression

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190103

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 5