KR20160029550A - Mobile terminal and method for controlling the same - Google Patents

Mobile terminal and method for controlling the same Download PDF

Info

Publication number
KR20160029550A
KR20160029550A KR1020140119248A KR20140119248A KR20160029550A KR 20160029550 A KR20160029550 A KR 20160029550A KR 1020140119248 A KR1020140119248 A KR 1020140119248A KR 20140119248 A KR20140119248 A KR 20140119248A KR 20160029550 A KR20160029550 A KR 20160029550A
Authority
KR
South Korea
Prior art keywords
texture
texture data
mipmap
memory
mobile terminal
Prior art date
Application number
KR1020140119248A
Other languages
Korean (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 KR1020140119248A priority Critical patent/KR20160029550A/en
Publication of KR20160029550A publication Critical patent/KR20160029550A/en

Links

Images

Classifications

    • 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
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

The present invention relates to a mobile terminal which performs three-dimensional rendering. The mobile terminal comprises: an external memory for storing texture data; a sharing memory for pre-withdrawing the texture data by a mipmap unit from the external memory to store the same; and a graphic processing device for performing texture mapping based on the texture data stored in the sharing memory.

Description

이동 단말기 및 그 제어방법{MOBILE TERMINAL AND METHOD FOR CONTROLLING THE SAME}[0001] MOBILE TERMINAL AND METHOD FOR CONTROLLING THE SAME [0002]

본 발명은 이동 단말기 및 그 제어방법에 관한 것으로, 더욱 상세하게는 공유 메모리를 이용하여 텍스쳐 데이터를 선인출(prefetch)하는 이동 단말기 및 그 제어방법에 관한 것이다.The present invention relates to a mobile terminal and a control method thereof, and more particularly, to a mobile terminal for prefetching texture data using a shared memory and a control method thereof.

단말기는 이동 가능 여부에 따라 이동 단말기(mobile/portable terminal) 및 고정 단말기(stationary terminal)로 나뉠 수 있다. 다시 이동 단말기는 사용자의 직접 휴대 가능 여부에 따라 휴대(형) 단말기(handheld terminal) 및 거치형 단말기(vehicle mounted terminal)로 나뉠 수 있다.A terminal can be divided into a mobile / portable terminal and a stationary terminal depending on whether the terminal is movable or not. The mobile terminal can be divided into a handheld terminal and a vehicle mounted terminal according to whether the user can directly carry the mobile terminal.

이동 단말기의 기능은 다양화 되고 있다. 예를 들면, 데이터와 음성통신, 카메라를 통한 사진촬영 및 비디오 촬영, 음성녹음, 스피커 시스템을 통한 음악파일 재생 그리고 디스플레이부에 이미지나 비디오를 출력하는 기능이 있다. 일부 단말기는 전자게임 플레이 기능이 추가되거나, 멀티미디어 플레이어 기능을 수행한다. 특히 최근의 이동 단말기는 방송과 비디오나 텔레비전 프로그램과 같은 시각적 컨텐츠를 제공하는 멀티캐스트 신호를 수신할 수 있다. The functions of mobile terminals are diversified. For example, there are data and voice communication, photographing and video shooting through a camera, voice recording, music file playback through a speaker system, and outputting an image or video on a display unit. Some terminals are equipped with an electronic game play function or a multimedia player function. In particular, modern mobile terminals can receive multicast signals that provide visual content such as broadcast and video or television programs.

이와 같은 단말기(terminal)는 그 기능이 다양화됨에 따라 예를 들어, 사진이나 동영상의 촬영, 음악이나 동영상 파일의 재생, 게임, 방송의 수신 등의 복합적인 기능들을 갖춘 멀티미디어 기기(Multimedia player) 형태로 구현되고 있다. 이러한 멀티미디어 기기의 형태로 구현된 이동 단말기에는, 복잡한 기능을 구현하기 위해 하드웨어나 소프트웨어적 측면에서 새로운 시도들이 다양하게 적용되고 있다.Such a terminal has various functions, for example, a multimedia player having a complex function such as photographing or moving picture shooting, reproduction of music or video file, reception of game or broadcasting, . In order to implement complex functions, mobile terminals implemented in the form of multimedia devices are being applied variously in terms of hardware and software.

한편, 최근의 이동 단말기는 3차원 컴퓨터 그래픽스(3D computer graphics)를 기반으로 한 다양한 애플리케이션들을 제공하고 있다. 3차원 컴퓨터 그래픽스는 2차원 컴퓨터 그래픽스과 달리, 컴퓨터에 저장된 모델의 기하학적 데이터(각 점의 위치를 높이, 폭, 깊이의 3축으로 하는 공간 좌표를 이용하여 저장)를 이용해 3차원적으로 표현한 뒤에 2차원적 결과물로 처리, 출력하는 컴퓨터 그래픽 기술이다. Meanwhile, recent mobile terminals are providing various applications based on 3D computer graphics. In contrast to 2D computer graphics, 3D computer graphics is a three-dimensional representation of the geometric data of a model stored in a computer (each point is stored using spatial coordinates with three axes of height, width, and depth) It is a computer graphics technology that processes and outputs as a dimensional result.

이러한 3차원 컴퓨터 그래픽스는 크게 3차원 모델링 과정, 애니메이션 과정 및 3차원 렌더링 과정을 통해 이루어진다. 상기 3차원 렌더링 과정에서 텍스쳐 맵핑(texture mapping, TM) 기술이 필연적으로 사용된다. The three-dimensional computer graphics are largely achieved through a three-dimensional modeling process, an animation process, and a three-dimensional rendering process. Texture mapping (TM) techniques are inevitably used in the 3D rendering process.

텍스쳐 맵핑은 컴퓨터 생성 장면에 사실성을 부여하기 위한 3차원 그래픽 파이프라인에 있어서 가장 성공적이고 대중적인 기술들 중 하나이다. 전형적인 텍스쳐 맵핑 프로세스는 외부 메모리에 대한 접근이 고도로 집중적으로 일어나는데, 이는 텍스쳐 맵핑 프로세스의 특성이 다수의 텍스쳐 검색들을 수반하기 때문이다. 이에 따라, 빈번한 텍스쳐 검색은 메모리 버스 상에서 병목 현상을 야기한다. Texture mapping is one of the most successful and popular technologies in the 3D graphics pipeline to impart realism to computer generated scenes. A typical texture mapping process results in highly intensive access to external memory because the nature of the texture mapping process involves a number of texture searches. Thus, frequent texture retrieval causes bottlenecks on the memory bus.

이러한 문제를 완화하기 위해서, GPU(Graphic Processing Unit)는 텍스쳐 캐시(texture cache)를 구비한다. 텍스쳐 캐시는 외부 메모리부터 텍셀들(texels)을 페치하는데 있어서 중복성(redundancy)을 제거하기 위해 제공되며, 삼각 래스터화(triangle's rasterization)의 자연적인 공간 지역성(spatial locality)을 활용한다. 하지만, 텍스쳐 캐시의 용량이 제한적이기 때문에, 상기 병목 현상에 대한 근본적인 해결 방법이 될 수 없다. 따라서, 텍스쳐 맵핑 시, 외부 메모리에 저장된 텍스쳐 데이터를 좀 더 효율적으로 불러오기 위한 방법이 절실히 요구된다. To alleviate this problem, the GPU (Graphic Processing Unit) has a texture cache. The texture cache is provided to eliminate redundancy in fetching texels from external memory and utilizes the natural spatial locality of triangle's rasterization. However, since the capacity of the texture cache is limited, it can not be a fundamental solution to the bottleneck. Therefore, when texture mapping is performed, a method for more efficiently retrieving texture data stored in the external memory is desperately required.

본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다. 또 다른 목적은 텍스쳐 맵핑 시, 공유 메모리를 이용하여 텍스쳐 데이터를 선인출(prefetch)하는 이동 단말기 및 그 제어방법을 제공하는 것을 그 목적으로 한다.The present invention is directed to solving the above-mentioned problems and other problems. Another object of the present invention is to provide a mobile terminal for prefetching texture data by using a shared memory in texture mapping, and a control method thereof.

상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 3차원 렌더링을 수행하는 이동 단말기에 있어서, 텍스쳐 데이터를 저장하는 외부 메모리;According to an aspect of the present invention, there is provided a mobile terminal for performing three-dimensional rendering, comprising: an external memory for storing texture data;

상기 외부 메모리로부터 상기 텍스쳐 데이터를 밉맵(mipmap) 단위로 선인출하여 저장하는 공유 메모리; 및 상기 공유 메모리에 저장된 텍스쳐 데이터를 기반으로 텍스쳐 맵핑을 수행하는 그래픽 처리 장치를 포함하는 이동 단말기를 제공한다. A shared memory for prefetching the texture data from the external memory in units of mipmaps; And a graphics processing device for performing texture mapping based on the texture data stored in the shared memory.

본 발명에 따른 이동 단말기 및 그 제어 방법의 효과에 대해 설명하면 다음과 같다.Effects of the mobile terminal and the control method according to the present invention will be described as follows.

본 발명의 실시 예들 중 적어도 하나에 의하면, 외부 메모리로부터 텍스쳐 데이터를 밉맵 단위로 선인출하여 공유 메모리에 저장함으로써, 텍스쳐 맵핑 시 빠른 메모리 엑세스를 가능하도록 하여 3차원 그래픽스의 렌더링 성능을 향상시킬 수 있는 장점이 있다.According to at least one embodiment of the present invention, texture data is prefetched from an external memory in units of mipmaps and stored in a shared memory, thereby enabling fast memory access in texture mapping, thereby improving rendering performance of 3D graphics There are advantages.

한편 그 외의 다양한 효과는 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 것이다.Meanwhile, various other effects will be directly or implicitly disclosed in the detailed description according to the embodiment of the present invention to be described later.

도 1은 본 발명과 관련된 이동 단말기를 설명하기 위한 블록도;
도 2는 본 발명과 관련된 모바일 애플리케이션 프로세서(Mobile Application Processor)를 설명하기 위한 블록도;
도 3은 본 발명의 일 실시 예에 따른 그래픽 처리 장치를 설명하기 위한 블록도;
도 4는 본 발명의 일 실시 예에 따른 3D 그래픽 파이프라인을 설명하기 위한 블록도;
도 5는 3차원 그래픽 애플리케이션들(A1 내지 AZ)을 포함하는 외부 메모리를 설명하기 위해 참조되는 도면;
도 6은 3D 렌더링 시 사용되는 텍스쳐 맵핑 기술과 밉 매핑 기법을 설명하기 위해 참조되는 도면;
도 7 및 도 8은 본 발명의 제1 실시 예에 따라 공유 메모리를 이용하여 텍스쳐 데이터를 선인출하는 방법을 설명하기 위해 참조되는 도면;
도 9 및 도 10은 본 발명의 제2 실시 예에 따라 공유 메모리를 이용하여 텍스쳐 데이터를 선인출하는 방법을 설명하기 위해 참조되는 도면;
도 11 및 도 12는 본 발명의 제3 실시 예에 따라 공유 메모리를 이용하여 텍스쳐 데이터를 선인출하는 방법을 설명하기 위해 참조되는 도면;
도 13 및 도 14는 본 발명의 제4 실시 예에 따라 공유 메모리를 이용하여 텍스쳐 데이터를 선인출하는 방법을 설명하기 위해 참조되는 도면.
1 is a block diagram illustrating a mobile terminal according to the present invention;
Figure 2 is a block diagram illustrating a mobile application processor associated with the present invention;
3 is a block diagram illustrating a graphics processing apparatus according to an exemplary embodiment of the present invention;
4 is a block diagram illustrating a 3D graphics pipeline according to one embodiment of the present invention;
5 is a diagram referred to describe an external memory including three-dimensional graphics applications A1 to AZ;
FIG. 6 is a diagram referred to explain a texture mapping technique and a mipmapping technique used in 3D rendering; FIG.
FIG. 7 and FIG. 8 are diagrams for describing a method of pre-exporting texture data using a shared memory according to a first embodiment of the present invention; FIG.
FIGS. 9 and 10 are diagrams for describing a method for pre-exporting texture data using a shared memory according to a second embodiment of the present invention; FIG.
FIGS. 11 and 12 are diagrams for describing a method of pre-exporting texture data using a shared memory according to a third embodiment of the present invention; FIGS.
FIGS. 13 and 14 are diagrams for describing a method for pre-exporting texture data using a shared memory according to a fourth embodiment of the present invention; FIG.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals are used to designate identical or similar elements, and redundant description thereof will be omitted. The suffix "module" and " part "for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role. In the following description of the embodiments of the present invention, a detailed description of related arts will be omitted when it is determined that the gist of the embodiments disclosed herein may be blurred. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. , ≪ / RTI > equivalents, and alternatives.

본 명세서에서 설명되는 이동 단말기에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등이 포함될 수 있다. The mobile terminal described in this specification includes a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, a slate PC A tablet PC, an ultrabook, a wearable device such as a smartwatch, a smart glass, and a head mounted display (HMD). have.

그러나, 본 명세서에 기재된 실시 예에 따른 구성은 이동 단말기에만 적용 가능한 경우를 제외하면, 디지털 TV, 데스크탑 컴퓨터, 디지털 사이니지 등과 같은 고정 단말기에도 적용될 수도 있음을 본 기술분야의 당업자라면 쉽게 알 수 있을 것이다.However, it will be appreciated by those skilled in the art that the configuration according to the embodiments described herein may be applied to fixed terminals such as a digital TV, a desktop computer, a digital signage, and the like, will be.

도 1은 본 발명과 관련된 이동 단말기를 설명하기 위한 블록도이다.1 is a block diagram illustrating a mobile terminal according to the present invention.

도 1을 참조하면, 이동 단말기(100)는 무선 통신부(110), 입력부(120), 감지부(140), 출력부(150), 인터페이스부(160), 메모리(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 1에 도시된 구성요소들은 이동 단말기를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서상에서 설명되는 이동 단말기는 위에서 열거된 구성요소들보다 많거나, 또는 적은 구성요소들을 가질 수 있다. 1, a mobile terminal 100 includes a wireless communication unit 110, an input unit 120, a sensing unit 140, an output unit 150, an interface unit 160, a memory 170, a controller 180, And a power supply unit 190 and the like. The components shown in FIG. 1 are not essential for implementing a mobile terminal, so that the mobile terminal described herein may have more or fewer components than the components listed above.

보다 구체적으로, 상기 구성요소들 중 무선 통신부(110)는, 이동 단말기(100)와 무선 통신 시스템 사이, 이동 단말기(100)와 다른 이동 단말기(100) 사이, 또는 이동 단말기(100)와 외부서버 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 무선 통신부(110)는, 이동 단말기(100)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.The wireless communication unit 110 may be connected between the mobile terminal 100 and the wireless communication system or between the mobile terminal 100 and another mobile terminal 100 or between the mobile terminal 100 and the external server 100. [ Lt; RTI ID = 0.0 > wireless < / RTI > In addition, the wireless communication unit 110 may include one or more modules for connecting the mobile terminal 100 to one or more networks.

이러한 무선 통신부(110)는, 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114), 위치정보 모듈(115) 중 적어도 하나를 포함할 수 있다.The wireless communication unit 110 may include at least one of a broadcast receiving module 111, a mobile communication module 112, a wireless Internet module 113, a short distance communication module 114, and a location information module 115 .

입력부(120)는, 영상 신호 입력을 위한 카메라(121) 또는 영상 입력부, 오디오 신호 입력을 위한 마이크로폰(microphone, 122), 또는 오디오 입력부, 사용자로부터 정보를 입력받기 위한 사용자 입력부(123, 예를 들어, 터치키(touch key), 푸시키(mechanical key) 등)를 포함할 수 있다. 입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.The input unit 120 includes a camera 121 or an image input unit for inputting a video signal, a microphone 122 for inputting an audio signal, an audio input unit, a user input unit 123 for receiving information from a user A touch key, a mechanical key, and the like). The voice data or image data collected by the input unit 120 may be analyzed and processed by a user's control command.

센싱부(140)는 이동 단말기 내 정보, 이동 단말기를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다. 예를 들어, 센싱부(140)는 근접센서(141, proximity sensor), 조도 센서(142, illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라(121 참조)), 마이크로폰(microphone, 122 참조), 배터리 게이지(battery gauge), 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 등), 화학 센서(예를 들어, 전자 코, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 명세서에 개시된 이동 단말기는, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.The sensing unit 140 may include at least one sensor for sensing at least one of information in the mobile terminal, surrounding environment information surrounding the mobile terminal, and user information. For example, the sensing unit 140 may include a proximity sensor 141, an illumination sensor 142, a touch sensor, an acceleration sensor, a magnetic sensor, A G-sensor, a gyroscope sensor, a motion sensor, an RGB sensor, an infrared sensor, a finger scan sensor, an ultrasonic sensor, A microphone 226, a battery gauge, an environmental sensor (for example, a barometer, a hygrometer, a thermometer, a radiation detection sensor, A thermal sensor, a gas sensor, etc.), a chemical sensor (e.g., an electronic nose, a healthcare sensor, a biometric sensor, etc.). Meanwhile, the mobile terminal disclosed in the present specification can combine and utilize information sensed by at least two of the sensors.

출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부(151), 음향 출력부(152), 햅팁 모듈(153), 광 출력부(154) 중 적어도 하나를 포함할 수 있다. 디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 이동 단말기(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 이동 단말기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.The output unit 150 includes at least one of a display unit 151, an acoustic output unit 152, a haptic tip module 153, and a light output unit 154 to generate an output related to visual, auditory, can do. The display unit 151 may have a mutual layer structure with the touch sensor or may be integrally formed to realize a touch screen. The touch screen may function as a user input unit 123 that provides an input interface between the mobile terminal 100 and a user and may provide an output interface between the mobile terminal 100 and a user.

인터페이스부(160)는 이동 단말기(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 이러한 인터페이스부(160)는, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 중 적어도 하나를 포함할 수 있다. 이동 단말기(100)에서는, 상기 인터페이스부(160)에 외부 기기가 연결되는 것에 대응하여, 연결된 외부 기기와 관련된 적절할 제어를 수행할 수 있다.The interface unit 160 serves as a path to various types of external devices connected to the mobile terminal 100. The interface unit 160 is connected to a device having a wired / wireless headset port, an external charger port, a wired / wireless data port, a memory card port, And may include at least one of a port, an audio I / O port, a video I / O port, and an earphone port. In the mobile terminal 100, corresponding to the connection of the external device to the interface unit 160, it is possible to perform appropriate control related to the connected external device.

또한, 메모리(170)는 이동 단말기(100)의 다양한 기능을 지원하는 데이터를 저장한다. 메모리(170)는 이동 단말기(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 이동 단말기(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한 이러한 응용 프로그램 중 적어도 일부는, 이동 단말기(100)의 기본적인 기능(예를 들어, 전화 착신, 발신 기능, 메시지 수신, 발신 기능)을 위하여 출고 당시부터 이동 단말기(100)상에 존재할 수 있다. 한편, 응용 프로그램은, 메모리(170)에 저장되고, 이동 단말기(100) 상에 설치되어, 제어부(180)에 의하여 상기 이동 단말기의 동작(또는 기능)을 수행하도록 구동될 수 있다.In addition, the memory 170 stores data supporting various functions of the mobile terminal 100. The memory 170 may store a plurality of application programs or applications running on the mobile terminal 100, data for operation of the mobile terminal 100, and commands. At least some of these applications may be downloaded from an external server via wireless communication. Also, at least a part of these application programs may exist on the mobile terminal 100 from the time of shipment for the basic functions (e.g., telephone call receiving function, message receiving function, and calling function) of the mobile terminal 100. Meanwhile, the application program may be stored in the memory 170, installed on the mobile terminal 100, and may be operated by the control unit 180 to perform the operation (or function) of the mobile terminal.

제어부(180)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 이동 단말기(100)의 전반적인 동작을 제어한다. 제어부(180)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(170)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.In addition to the operations related to the application program, the control unit 180 typically controls the overall operation of the mobile terminal 100. The control unit 180 may process or process signals, data, information, and the like input or output through the above-mentioned components, or may drive an application program stored in the memory 170 to provide or process appropriate information or functions to the user.

또한, 제어부(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 도 1과 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(180)는 상기 응용 프로그램의 구동을 위하여, 이동 단말기(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.In addition, the controller 180 may control at least some of the components illustrated in FIG. 1 in order to drive an application program stored in the memory 170. In addition, the controller 180 may operate at least two of the components included in the mobile terminal 100 in combination with each other for driving the application program.

전원공급부(190)는 제어부(180)의 제어 하에서, 외부의 전원, 내부의 전원을 인가받아 이동 단말기(100)에 포함된 각 구성요소들에 전원을 공급한다. 이러한 전원공급부(190)는 배터리를 포함하며, 상기 배터리는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다.The power supply unit 190 receives external power and internal power under the control of the controller 180 and supplies power to the components included in the mobile terminal 100. The power supply unit 190 includes a battery, which may be an internal battery or a replaceable battery.

상기 각 구성요소들 중 적어도 일부는, 이하에서 설명되는 다양한 실시 예들에 따른 이동 단말기의 동작, 제어, 또는 제어방법을 구현하기 위하여 서로 협력하여 동작할 수 있다. 또한, 상기 이동 단말기의 동작, 제어, 또는 제어방법은 상기 메모리(170)에 저장된 적어도 하나의 응용 프로그램의 구동에 의하여 이동 단말기 상에서 구현될 수 있다.At least some of the components may operate in cooperation with one another to implement a method of operation, control, or control of a mobile terminal according to various embodiments described below. In addition, the operation, control, or control method of the mobile terminal may be implemented on the mobile terminal by driving at least one application program stored in the memory 170. [

다음으로, 본 발명에 따른 이동 단말기(100)를 통해 실시 가능한 통신 시스템에 대하여 살펴본다. Next, a communication system that can be implemented through the mobile terminal 100 according to the present invention will be described.

먼저, 통신 시스템은, 서로 다른 무선 인터페이스 및/또는 물리 계층을 이용할 수도 있다. 예를 들어, 통신 시스템에 의해 이용 가능한 무선 인터페이스에는, 주파수 분할 다중 접속(Frequency Division Multiple Access, FDMA), 시분할 다중 접속(Time Division Multiple Access, TDMA), 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 범용 이동통신 시스템(Universal Mobile Telecommunications Systems, UMTS)(특히, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced)), 이동통신 글로벌 시스템(Global System for Mobile Communications, GSM) 등이 포함될 수 있다.First, the communication system may use different wireless interfaces and / or physical layers. For example, wireless interfaces that can be used by a communication system include Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA) ), Universal mobile telecommunication systems (UMTS) (in particular Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A)), Global System for Mobile Communications May be included.

이하에서는, 설명의 편의를 위하여, CDMA에 한정하여 설명하도록 한다. 그러나, 본 발명은, CDMA 무선 통신 시스템뿐만 아니라 OFDM(Orthogonal Frequency Division Multiplexing) 무선 통신 시스템을 포함한 모든 통신 시스템 적용될 수 있음은 자명하다.Hereinafter, for the sake of convenience of description, the description will be limited to CDMA. However, it is apparent that the present invention can be applied to all communication systems including an OFDM (Orthogonal Frequency Division Multiplexing) wireless communication system as well as a CDMA wireless communication system.

CDMA 무선 통신 시스템은, 적어도 하나의 단말기(100), 적어도 하나의 기지국(Base Station, BS (Node B 혹은 Evolved Node B로 명칭될 수도 있다.)), 적어도 하나의 기지국 제어부(Base Station Controllers, BSCs), 이동 스위칭 센터(Mobile Switching Center, MSC)를 포함할 수 있다. MSC는, 일반 전화 교환망(Public Switched Telephone Network, PSTN) 및 BSCs와 연결되도록 구성된다. BSCs는, 백홀 라인(backhaul line)을 통하여, BS와 짝을 이루어 연결될 수 있다. 백홀 라인은, E1/T1, ATM, IP, PPP, Frame Relay, HDSL, ADSL 또는 xDSL 중 적어도 하나에 따라서 구비될 수 있다. 따라서, 복수의 BSCs가 CDMA 무선 통신 시스템에 포함될 수 있다.A CDMA wireless communication system includes at least one terminal 100, at least one base station (BS) (also referred to as a Node B or Evolved Node B), at least one Base Station Controllers (BSCs) , And a Mobile Switching Center (MSC). The MSC is configured to be coupled to a Public Switched Telephone Network (PSTN) and BSCs. The BSCs may be paired with the BS via a backhaul line. The backhaul line may be provided according to at least one of E1 / T1, ATM, IP, PPP, Frame Relay, HDSL, ADSL or xDSL. Thus, a plurality of BSCs may be included in a CDMA wireless communication system.

복수의 BS 각각은 적어도 하나의 섹터를 포함할 수 있고, 각각의 섹터는, 전방향성 안테나 또는 BS로부터 방사상의 특정 방향을 가리키는 안테나를 포함할 수 있다. 또한, 각각의 섹터는, 다양한 형태의 안테나를 두 개 이상 포함할 수도 있다. 각각의 BS는, 복수의 주파수 할당을 지원하도록 구성될 수 있고, 복수의 주파수 할당은 각각 특정 스펙트럼(예를 들어, 1.25MHz, 5MHz 등)을 가질 수 있다.Each of the plurality of BSs may comprise at least one sector, and each sector may comprise an omnidirectional antenna or an antenna pointing to a particular direction of radial from the BS. In addition, each sector may include two or more antennas of various types. Each BS may be configured to support a plurality of frequency assignments, and a plurality of frequency assignments may each have a specific spectrum (e.g., 1.25 MHz, 5 MHz, etc.).

섹터와 주파수 할당의 교차는, CDMA 채널이라고 불릴 수 있다. BS는, 기지국 송수신 하부 시스템(Base Station Transceiver Subsystem, BTSs)이라고 불릴 수 있다. 이러한 경우, 하나의 BSC 및 적어도 하나의 BS를 합하여 "기지국"이라고 칭할 수 있다. 기지국은, 또한 "셀 사이트"를 나타낼 수도 있다. 또는, 특정 BS에 대한 복수의 섹터들 각각은, 복수의 셀 사이트로 불릴 수도 있다.The intersection of sector and frequency assignment may be referred to as a CDMA channel. The BS may be referred to as a base station transceiver subsystem (BTSs). In this case, a combination of one BSC and at least one BS may be referred to as a "base station ". The base station may also indicate a "cell site ". Alternatively, each of the plurality of sectors for a particular BS may be referred to as a plurality of cell sites.

방송 송신부(Broadcasting Transmitter, BT) 는, 시스템 내에서 동작하는 단말기들(100)에게 방송 신호를 송신한다. 도 1에 도시된 방송 수신 모듈(111)은, BT에 의해 전송되는 방송 신호를 수신하기 위해 단말기(100) 내에 구비된다.A broadcast transmission unit (BT) transmits a broadcast signal to terminals 100 operating in the system. The broadcast receiving module 111 shown in FIG. 1 is provided in the terminal 100 to receive a broadcast signal transmitted by the BT.

뿐만 아니라, CDMA 무선 통신 시스템에는 이동 단말기(100)의 위치를 확인하기 위한, 위성 위치 확인 시스템(Global Positioning System, GPS)이 연계될 수 있다. 상기 위성은, 이동 단말기(100)의 위치를 파악하는 것을 돕는다. 유용한 위치 정보는, 두 개 이하 또는 이상의 위성들에 의해 획득될 수도 있다. 여기에서는, GPS 추적 기술뿐만 아니라 위치를 추적할 수 있는 모든 기술들을 이용하여 이동 단말기(100)의 위치가 추적될 수 있다. 또한, GPS 위성 중 적어도 하나는, 선택적으로 또는 추가로 위성 DMB 전송을 담당할 수도 있다. In addition, a Global Positioning System (GPS) may be associated with the CDMA wireless communication system to identify the location of the mobile terminal 100. The satellite aids in locating the mobile terminal 100. Useful location information may be obtained by two or more satellites. Here, the position of the mobile terminal 100 can be tracked using all the techniques capable of tracking the location as well as the GPS tracking technology. Also, at least one of the GPS satellites may optionally or additionally be responsible for satellite DMB transmission.

이상에서는 도 1을 참조하여, 본 발명에 따른 이동 단말기(100)의 구성 요소에 대하여 살펴 보았다. 이하에서는, 본 발명의 다양한 실시 예에 따라, 공유 메모리를 이용하여 텍스쳐 데이터를 선인출(prefetch)하는 이동 단말기 및 그 제어방법에 대해 상세히 설명하도록 한다.Hereinabove, the components of the mobile terminal 100 according to the present invention have been described with reference to FIG. Hereinafter, a mobile terminal and a control method thereof for prefetching texture data using a shared memory according to various embodiments of the present invention will be described in detail.

도 2는 본 발명과 관련된 모바일 애플리케이션 프로세서(Mobile Application Processor)를 설명하기 위한 블록도이다. 2 is a block diagram illustrating a mobile application processor associated with the present invention.

도 2를 참조하면, 통상 이동 단말기(100)는 수신 경로 및 송신 경로를 통해서 양방향 통신을 제공할 수 있다. Referring to FIG. 2, the mobile terminal 100 may typically provide bi-directional communication over a receive path and a transmit path.

수신 경로 상에서, 기지국에 의해서 송신된 신호들이 안테나로 수신되어 수신기(10)에 제공된다. 수신기(10)는 수신된 신호를 컨디셔닝하고 디지털화하여 이후의 처리를 위해 모바일 AP(20)에 샘플들을 제공한다. On the receive path, the signals transmitted by the base station are received by the antenna and provided to the receiver 10. The receiver 10 conditions and digitizes the received signal and provides samples to the mobile AP 20 for further processing.

송신 경로 상에서, 송신기(30)는 모바일 AP(20)로부터 송신되는 데이터를 수신하여, 이를 처리하고 컨디셔닝하여 변조된 신호를 생성한 후 안테나를 통해 기지국으로 송신한다.On the transmission path, the transmitter 30 receives the data transmitted from the mobile AP 20, processes and conditions it, generates a modulated signal, and transmits the modulated signal to the base station via the antenna.

모바일 AP(20)는 모뎀 프로세서(21), 비디오 프로세서(22), 컨트롤러 프로세서(23), 디스플레이 프로세서(24), 디지털 신호 프로세서(DSP, 25), 그래픽 처리 장치(GPU, 26), 내부 메모리(27), 외부 버스 인터페이스(external bus interface, EBI, 28)와 같은 다양한 처리 장치, 인터페이스 장치 및 메모리 장치들을 포함한다. 상기 모바일 AP(20)는 상기 부품들(21~28)이 하나의 칩 안에 내장되는 시스템 온 칩(System On Chip)으로 구성될 수 있다. 한편, 도 2에 도시된 모바일 AP(20)의 구성은 본 발명의 일 실시 예에 불과할 뿐 본 발명의 범위를 제한하지는 않는다. 따라서, 상기 모바일 AP(200)가 상술한 부품들 중 일부만을 포함하거나, 혹은 상술한 부품들 외에 다른 부품들을 추가로 포함할 수 있음은 당업자에게 자명할 것이다.The mobile AP 20 includes a modem processor 21, a video processor 22, a controller processor 23, a display processor 24, a digital signal processor (DSP) 25, a graphics processing unit (GPU) 26, Interface devices and memory devices such as an external bus interface (EBI) 28, an external bus interface (EBI) 28, and the like. The mobile AP 20 may be configured as a system on chip in which the components 21 to 28 are embedded in one chip. On the other hand, the configuration of the mobile AP 20 shown in FIG. 2 is only an embodiment of the present invention, and does not limit the scope of the present invention. Accordingly, it will be apparent to those skilled in the art that the mobile AP 200 may include only some of the above-described components, or may further include other components than those described above.

모뎀 프로세서(21)는 데이터 전송 및 수신을 위한 프로세스(예를 들어, 채널 코딩, 변조, 복조 및 채널 디코딩)를 수행한다. 비디오 프로세서(22)는 캠코더, 비디오 재생 및 화상 회의와 같은 비디오 애플리케이션들을 위한 비디오 콘텐츠 (예를 들어, 정지 이미지, 동영상 및 동적 문자)에 대한 프로세스를 수행한다.The modem processor 21 performs processes (e.g., channel coding, modulation, demodulation, and channel decoding) for data transmission and reception. The video processor 22 performs processes for video content (e.g., still images, moving images, and dynamic text) for video applications such as camcorders, video playback, and video conferencing.

컨트롤러 프로세서(23)는 모바일 AP(20) 내부의 다양한 처리 장치들 및 인터페이스 장치들의 전반적인 동작을 제어한다. 디스플레이 프로세서(24)는 디스플레이부(151)에 비디오, 그래픽, 문자의 표시를 용이하게 하는 프로세스를 수행한다. The controller processor 23 controls the overall operation of various processing devices and interface devices within the mobile AP 20. The display processor 24 performs a process of facilitating display of video, graphics, and characters on the display unit 151. [

디지털 신호 프로세서(DSP, 25)는 이동 단말기(100)의 동작을 위한 디지털 신호 처리를 수행한다. 그래픽 처리 장치(GPU, 26)는 3차원 그래픽 프로세스를 수행한다.A digital signal processor (DSP) 25 performs digital signal processing for the operation of the mobile terminal 100. A graphics processing unit (GPU) 26 performs a three-dimensional graphics process.

내부 메모리 (또는 공유 메모리, 26)는 모바일 AP(20) 내부의 다양한 장치들을 위해 데이터 및/또는 명령들을 저장한다. 이때, 상기 내부 메모리(26)로는 SRAM(Static Random Access Memory)을 사용하는 것이 바람직하다.The internal memory (or shared memory) 26 stores data and / or instructions for various devices within the mobile AP 20. At this time, it is preferable to use an SRAM (Static Random Access Memory) as the internal memory 26.

외부 버스 인터페이스(EBI, 28)는 버스 또는 데이터 라인(Data Line)을 따라서 모바일 AP(20)(예를 들어, 내부 메모리 (26))와 외부 메모리(170) 사이의 데이터 전송을 용이하게 한다.External bus interface (EBI) 28 facilitates data transfer between mobile AP 20 (e.g., internal memory 26) and external memory 170 along a bus or data line.

도 3은 본 발명의 일 실시 예에 따른 그래픽 처리 장치를 설명하기 위한 블록도이다. 3 is a block diagram for explaining a graphic processing apparatus according to an embodiment of the present invention.

도 3을 참조하면, GPU(300)는 텍스쳐 캐시(310), 페치 컨트롤러(335)를 구비하는 GPU 프로세서(330) 및 3D 그래픽 파이프라인(340)을 포함한다. 또한, GPU(300)는 희생 캐시(victim cache, 320)를 추가적으로 포함할 수 있다. 3, the GPU 300 includes a GPU processor 330 having a texture cache 310, a fetch controller 335, and a 3D graphics pipeline 340. In addition, the GPU 300 may additionally include a victim cache 320.

텍스쳐 캐시(310)는 외부 메모리(170)로부터 캐시 블록 단위로 텍셀들(texels)을 페치(fetch)하여 저장하는 캐시이고, 희생 캐시(320)는 충돌이나 용량 등의 문제로 텍스쳐 캐시(310)에서 빠져나간 블록을 유지시키는 데 이용하는 캐시이다. The texture cache 310 is a cache for fetching and storing texels in units of cache blocks from the external memory 170. The sacrificial cache 320 is a cache for storing the texels in the texture cache 310, Which is used to maintain a block that has escaped from the cache.

GPU 프로세서(330)는 컴퓨터 그래픽 프로세스에 관한 전반적인 동작을 제어한다. 페치 컨트롤러(335)는 텍스쳐 데이터를 페치하는 커맨드(command)를 생성하는데 제공된다.GPU processor 330 controls the overall operation of the computer graphics process. The fetch controller 335 is provided to generate a command to fetch the texture data.

3D 그래픽 파이프라인(340)은 3차원 컴퓨터 그래픽에서 3차원 이미지를 2차원 래스터 이미지로 표현하기 위한 단계적인 프로세스를 수행한다.The 3D graphics pipeline 340 performs a step-wise process for rendering a three-dimensional image as a two-dimensional raster image in three-dimensional computer graphics.

가령, 도 4에 도시된 바와 같이, 3D 그래픽 파이프라인(340)은 디스플레이부(151)에 대한 3D 표현의 전체 태스크를 적어도 2 단계의 파이프라인, 즉, 버텍스 처리 단계(341) 및 픽셀 렌더링 단계(342)로 분할한다. 동작에 있어서, 버텍스 처리 단계(341)는 현재 OpenGL®, OpenGL®ES 또는 DirectX 등에서 구현되고 있는 모든 함수들 또는 함수들의 서브세트를 포함할 수 있다.4, the 3D graphics pipeline 340 includes at least two stages of pipelining, i.e., a vertex processing step 341 and a pixel rendering step 342, (342). In operation, the vertex processing step 341 may include a subset of all functions or functions that are currently implemented in OpenGL, OpenGL ES, or DirectX.

픽셀 렌더링 단계(342)는 래스터화, 블렌딩 및 텍스쳐 애플리케이션 연산들(343)과 숨겨진 표면 제거 연산들(344)을 포함한다. 아울러, 픽셀 렌더링 단계(342)는 OpenGL® 또는 OpenGL®ES 에 의해서 정의되는 기타 연산들을 포함할 수 있다. 픽셀 렌더링 단계(342)는 버텍스 처리 단계(341)로부터의 3D 대상에 관한 정보를 디스플레이부(151)에 표시될 수 있는 비트 맵으로 변환한다. Pixel rendering step 342 includes rasterization, blending and texture application operations 343 and hidden surface removal operations 344. In addition, pixel rendering step 342 may include other operations defined by OpenGL® or OpenGL®ES. The pixel rendering step 342 converts the information about the 3D object from the vertex processing step 341 into a bitmap that can be displayed on the display unit 151. [

또한, 픽셀 렌더링 단계(342)는 3D 그래픽 이미지의 픽셀 표현을 생성하기 위해 입력 삼각 세트들을 처리한다. 래스터화, 블렌딩 및 텍스쳐 애플리케이션 연산들(343) 동안에, 텍스쳐 맵핑 엔진(343a)은 텍스쳐링 연산들을 수행한다.In addition, pixel rendering step 342 processes the input triangles to produce a pixel representation of the 3D graphic image. During rasterization, blending and texture application operations 343, the texture mapping engine 343a performs texturing operations.

도 5는 3차원 그래픽 애플리케이션들(A1 내지 AZ)을 포함하는 외부 메모리를 설명하기 위해 참조되는 도면이다. 5 is a diagram referred to explain an external memory including three-dimensional graphics applications A1 to AZ.

도 5를 참조하면, 외부 메모리(170)에 저장된 애플리케이션들(A1 내지 AZ)은 게임 애플리케이션들 또는 기타 3D 그래픽 애플리케이션들을 포함할 수 있다. 각각의 애플리케이션은 그와 연관된 하나 이상의 텍스쳐 데이터들을 구비한다. 5, applications A1 through AZ stored in external memory 170 may include game applications or other 3D graphics applications. Each application has one or more texture data associated therewith.

텍스쳐 맵핑은 적어도 하나의 텍스쳐 데이터를 통해서 2D 텍스쳐 이미지를 3D 대상의 표면으로 맵핑하는 쉐이딩 기술이다. 텍스쳐 맵핑에 사용되는 2D 텍스쳐 이미지는 외부 메모리(170)에 저장된다. 따라서, 텍스쳐 맵핑 시, GPU(300)는 텍스쳐 캐시(310)에 원하는 텍스쳐 데이터가 저장되어 있지 않은 경우, 외부 메모리(170)에 접속하여 해당 텍스쳐 데이터를 불러오게 된다. 일반 이미지의 개별적인 요소들이 픽셀(pixel)로 지칭되는 반면, 텍스쳐 이미지의 개별적인 요소들은 텍셀(texel)로 지칭된다.Texture mapping is a shading technique that maps a 2D texture image to a surface of a 3D object through at least one texture data. The 2D texture image used for texture mapping is stored in the external memory 170. [ Accordingly, when texture mapping is performed, if the desired texture data is not stored in the texture cache 310, the GPU 300 accesses the external memory 170 to fetch the corresponding texture data. While the individual elements of the generic image are referred to as pixels, the individual elements of the texture image are referred to as texels.

도 6은 3D 렌더링 시 사용되는 텍스쳐 맵핑 기술과 밉 매핑 기법을 설명하기 위해 참조되는 도면이다. 6 is a diagram referred to explain a texture mapping technique and a mipmapping technique used in 3D rendering.

3차원 렌더링 시, 가장 대표적으로 사용되는 텍스쳐 맵핑 기술은 3차원 모델링 물체에 2차원의 텍스쳐 이미지를 맵핑하는 기술이다. 가령, 도 6의 (a)에 도시된 바와 같이, 3차원의 구 형상(610)에 2차원의 텍스쳐 이미지(620)를 맵핑하여, 텍스쳐가 사상된 구 형상(630)을 형성하게 된다. 이것을 Open GL에서 구현하려면 먼저 2차원 텍스쳐 이미지의 좌표를 3차원 물체의 좌표로 변환하는 과정이 필요하다. In 3D rendering, texture mapping technique most commonly used is a technique of mapping a two-dimensional texture image to a three-dimensional modeling object. 6 (a), a two-dimensional texture image 620 is mapped onto a three-dimensional sphere 610 to form a sphere 630 into which a texture is mapped. To implement this in Open GL, we first need to convert the coordinates of the 2D texture image to the coordinates of the 3D object.

고품질의 3D 렌더링을 위해서는 고해상도의 텍스쳐 이미지가 필요하고, 다양한 그래픽 효과를 부여하기 위해서는 다양한 형식의 텍스쳐 이미지가 필요하다. 따라서, 이러한 텍스쳐 맵핑은 높은 메모리 트래픽을 요구하기 때문에, 외부 메모리에 대한 엑세스(access)는 3D 렌더링의 성능 향상을 위한 필수불가결한 요소이다. 특히, 메모리 대역폭이 제한적인 SoC 또는 CPU/CPU가 혼합된 아키텍쳐(CPU-GPU fused architecture)에서는 매우 중요한 요소이다. For high-quality 3D rendering, high-resolution texture images are required, and various types of texture images are needed to provide various graphic effects. Therefore, since this texture mapping requires high memory traffic, access to external memory is an indispensable element for improving the performance of 3D rendering. Especially, it is a very important factor in SoC or CPU / GPU fused architecture with limited memory bandwidth.

한편, 텍스쳐 맵핑 시, 가장 대표적으로 사용되는 밉 맵핑(Mip mapping) 기법은 해상도별로 축소한 텍스쳐를 피라미드로 구성하고, 이를 텍스쳐 맵핑에 적용시키는 기법이다. 즉, 도 6의 (b)에 도시된 바와 같이, 물체가 가까운 곳에 위치하는 경우, 고해상도의 텍스쳐 밉맵(640)을 사용하고, 물체가 먼 곳에 위치하는 경우, 저해상도의 텍스쳐 밉맵(650)을 사용하는 기법이다. 이러한 밉 맵핑 기법은, 3차원 컴퓨터 그래픽에서, 텍스쳐 맵핑의 품질 향상 및 속도 향상을 위해 널리 사용되고 있다. On the other hand, in the texture mapping, the most popular mip mapping technique is a technique of forming a pyramid of a texture reduced by resolution and applying it to texture mapping. 6B, when the object is located close to the object, the high-resolution texture mipmap 640 is used. When the object is located far away, the low-resolution texture mipmap 650 is used . This mipmapping technique is widely used for improving quality and speed of texture mapping in three-dimensional computer graphics.

밉맵(mipmap)은 렌더링 속도를 향상시키기 위한 목적으로 기본 텍스처와 이를 연속적으로 미리 축소시킨 텍스처들로 이루어진 비트맵 이미지의 집합이다. 밉맵 데이터는 일종의 텍스쳐 데이터로 외부 메모리(170)에 저장되고, 텍스쳐 맵핑 시 내부 메모리(27)로 제공된다. A mipmap is a set of bitmap images made up of basic textures and textures that have been previously reduced in size for the purpose of improving rendering speed. The mipmap data is stored in the external memory 170 as a kind of texture data and provided to the internal memory 27 at the time of texture mapping.

밉맵 집합의 각각의 비트맵 이미지는 기본 텍스처를 일정한 수준만큼 미리 축소한 것이다. 텍스처가 원래 크기 이상으로 보일 경우 기본 텍스처를 그대로 쓸 수도 있지만, 원래보다 멀거나 작게 보일 경우 축소된 텍스처를 렌더링 대신 사용한다. 이렇게 하면 렌더링에 사용되는 텍셀의 수가 훨씬 줄어들기 때문에 렌더링 속도를 높일 수 있다. 밉맵 이미지들은 이미 앤티에일리어싱(Anti-Aliasing) 처리가 되어 있으므로 렌더링 과정에서 일어날 수 있는 손실이 줄고, 실시간 렌더링의 부하도 줄일 수 있다. 확대 및 축소 과정도 동일한 방법으로 처리할 수 있다.Each bitmap image of a mipmap set is a pre-reduced size of the base texture by a certain amount. If the texture looks more than its original size, you can use the default texture, but if it looks farther or smaller than the original, use a reduced texture instead of a render. This can speed up rendering because the number of texels used in rendering is much smaller. Since mipmap images are already anti-aliased, the loss that can occur during rendering can be reduced and the load of real-time rendering can be reduced. The enlargement and reduction processes can be processed in the same way.

도 7 및 도 8은 본 발명의 제1 실시 예에 따라 공유 메모리를 이용하여 텍스쳐 데이터를 선인출하는 방법을 설명하기 위해 참조되는 도면이다. FIGS. 7 and 8 are views for explaining a method of pre-exporting texture data using a shared memory according to the first embodiment of the present invention.

도 7 및 도 8을 참조하면, 3D 렌더링 수행 시, 그래픽 처리 장치(830)는 텍스쳐 맵핑에 필요한 텍스쳐 데이터가 텍스쳐 캐시(831)에 저장되어 있는지 여부를 확인한다(S705). 즉, 그래픽 처리 장치(830)는 원하는 텍셀에 대해 텍스쳐 캐시 미스(miss)가 발생하는지 여부를 확인한다. Referring to FIGS. 7 and 8, in performing 3D rendering, the graphics processor 830 determines whether the texture data required for texture mapping is stored in the texture cache 831 (S705). That is, the graphics processing unit 830 determines whether a texture cache miss occurs for a desired texel.

상기 705 단계의 확인 결과, 텍스쳐 캐시 미스가 발생하지 않은 경우(즉, 텍스쳐 캐시 히트가 발생한 경우), 그래픽 처리 장치(830)는 텍스쳐 캐시(831)에 저장된 텍스쳐 데이터를 불러와서 텍스쳐 맵핑을 수행한다(S745). If it is determined in step 705 that the texture cache miss does not occur (i.e., when a texture cache hit occurs), the graphics processor 830 fetches the texture data stored in the texture cache 831 and performs texture mapping (S745).

한편, 상기 705 단계의 확인 결과, 텍스쳐 캐시 미스가 발생한 경우, 그래픽 처리 장치(830)는 상기 텍스쳐 캐시 미스가 현재 프레임에서 해당 텍스쳐 밉맵의 첫번째 미스인지 여부를 확인한다(S710). If it is determined in step 705 that the texture cache miss occurs, the graphics processor 830 determines whether the texture cache miss is the first miss of the texture mipmap in the current frame (step S710).

상기 710 단계의 확인 결과, 텍스쳐 캐시 미스가 해당 텍스쳐 밉맵의 첫번째 미스인 경우, 그래픽 처리 장치(830)는 해당 텍스쳐 밉맵의 레벨을 밉맵 테이블(832)에 저장한다(S715). If it is determined in step 710 that the texture cache miss is the first miss of the texture mipmap, the graphics processor 830 stores the texture mipmap level in the mipmap table 832 in step S715.

그래픽 처리 장치(830)는 외부 메모리(820)에 접속하여 원하는 텍스쳐 데이터를 캐시 블록(833) 단위로 읽어온다(S720). 그래픽 처리 장치(830)는 외부 메모리(820)에서 읽어온 텍스터 데이터를 기반으로 텍스쳐 캐시(831)를 갱신한 후 텍스쳐 맵핑을 수행한다(S740, S745). The graphic processing unit 830 accesses the external memory 820 and reads the desired texture data in units of the cache block 833 (S720). The graphics processor 830 updates the texture cache 831 based on the texture data read from the external memory 820 and performs texture mapping (S740, S745).

한편, 상기 710 단계의 확인 결과, 텍스쳐 캐시 미스가 해당 텍스쳐 밉맵의 첫번째 미스가 아닌 경우, 그래픽 처리 장치(830)는 상기 텍스쳐 캐시 미스가 현재 프레임에서 해당 텍스쳐 밉맵의 두번째 미스인지 여부를 확인한다(S725). If it is determined in step 710 that the texture cache miss is not the first miss of the texture mipmap, the graphics processor 830 determines whether the texture cache miss is the second miss of the texture mipmap in the current frame S725).

상기 725 단계의 확인 결과, 텍스쳐 캐시 미스가 해당 텍스쳐 밉맵의 두번째 미스인 경우, 그래픽 처리 장치(830)는 밉맵 테이블(832)에서 해당 텍스쳐 밉맵의 이전 엑세스 기록을 참조한다(S730). If it is determined in step 725 that the texture cache miss is the second miss of the texture mipmap, the graphics processor 830 refers to the previous access record of the texture mipmap in the mipmap table 832 in operation S730.

그래픽 처리 장치(830)는 외부 메모리(820)로부터 텍스쳐 데이터를 밉맵 단위(834)로 선인출하여 공유 메모리(840)에 저장한다(S735). 이때, 그래픽 처리 장치(830)는 밉맵 테이블(832)에 저장된 해당 텍스쳐 밉맵의 레벨을 참조하여 선인출하게 된다. 이후, 그래픽 처리 장치(830)는 공유 메모리(840)에서 읽어온 텍스터 데이터를 기반으로 텍스쳐 캐시(831)를 갱신한 후 텍스쳐 맵핑을 수행한다(S740, S745). The graphic processing unit 830 extracts the texture data from the external memory 820 in advance to the mipmap unit 834 and stores it in the shared memory 840 (S735). At this time, the graphic processing apparatus 830 refers to the level of the texture mipmap stored in the mipmap table 832, Thereafter, the graphics processor 830 updates the texture cache 831 based on the texture data read from the shared memory 840, and performs texture mapping (S740 and S745).

한편, 상기 725 단계의 확인 결과, 텍스쳐 캐시 미스가 해당 텍스쳐 밉맵의 두번째 미스가 아닌 경우, 그래픽 처리 장치(830)는 상기 텍스쳐 캐시 미스가 현재 프레임에서 해당 텍스쳐 밉맵의 세번째 이후 미스인지 여부를 확인한다(S750). If it is determined in step 725 that the texture cache miss is not the second miss of the texture mipmap, the graphics processor 830 determines whether the texture cache miss is the third or subsequent miss of the texture mipmap in the current frame (S750).

상기 750 단계의 확인 결과, 텍스쳐 캐시 미스가 해당 텍스쳐 밉맵의 세번째 이후 미스인 경우, 그래픽 처리 장치(830)는 텍스쳐 맵핑에 필요한 텍스쳐 데이터를 공유 메모리(840)에서 바로 읽어온다(S755). 그리고, 그래픽 처리 장치(830)는 공유 메모리(840)에서 읽어온 텍스터 데이터를 기반으로 텍스쳐 캐시(831)를 갱신한 후 텍스쳐 맵핑을 수행한다(S740, S745). If it is determined in step 750 that the texture cache miss is a third miss due to the texture mipmap, the graphics processor 830 directly reads the texture data required for texture mapping from the shared memory 840 (S755). Then, the graphics processor 830 updates the texture cache 831 based on the texture data read from the shared memory 840, and performs texture mapping (S740, S745).

이와 같이, 본 발명의 제1 실시 예에 따른 데이터 선인출 방법은, 하나의 밉맵이 읽혀졌을 경우 다수의 텍셀이 이 밉맵을 읽을 가능성이 높은 '공간 지역성(spatial locality)'을 이용하는 방법으로, 밉맵 전체를 읽을 확률이 높은 경우, 해당 밉맵 레벨에 해당하는 텍스쳐 데이터를 선인출하여 공유 메모리에 저장함으로써, 이후 텍스쳐 맵핑 시 빠른 메모리 엑세스가 가능하도록 한다.As described above, in the data line fetching method according to the first embodiment of the present invention, when one mipmap is read, a method in which a plurality of texels use 'spatial locality,' which is highly likely to read the mipmap, If the entirety of the mipmap level is likely to be read, texture data corresponding to the mipmap level is prefetched and stored in the shared memory so that fast memory access is enabled in the subsequent texture mapping.

도 9 및 도 10은 본 발명의 제2 실시 예에 따라 공유 메모리를 이용하여 텍스쳐 데이터를 선인출하는 방법을 설명하기 위해 참조되는 도면이다. 이하, 본 실시 예에 따른 그래픽 처리 장치에서는 전체 프레임(1050)을 작은 크기의 타일(tile, 1051)로 분할하여 렌더링하는 타일 기반의 렌더링 방식을 이용함을 가정하여 설명하도록 한다.FIG. 9 and FIG. 10 are views for explaining a method of pre-exporting texture data using a shared memory according to a second embodiment of the present invention. Hereinafter, the graphics processing apparatus according to the present embodiment will be described on the assumption that a tile-based rendering method for dividing and rendering the entire frame 1050 into tiles 1051 having a small size is used.

도 9 및 도 10을 참조하면, 그래픽 처리 장치(1030)는 각 타일별로 이전 프레임에서 빈번하게 텍스쳐 캐시 미스를 발생시킨 테스쳐 데이터를 통계내어 획득한 텍스쳐 밉맵 목록을 밉맵 테이블(1032)에 저장한다. 가령, 아래 표 1과 같이, 밉맵 테이블(1032)은 각 타일별로 빈번하게 읽혀진 텍스쳐들 및 이들의 밉맵 레벨들을 포함하는 텍스쳐 밉맵 목록을 저장한다.Referring to FIGS. 9 and 10, the graphic processing apparatus 1030 stores a texture mipmap list obtained by statistically generating texture cache misses frequently in a previous frame for each tile, in a mipmap table 1032 . For example, as shown in Table 1 below, the mipmap table 1032 stores a texture mipmap list containing textures and their mipmap levels that are frequently read for each tile.

타일(tile)Tile 텍스쳐 밉맵 목록Texture mipmap list 1 One 텍스쳐A 밉맵 레벨 2, 3, 4Texture A Mipmap Levels 2, 3, 4 텍스쳐B 밉맵 레벨 1Texture B mipmap level 1 2
2
텍스쳐A 밉맵 레벨 2, 3Texture A mipmap level 2, 3
텍스쳐C 밉맵 레벨 0, 1Texture C mipmap level 0, 1 ... ... nn 텍스쳐I 밉맵 레벨 1, 2, 3Texture I Mipmap Levels 1, 2, 3 텍스쳐J 밉맵 레벨 2Texture J Mipmap Level 2

각 타일별로 3D 렌더링 시, 그래픽 처리 장치(1030)는 이전 프레임에서 빈번하게 텍스쳐 캐시 미스를 발생시킨 텍스쳐 밉맵 목록을 밉맵 테이블(1032)로부터 순차적으로 읽어온다(S910). Upon 3D rendering for each tile, the graphics processor 1030 sequentially reads a texture mipmap list that frequently causes a texture cache miss in the previous frame from the mipmap table 1032 (S910).

그래픽 처리 장치(1030)는 특정 밉맵 레벨에 해당하는 텍스쳐 데이터가 공유 메모리(1040) 내에 존재하는지 여부를 확인한다(S920).The graphics processing apparatus 1030 determines whether texture data corresponding to a specific mipmap level exists in the shared memory 1040 (S920).

상기 920 단계의 확인 결과, 특정 밉맵 레벨에 해당하는 텍스쳐 데이터가 공유 메모리(1040) 내에 존재하지 않는 경우, 그래픽 처리 장치(1030)는 해당 밉맵 레벨에 해당하는 텍스쳐 데이터를 외부 메모리(1020)로부터 선인출하여 공유 메모리(1040)에 저장한다(S930). If it is determined in step 920 that the texture data corresponding to the specific mipmap level does not exist in the shared memory 1040, the graphics processor 1030 extracts the texture data corresponding to the mipmap level from the external memory 1020 And stored in the shared memory 1040 (S930).

한편, 상기 920 단계의 확인 결과, 특정 밉맵 레벨에 해당하는 텍스쳐 데이터가 공유 메모리(1040) 내에 존재하는 경우, 그래픽 처리 장치(1030)는 상기 특정 밉맵 레벨이 해당 텍스쳐 밉맵 목록 상의 마지막 밉맵 레벨인지 여부를 확인한다(S940). If it is determined in step 920 that the texture data corresponding to the specific mipmap level exists in the shared memory 1040, the graphics processing apparatus 1030 determines whether the specific mipmap level is the last mipmap level on the texture mipmap list (S940).

상기 940 단계의 확인 결과, 상기 특정 밉맵 레벨이 텍스쳐 밉맵 목록 상의 마지막 밉맵 레벨이 아닌 경우, 그래픽 처리 장치(1030)는 910 단계로 이동하여 상기 특정 밉맵 레벨의 다음 밉맵 레벨에 대해 동일한 과정을 수행한다. If it is determined in step 940 that the specific mipmap level is not the last mipmap level on the texture mipmap list, the graphics processor 1030 proceeds to step 910 and performs the same process for the next mipmap level of the specific mipmap level .

한편, 상기 940 단계의 확인 결과, 상기 특정 밉맵 레벨이 텍스쳐 밉맵 목록 상의 마지막 밉맵 레벨인 경우, 그래픽 처리 장치(1030)는 해당 타일의 텍스쳐 맵핑을 수행한다(S950). 좀 더 구체적으로, 그래픽 처리 장치(1030)는 텍스쳐 맵핑에 필요한 텍스쳐 데이터에 대해 텍스쳐 캐시 미스가 발생하는지 여부를 확인한다. 상기 확인 결과, 텍스쳐 캐시 미스가 발생하지 않은 경우, 그래픽 처리 장치(1030)는 텍스쳐 캐시(1031)에 저장된 텍스쳐 데이터를 기반으로 텍스쳐 맵핑을 수행한다. 한편, 상기 확인 결과, 텍스쳐 캐시 미스가 발생한 경우, 그래픽 처리 장치(1030)는 공유 메모리(1040)에서 읽어온 텍스쳐 데이터를 기반으로 텍스쳐 캐시(1031)를 갱신한 후 텍스쳐 맵핑을 수행한다. If it is determined in step 940 that the specific mipmap level is the last mipmap level on the texture mipmap list, the graphics processor 1030 performs texture mapping of the tile (S950). More specifically, the graphics processing unit 1030 determines whether or not a texture cache miss occurs for the texture data required for texture mapping. If it is determined that the texture cache miss does not occur, the graphic processing apparatus 1030 performs texture mapping based on the texture data stored in the texture cache 1031. If the texture cache miss occurs, the graphics processor 1030 updates the texture cache 1031 based on the texture data read from the shared memory 1040, and performs texture mapping.

이후, 그래픽 처리 장치(1030)는 현재 프레임에서 빈번하게 텍스쳐 캐시 미스를 발생시킨 텍스쳐 데이터를 통계내어 획득한 텍스쳐 밉맵 목록을 밉맵 테이블(1032)에 저장한다(S960). 즉, 그래픽 처리 장치(1030)는 밉맵 테이블(1032)에 저장된 이전 프레임에 관한 텍스쳐 밉맵 목록을 현재 프레임에 관한 텍스쳐 밉맵 목록으로 갱신한다. In step S960, the graphics processing apparatus 1030 stores a texture mipmap list obtained by statistically obtaining texture data that frequently causes a texture cache miss in the current frame, in the mipmap table 1032. [ That is, the graphics processing unit 1030 updates the texture mipmap list for the previous frame stored in the mipmap table 1032 with the texture mipmap list for the current frame.

이와 같이, 본 발명의 제2 실시 예에 따른 데이터 선인출 방법은, 프레임간 변화가 적을 경우 이전 프레임에서 빈번하게 읽혀진 텍스쳐 밉맵은 다음 프레임에서도 읽혀질 확률이 높다는 '시간 지역성(Temporal locality)'을 이용하는 방법으로, 밉맵 전체를 읽을 확률이 높은 경우, 밉맵 레벨에 해당하는 텍스쳐 데이터를 선인출하여 공유 메모리에 저장함으로써, 이후 텍스쳐 맵핑 시 빠른 메모리 엑세스가 가능하도록 한다.As described above, in the data line fetching method according to the second embodiment of the present invention, when a change between frames is small, a 'temporal locality' in which a texture mipmap frequently read in a previous frame has a high probability of being read in the next frame Method, if the probability of reading the whole mipmap is high, the texture data corresponding to the mipmap level is prefetched and stored in the shared memory, thereby enabling fast memory access in the subsequent texture mapping.

도 11 및 도 12는 본 발명의 제3 실시 예에 따라 공유 메모리를 이용하여 텍스쳐 데이터를 선인출하는 방법을 설명하기 위해 참조되는 도면이다. FIGS. 11 and 12 are views for explaining a method of pre-exporting texture data using a shared memory according to a third embodiment of the present invention.

도 11 및 도 12를 참조하면, 3D 렌더링 수행 시, 그래픽 처리 장치(1230)는 외부 메모리(1220)로부터 빈번하게 읽혀질 텍스쳐 데이터를 지정하여 밉맵 테이블(1232)에 저장한다(S1110). 이때, 해당 애플리케이션의 프로그래머는 API 확장 등을 통해 상기 텍스쳐 데이터를 직접 지정할 수 있다. Referring to FIGS. 11 and 12, at the time of 3D rendering, the graphic processor 1230 designates texture data to be frequently read from the external memory 1220 and stores the texture data in the mipmap table 1232 (S1110). At this time, the programmer of the application can designate the texture data directly through API extension or the like.

그래픽 처리 장치(1230)는 프로그래머에 의해 지정된 텍스쳐 밉맵이 공유 메모리(1240)에 존재하는지 여부를 확인한다(S1120). The graphics processing unit 1230 checks whether the texture mipmap specified by the programmer exists in the shared memory 1240 (S1120).

상기 1120 단계의 확인 결과, 공유 메모리(1240)에 해당 텍스쳐 밉맵이 존재하는 경우, 그래픽 처리 장치(1230)는 상기 공유 메모리(1240)에 저장된 해당 텍스쳐 밉맵을 유지한다(S1130). If it is determined in step 1120 that the texture mipmap exists in the shared memory 1240, the graphics processing unit 1230 maintains the texture mipmap stored in the shared memory 1240 in step S1130.

한편, 상기 1120 단게의 확인 결과, 공유 메모리(1240)에 해당 텍스쳐 밉맵이 존재하지 않는 경우, 그래픽 처리 장치(1230)는 해당 텍스쳐 밉맵 전체를 외부 메모리(1220)로부터 선인출하여 공유 메모리(1240)에 저장한다(S1140). If it is determined that the texture mipmap does not exist in the shared memory 1240, the graphics processing unit 1230 extracts the entire texture mipmap from the external memory 1220 and stores it in the shared memory 1240. [ (S1140).

이후, 그래픽 처리 장치(1230)는 텍스쳐 맵핑에 필요한 텍스쳐 데이터에 대해 텍스쳐 캐시 미스(miss)가 발생하는지 여부를 확인한다(S1150). Thereafter, the graphic processing unit 1230 determines whether a texture cache miss occurs with respect to the texture data required for texture mapping (S1150).

상기 1150 단계의 확인 결과, 텍스쳐 캐시 미스가 발생한 경우, 그래픽 처리 장치(1230)는 공유 메모리(1240)에서 읽어온 텍스쳐 데이터를 기반으로 텍스쳐 캐시(1231)를 갱신한 후 텍스쳐 맵핑을 수행한다(S1160, S1170). If it is determined in step 1150 that the texture cache miss occurs, the graphics processor 1230 updates the texture cache 1231 based on the texture data read from the shared memory 1240, and performs texture mapping (S1160 , S1170).

한편, 상기 1150 단계의 확인 결과, 텍스쳐 캐시 히트가 발생한 경우, 그래픽 처리 장치(1230)는 텍스쳐 캐시(1231)에 저장된 텍스쳐 데이터를 기반으로 텍스쳐 맵핑을 수행한다(S1170).If it is determined in step 1150 that the texture cache hit occurs, the graphic processor 1230 performs texture mapping based on the texture data stored in the texture cache 1231 (S 1170).

이와 같이, 본 발명의 제3 실시 예에 따른 데이터 선인출 방법은, 프로그래머가 직접 텍스쳐 데이터를 지정하여 선인출하는 방법으로, 지정된 밉맵 레벨에 해당하는 텍스쳐 데이터를 공유 메모리에 저장함으로써, 이후 텍스쳐 맵핑 시 빠른 메모리 엑세스가 가능하도록 한다.As described above, in the data line fetching method according to the third embodiment of the present invention, the programmer directly stores the texture data corresponding to the specified mipmap level in the shared memory by designating and shipping the texture data, To enable fast memory access.

도 13 및 도 14는 본 발명의 제4 실시 예에 따라 공유 메모리를 이용하여 텍스쳐 데이터를 선인출하는 방법을 설명하기 위해 참조되는 도면이다. FIGS. 13 and 14 are diagrams for explaining a method of pre-exporting texture data using a shared memory according to a fourth embodiment of the present invention.

도 13 및 도 14를 참조하면, 3D 렌더링 수행 시, 그래픽 처리 장치(1430)는 텍스쳐 맵핑에 필요한 텍스쳐 데이터가 텍스쳐 캐시(1431)에 저장되어 있는지 여부를 확인한다(S1310). 즉, 그래픽 처리 장치(1430)는 원하는 텍셀에 대해 텍스쳐 캐시 미스(miss)가 발생하는지 여부를 확인한다. Referring to FIGS. 13 and 14, at the time of 3D rendering, the graphic processing unit 1430 determines whether texture data required for texture mapping is stored in the texture cache 1431 (S1310). That is, the graphics processing unit 1430 determines whether a texture cache miss occurs for the desired texel.

상기 1310 단계의 확인 결과, 텍스쳐 캐시 미스가 발생하지 않은 경우(즉, 텍스쳐 캐시 히트가 발생한 경우), 그래픽 처리 장치(1430)는 텍스쳐 캐시(1431)에 저장된 텍스쳐 데이터를 불러와서 텍스쳐 맵핑을 수행한다(S1360). If it is determined in step 1310 that the texture cache miss does not occur (i.e., the texture cache hit occurs), the graphics processor 1430 fetches the texture data stored in the texture cache 1431 and performs texture mapping (S1360).

한편, 상기 1310 단계의 확인 결과, 텍스쳐 캐시 미스가 발생한 경우, 그래픽 처리 장치(1430)는 외부 메모리(1420) 또는 공유 메모리(1440)로부터 읽어온 텍스쳐 데이터를 기반으로 텍스쳐 캐시(1431)를 갱신한다(S1320). If it is determined in step 1310 that the texture cache miss occurs, the graphics processor 1430 updates the texture cache 1431 based on the texture data read from the external memory 1420 or the shared memory 1440 (S1320).

그래픽 처리 장치(1430)는 갱신된 텍스쳐 캐시(1431)에서 텍스쳐 데이터의 퇴출이 발생하는지 여부를 확인한다(S1330). 텍스쳐 캐시(1431)의 저장 용량이 한정적이기 때문에, 상기 텍스쳐 캐시(1431)로 새로운 데이터가 입력되면 그에 해당하는 기존의 데이터가 외부로 퇴출하게 된다.The graphics processing unit 1430 checks whether the texture data 1431 is deleted from the updated texture cache 1431 (S1330). Since the storage capacity of the texture cache 1431 is limited, when the new data is input to the texture cache 1431, the existing data corresponding to the new data is externally output.

상기 1330 단계의 확인 결과, 텍스쳐 캐시(1431)에서 텍스쳐 데이터의 퇴출이 발생하는 경우, 그래픽 처리 장치(1430)는 퇴출된 텍스쳐 데이터의 밉맵 레벨에 해당하는 전체 텍스쳐 데이터를 외부 메모리(1420)로부터 선인출하여 공유 메모리(1440)에 저장한다(S1340). 이에 따라, 상기 공유 메모리(1440)는 일종의 희생 캐시(victim cache)로 활용될 수 있다. If it is determined in step 1330 that the texture data is to be discarded in the texture cache 1431, the graphics processor 1430 deletes all texture data corresponding to the mipmap level of the extracted texture data from the external memory 1420 And stores it in the shared memory 1440 (S1340). Accordingly, the shared memory 1440 can be utilized as a kind of a victim cache.

또한, 그래픽 처리 장치(1430)가 희생 캐시(1432)를 구비하는 경우, 그래픽 처리 장치(1340)는 상기 퇴출된 텍스쳐 데이터를 희생 캐시(1432)에 임시로 저장할 수 있다(S1350). 상기 희생 캐시(1432)에 저장된 텍스쳐 데이터는 추후 텍스쳐 맵핑을 위해 사용될 수 있다. Also, if the graphics processing unit 1430 includes a victim cache 1432, the graphics processing unit 1340 may temporarily store the evicted texture data in the victim cache 1432 (S1350). The texture data stored in the victim cache 1432 may be used for further texture mapping.

이후, 그래픽 처리 장치(1430)는 갱신된 텍스쳐 캐시(1431)에 저장된 텍스쳐 데이터를 불러와서 텍스쳐 맵핑을 수행한다(S1360). Thereafter, the graphic processing unit 1430 fetches the texture data stored in the updated texture cache 1431 and performs texture mapping (S1360).

한편, 상기 1330 단계의 확인 결과, 텍스쳐 캐시(1431)에서 텍스쳐 데이터의 퇴출이 발생하지 않는 경우, 그래픽 처리 장치(1430)는 갱신된 텍스쳐 캐시(1431)에 저장된 텍스쳐 데이터를 기반으로 텍스쳐 맵핑을 수행한다(S1360).If it is determined in step 1330 that the texture data does not exit in the texture cache 1431, the graphics processor 1430 performs texture mapping based on the texture data stored in the updated texture cache 1431 (S1360).

이와 같이, 본 발명의 제4 실시 예에 따른 데이터 선인출 방법은, 텍스쳐 캐시에서 텍스쳐 데이터의 퇴출이 발생하는 경우, 상기 퇴출된 텍스쳐 데이터의 밉맵 레벨에 해당하는 텍스쳐 데이터를 선인출하여 공유 메모리에 저장함으로써, 이후 텍스쳐 맵핑 시 빠른 메모리 엑세스가 가능하도록 한다.As described above, in the data line fetching method according to the fourth embodiment of the present invention, when the extraction of the texture data occurs in the texture cache, the texture data corresponding to the mipmap level of the extracted texture data is prefetched and stored in the shared memory Thereby enabling fast memory accesses in subsequent texture mappings.

한편, 설명의 편의상, 상술한 제1 내지 제4 실시 예에 따른 데이터 선인출 프로세스들이 그래픽 처리 장치에 의해 수행되는 것으로 예시하고 있으나, 이를 제한하지는 않는다. 따라서, 상기 데이터 선인출 프로세서들은 그래픽 처리 장치 대신, 제어부(180) 또는 모바일 AP 내의 별도의 컨트롤러에 의해 수행될 수 있음은 당업자에게 자명할 것이다.For the sake of convenience, the data line drawing processes according to the first to fourth embodiments are illustrated as being performed by the graphic processing apparatus, but the present invention is not limited thereto. Therefore, it will be apparent to those skilled in the art that the data line fetch processors may be performed by the controller 180 or a separate controller in the mobile AP, instead of the graphics processor.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 단말기의 제어부(180)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The present invention described above can be implemented as computer readable codes on a medium on which a program is recorded. The computer readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the computer readable medium include a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, , And may also be implemented in the form of a carrier wave (e.g., transmission over the Internet). In addition, the computer may include a control unit 180 of the terminal. Accordingly, the above description should not be construed in a limiting sense in all respects and should be considered illustrative. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.

100 : 이동 단말기 110 : 무선 통신부
120 : 입력부 140 : 센싱부
150 : 출력부 160 : 인터페이스부
170 : 메모리 180 : 제어부
190 : 전원 공급부
100: mobile terminal 110: wireless communication unit
120: input unit 140: sensing unit
150: output unit 160: interface unit
170: memory 180:
190: Power supply

Claims (6)

3차원 렌더링을 수행하는 이동 단말기에 있어서,
텍스쳐 데이터를 저장하는 외부 메모리;
상기 외부 메모리로부터 상기 텍스쳐 데이터를 밉맵(mipmap) 단위로 선인출하여 저장하는 공유 메모리; 및
상기 공유 메모리에 저장된 텍스쳐 데이터를 기반으로 텍스쳐 맵핑을 수행하는 그래픽 처리 장치를 포함하는 이동 단말기.
1. A mobile terminal performing three-dimensional rendering,
An external memory for storing texture data;
A shared memory for prefetching the texture data from the external memory in units of mipmaps; And
And a graphic processing device for performing texture mapping based on the texture data stored in the shared memory.
제1항에 있어서,
상기 공유 메모리는 SRAM(Static Random Access Memory) 메모리임을 특징으로 하는 이동 단말기.
The method according to claim 1,
Wherein the shared memory is a static random access memory (SRAM) memory.
제1항에 있어서,
텍스쳐 캐시 미스(miss) 발생 시, 상기 그래픽 처리 장치는 상기 공유 메모리에서 읽어온 텍스쳐 데이터를 기반으로 텍스쳐 캐시를 갱신하는 것을 특징으로 하는 이동 단말기.
The method according to claim 1,
Wherein when the texture cache miss occurs, the graphics processor updates the texture cache based on the texture data read from the shared memory.
제1항에 있어서,
상기 그래픽 처리 장치는 상기 텍스쳐 맵핑에 필요한 텍스쳐 데이터의 밉맵 레벨에 관한 정보를 포함하는 밉맵 테이블을 구비하는 것을 특징으로 하는 이동 단말기.
The method according to claim 1,
Wherein the graphic processing apparatus comprises a mipmap table including information on a mipmap level of texture data required for the texture mapping.
제1항에 있어서,
현재 프레임의 각 타일 별로 3D 렌더링 수행 시, 상기 그래픽 처리 장치는 이전 프레임에서 빈번하게 텍스쳐 캐시 미스를 발생시킨 텍스쳐 밉맵 레벨에 해당하는 텍스쳐 데이터를 상기 외부 메모리로부터 선인출하여 상기 공유 메모리로 저장하는 것을 특징으로 하는 이동 단말기.
The method according to claim 1,
When the 3D rendering is performed for each tile of the current frame, the graphic processing apparatus prefetches texture data corresponding to the texture mipmap level that frequently caused the texture cache miss in the previous frame from the external memory and stores the texture data in the shared memory The mobile terminal comprising:
제1항에 있어서,
텍스쳐 캐시에서 텍스쳐 데이터의 퇴출이 발생한 경우, 상기 그래픽 처리 장치는 상기 퇴출된 텍스쳐 데이터의 밉맵 레벨 전체에 해당하는 텍스쳐 데이터를 상기 외부 메모리에서 선인출하여 상기 공유 메모리로 저장하는 것을 특징으로 하는 이동 단말기.
The method according to claim 1,
Wherein the graphic processor extracts texture data corresponding to the entire mipmap level of the extracted texture data from the external memory and stores the extracted texture data in the shared memory when the texture data is exited from the texture cache. .
KR1020140119248A 2014-09-05 2014-09-05 Mobile terminal and method for controlling the same KR20160029550A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140119248A KR20160029550A (en) 2014-09-05 2014-09-05 Mobile terminal and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140119248A KR20160029550A (en) 2014-09-05 2014-09-05 Mobile terminal and method for controlling the same

Publications (1)

Publication Number Publication Date
KR20160029550A true KR20160029550A (en) 2016-03-15

Family

ID=55542127

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140119248A KR20160029550A (en) 2014-09-05 2014-09-05 Mobile terminal and method for controlling the same

Country Status (1)

Country Link
KR (1) KR20160029550A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020036244A1 (en) * 2018-08-13 2020-02-20 엘지전자 주식회사 Mobile device and method for controlling same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020036244A1 (en) * 2018-08-13 2020-02-20 엘지전자 주식회사 Mobile device and method for controlling same
KR20200019028A (en) * 2018-08-13 2020-02-21 엘지전자 주식회사 Mobile device and, the method thereof
US11216989B2 (en) 2018-08-13 2022-01-04 Lg Electronics Inc. Mobile device and method for controlling same

Similar Documents

Publication Publication Date Title
JP2022527686A (en) Shadow rendering methods, devices, computer devices and computer programs
JP2021511728A (en) How to display additional objects and their devices, computer devices and storage media
KR102625773B1 (en) Device for Generating Image Having Different Rendering Quality Based on View Vector
WO2019179237A1 (en) Satellite-view electronic map acquisition method and device, apparatus, and storage medium
WO2019076274A1 (en) Method and terminal for displaying dynamic image
CN109510940B (en) Image display method and terminal equipment
CN108055567B (en) Video processing method and device, terminal equipment and storage medium
WO2022100663A1 (en) Method, apparatus and device for selecting anti-aliasing algorithm and readable storage medium
CN107644395B (en) Image processing method and mobile device
US20110216165A1 (en) Electronic apparatus, image output method, and program therefor
US11523063B2 (en) Systems and methods for placing annotations in an augmented reality environment using a center-locked interface
CN111915481B (en) Image processing method, device, electronic equipment and medium
CN112672185B (en) Augmented reality-based display method, device, equipment and storage medium
KR102260805B1 (en) Image searching device and method thereof
CN111625315A (en) Page display method and device, electronic equipment and storage medium
CN111586444A (en) Video processing method and device, electronic equipment and storage medium
CN111445568B (en) Character expression editing method, device, computer storage medium and terminal
KR20160148631A (en) Virtual memory supported compression control surfaces
KR20160029550A (en) Mobile terminal and method for controlling the same
CN109714628B (en) Method, device, equipment, storage medium and system for playing audio and video
CN110889060A (en) Webpage display method and device, computer equipment and storage medium
KR20200144702A (en) System and method for adaptive streaming of augmented reality media content
CN111275607A (en) Interface display method and device, computer equipment and storage medium
WO2018192455A1 (en) Method and apparatus for generating subtitles
CN113223012B (en) Video processing method and device and electronic device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application