KR102111740B1 - 영상 데이터를 처리하는 방법 및 디바이스. - Google Patents

영상 데이터를 처리하는 방법 및 디바이스. Download PDF

Info

Publication number
KR102111740B1
KR102111740B1 KR1020140040065A KR20140040065A KR102111740B1 KR 102111740 B1 KR102111740 B1 KR 102111740B1 KR 1020140040065 A KR1020140040065 A KR 1020140040065A KR 20140040065 A KR20140040065 A KR 20140040065A KR 102111740 B1 KR102111740 B1 KR 102111740B1
Authority
KR
South Korea
Prior art keywords
image data
texture
data processing
image
regions
Prior art date
Application number
KR1020140040065A
Other languages
English (en)
Other versions
KR20150116026A (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 삼성전자주식회사
Priority to KR1020140040065A priority Critical patent/KR102111740B1/ko
Priority to US15/301,476 priority patent/US10497135B2/en
Priority to PCT/KR2014/004300 priority patent/WO2015152459A1/ko
Publication of KR20150116026A publication Critical patent/KR20150116026A/ko
Application granted granted Critical
Publication of KR102111740B1 publication Critical patent/KR102111740B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation

Abstract

영상 데이터를 처리하는 디바이스가 개시되어있다. 개시된 영상 데이터 처리 디바이스는 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정할 수 있다. 개시된 영상 데이터 처리 디바이스는 영상을 구성하는 복수개의 영역들 중 결정된 도미넌트한 텍스쳐가 동일한 영역들이 동일한 그룹이 되도록 복수개의 영역들을 그루핑(grouping)하여, 그루핑 결과에 따라 할당된 영상 데이터를 처리할 수 있다.

Description

영상 데이터를 처리하는 방법 및 디바이스. {Method and device for processing image data}
영상 데이터를 처리하는 방법 및 디바이스에 관한 것이다.
정보통신기술이 발달함에 따라 영상 데이터를 처리하는 기술이 개선되고 있다. 영상 데이터를 처리하는 과정은 영상의 소정의 영역에 대한 픽셀값을 결정하는 과정을 포함할 수 있다.
컴퓨터 그래픽스와 관련하여, 컴퓨터 그래픽스는 그래픽 객체들이 2차원적으로 표현되는 2차원 그래픽스와 현실세계에서와 같이 물체들을 3차원으로 표현하는 3차원 그래픽스로 구분할 수 있다. 따라서 2차원 그래픽스 및 3차원 그래픽스와 관련된 영상 처리 방법이 개시된 바 있다.
디바이스는 영상 데이터를 처리함에 있어 관련성 있는 데이터를 함께 처리함으로써 신속한 영상 데이터의 처리를 수행할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 제 1 측면은, 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트(dominant)한 텍스쳐(texture)를 결정하는 단계, 복수개의 영역들 중 결정된 도미넌트한 텍스쳐가 동일한 영역들이 동일한 그룹이 되도록 복수개의 영역들을 그루핑(grouping)하는 단계, 그루핑된 복수개의 영역들에 대응하는 영상 데이터를 복수개의 영상 데이터 처리 유닛들에 할당하는 단계 및 영상 데이터 처리 유닛별로 할당된 영상 데이터를 처리하는 단계를 포함하는 영상 데이터 처리 방법을 제공할 수 있다.
다양한 실시 예에 따른 영상 데이터 처리 방법은 관련성 있는 영상 데이터를 함께 처리할 수 있도록 함으로써 신속한 영상 데이터의 방법을 제공할 수 있다.
도 1은 다양한 실시 예에 따른 영상 데이터 처리 방법 및 디바이스를 설명하기 위한 도면이다.
도 2는 다양한 실시 예에 따라 디바이스가 영상 데이터를 복수개의 영상 데이터 처리 유닛들에 할당하여 영상 데이터를 처리하는 방법을 설명하기 위한 흐름도이다.
도 3은 다양한 실시 예에 따라 디바이스가 영상 데이터를 복수개의 영상 데이터 처리 유닛들에 할당하여 할당된 영상 데이터에 대응하는 픽셀값들을 결정하는 방법을 설명하기 위한 흐름도이다.
도 4는 다양한 실시 예에 따라 프레임이 변하는 경우 디바이스가 영상데이터를 처리하는 방법을 설명하기 위한 도면이다.
도 5는 다양한 실시 예에 따라 디바이스가 영상 데이터를 복수개의 영상 데이터 처리 유닛들에 할당하여 처리하는 방법을 설명하기 위한 도면이다.
도 6은 다양한 실시 예에 따라 영상 데이터를 처리하는 디바이스의 구성을 설명하기 위한 블록도이다.
도 7은 다양한 실시 예에 따라 영상 데이터를 처리하여 내부 메모리에 저장하는 디바이스의 구성을 설명하기 위한 블록도이다.
도 8은 다양한 실시 예에 따라 영상 데이터를 처리하는 디바이스를 설명하기 위한 블록도이다.
이하 본 명세서에 기재된 다양한 실시 예들에서, '영상'은 정지 영상 뿐만 아니라 비디오와 같은 동영상을 포함하여 포괄적으로 지칭할 수 있다.
이하 본 명세서에 기재된 ‘텍스쳐(texture)’는 소정의 객체에 매핑되는 이미지를 의미할 수 있다. 또는 텍스쳐는 3차원 객체의 표면에 매핑하기 위한 2차원 이미지를 의미할 수 있다.
또한, 본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하, 실시 예들을 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략할 수 있다.
이하 도 1 내지 도 8을 참조하여, 다양한 실시 예에 따른 영상 데이터 처리 방법 및 디바이스가 개시된다.
도 1은 다양한 실시 예에 따른 영상 데이터 처리 방법 및 디바이스(110)를 설명하기 위한 도면이다.
영상 데이터 송신부(120)는 디바이스(110)에 영상 데이터를 송신할 수 있다. 디바이스(110)는 영상 데이터 송신부(120)로부터 수신한 영상 데이터를 처리할 수 있다. 디바이스(110)는 영상 데이터 송신부(120)로부터 영상 데이터를 수신함과 동시에 실시간으로 영상 데이터 송신부(120)로부터 수신한 영상 데이터를 처리할 수 있다.
디바이스(110)가 영상 데이터를 처리하는 방법에 대해서는 후술한다.
도 2는 다양한 실시 예에 따라 디바이스(110)가 영상 데이터를 복수개의 영상 데이터 처리 유닛들에 할당하여 영상 데이터를 처리하는 방법을 설명하기 위한 흐름도이다.
단계 S210에서 디바이스(110)는 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정할 수 있다.
영상은 복수개의 영역들로 구성될 수 있다. 또는 디바이스(110)는 영상을 복수개의 영역들로 나눌 수 있다. 또는 디바이스(110)는 영상을 복수개의 타일들로 나눌 수 있다.
영상을 구성하는 복수개의 영역들은 동일한 크기의 직사각형 또는 정사각형일 수 있다. 영상을 구성하는 복수개의 영역들은 서로 겹치지 않을 수 있다.
도미넌트한 텍스쳐는 해당 영역에서 가장 넓은 범위에 대응되는 텍스쳐를 의미할 수 있다. 또는 도미넌트한 텍스쳐는 해당 영역에서 가장 사용 빈도가 높은 텍스쳐를 의미할 수 있다. 또한 도미넌트한 텍스쳐는 도미넌트 텍스쳐를 의미할 수 있다.
영상을 구성하는 임의의 영역에는 복수개의 객체가 위치할 수 있다. 또는 영상을 구성하는 임의의 영역에는 복수개의 프리미티브(primitive)가 위치할 수 있다. 프리미티브는 컴퓨터 그래픽스에서 그래픽스 프로그램에 의해 개별적인 실체로 그려지고 저장, 조작될 수 있는 선?원?곡선?다각형과 같은 그래픽 디자인을 창작하는 데 필요한 요소를 의미할 수 있다.
영상을 구성하는 임의의 영역에 복수개의 객체들이 위치할 경우 각각의 객체와 관련된 텍스쳐는 서로 상이할 수 있다. 예를 들면, 영상을 구성하는 임의의 영역에 제 1 객체와 제 2 객체가 함께 위치하는 경우 제 1 객체와 관련된 텍스쳐와 제 2 객체와 관련된 텍스쳐는 서로 상이할 수 있다. 또 다른 예를 들면, 영상을 구성하는 임의의 영역에 제 1 객체와 제 2 객체가 함께 위치하는 경우 제 1 객체에 매핑되는 텍스쳐와 제 2 객체에 매핑되는 텍스쳐는 서로 상이할 수 있다.
영상을 구성하는 임의의 영역에 복수개의 프리미티브들이 위치할 경우 각각의 프리미티브와 관련된 텍스쳐는 서로 상이할 수 있다. 예를 들면, 영상을 구성하는 임의의 영역에 제 1 프리미티브와 제 2 프리미티브가 함께 위치하는 경우 제 1 프리미티브와 관련된 텍스쳐와 제 2 프리미티브와 관련된 텍스쳐는 서로 상이할 수 있다.
또 다른 예를 들면, 영상을 구성하는 임의의 영역에 제 1 프리미티브와 제 2 프리미티브가 함께 위치하는 경우 제 1 프리미티브에 매핑되는 텍스쳐와 제 2 프리미티브에 매핑되는 텍스쳐는 서로 상이할 수 있다.
디바이스(110)는 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 수 있다. 예를 들면, 디바이스(110)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 디바이스(110)는 해당 영역에 위치하는 객체가 복수개인 경우 복수개의 객체들 각각에 매핑하기 위한 텍스쳐들 중 가장 사용 빈도가 높은 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
또 다른 예를 들면, 디바이스(110)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 디바이스(110)는 해당 영역에 위치하는 프리미티브가 복수개인 경우 복수개의 프리미티브들 각각에 매핑하기 위한 텍스쳐들 중 가장 사용 빈도가 높은 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
또 다른 예를 들면, 디바이스(110)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 디바이스(110)는 해당 영역에 위치하는 객체가 복수개인 경우 복수개의 객체들 중 가장 넓은 범위를 차지하는 객체에 매핑하기 위한 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
또 다른 예를 들면, 디바이스(110)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 디바이스(110)는 해당 영역에 위치하는 프리미티브가 복수개인 경우 복수개의 프리미티브들 중 가장 넓은 범위를 차지하는 프리미티브에 매핑하기 위한 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
단계 S220에서 디바이스(110)는 화면을 구성하는 복수개의 영역들 중 단계 S210에서 결정된 도미넌트한 텍스쳐가 동일한 영역들이 동일한 그룹이 되도록 복수개의 영역들을 그루핑(grouping)할 수 있다.
디바이스(110)는 화면을 구성하는 복수개의 영역들 중 단계 S210에서 결정된 도미넌트한 텍스쳐가 동일한 영역들을 선택하여 하나의 그룹으로 설정할 수 있다. 따라서 하나의 그룹에 포함된 영역들의 도미넌트한 텍스쳐는 동일한 텍스쳐일 수 있다.
예를 들면, 제 1 영역 내지 제 10 영역이 화면을 구성하고 있을 때, 제 1 영역 내지 제 5 영역에 대해서 도미넌트한 텍스쳐는 제 1 텍스쳐로, 제 6 영역 내지 제 10 영역에 대해서 도미넌트한 텍스쳐는 제 2 텍스쳐로 단계 S210에서 디바이스(110)가 결정한 경우, 디바이스(110)는 제 1 영역 내지 제 5 영역을 제 1 그룹으로, 제 6 영역 내지 제 10 영역을 제 2 그룹으로 그루핑할 수 있다.
단계 S230에서 디바이스(110)는 그루핑된 복수개의 영역들에 대응하는 영상 데이터를 복수개의 영상 데이터 처리 유닛들에 할당할 수 있다.
예를 들면, 디바이스(110)는 단계 S220에서 그루핑된 결과를 이용하여, 같은 그룹의 영역들에 대응하는 영상 데이터를 같은 영상 데이터 처리 유닛에 할당할 수 있다.
따라서 화면을 구성하는 복수개의 영역들 중 도미넌트한 텍스쳐가 동일한 영역들에 대응하는 영상 데이터는 동일한 영상 데이터 처리 유닛에 할당될 수 있다.
또는, 하나의 그룹으로 설정된 영역들에 대응하는 영상 데이터량이 소정의 기준 이상인 경우, 디바이스(110)는 하나의 그룹의 영역들에 대응하는 영상 데이터를 두개 이상의 영상 데이터 처리 유닛들에 할당할 수 있다.
따라서 하나의 그룹으로 설정된 영역들에 대응하는 영상 데이터량이 소정의 기준 이상인 경우, 같은 그룹의 영역들에 대응하는 영상 데이터가 다른 영상 데이터 처리 유닛에 할당될 수 있다.
단계 S240에서 디바이스(110)는 영상 데이터 처리 유닛별로 할당된 영상 데이터를 처리할 수 있다.
디바이스(110)는 단계 S230에서 복수개의 영상 데이터 처리 유닛들에 영상 데이터를 할당한 결과에 기초하여 영상 데이터를 처리할 수 있다.
각각의 영상 데이터 처리 유닛들은 단계 S230에서 할당된 영상 데이터를 처리할 수 있다.
예를 들면, 디바이스(110)는 단계 S230에서 영상 데이터가 할당된 결과를 이용하여 영상 데이터를 처리함으로써, 같은 그룹의 영역들에 대응하는 영상 데이터를 같은 영상 데이터 처리 유닛에서 처리할 수 있다.
또 다른 예를 들면, 디바이스(110)는 단계 S230에서 영상 데이터가 할당된 결과를 이용하여 영상 데이터를 처리함으로써, 화면을 구성하는 복수개의 영역들 중 도미넌트한 텍스쳐가 동일한 영역들에 대응하는 영상 데이터는 동일한 영상 데이터 처리 유닛에서 처리될 수 있다.
또한, 디바이스(110)는 영상 데이터를 병렬적으로 처리할 수 있다. 또는 복수개의 영상 데이터 처리 유닛들이 병렬적으로 영상 데이터를 처리할 수 있다.
예를 들면, 복수개의 영상 데이터 처리 유닛들이 동시에 서로 다른 영상 데이터를 처리할 수 있다. 또는 복수개의 영상 데이터 처리 유닛들 중 일부의 영상 데이터 처리 유닛들만 영상 데이터를 처리할 수 있다.
영상 데이터 처리 유닛은 파이프라인 방식으로 데이터를 처리할 수 있다. 각각의 영상 데이터 처리 유닛은 각각의 영상 데이터 처리 유닛별로 다른 영상 데이터를 동시에 처리할 수 있다. 관련된 영상 데이터는 하나의 영상 데이터 처리 유닛에서 처리될 수 있다.
디바이스(110)는 처리된 영상 데이터를 내부 메모리에 저장할 수 있다. 디바이스(110)는 내부 메모리에 저장된 처리된 영상 데이터에 대해서 추가적인 연산을 수행한 후 외부 디바이스로 송신할 수 있다.
또한, 디바이스(110)가 영상 데이터를 처리하는 과정은 픽셀값을 결정하는 과정을 포함할 수 있다. 또는 디바이스(110)가 영상 데이터를 처리하는 단계는 디바이스(110)가 복수개의 영상 데이터 처리 유닛들에 할당된 영상 데이터에 대응하는 픽셀값들을 결정하는 단계를 포함할 수 있다.
픽셀값을 결정하는 구체적인 방법에 대해서는 도 3에서 후술한다.
도 3은 다양한 실시 예에 따라 디바이스(110)가 영상 데이터를 복수개의 영상 데이터 처리 유닛들에 할당하여 할당된 영상 데이터에 대응하는 픽셀값들을 결정하는 방법을 설명하기 위한 흐름도이다.
단계 S310 내지 단계 S330은 단계 S210 내지 단계 S230에서 상술한 내용에 대응되므로 전체적인 설명을 간단히 하기 위해 상세한 설명을 생략한다.
단계 S340에서 디바이스(110)는 복수개의 영상 데이터 처리 유닛들에 할당된 영상 데이터에 대응하는 픽셀값들을 결정할 수 있다.
디바이스(110)는 단계 S330에서 복수개의 영상 데이터 처리 유닛들에 영상 데이터를 할당한 결과에 기초하여 영상 데이터를 처리하여 픽셀값을 결정할 수 있다.
예를 들어, 제 1 영역에 대응하는 영상 데이터를 제 1 영상 데이터 처리 유닛이 처리하는 경우, 제 1 영상 데이터 처리 유닛은 제 1 영역에 대응하는 픽셀들의 픽셀값들을 결정할 수 있다.
각각의 영상 데이터 처리 유닛들은 단계 S330에서 할당된 영상 데이터를 이용하여 대응하는 픽셀값을 결정할 수 있다.
예를 들면, 디바이스(110)는 단계 S330에서 영상 데이터가 할당된 결과를 이용하여 영상 데이터를 처리함으로써, 같은 그룹의 영역들에 대응하는 픽셀값을 같은 영상 데이터 처리 유닛에서 결정할 수 있다.
또 다른 예를 들면, 디바이스(110)는 단계 S330에서 영상 데이터가 할당된 결과를 이용하여 픽셀값을 결정함으로써, 화면을 구성하는 복수개의 영역들 중 도미넌트한 텍스쳐가 동일한 영역들에 대응하는 영역들의 픽셀값을 동일한 영상 데이터 처리 유닛에서 결정할 수 있다.
또한, 디바이스(110)는 타일 기반 렌더링(Tile Based Rendering) 기법을 사용할 수 있다. 그러나 디바이스(110)가 타일 기반 렌더링 기법에 국한되여 구현되는 것은 아니다.
타일 기반 렌더링 기법은 화면을 일정한 크기의 타일로 분할하고 각 타일별로 내부 픽셀의 처리 결과를 빠른 내부 메모리에 저장한 후 최종 결과만 화면 출력용 메모리 공간으로 전송하는 방법을 의미할 수 있다. 화면 출력용 메모리 공간은 프레임 버퍼(frame buffer)일 수 있다.
화면을 구성하는 픽셀의 색상을 결정하는 과정을 픽셀 처리(pixel processing)라고 할 수 있다. 디바이스(110)는 여러 픽셀의 처리를 동시에 수행할 수 있도록 다수의 픽셀 처리 파이프라인(pixel processing pipeline)을 포함할 수 있다. 디바이스(110)는 픽셀 처리의 효율을 높이기 위해 하나의 픽셀 처리 파이프라인이 하나의 타일 영역에 대한 모든 픽셀을 계산하도록 타일 단위 픽셀 배분을 할 수 있다.
상술한 바와 같이 디바이스(110)는 타일을 각각의 파이프라인에 나눠주는 배분에 있어서 해당 타일 내의 픽셀을 처리할 때 외부 메모리 접근 성향의 유사성이 있는 타일들을 하나의 픽셀 파이프라인에 배분할 수 있다. 외부 메모리 접근 성향의 유사성은 동일한 텍스쳐와 관련되어있는지 여부를 의미할 수 있다. 디바이스(110)는 픽셀 파이프라인 내에서 메모리 접근의 지역성을 활용할 수 있다.
도 4는 다양한 실시 예에 따라 프레임이 변하는 경우 디바이스(110)가 영상데이터를 처리하는 방법을 설명하기 위한 도면이다.
도 4a는 N번째 프레임 영상을 도시한 도면이다. N번째 프레임 영상은 제 1 객체(410)와 제 2 객체(420)를 포함할 수 있다.
N번째 프레임 영상은 복수개의 영역들로 구성되어있다. N번째 프레임 영상을 구성하는 복수개의 영역들은 동일한 크기를 가질 수 있다. 그러나 영상을 구성하는 복수개의 영역들이 항상 동일한 크기를 가져야 하는 것은 아니다.
도 4a에 따르면 제 1 객체(410) 및 제 2 객체(420)는 복수개의 영역들에 걸쳐있다.
디바이스(110)는 N번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정할 수 있다.
도미넌트한 텍스쳐는 해당 영역에서 가장 넓은 범위에 대응되는 텍스쳐를 의미할 수 있다. 또는 도미넌트한 텍스쳐는 해당 영역에서 가장 사용 빈도가 높은 텍스쳐를 의미할 수 있다.
N번째 프레임 영상을 구성하는 임의의 영역에는 복수개의 객체가 위치할 수 있다. 또는 N번째 프레임 영상을 구성하는 임의의 영역에는 복수개의 프리미티브가 위치할 수 있다.
N번째 프레임 영상을 구성하는 임의의 영역에 복수개의 객체들이 위치할 경우 각각의 객체와 관련된 텍스쳐는 서로 상이할 수 있다. 예를 들면, N번째 프레임 영상을 구성하는 임의의 영역에 제 1 객체(410)와 제 2 객체(420)가 함께 위치하는 경우 제 1 객체(410)와 관련된 텍스쳐와 제 2 객체(420)와 관련된 텍스쳐는 서로 상이할 수 있다. 또 다른 예를 들면, 영상을 구성하는 임의의 영역에 제 1 객체(410)와 제 2 객체(420)가 함께 위치하는 경우 제 1 객체(410)에 매핑되는 텍스쳐와 제 2 객체(420)에 매핑되는 텍스쳐는 서로 상이할 수 있다.
디바이스(110)는 N번째 프레임 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 수 있다. 예를 들면, 디바이스(110)가 N번째 프레임 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 디바이스(110)는 해당 영역에 위치하는 객체가 복수개인 경우 복수개의 객체들 각각에 매핑하기 위한 텍스쳐들 중 가장 사용 빈도가 높은 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
또 다른 예를 들면, 디바이스(110)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 디바이스(110)는 해당 영역에 위치하는 객체가 복수개인 경우 복수개의 객체들 중 가장 넓은 범위를 차지하는 객체에 매핑하기 위한 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
디바이스(110)는 N번째 프레임 영상을 구성하는 각각의 영역들에 대해서 도미넌트한 텍스쳐가 무엇인지 결정할 수 있다.
동일한 객체에 동일한 텍스쳐 이미지가 매핑될 수 있다. 그러나 동일한 객체인 경우에도 상이한 텍스쳐 이미지가 매핑될 수 있다.
디바이스(110)는 N번째 프레임 영상을 구성하는 복수개의 영역별로 최상위 빈도로 사용되는 텍스쳐 정보를 획득하여 저장할 수 있다.
또는 디바이스(110)는 N번째 프레임 영상을 일정한 크기의 타일로 분할할 수 있다. 디바이스(110)는 N번째 프레임 영상을 구성하는 타일별로 최상위 빈도로 사용되는 텍스쳐 정보를 획득하여 저장할 수 있다.
도 4b는 N번째 프레임 영상에 기초하여 영상을 구성하는 각각의 영역들에 대해서 도미넌트한 텍스쳐가 무엇인지 결정한 결과를 테이블로 표현한 것을 설명하는 도면이다.
예를 들면, 도 4b에서 확인할 수 있는 바와 같이 타일 아이디(TileID)가 0번인 영역의 도미넌트한 텍스쳐는 텍스쳐 아이디(TexID)가 13번인 텍스쳐이고, 타일 아이디(TileID)가 1번인 영역의 도미넌트한 텍스쳐는 텍스쳐 아이디(TexID)가 2번인 텍스쳐일 수 있다.
도 4c는 N+1번째 프레임 영상을 도시한 도면이다. N+1번째 프레임 영상은 N번째 프레임 영상과 상이할 수 있다.
디바이스(110)는 N+1번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정할 수 있다.
N+1번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정하는 방법은 상술한 N번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정하는 방법을 채용할 수 있다.
따라서 디바이스(110)는 N+1번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정할 수 있다. 그리고 N+1번째 프레임 영상을 구성하는 복수개의 영역들 중에서 도미넌트한 텍스쳐가 동일한 영역들이 동일한 영상 데이터 처리 유닛에서 처리되도록 할 수 있다.
또한, N+1번째 프레임 영상과 N번째 프레임 영상이 유사하다는 것을 이용하여, 디바이스(110)는 N+1번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정할 때 N 번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정한 결과를 이용할 수 있다.
예를 들면, 디바이스(110)는 N+1 번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐는 N 번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 결정된 도미넌트한 텍스쳐와 같다고 결정할 수 있다.
디바이스(110)가 N+1 번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐는 N 번째 프레임 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 결정된 도미넌트한 텍스쳐와 같다고 결정한 경우, 디바이스(110)는 N+1 번째 프레임 영상임에도 불구하고 N번째 프레임 영상에서 결정된 결과를 이용하여 도미넌트한 텍스쳐가 동일한 영역들이 동일한 그룹이 되도록 복수개의 영역들을 그루핑(grouping)할 수 있다.
또한, 디바이스(110)는 N 번째 프레임 영상을 구성하는 복수개의 영역들에 대해 그루핑을 수행한 결과를 이용하여 N+1 번째 프레임 영상을 구성하는 복수개의 영역들을 복수개의 영상 데이터 처리 유닛들에 할당하여 영상 데이터를 처리할 수 있다.
예를 들면, 디바이스(110)는 N 번째 프레임 영상을 구성하는 복수개의 영역들 중 도미넌트한 텍스쳐가 동일한 영역들에 대응하는 N+1 번째 프레임 영상을 구성하는 영역들에 대한 영상 데이터가 동일한 영상 데이터 처리 유닛에서 처리되도록 할 수 있다.
또는, 디바이스(110)는 N+1 번째 프레임 영상에 대한 영상 데이터를 처리하는 경우에도, N 번째 프레임 영상에 대한 영상 데이터를 처리하는 경우와 마찬가지로, N+1 번째 프레임 영상을 구성하는 복수개의 영역들 중 도미넌트한 텍스쳐가 동일한 영역들에 대한 영상 데이터가 동일한 영상 데이터 처리 유닛에서 처리되도록 할 수 있다.
도미넌트한 텍스쳐가 동일한 영역들에 대한 영상 데이터가 동일한 영상 데이터 처리 유닛에서 처리되도록 하는 경우 영상 데이터를 처리하는데 걸리는 시간이 단축될 수 있다.
또한, 도 4와 관련하여 제 1 객체(410)와 제 2 객체(420)는 각각 서로 다른 프리미티브를 의미할 수 있다. 예를 들면, 도 4a에서 N번째 프레임 영상은 제 1 프리미티브(410)와 제 2 프리미티브(420)를 포함할 수 있다.
도 5는 다양한 실시 예에 따라 디바이스(110)가 영상 데이터를 복수개의 영상 데이터 처리 유닛들에 할당하여 처리하는 방법을 설명하기 위한 도면이다.
디바이스(110)는 N번째 프레임 영상에서 획득한 결과를 N+1번째 프레임 영상을 렌더링할 때 참조할 수 있다. 디바이스(110)는 N번째 프레임 영상을 구성하는 복수개의 영역들을 렌더링하면서 동시에 각 영역들에서 가장 많이 참조된 텍스쳐 정보를 갱신 또는 저장할 수 있다.
도 5a는 영상의 일 예를 도시한 도면이다. 영상은 제 1 프리미티브(510)와 제 2 프리미티브(520)를 포함할 수 있다.
영상은 복수개의 영역들로 구성될 수 있다. 영상을 구성하는 복수개의 영역들은 동일한 크기를 가질 수 있다. 그러나 영상을 구성하는 복수개의 영역들이 항상 동일한 크기를 가져야 하는 것은 아니다.
도 5a에 따르면 제 1 프리미티브(510) 및 제 2 프리미티브(520)는 복수개의 영역들에 걸쳐있다.
디바이스(110)는 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정할 수 있다.
도미넌트한 텍스쳐는 해당 영역에서 가장 넓은 범위에 대응되는 텍스쳐를 의미할 수 있다. 또는 도미넌트한 텍스쳐는 해당 영역에서 가장 사용 빈도가 높은 텍스쳐를 의미할 수 있다.
영상을 구성하는 임의의 영역에는 복수개의 객체가 위치할 수 있다. 또는 영상을 구성하는 임의의 영역에는 복수개의 프리미티브가 위치할 수 있다.
영상을 구성하는 임의의 영역에 복수개의 프리미티브들이 위치할 경우 각각의 프리미티브와 관련된 텍스쳐는 서로 상이할 수 있다. 예를 들면, 영상을 구성하는 임의의 영역에 제 1 프리미티브(510)와 제 2 프리미티브(520)가 함께 위치하는 경우 제 1 프리미티브(510)와 관련된 텍스쳐와 제 2 프리미티브(520)와 관련된 텍스쳐는 서로 상이할 수 있다. 또 다른 예를 들면, 영상을 구성하는 임의의 영역에 제 1 프리미티브(510)와 제 2 프리미티브(520)가 함께 위치하는 경우 제 1 프리미티브(510)에 매핑되는 텍스쳐와 제 2 프리미티브(520)에 매핑되는 텍스쳐는 서로 상이할 수 있다.
디바이스(110)는 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 수 있다. 예를 들면, 디바이스(110)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 디바이스(110)는 해당 영역에 위치하는 프리미티브가 복수개인 경우 복수개의 프리미티브들 각각에 매핑하기 위한 텍스쳐들 중 가장 사용 빈도가 높은 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
또 다른 예를 들면, 디바이스(110)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 디바이스(110)는 해당 영역에 위치하는 프리미티브가 복수개인 경우 복수개의 프리미티브들 중 가장 넓은 범위를 차지하는 프리미티브에 매핑하기 위한 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
디바이스(110)는 영상을 구성하는 각각의 영역들에 대해서 도미넌트한 텍스쳐가 무엇인지 결정할 수 있다.
동일한 프리미티브에 동일한 텍스쳐 이미지가 매핑될 수 있다.
도 5b는 영상을 구성하는 각각의 영역들에 대해서 도미넌트한 텍스쳐가 무엇인지 결정한 결과를 테이블로 표현한 것을 설명하는 도면이다.
예를 들면, 도 5b에서 확인할 수 있는 바와 같이
타일 아이디(TileID)가 0번인 영역의 도미넌트한 텍스쳐는 없고, 타일 아이디(TileID)가 1번인 영역의 도미넌트한 텍스쳐는 텍스쳐 아이디(TexID)가 1번인 텍스쳐이고, 타일 아이디(TileID)가 2번인 영역의 도미넌트한 텍스쳐는 텍스쳐 아이디(TexID)가 2번인 텍스쳐이고, 타일 아이디(TileID)가 8번인 영역의 도미넌트한 텍스쳐는 텍스쳐 아이디(TexID)가 1번인 텍스쳐이고, 타일 아이디(TileID)가 9번인 영역의 도미넌트한 텍스쳐는 텍스쳐 아이디(TexID)가 2번인 텍스쳐이고, 타일 아이디(TileID)가 10번인 영역의 도미넌트한 텍스쳐는 텍스쳐 아이디(TexID)가 2번인 텍스쳐이고, 타일 아이디(TileID)가 13번인 영역의 도미넌트한 텍스쳐는 텍스쳐 아이디(TexID)가 1번인 텍스쳐이고, 타일 아이디(TileID)가 14번인 영역의 도미넌트한 텍스쳐는 텍스쳐 아이디(TexID)가 1번인 텍스쳐일 수 있다.
텍스쳐 아이디(TexID)가 1번인 텍스쳐는 제 1 프리미티브(510)에 매핑되는 텍스쳐이고, 텍스쳐 아이디(TexID)가 2번인 텍스쳐는 제 2 프리미티브(520)에 매핑되는 텍스쳐를 의미할 수 있다.
동일한 영역에 둘 이상의 프리미티브가 위치할 경우, 디바이스(110)는 더 넓은 범위를 차지하고 있는 프리미티브와 관련된 텍스쳐가 해당 영역의 도미넌트한 텍스쳐라고 결정할 수 있다.
예를 들면, 타일 아이디(TileID)가 1번인 영역에는 제 1 프리미티브(510)와 제 2 프리미티브(520)가 모두 위치한다. 그러나 타일 아이디(TileID)가 1번인 영역에는 제 1 프리미티브(510)가 제 2 프리미티브(520)보다 더 넓은 범위를 차지하고 있기 때문에 디바이스(110)는 타일 아이디(TileID)가 1번인 영역의 도미넌트한 텍스쳐는 제 1 프리미티브(510)에 매핑되는 텍스쳐인 텍스쳐 아이디(TexID)가 1번인 텍스쳐인 것으로 결정할 수 있다.
또한, 동일한 영역에 둘 이상의 프리미티브가 위치할 경우, 디바이스(110)는 각각의 프리미티브에 매핑하기 위한 텍스쳐들 중 가장 사용 빈도가 높은 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
예를 들면, 타일 아이디(TileID)가 1번인 영역에는 제 1 프리미티브(510)와 제 2 프리미티브(520)가 모두 위치한다. 그러나 타일 아이디(TileID)가 1번인 영역에서 제 1 프리미티브(510)에 매핑되는 텍스쳐의 사용빈도가 제 2 프리미티브(520)에 매핑되는 텍스쳐의 사용빈도보다 높은 경우 디바이스(110)는 타일 아이디(TileID)가 1번인 영역의 도미넌트한 텍스쳐는 제 1 프리미티브(510)에 매핑되는 텍스쳐인 텍스쳐 아이디(TexID)가 1번인 텍스쳐인 것으로 결정할 수 있다.
도 5c는 영역별 영상과 관련된 데이터를 처리하는 방법을 도시한 도면이다.
도 5c에 개시된 바와 같이, 1번 텍스쳐 아이디(TexID)의 텍스쳐가 도미넌트 텍스쳐인 영역들인 타일 아이디(TileID)가 1번, 8번, 13번인 영역들에 대한 영상 데이터를 제 1 영상 데이터 처리 유닛(530)에서 처리할 수 있다. 또한, 2번 텍스쳐 아이디(TexID)의 텍스쳐가 도미넌트 텍스쳐인 영역들인 타일 아이디(TileID)가 2번, 9번, 10번인 영역들에 대한 영상 데이터를 제 1 영상 처리 유닛(530)에서 처리할 수 있다. 또한, 1번 텍스쳐 아이디(TexID)의 텍스쳐가 도미넌트 텍스쳐인 영역들인 타일 아이디(TileID)가 1번, 8번, 13번인 영역들에 대한 영상 데이터를 제 2 영상 데이터 처리 유닛(530)에서 처리할 수 있다.
따라서 디바이스(110)는 동일한 도미넌트 텍스쳐와 관련된 영역들의 영상 데이터를 동일한 영상 데이터 처리 유닛에서 처리할 수 있다.
도 6 내지 도 8은 다양한 실시 예에 따른 디바이스(110)의 실시 예이다. 디바이스(110)는 상술한 영상 데이터 처리 방법을 수행할 수 있는 장치로, 상술한 영상 데이터 처리 방법을 수행하기 위한 모든 실시 예의 구현이 가능하다.
도 6은 다양한 실시 예에 따라 영상 데이터를 처리하는 디바이스(110)의 구성을 설명하기 위한 블록도이다.
도 6에 도시된 바와 같이, 디바이스(110)는 텍스쳐 결정부(610), 그루핑부(620), 영상 데이터 할당부(640), 영상 데이터 처리 유닛(630, 635)을 포함할 수 있다. 그러나 도시된 구성요소보다 많은 구성요소에 디바이스(110)가 구현될 수도 있고, 도시된 구성요소보다 적은 구성요소에 의해 디바이스(110)가 구현될 수도 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
텍스쳐 결정부(610)는 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정할 수 있다.
영상은 복수개의 영역들로 구성될 수 있다. 또는 디바이스(110)는 영상을 복수개의 영역들로 나눌 수 있다.
영상을 구성하는 복수개의 영역들은 동일한 크기의 직사각형 또는 정사각형일 수 있다. 영상을 구성하는 복수개의 영역들은 서로 겹치지 않을 수 있다.
도미넌트한 텍스쳐는 해당 영역에서 가장 넓은 범위에 대응되는 텍스쳐를 의미할 수 있다. 또는 도미넌트한 텍스쳐는 해당 영역에서 가장 사용 빈도가 높은 텍스쳐를 의미할 수 있다. 또한 도미넌트한 텍스쳐는 도미넌트 텍스쳐를 의미할 수 있다.
영상을 구성하는 임의의 영역에는 복수개의 객체가 위치할 수 있다. 또는 영상을 구성하는 임의의 영역에는 복수개의 프리미티브가 위치할 수 있다. 프리미티브는 컴퓨터 그래픽스에서 그래픽스 프로그램에 의해 개별적인 실체로 그려지고 저장, 조작될 수 있는 선?원?곡선?다각형과 같은 그래픽 디자인을 창작하는 데 필요한 요소를 의미할 수 있다.
영상을 구성하는 임의의 영역에 복수개의 객체들이 위치할 경우 각각의 객체와 관련된 텍스쳐는 서로 상이할 수 있다. 예를 들면, 영상을 구성하는 임의의 영역에 제 1 객체와 제 2 객체가 함께 위치하는 경우 제 1 객체와 관련된 텍스쳐와 제 2 객체와 관련된 텍스쳐는 서로 상이할 수 있다. 또 다른 예를 들면, 영상을 구성하는 임의의 영역에 제 1 객체와 제 2 객체가 함께 위치하는 경우 제 1 객체에 매핑되는 텍스쳐와 제 2 객체에 매핑되는 텍스쳐는 서로 상이할 수 있다.
영상을 구성하는 임의의 영역에 복수개의 프리미티브들이 위치할 경우 각각의 프리미티브와 관련된 텍스쳐는 서로 상이할 수 있다. 예를 들면, 영상을 구성하는 임의의 영역에 제 1 프리미티브와 제 2 프리미티브가 함께 위치하는 경우 제 1 프리미티브와 관련된 텍스쳐와 제 2 프리미티브와 관련된 텍스쳐는 서로 상이할 수 있다.
또 다른 예를 들면, 영상을 구성하는 임의의 영역에 제 1 프리미티브와 제 2 프리미티브가 함께 위치하는 경우 제 1 프리미티브에 매핑되는 텍스쳐와 제 2 프리미티브에 매핑되는 텍스쳐는 서로 상이할 수 있다.
텍스쳐 결정부(610)는 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 수 있다. 예를 들면, 텍스쳐 결정부(610)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 텍스쳐 결정부(610)는 해당 영역에 위치하는 객체가 복수개인 경우 복수개의 객체들 각각에 매핑하기 위한 텍스쳐들 중 가장 사용 빈도가 높은 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
또 다른 예를 들면, 텍스쳐 결정부(610)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 텍스쳐 결정부(610)는 해당 영역에 위치하는 프리미티브가 복수개인 경우 복수개의 프리미티브들 각각에 매핑하기 위한 텍스쳐들 중 가장 사용 빈도가 높은 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
또 다른 예를 들면, 텍스쳐 결정부(610)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 텍스쳐 결정부(610)는 해당 영역에 위치하는 객체가 복수개인 경우 복수개의 객체들 중 가장 넓은 범위를 차지하는 객체에 매핑하기 위한 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
또 다른 예를 들면, 텍스쳐 결정부(610)가 영상을 구성하는 임의의 영역에 대해서 도미넌트한 텍스쳐를 결정할 때, 텍스쳐 결정부(610)는 해당 영역에 위치하는 프리미티브가 복수개인 경우 복수개의 프리미티브들 중 가장 넓은 범위를 차지하는 프리미티브에 매핑하기 위한 텍스쳐를 해당 영역에 대한 도미넌트한 텍스쳐로 결정할 수 있다.
그루핑부(620)는 화면을 구성하는 복수개의 영역들 중 텍스쳐 결정부(610)에서 결정된 도미넌트한 텍스쳐가 동일한 영역들이 동일한 그룹이 되도록 복수개의 영역들을 그루핑(grouping)할 수 있다.
그루핑부(620)는 화면을 구성하는 복수개의 영역들 중 텍스쳐 결정부(610)에서 결정된 도미넌트한 텍스쳐가 동일한 영역들을 선택하여 하나의 그룹으로 설정할 수 있다. 따라서 하나의 그룹에 포함된 영역들의 도미넌트한 텍스쳐는 동일한 텍스쳐일 수 있다.
예를 들면, 제 1 영역 내지 제 10 영역이 화면을 구성하고 있을 때, 제 1 영역 내지 제 5 영역에 대해서 도미넌트한 텍스쳐는 제 1 텍스쳐로, 제 6 영역 내지 제 10 영역에 대해서 도미넌트한 텍스쳐는 제 2 텍스쳐로 텍스쳐 결정부(610)가 결정한 경우, 그루핑부(620)는 제 1 영역 내지 제 5 영역을 제 1 그룹으로, 제 6 영역 내지 제 10 영역을 제 2 그룹으로 그루핑할 수 있다.
영상 데이터 할당부(640)는 그루핑된 복수개의 영역들에 대응하는 영상 데이터를 복수개의 영상 데이터 처리 유닛들(630, 635)에 할당할 수 있다.
예를 들면, 디바이스(110)는 그루핑부(620)에서 그루핑된 결과를 이용하여, 같은 그룹의 영역들에 대응하는 영상 데이터를 같은 영상 데이터 처리 유닛에 할당할 수 있다.
따라서 화면을 구성하는 복수개의 영역들 중 도미넌트한 텍스쳐가 동일한 영역들에 대응하는 영상 데이터는 영상 데이터 처리 유닛 1(630)에 할당될 수 있다.
또는, 하나의 그룹으로 설정된 영역들에 대응하는 영상 데이터량이 소정의 기준 이상인 경우, 영상 데이터 할당부(640)는 하나의 그룹의 영역들에 대응하는 영상 데이터를 두개 이상의 영상 데이터 처리 유닛들(630, 635)에 할당할 수 있다.
따라서 하나의 그룹으로 설정된 영역들에 대응하는 영상 데이터량이 소정의 기준 이상인 경우, 같은 그룹의 영역들에 대응하는 영상 데이터가 다른 영상 데이터 처리 유닛에 할당될 수 있다.
영상 데이터 처리 유닛들(630, 635)은 영상 데이터 처리 유닛별로 할당된 영상 데이터를 처리할 수 있다.
디바이스(110)는 영상 데이터 할당부(640)에서 복수개의 영상 데이터 처리 유닛들(630, 635)에 영상 데이터를 할당한 결과에 기초하여 영상 데이터를 처리할 수 있다.
각각의 영상 데이터 처리 유닛들(630, 635)은 영상 데이터 할당부(640)가 할당한 영상 데이터를 처리할 수 있다.
예를 들면, 영상 데이터 처리 유닛 1(630)은 영상 데이터 할당부(640)에서 영상 데이터가 할당된 결과를 이용하여 영상 데이터를 처리함으로써, 같은 그룹의 영역들에 대응하는 영상 데이터를 영상 데이터 처리 유닛 1(630)에서 처리할 수 있다.
또 다른 예를 들면, 영상 데이터 처리 유닛 1(630)은 영상 데이터 할당부(640)에서 영상 데이터가 할당된 결과를 이용하여 영상 데이터를 처리함으로써, 화면을 구성하는 복수개의 영역들 중 도미넌트한 텍스쳐가 동일한 영역들에 대응하는 영상 데이터는 영상 데이터 처리 유닛 1(630)에서 처리될 수 있다.
또한, 영상 데이터 처리 유닛들(630, 635)은 영상 데이터를 병렬적으로 처리할 수 있다. 또는 복수개의 영상 데이터 처리 유닛들(630, 635)이 병렬적으로 영상 데이터를 처리할 수 있다.
예를 들면, 영상 데이터 처리 유닛들(630, 635)이 동시에 서로 다른 영상 데이터를 처리할 수 있다. 또는 복수개의 영상 데이터 처리 유닛들(630, 635) 중 일부의 영상 데이터 처리 유닛들만 영상 데이터를 처리할 수 있다.
영상 데이터 처리 유닛들(630, 635)은 파이프라인 방식으로 데이터를 처리할 수 있다. 각각의 영상 데이터 처리 유닛(630, 635)은 각각의 영상 데이터 처리 유닛별로 다른 영상 데이터를 동시에 처리할 수 있다. 관련된 영상 데이터는 하나의 영상 데이터 처리 유닛에서 처리될 수 있다.
또한, 영상 데이터 처리 유닛들(630, 635)이 영상 데이터를 처리하는 과정은 픽셀값을 결정하는 과정을 포함할 수 있다. 또는 영상 데이터 처리 유닛들(630, 635)은 영상 데이터 처리 유닛들(630, 635)에 할당된 영상 데이터에 대응하는 픽셀값들을 결정할 수 있다.
픽셀값을 결정하는 구체적인 방법에 대해서는 도 3에서 상술한 바 있다.
도 7은 다양한 실시 예에 따라 영상 데이터를 처리하여 내부 메모리에 저장하는 디바이스(110)의 구성을 설명하기 위한 블록도이다.
도 7에 도시된 바와 같이, 디바이스(110)는 영상 데이터 수신부(710), 텍스쳐 결정부(610), 그루핑부(620), 영상 데이터 할당부(640), 영상 데이터 처리 유닛(630, 635), 내부 메모리(720)을 포함할 수 있다. 또한, 영상 데이터 처리 유닛(630, 635)은 픽셀값 결정부(730,735)를 포함할 수 있다. 그러나 도시된 구성요소보다 많은 구성요소에 의해 디바이스(110)가 구현될 수도 있고, 도시된 구성요소보다 적은 구성요소에 의해 디바이스(110)가 구현될 수도 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
텍스쳐 결정부(610), 그루핑부(620), 영상 데이터 할당부(640), 영상 데이터 처리 유닛(630, 635)은 도 6에서 상술하였으므로 전체적인 설명을 간단히 하기 위해 상세한 설명을 생략한다.
영상 데이터 수신부(710)는 영상 데이터를 수신할 수 있다. 도 1에서 상술한 바와 같이 디바이스(110)는 영상 데이터를 영상 데이터 송신부(120)로부터 수신할 수 있고, 디바이스(110)가 영상 데이터를 수신할 때 영상 데이터 수신부(710)에서 영상 데이터 수신이 수행될 수 있다.
내부 메모리(720)는 영상 데이터 처리 유닛들(630, 635)에서 처리된 영상 데이터를 수신하여 저장할 수 있다. 내부 메모리에 저장된 영상 데이터는 추가적인 연산이 수행된 후 외부 디바이스로 송신될 수 있다.
픽셀값 결정부(730,735)는 영상 데이터 처리 유닛(630, 035) 내에 위치할 수 있다. 픽셀값 결정부(730,735)는 영상 데이터 할당부(640)에서 할당받은 영상 데이터를 수신하여 수신한 영상 데이터에 대응하는 픽셀값을 결정할 수 있다.
픽셀값 결정부(730,735)는 영상 데이터 처리 유닛들(630, 635)에 할당된 영상 데이터에 대응하는 픽셀값들을 결정할 수 있다.
픽셀값 결정부(730,735)는 영상 데이터 할당부(640)에서 영상 데이터 처리 유닛들(630, 635)에 영상 데이터를 할당한 결과에 기초하여 영상 데이터를 처리하여 픽셀값을 결정할 수 있다.
예를 들어, 제 1 영역에 대응하는 영상 데이터를 영상 데이터 처리 유닛 1(630)이 처리하는 경우, 영상 데이터 처리 유닛 1(630)에 포함된 픽셀값 결정부 1(730)은 제 1 영역에 대응하는 픽셀들의 픽셀값들을 결정할 수 있다.
각각의 영상 데이터 처리 유닛들(630, 635)은 영상 데이터 할당부(640)에서 할당된 영상 데이터를 이용하여 대응하는 픽셀값을 결정할 수 있다.
예를 들면, 영상 데이터 할당부(640)에서 영상 데이터가 할당된 결과를 이용하여 영상 데이터를 처리함으로써, 같은 그룹의 영역들에 대응하는 픽셀값을 같은 영상 데이터 처리 유닛이 결정할 수 있다.
또 다른 예를 들면, 픽셀값 결정부(730, 735)가 영상 데이터 할당부(640)에서 영상 데이터가 할당된 결과를 이용하여 픽셀값을 결정함으로써, 화면을 구성하는 복수개의 영역들 중 도미넌트한 텍스쳐가 동일한 영역들에 대응하는 영역들의 픽셀값을 동일한 픽셀값 결정부에서 결정할 수 있다.
도 8은 다양한 실시 예에 따라 영상 데이터를 처리하는 디바이스(110)를 설명하기 위한 블록도이다.
도 8은 타일 기반 렌더링 방식으로 동작하는 GPU의 픽셀 처리단계를 설명하고 있다. 하나의 타일을 처리하는 래스터라이저(810), 코어(830), 픽셀 오퍼레이션(840)의 세트를 묶어서 픽셀 채널(pixel channel)이라고 할 수 있다. 하나의 채널이 하나의 타일을 모두 처리한 뒤 다음 타일을 동일한 과정으로 처리할 수 있다. 각 채널은 코어(830)에서 캐시(820)를 통하여 외부 메모리의 값을 읽어서 픽셀의 연산에 활용할 수 있다. 또한, 각 채널은 per-fragment operation후에 완성된 픽셀의 값을 color buffer에 순차적으로 저장할 수 있다. 할당받은 타일의 처리가 완료되면 per-fragment operation은 color buffer의 내용을 외부 메모리에 저장할 수 있다. 타일 스케줄러(850)는 각각의 픽셀 채널이 처리할 타일을 분배할 수 있다. 디바이스(110)는 타일 스케줄러(850)의 역할을 수행할 수 있다.
타일 스케줄러(850)는 각각의 픽셀 채널이 처리할 타일의 분배 정보를 래스터라이저(810)에 송신할 수 있다.
래스터라이저(810)는 타일 스케줄러(850)로부터 타일의 분배 정보를 수신하여 영상 데이터와 관련된 데이터를 코어로 송신할 수 있다.
코어는 캐시(820)로부터 영상 데이터를 획득하고, 래스터라이저(810)로부터 수신한 데이터를 이용하여 영상 데이터를 처리할 수 있다. 캐시(820)는 레벨이 N인 캐시(860)과 연결될 수 있다.
픽셀 오퍼레이션은 코어(840)에서 처리된 영상 데이터를 수신하여 픽셀 단위로 영상 데이터를 처리할 수 있다.
타일 버퍼(870)는 버스와 연결되어 버스와 데이터를 송수신할 수 있다. 또한 타일 버퍼(870)는 픽셀 오퍼레이션(840)과 연결되어 타일 단위의 영상 데이터를 송수신할 수 있다.
이상에서 전술한 다양한 실시 예에 따른 복수개의 컨버터를 제어하는 방법 및 장치는 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있고 컴퓨터에 의해 실행됨으로써 전술한 기능들이 실행될 수 있다.
이상에서 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
또한 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션 된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 적어도 하나의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 적어도 하나에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송 받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 관련 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.

Claims (19)

  1. 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정하는 단계;
    상기 복수개의 영역들 중 상기 결정된 도미넌트한 텍스쳐가 동일한 영역들이 동일한 그룹이 되도록 상기 복수개의 영역들을 그루핑(grouping)하는 단계;
    상기 그루핑된 복수개의 영역들에 대응하는 영상 데이터를 복수개의 영상 데이터 처리 유닛들에 할당하는 단계; 및
    상기 영상 데이터 처리 유닛별로 상기 할당된 영상 데이터를 처리하는 단계를 포함하는 영상 데이터 처리 방법.
  2. 제 1 항에 있어서,
    상기 도미넌트한 텍스쳐는 해당 영역에서 가장 넓은 영역에 대응되는 텍스쳐인 영상 데이터 처리 방법.
  3. 제 1 항에 있어서,
    상기 도미넌트한 텍스쳐는 해당 영역에서 가장 사용 빈도가 높은 텍스쳐인 영상 데이터 처리 방법.
  4. 제 1 항에 있어서,
    상기 할당된 영상 데이터를 처리하는 단계는 상기 복수개의 영상 데이터 처리 유닛들에서 병렬적으로 상기 할당된 영상 데이터를 처리하는 영상 데이터 처리 방법.
  5. 제 1 항에 있어서,
    상기 할당된 영상 데이터를 처리하는 단계는
    상기 복수개의 영상 데이터 처리 유닛들에 할당된 영상 데이터에 대응하는 픽셀값들을 결정하는 단계를 포함하는 영상 데이터 처리 방법.
  6. 제 1 항에 있어서,
    상기 텍스쳐는 소정의 객체에 매핑되는 이미지인 영상 데이터 처리 방법.
  7. 제 1 항에 있어서,
    상기 복수개의 영역들은 동일한 크기의 직사각형 또는 정사각형이고, 서로 겹치지 않는 영상 데이터 처리 방법.
  8. 제 1 항에 있어서,
    상기 처리된 영상 데이터를 내부 메모리에 저장하는 단계를 더 포함하는 영상 데이터 처리 방법.
  9. 제 1 항에 있어서,
    상기 영상 데이터 처리 유닛은 파이프라인 방식으로 데이터를 처리하는 영상 데이터 처리 방법.
  10. 영상을 구성하는 복수개의 영역들마다 각각의 영역들에 대해서 도미넌트한 텍스쳐를 결정하는 텍스쳐 결정부;
    상기 복수개의 영역들 중 상기 결정된 도미넌트한 텍스쳐가 동일한 영역들이 동일한 그룹이 되도록 상기 복수개의 영역들을 그루핑(grouping)하는 그루핑부;
    영상 데이터를 처리하는 복수개의 영상 데이터 처리 유닛들; 및
    상기 그루핑된 복수개의 영역들에 대응하는 영상 데이터를 상기 복수개의 영상 데이터 처리 유닛들에 할당하는 영상 데이터 할당부를 포함하는 디바이스.
  11. 제 10 항에 있어서,
    상기 도미넌트한 텍스쳐는 해당 영역에서 가장 넓은 영역에 대응되는 텍스쳐인 디바이스.
  12. 제 10 항에 있어서,
    상기 도미넌트한 텍스쳐는 해당 영역에서 가장 사용 빈도가 높은 텍스쳐인 디바이스.
  13. 제 10 항에 있어서,
    상기 복수개의 영상 데이터 처리 유닛들은 상기 영상 데이터 할당부에 의해 할당된 영상 데이터를 병렬적으로 처리하는 디바이스.
  14. 제 10 항에 있어서,
    상기 영상 데이터 처리 유닛은
    상기 영상 데이터 할당부에 의해 할당된 영상 데이터에 대응하는 픽셀값들을 결정하는 픽셀값 결정부를 포함하는 디바이스.
  15. 제 10 항에 있어서,
    상기 텍스쳐는 소정의 객체에 매핑되는 이미지인 디바이스.
  16. 제 10 항에 있어서,
    상기 복수개의 영역들은 동일한 크기의 직사각형 또는 정사각형이고, 서로 겹치지 않는 디바이스.
  17. 제 10 항에 있어서,
    상기 복수개의 영상 데이터 처리 유닛들에서 처리된 영상 데이터를 저장하는 내부 메모리를 더 포함하는 디바이스.
  18. 제 10 항에 있어서,
    상기 영상 데이터 처리 유닛은 파이프라인 방식으로 데이터를 처리하는 디바이스.
  19. 제 1 항 내지 제 9 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020140040065A 2014-04-03 2014-04-03 영상 데이터를 처리하는 방법 및 디바이스. KR102111740B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140040065A KR102111740B1 (ko) 2014-04-03 2014-04-03 영상 데이터를 처리하는 방법 및 디바이스.
US15/301,476 US10497135B2 (en) 2014-04-03 2014-05-14 Method and device for processing image data
PCT/KR2014/004300 WO2015152459A1 (ko) 2014-04-03 2014-05-14 영상 데이터를 처리하는 방법 및 디바이스.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140040065A KR102111740B1 (ko) 2014-04-03 2014-04-03 영상 데이터를 처리하는 방법 및 디바이스.

Publications (2)

Publication Number Publication Date
KR20150116026A KR20150116026A (ko) 2015-10-15
KR102111740B1 true KR102111740B1 (ko) 2020-05-15

Family

ID=54240756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140040065A KR102111740B1 (ko) 2014-04-03 2014-04-03 영상 데이터를 처리하는 방법 및 디바이스.

Country Status (3)

Country Link
US (1) US10497135B2 (ko)
KR (1) KR102111740B1 (ko)
WO (1) WO2015152459A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050169509A1 (en) 2002-05-07 2005-08-04 Ingmar Grasslin Method for improving the image quality

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6525737B1 (en) * 1998-08-20 2003-02-25 Apple Computer, Inc. Graphics processor with pipeline state storage and retrieval
US7016970B2 (en) * 2000-07-06 2006-03-21 Matsushita Electric Industrial Co., Ltd. System for transmitting stream data from server to client based on buffer and transmission capacities and delay time of the client
CN1218279C (zh) * 2000-09-07 2005-09-07 皇家菲利浦电子有限公司 数字图象的分割
US6749761B1 (en) * 2000-10-10 2004-06-15 Cti Pet Systems, Inc. Method for producing a high resolution detector array
KR20010067778A (ko) * 2001-03-23 2001-07-13 원치선 영상/비디오 처리 방법 및 영상/비디오 객체 분할 방법
JP2006067521A (ja) 2004-08-30 2006-03-09 Kyocera Corp 画像処理装置と方法、および画像撮像装置と方法
JP4525541B2 (ja) * 2005-09-14 2010-08-18 富士ゼロックス株式会社 画像処理装置
US7522169B1 (en) 2005-12-13 2009-04-21 Nvidia Corporation Apparatus and method for selective attribute distribution to parallel processors
US7728841B1 (en) * 2005-12-19 2010-06-01 Nvidia Corporation Coherent shader output for multiple targets
GB0723536D0 (en) 2007-11-30 2008-01-09 Imagination Tech Ltd Multi-core geometry processing in a tile based rendering system
US20100123717A1 (en) 2008-11-20 2010-05-20 Via Technologies, Inc. Dynamic Scheduling in a Graphics Processor
GB0900700D0 (en) 2009-01-15 2009-03-04 Advanced Risc Mach Ltd Methods of and apparatus for processing graphics
JP5037574B2 (ja) * 2009-07-28 2012-09-26 株式会社ソニー・コンピュータエンタテインメント 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、および画像処理方法
US8619085B2 (en) 2010-03-08 2013-12-31 Broadcom Corporation Method and system for compressing tile lists used for 3D rendering
JP5365557B2 (ja) * 2010-03-17 2013-12-11 オイレス工業株式会社 スラスト滑り軸受及びこのスラスト滑り軸受とピストンロッドとの組合せ機構
AU2011205085B2 (en) * 2011-07-29 2014-05-15 Canon Kabushiki Kaisha 2D region rendering
US8902228B2 (en) 2011-09-19 2014-12-02 Qualcomm Incorporated Optimizing resolve performance with tiling graphics architectures
US9007373B2 (en) * 2011-10-12 2015-04-14 Yale University Systems and methods for creating texture exemplars
JP6180888B2 (ja) * 2013-11-07 2017-08-16 株式会社東芝 電子機器、方法およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050169509A1 (en) 2002-05-07 2005-08-04 Ingmar Grasslin Method for improving the image quality

Also Published As

Publication number Publication date
US20170124723A1 (en) 2017-05-04
US10497135B2 (en) 2019-12-03
KR20150116026A (ko) 2015-10-15
WO2015152459A1 (ko) 2015-10-08

Similar Documents

Publication Publication Date Title
CN106897143B (zh) 图形处理系统和在图形处理系统中处理基元片段的方法
US10922868B2 (en) Split frame rendering
JP6530728B2 (ja) 両眼視差映像に対するレンダリング方法及びその装置
US9842424B2 (en) Volume rendering using adaptive buckets
CN100547610C (zh) 顶点着色器、绘图处理单元及其相关的流程控制方法
US9013479B2 (en) Apparatus and method for tile-based rendering
CN108305313B (zh) 用于细分绘制空间的一个或多个图块的集合的、用于绘制的图形处理单元和方法
US10453168B2 (en) Techniques for maintaining atomicity and ordering for pixel shader operations
CN107392836B (zh) 使用图形处理管线实现的立体多投影
KR20160106338A (ko) 양안 시차 영상에 대한 타일 기반 렌더링 방법 및 장치
US10705844B2 (en) Method and device for register management
US10078911B2 (en) System, method, and computer program product for executing processes involving at least one primitive in a graphics processor, utilizing a data structure
EP3324367B1 (en) Identifying primitives in input index stream
US11037357B2 (en) Pixelation optimized delta color compression
US8654135B1 (en) A-Buffer compression for different compression formats
CN117058288A (zh) 图形处理器及方法、多核图形处理系统、电子装置及设备
US9443344B2 (en) Method for rendering data of a three-dimensional surface
US9741155B2 (en) Apparatus and method for tile-based graphic data rendering
KR102111740B1 (ko) 영상 데이터를 처리하는 방법 및 디바이스.
US10032245B2 (en) Techniques for maintaining atomicity and ordering for pixel shader operations
US9984491B2 (en) Apparatus and method for managing commands
US10019776B2 (en) Techniques for maintaining atomicity and ordering for pixel shader operations
JP6235926B2 (ja) 情報処理装置、生成方法、プログラム及び記録媒体
US10832465B2 (en) Use of workgroups in pixel shader
KR102063835B1 (ko) 맵 리듀스 기반의 볼륨 렌더링 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant