KR101110624B1 - 그래픽 처리 기능을 갖는 메모리 컨트롤러 - Google Patents

그래픽 처리 기능을 갖는 메모리 컨트롤러 Download PDF

Info

Publication number
KR101110624B1
KR101110624B1 KR1020040106394A KR20040106394A KR101110624B1 KR 101110624 B1 KR101110624 B1 KR 101110624B1 KR 1020040106394 A KR1020040106394 A KR 1020040106394A KR 20040106394 A KR20040106394 A KR 20040106394A KR 101110624 B1 KR101110624 B1 KR 101110624B1
Authority
KR
South Korea
Prior art keywords
downsampling
data
unit
master
memory interface
Prior art date
Application number
KR1020040106394A
Other languages
English (en)
Other versions
KR20060067583A (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 KR1020040106394A priority Critical patent/KR101110624B1/ko
Priority to JP2005361082A priority patent/JP2006171760A/ja
Priority to US11/302,436 priority patent/US7671866B2/en
Publication of KR20060067583A publication Critical patent/KR20060067583A/ko
Application granted granted Critical
Publication of KR101110624B1 publication Critical patent/KR101110624B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

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

Abstract

그래픽 처리 기능을 갖는 메모리 컨트롤러는 마스터로 부터의 선택 신호에 응답하여 그래픽 처리 기능을 수행하는 그래픽 처리 장치를 포함한다. 또한, 상기 그래픽 처리 장치에 의해 제어 되며, 상기 그래픽 처리 장치의 출력을 소정 간격으로 외부 메모리에 저장하거나, 외부 메모리로부터 소정의 영상 데이터를 입력 받아 상기 그래픽 처리 장치에 제공하는 메모리 인터페이스를 포함한다.

Description

그래픽 처리 기능을 갖는 메모리 컨트롤러{Memory Controller with graphic processing function}
도 1은 본 발명에 따른 시스템 온 칩(system-on-chip)을 개략적으로 보여주는 블럭도이다.
도 2는 본 발명의 예시적인 실시예에 따라 도 1의 메모리 컨트롤러의 내부 구성을 개략적으로 보여주는 블럭도이다.
도 3은 본 발명의 예시적인 실시예에 따라 도 2의 데이타 축적 로직을 설명하기 위한 스테이트 머신이다.
도 4는 본 발명의 예시적인 실시예에 따라 도 2의 자동 밉맵 생성부의 제어에 의해 서브 텍스쳐들이 생성되는 과정을 개략적으로 보여주는 블럭도이다.
도 5는 본 발명의 예시적인 실시예에 따라 도 1의 메모리 컨트롤러 내부 구성을 개략적으로 보여주는 블럭도이다.
* 도면의 주요 부분에 대한 설명*
300: 그래픽 처리 장치 310: 다운샘플링 부
320: 자동 밉맵 생성부 322:메모리 쓰기 제어부
321: 그래픽 처리 제어부
본 발명은 메모리 컨트롤러에 관한 것으로 좀 더 구체적으로는 그래픽 처리 기능을 가진 메모리 컨트롤러에 관한 것이다.
컴퓨터 그래픽 시스템은 점, 선, 다각형(Polygon), 그리고 3차원 물체등과 같은 다양한 대상물(Object)들을 스크린상에 디스플레이하기 위하여 사용된다. 컴퓨터 그래픽 시스템의 텍스쳐 매핑시스템은 다양한 텍스쳐 데이타를 입력 받아 텍스처 매핑을 수행한다.
텍스쳐는 텍셀(texel)을 기본 단위로 구성되며, 문양, 재질, 및 오목볼록 등을 나타내는 2차원 그래픽 데이타를 말한다. 텍스쳐 매핑이라함은 대상물을 그래픽화할 시에, 도형의 세부까지 정밀하게 정의하는 대신에 대상물을 비교적 간단한 유사 다면체(Polygon)로 구성하고, 이 유사 다면체의 표면에 텍스쳐 (또는 텍스쳐 맵)를 부착(즉, 맵핑)하는 것을 말한다. 빠른 그래픽 처리를 위하여, 3차원 물체의 다양한 크기에 맞게 복수로 준비된 2차원 텍스쳐들을 밉맵(MIPmap)이라 한다.
최근에 모바일 어플리케이션(Mobile Application) 시장이 점점 커짐에 따라, 휴대폰이나 PDA폰 등과 같은 모바일 기기에서 다양한 그래픽 처리를 요하는 멀티미디어 기능이 요구되고 있다. 이러한 요구를 충족시키기 위해, 다양한 멀티미디어 어플리케이션을 지원하는 모바일 기기들이 출시되고 있다.
그러나 일반적으로 모바일 기기들은 칩 크기(Chip Size)와 전력 소모(Power consumption)의 한계에 의하여 메모리 용량 및 하드웨어 게이트 사이즈에 제한이 있다. 따라서, 모바일 기기에서 실시간으로 그래픽 처리를 하는 경우에는, 3차원 그래픽 처리에 필요한 밉맵을 제한된 메모리내에 모두 저장할 수 없어, 밉맵 생성을 위한 여러가지 연산을 CPU에서 수행하였다. 따라서, 어플리케이션을 위한 그래픽 처리 시간이 증가되고, 전력 소모도 많았다.
예를 들면, 3차원(3D) 그래픽 처리과정 중 하나인 렌더링(Rendering)시, 화질이 좋은 3차원 그래픽을 얻기 위하여 슈퍼-샘플링을 한다. 슈퍼 샘플링된 텍스쳐들을 일정한 크기로 다운샘플링하려면, 소프트웨어를 통해 CPU나 기타 그래픽 코어에 억세스(access)하여 연산을 한다. 따라서, CPU 등의 로딩이 많아 원하는 그래픽처리 동작이 지연되고, 또한 전력 소모도 증가하게 된다.
본 발명의 목적은 그래픽 처리시 메인 처리 장치(예:CPU:Central processing unit)의 로딩을 줄일 수 메모리 컨트롤러를 제공하는 데 있다.
본 발명의 또 다른 목적은 제한된 메모리 용량에도 불구하고 빠르게 그래픽 처리를 할 수 있도록 하는 메모리 컨트롤러를 제공하는 데 있다.
상기 목적을 달성하기 위하여, 그래픽 처리 기능을 갖는 메모리 컨트롤러는 마스터로 부터의 선택 신호에 응답하여 그래픽 처리 기능을 수행하는 그래픽 처리 장치; 그리고 상기 그래픽 처리 장치에 의해 제어 되며, 상기 그래픽 처리 장치의 출력을 소정 간격으로 외부 메모리에 저장하거나, 외부 메모리로부터 소정의 영상 데이터를 입력 받아 상기 그래픽 처리 장치에 제공하는 메모리 인터페이스를 포함한다.
본 발명의 바람직한 일 실시예에 있어서, 상기 그래픽 처리 장치는 상기 마스터로부터의 선택 신호에 응답하여 밉밉을 생성하거나 다운샘플링 동작을 하도록 다운샘플링 부를 제어하는 자동 밉맵 생성부; 그리고 상기 자동 밉맵 생성부에 의해 제어되며, 상기 마스터 또는 상기 메모리 인터페이스로 부터 텍스쳐 데이터를 입력 받아 다운샘플링 동작을 하는 다운샘플링 부를 포함한다.
본 발명의 바람직한 일 실시예에 있어서, 상기 자동 밉맵 생성부는 상기 마스터로부터 선택 신호에 응답하여, 상기 마스터로부터 원본 텍스쳐 사이즈 및 어드레스 주소를 입력받아 서브 텍스쳐 사이즈 및 어드레스를 산출하는 그래픽 처리 제어부; 그리고 상기 그래픽 처리 제어부로부터 산출된 어드레스를 입력 받아, 상기 메모리 인터페이스에 상기 어드레스를 출력하고, 상기 메모리 인터페이스의 플러쉬(flush) 시점을 선택하는 메모리 쓰기 제어부를 포함한다.
본 발명의 바람직한 일 실시예에 있어서, 상기 메모리 인터페이스의 플러쉬 시점은 시스템 버스의 데이타 라인수에 따라 선택된다.
본 발명의 바람직한 일 실시예에 있어서, 상기 다운샘플링 부는 상기 그래픽 처리 제어부에 의해 제어 되며, 상기 마스터 또는 상기 메모리 인터페이스로부터 텍스쳐 데이터를 입력 받아 다운샘플링 비율에 따라 순차적으로 데이타 합산을 하는 데이타 축적 로직; 그리고 상기 데이타 축적 로직의 출력을 받아 상기 다운샘플링 비율에 따라 합산된 데이터를 나누어 평균값을 구하는 데이터 분배부를 포함한 다.
본 발명의 바람직한 일 실시예에 있어서, 상기 다운샘플링 비율은 상기 그래픽 처리 제어부에서 선택한다.
본 발명의 바람직한 일 실시예에 있어서,상기 마스터는 메인프로세서(CPU) 및 디지탈 시그날 프로세서를 포함한다.
본 발명의 바람직한 일 실시예에 있어서, 상기 마스터로부터의 선택 신호는 밉멥을 생성하기 위한 신호 또는다운샘플링 동작을 수행하기 위한 신호이다.
본 발명의 바람직한 일 실시예에 있어서, 상기 그래픽 처리 제어부는 상기 원본 텍스쳐의 사이즈가 하나의 텍셀 또는 픽셀 사이즈가 될 때까지 상기 다운샘플링 부를 연속하여 동작하도록 한다.
본 발명의 바람직한 일 실시예에 있어서, 상기 그래픽 처리 제어부는 상기 다운샘플링 부의 동작 횟수를 결정한다.
본 발명의 바람직한 일 실시예에 있어서, 상기 다운샘플링 부가 한 번 동작할 때마다, 상기 다운샘플링 부의 출력값이 상기 메모리 인터페이스에 저장된다.
본 발명의 바람직한 일 실시예에 있어서, 상기 메모리 인터페이스가 입력받는 상기 외부 메모리로부터 소정의 영상 데이터는 슈퍼 샘플링 된 텍스쳐 데이터이다.
본 발명의 바람직한 다른 실시예에 있어서, 그래픽 처리 기능을 갖는 메모리 컨트롤러는 마스터로부터의 동작 신호에 응답하여 다운샘플링 부 및 메모리 인터페이스를 제어하는 제어로직; 상기 제어로직에 의해 제어 되며, 상기 다운샘플링 부 의 출력을 소정 간격으로 외부 메모리에 저장하거나, 외부 메모리로부터 소정의 영상 데이터를 입력 받는 메모리 인터페이스; 그리고 상기 제어로직에 의해 제어 되며, 마스터 또는 상기 메모리 인터페이스로부터 텍스쳐 데이터를 입력받아 다운샘플링 동작을 하는 다운샘플링 부를 포함한다.
본 발명의 바람직한 다른 실시예에 있어서, 상기 다운샘플링 부는 상기 그래픽 처리 제어부에 의해 제어 되며, 상기 마스터로 또는 상기 메모리 인터페이스로부터 텍스쳐 데이터를 입력 받아 다운샘플링 비율에 따라 데이타 합산을 하는 데이타 축적 로직; 그리고 상기 데이타 축적 로직의 출력을 받아 상기 다운샘플링 비율에 따라 합산된 데이터를 나누는 데이터 분배부를 포함한다.
본 발명의 바람직한 다른 실시예에 있어서 상기 다운샘플링 비율은 상기 제어로직에서 선택한다.
본 발명의 바람직한 다른 실시예에 있어서, 상기 마스터는 메인프로세서(CPU) 및 디지탈 시그날 프로세서를 포함한다.
본 발명의 바람직한 다른 실시예에 있어서, 상기 제어로직는 상기 다운샘플링 부를 몇 번 동작하도록 할 것인지 결정한다.
본 발명의 바람직한 다른 실시예에 있어서, 상기 다운샘플링 부가 한 번 동작할 때마다, 상기 다운샘플링 부의 출력 값이 상기 메모리 인터페이스에 저장된다.
본 발명의 예시적인 실시예들이 참조 도면에 의거하여 이하 상세히 설명될 것이다.
(실시예)
본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상 및 범위를 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
도 1은 본 발명에 따른 시스템 온 칩(system-on-chip, 100)을 개략적으로 보여주는 블럭도이다. 도 1을 참조하면, 시스템-온-칩(SOC)은 중앙 처리 장치 (CPU: Central Processing Unit, 101), 디지탈 시그날 프로세서(DSP: Digital Signal Process, 102), 및 3차원 그래픽 가속기(3D Graphics Accelerator, 103) 등의 마스터(Master, 101, 102, 103)들과 메모리 컨트롤러(200)와 같은 슬레이브(Slave)로 구성되어 있다. 마스터(101, 102, 103)들과 슬레이브(200)는 각각 시스템 버스(104)에 연결되어 있다. 디지탈 시그날 프로세서(102)는 디지탈 영상 데이터를 아날로그 영상 데이터로 처리하는 장치이다. 3차원 그래픽 가속기(103)는 디스플레이 장치 화면에 표시될 그래픽 연산을 CPU 대신 수행하며, 그래픽 연산에 주로 사용되는 이미지들 예를 들면, 사각형, 원, 타원 등의 정보를 포함하고 있을 수 있다. 일반적으로 메모리 컨트롤러(200)는 시스템-온-칩(100) 내부의 마스터들(101, 102, 103)과 외부 메모리(500) 사이의 인터페이스 역할을 한다. 예를 들면, 메모리 컨트롤러(200)는 외부 메모리(500)에 데이터를 저장하고, 마스터(101, 102, 103)가 원하는 데이터를 외부 메모리(500)로부터 읽어온다. 본 발명의 일 실시예에 따른 메모리 컨트롤러(200)는 그래픽 처리 장치(200) 및 메모리 인터페이스(400)를 포함하며, 마스터(101, 102, 103)의 명령에 따라, 소정의 그래픽 처리를 수행한다. 이에 대하여는 이하 상세히 설명될 것이다.
도 2는 본 발명의 예시적인 실시예에 따라 도 1의 메모리 컨트롤러의 내부 구성을 개략적으로 보여주는 블럭도이다. 도 2를 참조하면, 메모리 컨트롤러(200)는 그래픽 처리 장치(300) 그리고 버퍼를 포함하는 메모리 인터페이스(400)를 포함한다. 그래픽 처리 장치(300)는 다운샘플링 부(310)와 자동 밉맵 생성부(320)를 포함한다. 다운샘플링 부(310)는 데이타 축적 로직(311)과 1/n디바이더(312)를 포함하며, 자동 밉맵 생성부(320)는 그래픽 처리 제어부(321)와 메모리 쓰기 제어부(322)를 포함한다.
자동 밉맵 생성부(320)는 그래픽 처리 제어부(321)와 메모리 쓰기 제어부(322)를 포함한다. 그래픽 처리 제어부(321)는 시스템 버스(104)를 통해 마스터(101, 102, 103)로부터 선택 신호를 받아 밉맵 생성(Mipmap Generation) 또는 다운샘플링(Downsampling) 동작을 하도록 구성된다.
메인프로세서(이하, CPU(Central Processing Unit): 101, 도1참조)가 소정의 텍셀로 구성된 슈퍼샘플링된 텍스쳐들을 다운샘플링 하기 위한 선택 신호 및 슈퍼샘플링된 원본 텍스쳐들의 사이즈/어드레스 정보를 메모리 컨트롤러(200)에 보낸다. 메모리 컨트롤러(200)내의 그래픽 처리 제어부(321)는 CPU(101)로부터의 선택 신호 및 사이즈/어드레스 정보에 응답하여, 다운샘플링 횟수(m), 다운샘플링 비율(1/n), 다운샘플링에 의해 생성될 서브 텍스쳐들의 어드레스를 산출한다. 그래픽 처리 제어부(321)는 산출된 다운샘플링 횟수(m), 다운샘플링 비율(1/n) 정보, 그리고 메모리 인터페이스(400)로부터 다운샘플링할 데이타를 입력받도록 하는 제 1 제어신호를 다운샘플링 부(310)에 전달한다. 동시에 그래픽 처리 제어부(321)는 슈퍼샘플링된 텍스쳐들이 저장된 외부 메모리(500)의 어드레스 정보 및 메모리 인터페이스(400)가 외부 메모리(500)에 억세스하여 소정 데이타를 입력받도록 하는 제 2 제어 신호를 메모리 인터페이스(400)에 보낸다. 메모리 인터페이스(400)는 제 2 제어 신호에 응답하여 외부 메모리(500)로부터 슈퍼샘플링된 텍스쳐 데이타를 읽어온다. 다운샘플링 부(310)의 데이타 축적 로직(311)은 제 1 제어신호에 응답하여, 메모리 인터페이스(400)로부터 슈퍼샘플링된 텍스쳐 데이타를 받아들이며, 다운샘플링 비율(1/n)에 따라 텍스쳐의 n개 텍셀 값을 순차적으로 합산한다(도 3참조). 1/n 디바이더(312)는 선택된 다운샘플링 비율(1/n)에 따라 데이타 축적 로직(311)의 출력값을 나누어 평균값을 구한다. 구해진 평균값은 메모리 인터페이스(400)에 저장된다. 다운샘플링부(310)는 그래픽 처리 제어부(321)에서 산출한 다운샘플링 횟수(m) 만큼 다운샘플링 동작을 실시한다. 다수의 슈퍼샘플링된 텍스쳐들을 다운샘플링 할 경우에, 그래픽 처리 제어부(321)는 각각의 텍스쳐에 대하여, 다운샘플링 회수(m) 및 다운샘플링 비율(1/n)을 산출하여 다운샘플링 부(310)에 전달 한다.
메모리 쓰기 제어부(322)는 그래픽 처리 제어부(321)로부터 서브 텍스쳐의 어드레스들을 입력받아 메모리 인터페이스(400)에 출력하며, 시스템 버스(104)의 데이타 라인 수를 고려하여 메모리 인터페이스(400)를 플러쉬할 시점을 선택한다.
디지탈 시그날 프로세서(102, 도 1 참조)가 소정의 픽셀 데이타로 구성된 원본 이미지를 디스플레이 장치의 화면에 원하는 사이즈로 표시 하도록, 다운샘플링하기 위한 선택 신호 및 원본 이미지들의 사이즈/어드레스 정보를 메모리 컨트롤러 (200)의 그래픽 처리 제어부(321)에 보낸다. 동시에 디지탈 시그날 프로세서(102)는 다운샘플링할 이미지 데이타를 메모리 컨트롤러(200)내의 다운샘플링 부(310)에 보낸다. 그래픽 처리 제어부(321)는 디지탈 시그날 프로세서(102)로부터의 선택 신호에 응답하여, 사이즈/어드레스 정보에 따라 다운샘플링 횟수(m), 다운샘플링 비율(1/n), 다운샘플링에 의해 생성될 서브 이미지 데이타들의 어드레스들을 산출한다. 그래픽 처리 제어부(321)는 산출된 다운샘플링 횟수(m), 다운샘플링 비율(1/n) 정보를 다운샘플링 부(310)에 전달한다. 다운샘플링 부(310)의 데이타 축적 로직(311)은 다운샘플링 비율(n)에 따라 디지탈 시그날 프로세서(102)로부터입력된 이미지 데이타의 n개의 픽셀 값을 순차적으로 합산한다(도 3참조). 1/n 디바이더(312)는 선택된 다운샘플링 비율(1/n)에 따라 데이타 축적 로직(311)의 출력값을 나누어 평균값을 구한다. 구해진 평균값은 메모리 인터페이스(400)에 저장된다. 다운샘플링 부(310)는 그래픽 처리 제어부(321)에서 산출한 다운샘플링 횟수(m) 만큼 다운샘플링 동작을 실시한다. 다수 프레임의 이미지 데이타들을 다운샘플링 할 경우에, 그래픽 처리 제어부(321)는 각각의 이미지 데이타에 대하여, 다운샘플링 회수(m) 및 다운샘플링 비율(1/n)을 산출하여 다운샘플링 부(310)에 보낸다.
메모리 쓰기 제어부(322)는 그래픽 처리 제어부(321)로부터 서브 이미지 데이타들의 어드레스들을 입력받아 메모리 인터페이스(400)에 출력하며, 시스템 버스(104)의 데이타 라인 수를 고려하여 메모리 인터페이스(400)를 플러쉬할 시점을 선택한다.
도 4는 도 2의 자동 밉맵 생성부의 제어에 의해 서브 텍스쳐들이 생성되는 과정을 개략적으로 보여주는 블럭도이다. 도 4를 참조하면, 본 발명의 그래픽처리장치(200)는 하나의 텍셀 사이즈가 될 때까지 통해 소정의 텍셀로 구성된 원본 텍스쳐를 다운샘플링하고, 생성된 각각의 서브텍스쳐들을 저장함으로써 밉맵을 생성한다.
CPU(101, 도1 참조) 또는 3차원 그래픽 가속기(103)가 밉맵을 형성하기 위한 선택 신호 및 원본 텍스쳐의 사이즈/어드레스 정보를 메모리 컨트롤러(200)의 그래픽 처리 제어부(321)에 보낸다. 동시에 원본 텍스쳐 데이타를 메모리 컨트롤러(200)의 다운샘플링부(310)에 보낸다. 메모리 컨트롤러(200)내의 그래픽 처리 제어부(321)는 CPU(101) 또는 3차원 그래픽 가속기(103)로부터의 선택 신호 및 사이즈/어드레스 정보에 응답하여, 원본 텍스쳐가 하나의 텍셀 사이즈가 될 때까지, 다운샘플링부(310)가 다운샘플링 동작을 수행하도록 한다. 이를 위하여, 그래픽 처리 제어부(321)는 생성될 서브 텍스쳐들의 사이즈(s1, s2,...), 다운샘플링 횟수(l), 다운샘플링 비율(1/n), 다운샘플링에 의해 생성된 서브 텍스쳐들 각각의 어드레스를 산출한다. 그래픽 처리 제어부(321)는 산출된 다운샘플링 횟수(l), 다운샘플링 비율(1/n) 정보를 다운샘플링 부(310)에 전달한다. 다운샘플링 부(310)의 데이타 축적 로직(311)은 다운샘플링 비율(1/n)에 따라 CPU(101) 또는 3차원 그래픽 가속기(103)로부터 입력된 원본 텍스쳐의 n개의 텍셀 값을 순차적으로 합산한다(도 3참조). 1/n 디바이더(312)는 선택된 다운샘플링 비율(1/n)에 따라 데이타 축적 로직(311)의 출력값을 나누어 평균값을 구한다. 구해진 평균값은 메모리 인터페이스(400)에 저장된다. 다운샘플링 부(310)는 그래픽 처리 제어부(321)에서 산출한 다운샘플링 횟수(l) 만큼 다운샘플링 동작을 실시한다.
이 때, 메모리 쓰기 제어부(322)는 그래픽 처리 제어부(321)로부터 서브 텍스쳐들 각각의 어드레스를 입력받아 메모리 인터페이스(400)에 출력하며, 시스템 버스(104)의 데이타 라인 수를 고려하여 메모리 인터페이스(400)를 플러쉬(flush)할 시점을 선택한다.
3차원 그래픽에서 텍스쳐 맵핑을 수행할 때 사용되는 밉맵은 원본 텍스쳐만 있으면, 하위 레벨의 서브 텍스쳐들은 본 발명에 따른 그래픽 처리 기능을 가진 메모리 컨트롤러를 통해 CPU(101)의 개입 없이 자동으로 생성할 수 있다. 따라서, CPU의 연산에 따른 부담을 덜고, 데이타 패스(Path)가 짧아짐으로 인하여, 이미지 부팅 시간을 줄일 수 있을 뿐더러 전력 소모도 줄일 수 있다.
도 5는 본 발명의 다른 실시예에 따라 도 1의 메모리 컨트롤러 내부 구성을 개략적으로 보여주는 블럭도이다. 도 5를 참조하면, 메모리 컨트롤러(200)는 다운샘플링 부(310)와 제어로직(325), 그리고 버퍼를 포함하는 메모리 인터페이스(400)을 포함한다. 다운샘플링 부(310)는 데이타 축적 로직(311)과 1/n디바이더(311)를 포함한다. 제어로직(325)은 시스템 버스(104) 통해 마스터(101, 102, 103)로부터 원본 텍스쳐 또는 이미지 사이즈/어드레스 정보를 받아 다운샘플링(Downsampling) 동작을 하도록 구성된다.
메인프로세서(이하, CPU: 101, 도1참조)가 소정의 텍셀로 구성된 슈퍼샘플링된 텍스쳐들을 다운샘플링 하기 위하여, 슈퍼샘플링된 원본 텍스쳐들의 사이즈/어드레스 정보를 메모리 컨트롤러(200)에 보낸다. 메모리 컨트롤러(200)내의 제어로직(325)은 CPU(101)로 부터의 선택 신호 및 사이즈/어드레스 정보에 응답하여, 다운샘플링 횟수(m), 다운샘플링 비율(1/n), 다운샘플링에 의해 생성될 서브 텍스쳐들의 어드레스를 산출한다. 제어로직(350)은 산출된 다운샘플링 횟수(m), 다운샘플링 비율(1/n) 정보, 그리고 메모리 인터페이스(400)로부터 다운샘플링할 데이타를 입력받도록 하는 제 1 제어신호를 다운샘플링 부(310)에 전달한다. 동시에 제어로직(325)은 슈퍼샘플링된 텍스쳐들이 저장되어 있는 외부 메모리(500)의 어드레스 정보 및 메모리 인터페이스(400)가 외부 메모리(500)에 억세스하여 소정 데이타를 입력받도록 하는 제 2 제어 신호를 메모리 인터페이스(400)에 보낸다. 메모리 인터페이스(400)는 제 2 제어 신호에 응답하여, 외부 메모리(500)로부터 슈퍼샘플링된 텍스쳐 데이타를 읽어온다. 다운샘플링 부(310)의 데이타 축적 로직(311)은 제 1 제어신호에 응답하여, 메모리 인터페이스(400)로부터 슈퍼샘플링된 텍스쳐 데이타를 받아들이며, 선택된 다운샘플링 비율(1/n)에 따라 텍스쳐의 n개 텍셀 값을 순차적으로 합산한다(도 3참조). 1/n 디바이더(312)는 선택된 다운샘플링 비율(1/n)에 따라 데이타 축적 로직(311)의 출력값을 나누어 평균값을 구한다. 구해진 평균값은 메모리 인터페이스(400)에 저장된다. 다운샘플링 부(310)는 제어로직(325)에서 산출한 다운샘플링 횟수(m) 만큼 다운샘플링 동작을 실시한다. 다수의 슈퍼샘플링된 텍스쳐들을 다운샘플링 할 경우에, 제어로직(325)은 각각의 텍스쳐에 대하여, 다운샘플링 회수(m) 및 다운샘플링 비율(1/n)을 산출하여 다운샘플링 동작을 실시하도록 한다.
또한, 제어로직(325)은 서브 텍스쳐의 어드레스들을 메모리 인터페이스(400)에 출력하며, 시스템 버스(104)의 데이타 라인 수를 고려하여 메모리 인터페이스(400)를 플러쉬할 시점을 선택한다.
디지탈 시그날 프로세서(102, 도 1 참조)가 소정의 픽셀 데이타로 구성된 원본 이미지를 디스플레이 장치의 화면에 원하는 사이즈로 표시 하도록, 다운샘플링하기 위한 선택 신호 및 원본 이미지들의 사이즈/어드레스 정보를 메모리 컨트롤러(200)의 제어로직(325)에 보낸다. 동시에 디지탈 시그날 프로세서(102)는 다운샘플링할 이미지 데이타를 메모리 컨트롤러(200)내의 다운샘플링 부(310)에 보낸다. 제어로직(325)은 디지탈 시그날 프로세서(102)로부터의 선택 신호에 응답하여, 사이즈/어드레스 정보에 따라 다운샘플링 횟수(m), 다운샘플링 비율(1/n), 다운샘플링에 의해 생성될 서브 이미지 데이타들의 어드레스들을 산출한다. 제어로직(325)은 산출된 다운샘플링 횟수(m), 다운샘플링 비율(1/n) 정보를 다운샘플링 부(310)에 전달한다. 다운샘플링 부(310)의 데이타 축적 로직(311)은 선택된 다운샘플링 비율(1/n)에 따라, 디지탈 시그날 프로세서(102)로부터 입력받은 이미지 데이타의 n개의 픽셀 값을 순차적으로 합산한다(도 3참조). 1/n 디바이더(312)는 선택된 다운샘플링 비율(1/n)에 따라 데이타 축적 로직(311)의 출력값을 나누어 평균값을 구한다. 구해진 평균값은 메모리 인터페이스(400)에 저장된다. 다운샘플링 부(310)는 제어로직(325)에서 산출한 다운샘플링 횟수(m) 만큼 다운샘플링 동작을 실시한다. 다수 프레임의 이미지 데이타들을 다운샘플링 할 경우에, 제어로직(325)은 각각의 이미지 데이타에 대하여, 다운샘플링 회수(m) 및 다운샘플링 비율(1/n)을 산출하여 다운샘플링부에 보낸다.
제어로직(325)은 서브 이미지 데이타들의 어드레스들을 메모리 인터페이스(400)에 출력하며, 시스템 버스(104)의 데이타 라인 수를 고려하여 메모리 인터페이스(400)를 플러쉬할 시점을 선택한다.
본 발명에 있어서, 도 1에는 단지 세 개의 마스터 만이 도시되어 있다. 하지만, 다수 개의 마스터들이 그래픽 처리 기능을 가진 메모리 컨트롤러를 이용하여 그래픽 처리를 할 수 있음은 이 분야의 통상적인 지식을 가진 자들에게 자명하다.
본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상 및 범위를 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
본 발명에 따르면, 시스템-온-칩의 구성 요소인 메모리 콘트롤러가 다운샘플링 기능 및 밉맵 자동 생성 기능을 선택적으로 수행할 수 있도록 하여 메인프로세서의 로딩을 줄이고, 전력 소모를 줄인다.
또한, 제한된 메모리 용량에 의해 3차원 그래픽 처리시 필요한 밉맵을 저장할 수 없는 경우에, 밉맵을 자동 생성하도록 하여 신속한 그래픽 처리를 가능하게 한다.

Claims (18)

  1. 마스터로 부터의 선택 신호에 응답하여 그래픽 처리 기능을 수행하는 그래픽 처리 장치; 그리고
    상기 그래픽 처리 장치에 의해 제어 되며, 상기 그래픽 처리 장치의 출력을 소정 간격으로 외부 메모리에 저장하거나, 상기 외부 메모리로부터 텍스쳐소정의 영상 데이터를 입력 받아 상기 그래픽 처리 장치에 제공하는 메모리 인터페이스를 포함하되;
    상기 그래픽 처리 장치는,
    상기 마스터로부터의 선택 신호에 응답하여 밉맵을 생성하거나 다운샘플링 동작을 하도록 다운샘플링 부를 제어하는 자동 밉맵 생성부; 그리고
    상기 자동 밉맵 생성부에 의해 제어되며, 상기 마스터 또는 상기 메모리 인터페이스로부터 상기 텍스쳐 데이터를 입력받아 다운샘플링 동작을 하는 다운샘플링 부를 포함하는 그래픽 처리 기능을 갖는 메모리 컨트롤러.
  2. 삭제
  3. 제 1항에 있어서,
    상기 자동 밉맵 생성부는,
    상기 마스터로부터 선택 신호에 응답하여, 상기 마스터로부터 원본 텍스쳐 사이즈 및 어드레스 주소를 입력받아 서브 텍스쳐 사이즈 및 어드레스를 산출하는 그래픽 처리 제어부; 그리고
    상기 그래픽 처리 제어부로부터 산출된 어드레스를 입력 받아, 상기 메모리 인터페이스에 상기 어드레스를 출력하고, 상기 메모리 인터페이스의 플러쉬(flush) 시점을 선택하는 메모리 쓰기 제어부를 포함하며,
    상기 메모리 인터페이스의 플러쉬 시점은 시스템 버스의 데이타 라인수에 따라 선택되는 그래픽 처리 기능을 갖는 메모리 컨트롤러.
  4. 제 3항에 있어서,
    상기 다운샘플링 부는,
    상기 그래픽 처리 제어부에 의해 제어 되며, 상기 마스터 또는 상기 메모리 인터페이스로부터 텍스쳐 데이터를 입력 받아 다운샘플링 비율에 따라 순차적으로 데이타 합산을 하는 데이타 축적 로직; 그리고
    상기 데이타 축적 로직의 출력을 받아 상기 다운샘플링 비율에 따라 합산된 데이터를 나누어 평균값을 구하는 데이터 분배부를 포함하는 그래픽 처리 기능을 갖는 메모리 컨트롤러.
  5. 삭제
  6. 제 1항에 있어서,
    상기 마스터는 메인프로세서(CPU) 및 디지탈 시그날 프로세서를 포함하는 그래픽 처리 기능을 갖는 메모리 컨트롤러.
  7. 제 1항에 있어서,
    상기 마스터로부터의 선택 신호는 밉멥을 생성하기 위한 신호인 그래픽 처리 기능을 갖는 메모리 컨트롤러.
  8. 제 1항에 있어서,
    상기 마스터로부터의 선택 신호는 다운샘플링 동작을 수행하기 위한 신호인 그래픽 처리 기능을 갖는 메모리 컨트롤러.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 마스터로부터의 동작 신호에 응답하여 동작하는 다운샘플링 부 및 메모리 인터페이스를 제어하는 제어로직;
    상기 제어로직에 의해 제어 되며, 외부 메모리를 액세스하는 상기 다운샘플링 부의 출력을 소정 간격으로 외부 메모리에 저장하거나, 상기 외부 메모리로부터 소정의 영상 데이터를 입력 받는 메모리 인터페이스; 그리고
    상기 제어로직에 의해 제어 되며, 상기 마스터 또는 상기 메모리 인터페이스로부터 텍스쳐 데이터를 입력받아 다운샘플링 동작을 하는 다운샘플링 부를 포함하되;
    상기 메모리 인터페이스는,
    상기 다운샘플링 부의 출력을 소정 간격으로 상기 외부 메모리에 저장하거나, 상기 외부 메모리로부터의 상기 텍스쳐 데이터를 입력받아서 상기 다운 샘플링 부로 제공하는 그래픽 처리 기능을 갖는 메모리 컨트롤러.
  14. 제 13항에 있어서,
    상기 다운샘플링 부는,
    상기 그래픽 처리 제어 로직부에 의해 제어 되며, 상기 마스터로부터 또는 상기 메모리 인터페이스로부터 텍스쳐 데이터를 입력 받아 다운샘플링 비율에 따라 데이타 합산을 하는 데이타 축적 로직; 그리고
    상기 데이타 축적 로직의 출력을 받아 상기 다운샘플링 비율에 따라 합산된 데이터를 나누는 데이터 분배부를 포함하는 그래픽 처리 기능을 갖는 메모리 컨트롤러.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 제 13항에 있어서,
    상기 다운샘플링 부가 한 번 동작할 때마다, 상기 다운샘플링 부의 출력 값이 상기 메모리 인터페이스에 저장되는 그래픽 처리 기능을 갖는 메모리 컨트롤러.
KR1020040106394A 2004-12-15 2004-12-15 그래픽 처리 기능을 갖는 메모리 컨트롤러 KR101110624B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040106394A KR101110624B1 (ko) 2004-12-15 2004-12-15 그래픽 처리 기능을 갖는 메모리 컨트롤러
JP2005361082A JP2006171760A (ja) 2004-12-15 2005-12-14 グラフィック処理機能を有するメモリコントローラ
US11/302,436 US7671866B2 (en) 2004-12-15 2005-12-14 Memory controller with graphic processing function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040106394A KR101110624B1 (ko) 2004-12-15 2004-12-15 그래픽 처리 기능을 갖는 메모리 컨트롤러

Publications (2)

Publication Number Publication Date
KR20060067583A KR20060067583A (ko) 2006-06-20
KR101110624B1 true KR101110624B1 (ko) 2012-02-16

Family

ID=36583255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040106394A KR101110624B1 (ko) 2004-12-15 2004-12-15 그래픽 처리 기능을 갖는 메모리 컨트롤러

Country Status (3)

Country Link
US (1) US7671866B2 (ko)
JP (1) JP2006171760A (ko)
KR (1) KR101110624B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080036758A1 (en) * 2006-03-31 2008-02-14 Intelisum Inc. Systems and methods for determining a global or local position of a point of interest within a scene using a three-dimensional model of the scene
US20080316221A1 (en) * 2007-06-19 2008-12-25 Aas Eric F Down-sampled image display
US11244492B2 (en) * 2018-11-02 2022-02-08 Facebook Technologies, Llc. Parallel texture sampling

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182133B1 (en) * 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US6144365A (en) * 1998-04-15 2000-11-07 S3 Incorporated System and method for performing blending using an over sampling buffer
US6661424B1 (en) 2000-07-07 2003-12-09 Hewlett-Packard Development Company, L.P. Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images
JP2002099926A (ja) 2000-09-22 2002-04-05 Sony Corp 画像処理装置、受信装置およびそれらの方法
US6630936B1 (en) * 2000-09-28 2003-10-07 Intel Corporation Mechanism and method for enabling two graphics controllers to each execute a portion of a single block transform (BLT) in parallel
KR20020059767A (ko) * 2000-09-28 2002-07-13 요시유키 사와다 물정화장치 및 물정화방법
US6975320B1 (en) * 2000-12-12 2005-12-13 Micron Technology, Inc. Method and apparatus for level-of-detail computations
US6493858B2 (en) 2001-03-23 2002-12-10 The Board Of Trustees Of The Leland Stanford Jr. University Method and system for displaying VLSI layout data

Also Published As

Publication number Publication date
JP2006171760A (ja) 2006-06-29
US20060125834A1 (en) 2006-06-15
KR20060067583A (ko) 2006-06-20
US7671866B2 (en) 2010-03-02

Similar Documents

Publication Publication Date Title
EP1594091B1 (en) System and method for providing an enhanced graphics pipeline
US9064334B2 (en) Systems and methods for providing an enhanced graphics pipeline
KR101721861B1 (ko) 타일화 기반 아키텍처들에 대한 최적화된 멀티-패스 렌더링
US20080284798A1 (en) Post-render graphics overlays
US8233006B2 (en) Texture level tracking, feedback, and clamping system for graphics processors
US20030076722A1 (en) Method and system for displaying VLSI layout data
JP2007525768A (ja) テクスチャ要求のためのレジスタベースのキューイング
KR20080067840A (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
US8072456B2 (en) System and method for image-based rendering with object proxies
KR20170132758A (ko) 하이브리드 2d/3d 그래픽 렌더링
WO2008053420A2 (en) Combined intensity projection
CN109978977A (zh) 使用预取的图形数据执行基于图块的渲染的装置和方法
US11120591B2 (en) Variable rasterization rate
CN111400024A (zh) 渲染过程中的资源调用方法、装置和渲染引擎
US10319068B2 (en) Texture not backed by real mapping
KR20190030174A (ko) 그래픽 처리
EP1255227A1 (en) Vertices index processor
US7106336B1 (en) Method and system for deferred evaluation of transforms in graphics processors
US6756989B1 (en) Method, system, and computer program product for filtering a texture applied to a surface of a computer generated object
KR101110624B1 (ko) 그래픽 처리 기능을 갖는 메모리 컨트롤러
US20040125104A1 (en) 3-dimensional graphic plotting apparatus
CN113256764A (zh) 一种光栅化装置、方法及计算机存储介质
US7113655B2 (en) Image processing apparatus
US10678553B2 (en) Pro-active GPU hardware bootup
US11900499B2 (en) Iterative indirect command buffers

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 6