KR101823818B1 - System and method for image view binding optimization - Google Patents

System and method for image view binding optimization Download PDF

Info

Publication number
KR101823818B1
KR101823818B1 KR1020170010964A KR20170010964A KR101823818B1 KR 101823818 B1 KR101823818 B1 KR 101823818B1 KR 1020170010964 A KR1020170010964 A KR 1020170010964A KR 20170010964 A KR20170010964 A KR 20170010964A KR 101823818 B1 KR101823818 B1 KR 101823818B1
Authority
KR
South Korea
Prior art keywords
color
pixel format
image
loaded
value
Prior art date
Application number
KR1020170010964A
Other languages
Korean (ko)
Other versions
KR20170015407A (en
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 KR1020170010964A priority Critical patent/KR101823818B1/en
Publication of KR20170015407A publication Critical patent/KR20170015407A/en
Application granted granted Critical
Publication of KR101823818B1 publication Critical patent/KR101823818B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

이미지 뷰 바인딩의 최적화를 위한 시스템 및 방법이 개시된다. 컴퓨터로 구현되는 렌더링 방법은, 전자 기기에서 구동되는 어플리케이션의 제어에 따라 상기 전자 기기의 메모리에 이미지를 로딩하는 단계, 상기 전자 기기에서 상기 어플리케이션의 제어에 따라, 네트워크를 통해 다운로드되거나 또는 상기 전자 기기에서 생성되어 저장된 기준 컬러 배열 정보를 상기 메모리에 로딩하는 단계 및 상기 전자 기기에서 상기 로딩된 이미지의 색상값과 상기 로딩된 기준 컬러 배열 정보간의 비교를 통해 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 단계를 포함할 수 있다.A system and method for optimizing image view binding is disclosed. A computer-implemented rendering method includes the steps of loading an image into a memory of the electronic device in accordance with control of an application driven in the electronic device, downloading the image via a network, Loading the stored reference color array information into the memory, and comparing the color value of the loaded image with the loaded reference color array information in the electronic device to generate a pixel format for texture generation of the loaded image And a step of determining whether the received signal is a signal.

Description

이미지 뷰 바인딩의 최적화를 위한 시스템 및 방법{SYSTEM AND METHOD FOR IMAGE VIEW BINDING OPTIMIZATION}SYSTEM AND METHOD FOR IMAGE VIEW BINDING OPTIMIZATION FIELD OF THE INVENTION [0001]

아래의 설명은 이미지 뷰 바인딩의 최적화를 위한 기술에 관한 것으로, 파일이미지를 로딩하여 렌더링하는 시스템 및 방법에 관한 것이다. The following description relates to a technique for optimizing image view binding, and relates to a system and method for loading and rendering a file image.

종래기술에서는 모바일 게임 등에서 이미지의 파일이미지를 로딩하여 렌더링함에 있어서 지정된 고정 픽셀포맷으로 텍스처를 만든다. 픽셀포맷은 일례로, 안드로이드(Android) 모바일 운영체제를 사용하는 경우 비트맵(bitmap)의 설정 구성 파일(일례로 config)에는 파일이미지의 픽셀포맷을 표시하고 있다.In the prior art, in loading a file image of an image in a mobile game or the like, a texture is formed in a fixed pixel format designated in rendering. The pixel format is, for example, the pixel format of a file image in a configuration file (for example, config) of a bitmap when using an Android mobile operating system.

안드로이드 모바일 운영체제에서 사용하는 픽셀포맷은 ALPHA8, RGBA565, RGBA4444, RGBA8888가 있다. 여기서 "RGBA"에서 'R'은 레드(Red), 'G'는 그린(Green), 'B'는 블루(Blue), 'A'는 투명도 알파를 의미한다. 예를 들어, RGB565는 2바이트로 1픽셀을 표현하는 방식으로 16비트(2바이트)를 나누어 R(5bit), G(6비트), B(5비트)로 표현하는 방식이다. 2의 5승은 32이므로 레드(Red)와 블루(Blue)는 32가지의 구분정밀도를 갖게 되어 색 표현력은 적은 단점이 있으면서, 용량이 작아지는 장점이 있다. 다른 예로 RGBA8888은 하나의 픽셀을 4바이트로 표현하는 방식으로 우수한 색 표현이 가능하다. 예를 들어, 16,777,216(256*256*256)가지의 색 표현이 가능하다. 각 색별(RGBA)로 1바이트씩 사용된다.The pixel formats used by the Android mobile operating system are ALPHA8, RGBA565, RGBA4444, and RGBA8888. Here, in "RGBA", "R" means red, "G" means green, "B" means blue, and "A" means transparency. For example, RGB565 is a system in which 16 bits (2 bytes) are divided into R (5 bits), G (6 bits), and B (5 bits) in a manner of expressing 1 pixel by 2 bytes. Since the 5th power of 2 is 32, red (Red) and blue (Blue) have 32 kinds of division precision, and the color expressing power is small, and the capacity is reduced. In another example, RGBA8888 is a 4-byte representation of a pixel, which allows for excellent color representation. For example, 16,777,216 (256 * 256 * 256) colors can be represented. One byte is used for each color (RGBA).

앞서 설명한 바와 같이 종래기술에서는 로딩되는 이미지에 대해 지정된 고정 픽셀포맷을 이용하여 텍스처를 생성한다.As described above, in the related art, a texture is generated using a fixed pixel format designated for an image to be loaded.

참고자료: <PCT/KR/2014/010167, US20140019540A1, US20130332543A1, US20130260893>References: <PCT / KR / 2014/010167, US20140019540A1, US20130332543A1, US20130260893>

파일이미지를 로드하여 렌더링하는 경우 로딩된 이미지를 최적화된 픽셀포맷으로 텍스처 전환할 수 있는 시스템 및 방법을 제공한다.The present invention provides a system and method for converting a loaded image into an optimized pixel format when loading and rendering a file image.

컴퓨터로 구현되는 렌더링 방법에 있어서, 전자 기기에서 구동되는 어플리케이션의 제어에 따라 상기 전자 기기의 메모리에 이미지를 로딩하는 단계; 상기 전자 기기에서 상기 어플리케이션의 제어에 따라, 네트워크를 통해 다운로드되거나 또는 상기 전자 기기에서 생성되어 저장된 기준 컬러 배열 정보를 상기 메모리에 로딩하는 단계; 및 상기 전자 기기에서 상기 로딩된 이미지의 색상값과 상기 로딩된 기준 컬러 배열 정보간의 비교를 통해 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 렌더링 방법을 제공한다.A computer-implemented rendering method, comprising: loading an image into a memory of the electronic device according to control of an application running on the electronic device; Loading the reference color arrangement information downloaded via the network or generated and stored in the electronic device into the memory according to the control of the application in the electronic device; And determining a pixel format for texture generation of the loaded image through comparison between the color value of the loaded image and the loaded reference color arrangement information at the electronic device. Provides a rendering method.

일측에 따르면, 상기 기준 컬러 배열 정보는, 기준이 되는 픽셀포맷의 비트수에 따른 컬러 배열 이미지를 포함하고, 상기 픽셀포맷을 결정하는 단계는, 상기 컬러 배열 이미지의 색상값의 색상 분포와 상기 로딩된 이미지의 색상값의 색상 분포를 비교하여 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 것을 특징으로 할 수 있다.According to one aspect, the reference color arrangement information includes a color arrangement image according to the number of bits of a reference pixel format, and the step of determining the pixel format comprises: determining a color distribution of a color value of the color arrangement image, And determines a pixel format for texture generation of the loaded image by comparing color distributions of color values of the image.

다른 측면에 따르면, 상기 픽셀포맷을 결정하는 단계는, 상기 컬러 배열 이미지의 각 픽셀의 색상값인 제1 RGB(Red Green Blue) 값의 3차원 색상 분포도를 생성하는 단계 - 상기 3차원 색상 분포도의 각 축은 RGB의 각 색상에 대응됨 -; 상기 로딩된 이미지의 각 픽셀의 제2 RGB 값을 상기 3차원 색상 분포도에 적용하여 상기 제2 RGB 값과 상기 3차원 색상 분포도와의 차이값을 상기 3차원 색상 분포도를 벗어나는 픽셀들에 대해 계산하는 단계; 및 상기 차이값을 이용하여 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 단계를 포함하는 것을 특징으로 할 수 있다.According to another aspect, determining the pixel format comprises generating a three-dimensional color distribution diagram of a first RGB (Red Green Blue) value that is a color value of each pixel of the color array image, Each axis corresponding to each color of RGB -; Applying a second RGB value of each pixel of the loaded image to the three dimensional color distribution map to calculate a difference value between the second RGB value and the three dimensional color distribution map for pixels that deviate from the three dimensional color distribution map step; And determining a pixel format for texture generation of the loaded image using the difference value.

또 다른 측면에 따르면, 상기 차이값을 이용하여 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 단계는, 상기 계산된 차이값의 표준편차가 기설정된 값 이상인 경우 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 상기 기준이 되는 픽셀포맷의 비트수보다 더 큰 비트수의 픽셀포맷으로 결정하고, 상기 표준편차가 상기 기설정된 값 미만인 경우 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 상기 기준이 되는 픽셀포맷의 비트수와 동일하거나 더 작은 비트수의 픽셀포맷으로 결정하는 것을 특징으로 할 수 있다.According to another aspect, the step of determining a pixel format for texture generation of the loaded image using the difference value comprises the steps of: if the standard deviation of the calculated difference value is greater than or equal to a preset value, Determining a pixel format for the texture of the loaded image as a pixel format with a bit number greater than the number of bits of the reference pixel format; and if the standard deviation is less than the preset value, The number of bits is equal to or smaller than the number of bits of the pixel format.

또 다른 측면에 따르면, 상기 차이값은, 상기 제2 RGB 값이 상기 3차원 색상 분포도에서 나타내는 점과 상기 3차원 색상 분포도에서 상기 제1 RGB 값이 나타내는 점 중 가장 가까운 점간의 거리 차이를 통해 계산되는 것을 특징으로 할 수 있다.According to another aspect, the difference value is calculated through a difference in distance between a point represented by the second RGB value in the three-dimensional color distribution diagram and a closest point out of the points represented by the first RGB value in the three-dimensional color distribution diagram .

또 다른 측면에 따르면, 상기 픽셀포맷이 결정된 상기 로딩된 이미지에 대한 식별정보를 상기 결정된 픽셀포맷과 서로 연관하여 캐쉬에 저장하는 단계를 더 포함하고, 상기 로딩된 이미지가 재로딩되는 경우, 상기 로딩된 이미지의 픽셀포맷이 상기 캐쉬에 상기 로딩된 이미지의 식별정보와 연관하여 저장된 픽셀포맷으로 결정되는 것을 특징으로 할 수 있다.According to another aspect, the method further comprises storing the identification information for the loaded image determined in the pixel format in the cache in association with the determined pixel format, wherein when the loaded image is reloaded, And the pixel format of the image is determined as the pixel format stored in association with the identification information of the loaded image in the cache.

또 다른 측면에 따르면, 상기 어플리케이션은, 상기 로딩된 이미지를 이용하여 게임 서비스를 제공하는 게임 엔진을 포함하고, 상기 게임 엔진을 통해 상기 결정된 픽셀포맷으로 상기 로딩된 이미지를 렌더링하도록 상기 전자 기기를 제어하는 것을 특징으로 할 수 있다.According to another aspect, the application includes a game engine that provides a game service using the loaded image, and controls the electronic device to render the loaded image in the determined pixel format through the game engine .

하나 이상의 프로세서들 및 메모리를 포함하는 시스템에 있어서, 상기 하나 이상의 프로세서들은, 구동되는 어플리케이션의 제어에 따라 상기 메모리에 이미지를 로딩하는 이미지 로딩부; 상기 어플리케이션의 제어에 따라, 네트워크를 통해 다운로드되거나 또는 상기 하나 이상의 프로세서들을 통해 생성되어 저장된 기준 컬러 배열 정보를 상기 메모리에 로딩하는 기준 컬러 배열 정보 로딩부; 및 상기 로딩된 이미지의 색상값과 상기 로딩된 기준 컬러 배열 정보간의 비교를 통해 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 픽셀포맷 결정부를 포함하는 것을 특징으로 하는 시스템을 제공한다.A system comprising one or more processors and a memory, the one or more processors comprising: an image loading unit for loading an image into the memory according to control of an application being driven; A reference color array information loading unit that loads reference color array information stored in the memory, downloaded through a network or generated through the one or more processors according to the control of the application; And a pixel format determination unit for determining a pixel format for texture generation of the loaded image through comparison between the color value of the loaded image and the loaded reference color arrangement information.

파일이미지를 로드하여 렌더링하는 경우 로딩된 이미지를 최적화된 픽셀포맷으로 텍스처 전환할 수 있다.When loading and rendering a file image, you can texture-convert the loaded image into an optimized pixel format.

도 1은 본 발명의 일실시예에 있어서, 이미지의 렌더링을 위한 시스템의 동작 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 전자 기기의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 따른 전자 기기가 포함하는 프로세서를 설명하기 위한 블록도이다.
도 4는 본 발명의 일실시예에 있어서, 전자 기기의 렌더링 방법을 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서, 픽셀포맷 결정 방법의 예를 도시한 흐름도이다.
도 6은 본 발명의 일실시예에 있어서 3차원 공간의 예를 나타낸 도면이다.
1 is a diagram illustrating an example of an operating environment of a system for rendering an image in an embodiment of the present invention.
2 is a block diagram for explaining an internal configuration of an electronic device according to an embodiment of the present invention.
3 is a block diagram illustrating a processor included in an electronic device according to an embodiment of the present invention.
4 is a flowchart illustrating a rendering method of an electronic device according to an embodiment of the present invention.
5 is a flowchart illustrating an example of a pixel format determination method in an embodiment of the present invention.
6 is a diagram showing an example of a three-dimensional space in an embodiment of the present invention.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 있어서, 이미지의 렌더링을 위한 시스템의 동작 환경의 예를 도시한 도면이다.1 is a diagram illustrating an example of an operating environment of a system for rendering an image in an embodiment of the present invention.

본 실시예에 따른 시스템의 동작 환경은 전자 기기(110, 120, 130, 140), 서버(150, 160) 및 네트워크(170)를 포함할 수 있다.The operating environment of the system according to the present embodiment may include electronic devices 110, 120, 130, 140, servers 150, 160, and a network 170.

전자 기기(110, 120, 130, 140)는 본 발명의 실시예들에서 이미지의 렌더링을 처리하는 장치의 예로서 도 1에서는 4 개의 전자 기기(110, 120, 130, 140)를 도시하고 있으나 이는 동작 환경의 설명을 위한 예시일 뿐, 이에 한정되지 않는다. 이러한 전자 기기(110, 120, 130, 140) 각각은 고정형 단말이거나 이동형 단말일 수 있다. 전자 기기(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 전자 기기(110, 120, 130, 140) 각각은 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기 및/또는 서버(150, 160)와 통신할 수 있다. 실시예에 따라 별도의 통신 기능이 요구되지 않는 장치가 자체적으로 포함하는 저장소의 이미지를 이용하여 본 발명의 실시예들에 따라 렌더링을 처리할 수도 있으나 본 실시예와 이후의 실시예들에서는 서버(150, 160)와 통신하여 렌더링하기 위한 이미지를 제공받는 경우의 예를 설명한다.The electronic devices 110, 120, 130, 140 illustrate four electronic devices 110, 120, 130, 140 in FIG. 1 as examples of devices for processing the rendering of images in embodiments of the present invention, But the present invention is not limited thereto. Each of these electronic devices 110, 120, 130, 140 may be a fixed terminal or a mobile terminal. Examples of the electronic devices 110, 120, 130 and 140 include a smart phone, a mobile phone, a navigation device, a computer, a notebook, a terminal for digital broadcasting, a PDA (Personal Digital Assistants), a portable multimedia player (PMP) PC and so on. Each of the electronic devices 110, 120, 130 and 140 may communicate with other electronic devices and / or servers 150 and 160 via the network 170 using a wireless or wired communication scheme. Although it is possible to process the rendering according to the embodiments of the present invention by using an image of the repository that the device itself does not require a separate communication function according to the embodiment, in the present embodiment and subsequent embodiments, 150, and 160 to receive an image for rendering.

통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다.The communication method is not limited, and may include a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the network 170 may include, as well as a short-range wireless communication between the devices.

네트워크(170)는 일례로, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.Network 170 may be, for example, a personal area network (LAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network And the like. The network 170 may also include any one or more of a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, It is not limited.

서버(150, 160) 각각은 전자 기기(110, 120, 130, 140)와 네트워크(170)를 통해 통신하여 서비스나 컨텐츠를 제공하는 장치 또는 복수의 장치들로 구현될 수 있다. 서버(150, 160)는 전자 기기(110, 120, 130, 140)로 서비스나 컨텐츠를 제공하기 위한 하나의 시스템을 구성하도록 구축될 수도 있고, 또는 각기 서로 다른 서비스나 컨텐츠를 제공하는 개별 시스템들일 수도 있다. 예를 들어, 서버(150)는 전자 기기(110, 120, 130, 140)로 게임 서비스를 제공하는 시스템일 수 있고, 서버(160)는 서버(150)가 제공하는 게임 서비스를 위한 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템일 수 있다. 도 1에서는 2 개의 서버(150, 160)를 도시하고 있으나 이는 동작 환경의 설명을 위한 예시일 뿐, 이에 한정되지 않는다. Each of the servers 150 and 160 may be implemented by a device or a plurality of devices that provide services or contents by communicating with the electronic devices 110, 120, 130, and 140 via the network 170. The servers 150 and 160 may be configured to configure one system for providing services or contents to the electronic apparatuses 110, 120, 130 and 140, or may be separate systems for providing different services or contents It is possible. For example, the server 150 may be a system for providing a game service to the electronic devices 110, 120, 130, 140, and the server 160 may install the application for the game service provided by the server 150 File distribution system that distributes files. Although FIG. 1 shows two servers 150 and 160, this is only an example for explaining the operating environment, but is not limited thereto.

서버(150, 160)는 전자 기기(110, 120, 130, 140)를 통한 사용자의 요청에 따라 전자 기기(110, 120, 130, 140)로 서비스나 컨텐츠를 제공할 수 있다. 일례로 전자 기기(110, 120, 130, 140)는 서버(150, 160)가 제공하는 코드, 파일, 데이터 등을 수신하고, 전자 기기(110, 120, 130, 140)에 설치된 프로그램을 이용하여 서버(150, 160)가 제공하는 서비스나 컨텐츠를 제공받을 수 있게 된다.The servers 150 and 160 may provide services and contents to the electronic devices 110, 120, 130 and 140 according to a user's request through the electronic devices 110, 120, 130 and 140. For example, the electronic devices 110, 120, 130 and 140 receive codes, files, data, and the like provided by the servers 150 and 160 and use programs installed in the electronic devices 110, 120, 130 and 140 Services and contents provided by the servers 150 and 160 can be provided.

이하에서는 스마트폰과 같은 하나의 전자 기기(110)의 관점에서 본 발명의 다양한 실시예들에 대해 설명한다.Various embodiments of the present invention will now be described in terms of a single electronic device 110 such as a smartphone.

도 2는 본 발명의 일실시예에 따른 전자 기기의 내부 구성을 설명하기 위한 블록도이다. 전자 기기(110)는 메모리(210), 프로세서(220), 통신 모듈(230) 및 입출력 인터페이스(240)를 포함할 수 있다. 메모리(210)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 예를 들어, 적어도 하나의 프로그램 코드는 적어도 이미지의 렌더링을 처리하는 위한 코드를 포함할 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism)을 이용하여 메모리(2110)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(230)을 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램 코드는 개발자들이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 프로그램에 기반하여 메모리(210)에 로딩될 수 있다.2 is a block diagram for explaining an internal configuration of an electronic device according to an embodiment of the present invention. The electronic device 110 may include a memory 210, a processor 220, a communication module 230, and an input / output interface 240. The memory 210 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive. Also, the memory 210 may store an operating system and at least one program code. For example, the at least one program code may include code for at least rendering the image. These software components may be loaded from a computer readable recording medium separate from the memory 2110 using a drive mechanism. Such a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card. In other embodiments, the software components may be loaded into memory 210 via communication module 230 rather than a computer readable recording medium. For example, at least one program code may be loaded into the memory 210 based on a program installed by the developers via files provided via the network 170.

프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램(일례로 상술한 적어도 하나의 프로그램 코드)의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 모듈(230)에 의해 프로세서(220)로 제공될 수 있다.The processor 220 may be configured to process instructions of a computer program (e.g., at least one of the above-described program codes) by performing basic arithmetic, logic, and I / O operations. The instructions may be provided to the processor 220 by the memory 210 or the communication module 230.

통신 모듈(230)은 네트워크(170)를 통해 다른 기기와 통신하기 위한 기능을 제공할 수 있다. 일례로, 사용자의 입력에 따라 프로세서(220)에서 발생한 요청 메시지가 통신 모듈(230)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)가 네트워크(170)를 통해 전송하는 데이터가 통신 모듈(230)을 통해 전자 기기(110)로 수신될 수 있다.The communication module 230 may provide a function for communicating with other devices via the network 170. [ For example, a request message generated by the processor 220 according to a user input may be transmitted to the server 150 through the network 170 under the control of the communication module 230. Conversely, data transmitted by the server 150 through the network 170 may be received by the electronic device 110 via the communication module 230. [

또한, 다른 실시예들에서 전자 기기(110)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기(110)는 터치스크린과 같은 디스플레이나 트랜시버(transceiver), GPS(Global Positioning System) 모듈 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Also, in other embodiments, the electronic device 110 may include more components than the components of FIG. However, there is no need to clearly illustrate most prior art components. For example, the electronic device 110 may further include other components such as a display such as a touch screen, a transceiver, a Global Positioning System (GPS) module, and the like.

입출력 인터페이스(240)는 전자 기기(110)가 더 포함하거나 또는 전자 기기(110)와 연관된 입출력 장치와의 연결을 위한 기능을 제공할 수 있다. 예를 들어 입력 장치로는 마우스, 키보드, 터치패널, 마이크 등이 포함될 수 있고 출력 장치로는 스피커, 디스플레이, 터치스크린 등이 포함될 수 있다. 예를 들어, 메모리(210)에 로딩되어 프로세서(220)를 통해 렌더링된 이미지를 통해 서비스 화면(250)이 구성되어 전자 기기(110)의 터치스크린을 통해 표시될 수 있다.The input / output interface 240 may further include the electronic device 110 or may provide a function for connection with an input / output device associated with the electronic device 110. For example, the input device may include a mouse, a keyboard, a touch panel, a microphone, and the like. The output device may include a speaker, a display, a touch screen, and the like. For example, the service screen 250 may be configured to be displayed on the touch screen of the electronic device 110 through an image loaded into the memory 210 and rendered through the processor 220.

도 3은 본 발명의 일실시예에 따른 전자 기기가 포함하는 프로세서를 설명하기 위한 블록도이고, 도 4는 본 발명의 일실시예에 있어서, 전자 기기의 렌더링 방법을 도시한 흐름도이다. 전자 기기(110)에 포함된 프로세서(220)는 도 3에 도시된 바와 같이 이미지 로딩부(310), 기준 컬러 배열 정보 로딩부(320) 및 픽셀포맷 결정부(330)를 포함할 수 있고, 이러한 구성요소들은 도 4의 렌더링 방법이 포함하는 단계들(410 내지 430)를 메모리(210)가 포함하는 운영체제와 적어도 하나의 프로그램 코드를 통해 실행하도록 구현될 수 있다.FIG. 3 is a block diagram illustrating a processor included in an electronic device according to an exemplary embodiment of the present invention, and FIG. 4 is a flowchart illustrating a rendering method of an electronic device according to an exemplary embodiment of the present invention. The processor 220 included in the electronic device 110 may include an image loading unit 310, a reference color arrangement information loading unit 320 and a pixel format determining unit 330 as shown in FIG. 3, These components may be implemented to execute steps 410 through 430 included in the rendering method of FIG. 4 through at least one program code with an operating system that includes the memory 210. FIG.

단계(410)에서 이미지 로딩부(310)는 전자 기기(110)에서 구동되는 어플리케이션의 제어에 따라 전자 기기(110)의 메모리(210)에 이미지를 로딩할 수 있다. 일례로 로딩되는 이미지는 서버(150 또는 160)의 서비스를 위해 제공되는 이미지일 수 있다. 다른 예로 로딩되는 이미지는 단순히 전자 기기(110)의 컴퓨터에서 판독 가능한 기록 매체에 저장되어 있는 이미지일 수도 있다.The image loading unit 310 may load an image into the memory 210 of the electronic device 110 under the control of an application driven by the electronic device 110 in step 410. The image to be loaded may be an image provided for the service of the server 150 or 160, for example. As another example, the image to be loaded may simply be an image stored in a computer-readable recording medium of the electronic device 110. [

단계(420)에서 기준 컬러배열 정보 로딩부(320)는 어플리케이션의 제어에 따라 네트워크를 통해 다운로드되거나 또는 전자 기기(110)에서 생성되어 저장된 기준 컬러 배열 정보를 메모리(210)에 로딩할 수 있다. 예를 들어, 기준 컬러 배열 정보는 어플리케이션의 설치 시에 다운로드되거나 전자 기기(110)에 설치된 어플리케이션의 제어에 따라 서버(150 또는 160)로부터 다운로드되거나 또는 어플리케이션의 제어에 따라 전자 기기(110)에서 직접 생성되어 전자 기기(110)의 저장소(메모리(210) 또는 별도의 컴퓨터로 판독 가능한 기록 매체)에 저장될 수 있다. 이러한 기준 컬러 배열 정보는 기준이 되는 픽셀포맷의 비트수에 따른 컬러 배열에 대한 정보를 포함할 수 있다.In step 420, the reference color array information loading unit 320 may download the reference color array information that is downloaded through the network or generated in the electronic device 110 and stored in the memory 210 according to the control of the application. For example, the reference color array information may be downloaded at the installation of the application or downloaded from the server 150 or 160 according to the control of the application installed in the electronic device 110, or may be downloaded directly from the electronic device 110 And stored in a storage (memory 210 or a separate computer-readable recording medium) of the electronic device 110. [ This reference color arrangement information may include information on the color arrangement according to the number of bits of the reference pixel format.

단계(430)에서 픽셀포맷 결정부(330)는 로딩된 이미지의 색상값과 로딩된 기준 컬러 배열 정보간의 비교를 통해 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정할 수 있다. 예를 들어, 픽셀포맷 결정부(330)는 기준 컬러 배열 정보의 컬러 배열에서의 색상값과 로딩된 이미지의 색상값을 비교하여 로딩된 이미지의 픽셀포맷을 결정할 수 있다. 이때, 전자 기기(110)는 결정된 픽셀포맷으로 로딩된 이미지에 대한 텍스처를 생성하여 로딩된 이미지를 렌더링할 수 있고, 화면에 표시할 수 있다.In step 430, the pixel format determination unit 330 may determine the pixel format for texture generation of the loaded image through comparison between the color value of the loaded image and the loaded reference color arrangement information. For example, the pixel format determination unit 330 may determine the pixel format of the loaded image by comparing the color value in the color arrangement of the reference color arrangement information with the color value of the loaded image. At this time, the electronic device 110 can generate a texture for the loaded image in the determined pixel format, render the loaded image, and display it on the screen.

보다 구체적인 예로, 기존에는 렌더링시에 각 이미지들의 픽셀포맷이 16 비트 또는 32 비트 등으로 미리 구분되어 바인딩되었다. 그러나 16 비트로 충분히 표현 가능한 이미지를 32 비트로 렌더링하는 경우 메모리와 같은 자원의 낭비가 발생한다. 반면 본 실시예에서는 미리 구분된 픽셀포맷을 이용하는 것이 아니라 이미지의 색상값을 분석하여 기준이 되는 픽셀포맷에 따른 컬러 배열과 비교하여 픽셀포맷을 결정함으로써 로딩된 이미지의 픽셀포맷을 동적으로 결정하여 뷰 바인딩하는 것이 가능해진다.As a more specific example, the pixel format of each image is previously bound to 16-bit or 32-bit, etc. at the time of rendering. However, when rendering an image that is sufficiently expressible with 16 bits to 32 bits, a waste of resources such as memory occurs. In the present embodiment, the pixel format of the loaded image is dynamically determined by determining the pixel format by comparing the color value of the image with the color arrangement based on the reference pixel format instead of using the pre-classified pixel format, It becomes possible to bind.

보다 구체적인 실시예로, 기준 컬러 배열 정보는 기준이 되는 픽셀포맷의 비트수에 따른 컬러 배열 이미지를 포함할 수 있다. 이 경우 픽셀포맷 결정부(330)는 단계(430)에서 컬러 배열 이미지의 색상값의 색상 분포와 로딩된 이미지의 색상값의 색상 분포를 비교하여 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정할 수 있다. 예를 들어, 로딩된 이미지의 색상값의 색상 분포가 컬러 배열 이미지의 색상값의 색상 분포를 일정 기준 이상 벗어나는 경우, 기준이 되는 픽셀포맷의 비트수보다 더 높은 비트수의 픽셀포맷이 필요함을 알 수 있다. 이 경우, 픽셀포맷 결정부(330)는 기준이 되는 픽셀포맷의 비트수(일례로 16 비트)보다 더 높은 비트수(일례로 32 비트)의 픽셀포맷을 로딩된 이미지의 픽셀포맷으로 결정할 수 있다.In a more specific embodiment, the reference color array information may comprise a color array image according to the number of bits of the reference pixel format. In this case, the pixel format determination unit 330 may determine the pixel format for texture generation of the loaded image by comparing the color distribution of the color value of the loaded image with the color distribution of the color value of the color array image in step 430 have. For example, if the color distribution of the color values of the loaded image deviates from the color distribution of the color values of the color array image by more than a certain standard, a pixel format with a bit number higher than the number of bits of the reference pixel format is required . In this case, the pixel format determination unit 330 may determine the pixel format of the loaded image to be a pixel format having a higher number of bits (for example, 32 bits) than the number of bits of the reference pixel format .

전자 기기(110)가 안드로이드 운영체제를 포함하고 기준 컬러 배열 정보로 16비트 컬러 배열 이미지가 활용된다고 가정하자. 픽셀포맷 결정부(330)는 로딩된 이미지의 색상값의 색상 분포가 컬러 배열 이미지의 색상값의 색상 분포를 일정 기준 이상 벗어나는 경우에는 32 비트의 RGBA8888로 로딩된 이미지의 픽셀포맷을 결정할 수 있다. 만약 로딩된 이미지의 색상값의 색상 분포가 컬러 배열 이미지의 색상값의 색상 분포를 일정 기준 이상 벗어나지 않는 경우, 픽셀포맷 결정부(330)는 16 비트의 RGB565로 로딩된 이미지의 픽셀포맷을 결정할 수 있다. 동일한 16 비트의 픽셀포맷이라 해도 투명도를 나타내는 알파(alpha) 값이 존재하는지 여부에 따라 서로 다른 픽셀포맷을 가질 수도 있다. 일례로 알파 값이 없는 이미지에 대해서는 RGB565가 적용될 수 있고, 알파 값이 존재하는 이미지에 대해서는 RGBA4444가 적용될 수 있다. 이때 로딩된 이미지에 대한 텍스처는 결정된 픽셀포맷으로 생성될 수 있다.Assume that the electronic device 110 includes the Android operating system and a 16-bit color array image is utilized as reference color array information. The pixel format determining unit 330 can determine the pixel format of the image loaded with 32 bits RGBA8888 when the color distribution of the color value of the loaded image is out of the color distribution of the color value of the color arrangement image by more than a certain standard. If the color distribution of the color values of the loaded image does not deviate from the color distribution of the color values of the color array image by more than a certain standard, the pixel format determination unit 330 can determine the pixel format of the image loaded with 16-bit RGB565 have. Even if the same 16-bit pixel format is used, different pixel formats may be used depending on whether or not an alpha value indicating transparency exists. For example, RGB565 can be applied to images without alpha values, and RGBA4444 can be applied to images with alpha values. At this time, the texture for the loaded image can be generated in the determined pixel format.

이처럼 이미 구분된 픽셀포맷을 이용하는 것이 아니라 이미지를 로딩하여 렌더링하는 타이밍에 색체분포를 분석하여 로딩된 이미지의 픽셀포맷을 결정함으로써 불필요한 자원의 낭비를 막을 수 있다.The pixel format of the loaded image is determined by analyzing the color distribution at the timing of loading and rendering the image instead of using the pixel format which is already divided, thereby avoiding waste of unnecessary resources.

전자 기기(110)에 설치되는 어플리케이션은 일실시예로 로딩된 이미지를 이용하여 게임 서비스를 제공하는 게임 엔진을 포함할 수 있다. 게임 서비스를 제공하는 실시예에서 어플리케이션은 게임 엔진을 통해 결정된 픽셀포맷으로 로딩된 이미지를 렌더링하도록 전자 기기(110)를 제어할 수 있다.The application installed in the electronic device 110 may include a game engine that provides a game service using the loaded image in one embodiment. In an embodiment that provides game services, the application may control the electronic device 110 to render the loaded image in a pixel format determined via the game engine.

또한, 다른 실시예로, 픽셀포맷 결정부(330)는 도 3에 도시된 3차원 색상 분포도 생성부(331), 차이값 계산부(332) 및 결정부(333)를 포함하도록 구현될 수도 있다. 이 경우, 3차원 색상 분포도 생성부(331), 차이값 계산부(332) 및 결정부(333)는 렌더링 방법의 단계(430)가 선택적으로 더 포함할 수 있는 도 5의 단계들(510 내지 530)를 메모리(210)가 포함하는 운영체제와 적어도 하나의 프로그램 코드를 통해 실행하도록 구현될 수 있다.Further, in another embodiment, the pixel format determination unit 330 may be implemented to include the three-dimensional color distribution diagram generation unit 331, the difference value calculation unit 332, and the determination unit 333 shown in FIG. 3 . In this case, the three-dimensional color distribution diagram generation unit 331, the difference value calculation unit 332, and the determination unit 333 may be configured to perform the steps of steps 510 - 530) via at least one program code with an operating system that includes the memory 210. [

도 5는 본 발명의 일실시예에 있어서, 픽셀포맷 결정 방법의 예를 도시한 흐름도이다. 5 is a flowchart illustrating an example of a pixel format determination method in an embodiment of the present invention.

단계(510)에서 3차원 색상 분포도 생성부(331)는 컬러 배열 이미지의 각 픽셀의 색상값인 제1 RGB(Red Green Blue) 값의 3차원 색상 분포도를 생성할 수 있다. 이때, 3차원 색상 분포도의 각 축은 RGB의 각 색상에 대응될 수 있다. 예를 들어 3차원 색상 분포도의 X축은 레드(Red) 색상에, Y축은 그린(Green) 색상에, Z축은 블루(Blue) 색상에 각각 대응될 수 있고, 하나의 픽셀의 색상값은 3차원 색상 분포도에서 하나의 점으로 표현될 수 있다. 이때 컬러 배열 이미지의 모든 픽셀들의 색상값인 제1 RGB 값들을 3차원 영역에 표시함으로써 3차원 색상 분포도가 생성될 수 있다.In step 510, the three-dimensional color distribution diagram generation unit 331 may generate a three-dimensional color distribution diagram of a first RGB (Red Green Blue) value that is a color value of each pixel of the color arrangement image. At this time, each axis of the three-dimensional color distribution diagram may correspond to each color of RGB. For example, the X-axis of the three-dimensional color map may correspond to a red color, the Y-axis may correspond to a green color, and the Z-axis may correspond to a blue color, It can be expressed as a single point in the distribution diagram. At this time, a three-dimensional color distribution diagram can be generated by displaying the first RGB values, which are the color values of all the pixels in the color array image, in the three-dimensional region.

단계(520)에서 차이값 계산부(332)는 로딩된 이미지의 각 픽셀의 제2 RGB 값을 3차원 색상 분포도에 적용하여 제2 RGB 값과 3차원 색상 분포도와의 차이값을 3차원 색상 분포도를 벗어나는 픽셀들에 대해 계산할 수 있다. 일례로, 차이값은, 제2 RGB 값이 3차원 색상 분포도에서 나타내는 점과 3차원 색상 분포도에서 제1 RGB 값이 나타내는 점 중 가장 가까운 점간의 거리 차이를 통해 계산될 수 있다.In step 520, the difference value calculator 332 applies the second RGB values of each pixel of the loaded image to the three-dimensional color distribution map to calculate the difference value between the second RGB value and the three- &Lt; / RTI &gt; For example, the difference value may be calculated through a distance difference between a point indicated by the second RGB value in the three-dimensional color distribution diagram and a point nearest to the point indicated by the first RGB value in the three-dimensional color distribution chart.

단계(530)에서 결정부(333)는 차이값을 이용하여 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정할 수 있다. 일례로, 결정부(333)는 단계(530)에서 계산된 차이값의 표준편차가 기설정된 값 이상인 경우 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 기준이 되는 픽셀포맷의 비트수보다 더 큰 비트수의 픽셀포맷으로 결정하고, 표준편차가 상기 기설정된 값 미만인 경우 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 기준이 되는 픽셀포맷의 비트수와 동일하거나 더 작은 비트수의 픽셀포맷으로 결정할 수 있다. 표준편차가 0에 가까울수록 기준이 되는 픽셀포맷의 비트수의 색상을 벗어나는 색상이 많지 않다는 것을 의미할 수 있기 때문에 결정부(333)는 표준편차의 값에 따라 로딩된 이미지를 위한 픽셀포맷을 결정할 수 있다.In step 530, the determination unit 333 may use the difference value to determine the pixel format for texture generation of the loaded image. For example, when the standard deviation of the difference value calculated in step 530 is equal to or greater than a preset value, the determination unit 333 determines whether the pixel format for texture generation of the loaded image is a bit larger than the number of bits of the pixel format Pixel format and may determine the pixel format for texture generation of the loaded image to be a pixel format with a number of bits equal to or less than the number of bits of the pixel format based on the standard deviation if the standard deviation is less than the preset value . The closer to zero the standard deviation may mean that there is not much color outside the color of the bit number of the reference pixel format, the determination unit 333 determines the pixel format for the loaded image according to the value of the standard deviation .

렌더링 방법은 앞서 설명한 단계들 외에도 실시예에 따라 선택적으로 픽셀포맷이 결정된 로딩된 이미지에 대한 식별정보를 결정된 픽셀포맷과 서로 연관하여 캐쉬에 저장하는 단계(미도시)를 더 포함할 수 있다. 이러한 미도시 단계는 프로세서(220)가 더 포함할 수 있는 저장부(미도시)에 의해 수행될 수 있다. 캐쉬는 일례로 메모리(210)상에 구현될 수 있다. 이때 로딩된 이미지가 재로딩되는 경우, 로딩된 이미지의 픽셀포맷이 캐쉬에 로딩된 이미지의 식별정보와 연관하여 저장된 픽셀포맷으로 결정될 수 있다. 다시 말해, 한 번 픽셀포맷이 결정된 이미지에 대해서는 캐쉬에 해당 이미지와 연관하여 저장된 픽셀포맷으로 렌더링이 처리될 수 있어 픽셀포맷을 결정하는 과정을 스킵하고 바로 텍스처를 생성하도록 할 수 있다.The rendering method may further include a step (not shown) of storing the identification information on the loaded image, in which the pixel format is determined according to the embodiment, in association with the determined pixel format in the cache in addition to the steps described above. This unpublished step may be performed by a storage (not shown) that the processor 220 may further include. The cache may be implemented on memory 210 as an example. At this time, when the loaded image is reloaded, the pixel format of the loaded image can be determined in the pixel format stored in association with the identification information of the image loaded in the cache. In other words, once an image has been determined to have a pixel format, the rendering can be processed in the cache in a pixel format stored in association with the image, thereby skipping the process of determining the pixel format and creating the texture immediately.

도 6은 본 발명의 일실시예에 있어서 3차원 공간의 예를 나타낸 도면이다. 도 6의 3차원 좌표계(600)는 레드(Red) 색상에, Y축은 그린(Green) 색상에, Z축은 블루(Blue) 색상에 각각 대응하도록 구성된 좌표계를 나타내고 있다.6 is a diagram showing an example of a three-dimensional space in an embodiment of the present invention. The three-dimensional coordinate system 600 of FIG. 6 shows a coordinate system configured to correspond to a red color, a Y axis, and a Z axis, respectively.

16 비트의 픽셀포맷을 기준으로 하는 컬러 배열 이미지에서 하나의 제1 픽셀에 대한 색상값인 RGB 값은 3차원 좌표계(600)상에서 (x, y, z)의 좌표를 갖는 하나의 제1 점(610)으로 표현될 수 있다. 여기서, x, y, z는 제1 픽셀의 R 값, G 값, B 값에 각각 대응할 수 있다.An RGB value as a color value for one first pixel in a color array image based on a 16-bit pixel format is converted to a first point ((x, y, z) 610). Here, x, y, and z may correspond to R, G, and B values of the first pixel, respectively.

이처럼 컬러 배열 이미지의 모든 픽셀에 대한 RGB 값들을 3차원 좌표계(600)상에 점으로 표시하는 경우 3차원 형태의 색 분포도인 3차원 색상 분포도가 생성될 수 있다.When the RGB values of all the pixels in the color array image are displayed on the three-dimensional coordinate system 600 as dots, a three-dimensional color distribution diagram that is a three-dimensional color distribution diagram can be generated.

로딩된 이미지를 이러한 3차원 색상 분포도에 적용할 때, 로딩된 이미지가 16 비트의 픽셀포맷으로 표현할 수 있는 이미지인 경우 픽셀의 픽셀값들은 대부분 3차원 색상 분포도의 내부에 포함될 것이다. 따라서 이러한 3차원 색상 분포도의 범위를 벗어나는 색상값들이 기준 이상으로 많다면, 해당 이미지는 16 비트로 표현하기 어렵다는 것을 알 수 있다. 이 경우에는 32 비트와 같이 더 높은 비트수의 픽셀포맷으로 로딩된 이미지의 픽셀포맷을 결정할 수 있다.When applying the loaded image to this three dimensional color map, the pixel values of the pixel will most likely be included inside the three dimensional color map if the loaded image is an image that can be represented in a 16 bit pixel format. Therefore, if the color values exceeding the range of the three-dimensional color distribution map are larger than the reference value, it can be understood that the image is difficult to be expressed by 16 bits. In this case, it is possible to determine the pixel format of the image loaded with a higher number of bits of the pixel format, such as 32 bits.

일례로, 로딩된 이미지의 하나의 제2 픽셀에 대한 색상값인 RGB 값도 3차원 좌표계(600)에서 (x', y', z')의 좌표를 갖는 하나의 제2 점(620)으로 표현될 수 있다.For example, the RGB value, which is the color value for one second pixel of the loaded image, is also referred to as a second point 620 with coordinates of (x ', y', z ') in the three dimensional coordinate system 600 Can be expressed.

제2 점(620)이 3차원 색상 분포도의 범위를 벗어나고, 제2 점(620)에서 가장 가까운 3차원 색상 분포도의 점이 제1 점(610)이라 가정할 때, 앞서 설명한 차이값 계산부(332)는 제2 점(620)과 제1 점(610) 사이의 거리(630)의 값을 차이값으로 계산할 수 있다.Assuming that the second point 620 is out of the range of the three-dimensional color distribution diagram and that the point of the three-dimensional color distribution diagram closest to the second point 620 is the first point 610, the difference value calculator 332 May calculate the value of the distance 630 between the second point 620 and the first point 610 as a difference value.

이때, 로딩된 이미지의 모든 제2 픽셀들 중 3차원 색상 분포도의 범위를 벗어나는 제2 픽셀들에 대해 차이값이 계산될 수 있고, 앞서 설명한 바와 같이 이러한 차이값들의 표준편차를 통해 로딩된 이미지를 16 비트의 픽셀포맷으로 렌더링을 할 것인지 또는 32 비트와 같이 16 비트보다 더 높은 비트수의 픽셀포맷으로 렌더링을 할 것인지가 결정될 수 있다.At this time, the difference value can be calculated for the second pixels out of the range of the three-dimensional color distribution diagram of all the second pixels of the loaded image, and as described above, Whether to render in a 16-bit pixel format or in a pixel format with a higher number of bits than 16 bits, such as 32 bits, can be determined.

이처럼 본 발명의 실시예들에 따르면, 파일이미지를 로드하여 렌더링하는 경우 로딩된 이미지를 최적화된 픽셀포맷으로 텍스처 전환할 수 있다.As described above, according to the embodiments of the present invention, when a file image is loaded and rendered, the loaded image can be textured into an optimized pixel format.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (7)

컴퓨터로 구현되는 렌더링 방법에 있어서,
전자 기기에서 구동되는 어플리케이션의 제어에 따라 상기 전자 기기의 메모리에 이미지를 로딩하는 단계;
상기 전자 기기에서 상기 어플리케이션의 제어에 따라, 네트워크를 통해 다운로드되거나 또는 상기 전자 기기에서 생성되어 저장된 기준 컬러 배열 정보를 상기 메모리에 로딩하는 단계; 및
상기 전자 기기에서 상기 로딩된 이미지의 색상값과 상기 로딩된 기준 컬러 배열 정보간의 비교를 통해 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 단계
를 포함하고,
상기 기준 컬러 배열 정보는, 기준이 되는 픽셀포맷의 비트수에 따른 컬러 배열 이미지를 포함하고,
상기 픽셀포맷을 결정하는 단계는,
상기 컬러 배열 이미지가 포함하는 픽셀들의 색상값들에 대한 제1 색상 분포와 상기 로딩된 이미지가 포함하는 픽셀들의 색상값들에 대한 제2 색상 분포를 비교하여 상기 제1 색상 분포 및 상기 제2 색상 분포의 차이에 따라, 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을, 상기 기준이 되는 픽셀포맷의 비트수와 동일한 제1 픽셀포맷, 상기 기준이 되는 픽셀포맷의 비트수보다 더 작은 비트수의 제2 픽셀포맷 및 상기 기준이 되는 픽셀포맷의 비트수보다 더 큰 비트수의 제3 픽셀포맷 중 어느 하나로 동적으로 결정하는 것을 특징으로 하는 컴퓨터로 구현되는 렌더링 방법.
In a computer-implemented rendering method,
Loading an image into a memory of the electronic device in accordance with control of an application driven in the electronic device;
Loading the reference color arrangement information downloaded via the network or generated and stored in the electronic device into the memory according to the control of the application in the electronic device; And
Determining a pixel format for texture generation of the loaded image through comparison between the color value of the loaded image and the loaded reference color arrangement information at the electronic device
Lt; / RTI &gt;
Wherein the reference color arrangement information includes a color arrangement image according to the number of bits of a reference pixel format,
Wherein determining the pixel format comprises:
Comparing the first color distribution for the color values of the pixels included in the color array image and the second color distribution for the color values of the pixels included in the loaded image to determine the first color distribution and the second color A pixel format for texture generation of the loaded image is divided into a first pixel format that is equal to the number of bits of the reference pixel format and a second pixel format that is smaller than the bit number of the reference pixel format A second pixel format and a third pixel format with a bit number greater than the number of bits in the reference pixel format.
제1항에 있어서,
상기 픽셀포맷을 결정하는 단계는,
상기 컬러 배열 이미지의 각 픽셀의 색상값인 제1 RGB(Red Green Blue) 값의 3차원 색상 분포도를 생성하는 단계 - 상기 3차원 색상 분포도의 각 축은 RGB의 각 색상에 대응됨 -;
상기 로딩된 이미지의 각 픽셀의 제2 RGB 값을 상기 3차원 색상 분포도에 적용하여 상기 제2 RGB 값과 상기 3차원 색상 분포도와의 차이값을 상기 3차원 색상 분포도를 벗어나는 픽셀들에 대해 계산하는 단계; 및
상기 차이값을 이용하여 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 단계
를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 렌더링 방법.
The method according to claim 1,
Wherein determining the pixel format comprises:
Generating a three-dimensional color distribution diagram of a first RGB (Red Green Blue) value that is a color value of each pixel of the color array image, wherein each axis of the three-dimensional color distribution map corresponds to each color of RGB;
Applying a second RGB value of each pixel of the loaded image to the three-dimensional color distribution map to calculate a difference value between the second RGB value and the three-dimensional color distribution map for pixels that deviate from the three- step; And
Determining a pixel format for texture generation of the loaded image using the difference value
The rendering method comprising the steps of:
제1항에 있어서,
상기 어플리케이션은, 상기 로딩된 이미지를 이용하여 게임 서비스를 제공하는 게임 엔진을 포함하고, 상기 게임 엔진을 통해 상기 결정된 픽셀포맷으로 상기 로딩된 이미지를 렌더링하도록 상기 전자 기기를 제어하는 것을 특징으로 하는 컴퓨터로 구현되는 렌더링 방법.
The method according to claim 1,
Wherein the application includes a game engine that provides a game service using the loaded image and controls the electronic device to render the loaded image in the determined pixel format through the game engine. . &Lt; / RTI &gt;
제1항 내지 제3항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium having recorded therein a program for executing the method according to any one of claims 1 to 3. 하나 이상의 프로세서들 및 메모리를 포함하는 시스템에 있어서,
상기 하나 이상의 프로세서들은,
구동되는 어플리케이션의 제어에 따라 상기 메모리에 이미지를 로딩하는 이미지 로딩부;
상기 어플리케이션의 제어에 따라, 네트워크를 통해 다운로드되거나 또는 상기 하나 이상의 프로세서들을 통해 생성되어 저장된 기준 컬러 배열 정보를 상기 메모리에 로딩하는 기준 컬러 배열 정보 로딩부; 및
상기 로딩된 이미지의 색상값과 상기 로딩된 기준 컬러 배열 정보간의 비교를 통해 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 픽셀포맷 결정부
를 포함하고,
상기 기준 컬러 배열 정보는, 기준이 되는 픽셀포맷의 비트수에 따른 컬러 배열 이미지를 포함하고,
상기 픽셀포맷 결정부는,
상기 컬러 배열 이미지가 포함하는 픽셀들의 색상값들에 대한 제1 색상 분포와 상기 로딩된 이미지가 포함하는 픽셀들의 색상값들에 대한 제2 색상 분포를 비교하여 상기 제1 색상 분포 및 상기 제2 색상 분포의 차이에 따라, 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을, 상기 기준이 되는 픽셀포맷의 비트수와 동일한 제1 픽셀포맷, 상기 기준이 되는 픽셀포맷의 비트수보다 더 작은 비트수의 제2 픽셀포맷 및 상기 기준이 되는 픽셀포맷의 비트수보다 더 큰 비트수의 제3 픽셀포맷 중 어느 하나로 동적으로 결정하는 것을 특징으로 하는 시스템.
A system comprising one or more processors and a memory,
The one or more processors,
An image loading unit for loading an image into the memory according to control of an application to be driven;
A reference color array information loading unit that loads reference color array information stored in the memory, downloaded through a network or generated through the one or more processors according to the control of the application; And
Determining a pixel format for texture generation of the loaded image through comparison between the color value of the loaded image and the loaded reference color arrangement information,
Lt; / RTI &gt;
Wherein the reference color arrangement information includes a color arrangement image according to the number of bits of a reference pixel format,
Wherein the pixel format determination unit determines,
Comparing the first color distribution for the color values of the pixels included in the color array image and the second color distribution for the color values of the pixels included in the loaded image to determine the first color distribution and the second color A pixel format for texture generation of the loaded image is divided into a first pixel format that is equal to the number of bits of the reference pixel format and a second pixel format that is smaller than the bit number of the reference pixel format A second pixel format and a third pixel format with a bit number greater than the number of bits of the reference pixel format.
제5항에 있어서,
상기 픽셀포맷 결정부는,
상기 컬러 배열 이미지의 각 픽셀의 색상값인 제1 RGB(Red Green Blue) 값의 3차원 색상 분포도를 생성하는 3차원 색상 분포도 생성부 - 상기 3차원 색상 분포도의 각 축은 RGB의 각 색상에 대응됨 -;
상기 로딩된 이미지의 각 픽셀의 제2 RGB 값을 상기 3차원 색상 분포도에 적용하여 상기 제2 RGB 값과 상기 3차원 색상 분포도와의 차이값을 상기 3차원 색상 분포도를 벗어나는 픽셀들에 대해 계산하는 차이값 계산부; 및
상기 차이값을 이용하여 상기 로딩된 이미지의 텍스처 생성을 위한 픽셀포맷을 결정하는 결정부
를 포함하는 것을 특징으로 하는 시스템.
6. The method of claim 5,
Wherein the pixel format determination unit determines,
A three-dimensional color distribution diagram generation unit for generating a three-dimensional color distribution diagram of a first RGB (Red Green Blue) value that is a color value of each pixel of the color arrangement image, each axis of the three-dimensional color distribution diagram corresponding to each color of RGB -;
Applying a second RGB value of each pixel of the loaded image to the three-dimensional color distribution map to calculate a difference value between the second RGB value and the three-dimensional color distribution map for pixels that deviate from the three- A difference value calculation unit; And
Determining a pixel format for texture generation of the loaded image using the difference value,
&Lt; / RTI &gt;
제5항에 있어서,
상기 어플리케이션은, 상기 로딩된 이미지를 이용하여 게임 서비스를 제공하는 게임 엔진을 포함하고, 상기 게임 엔진을 통해 상기 결정된 픽셀포맷으로 상기 로딩된 이미지를 렌더링하도록 상기 하나 이상의 프로세서들을 제어하는 것을 특징으로 하는 시스템.
6. The method of claim 5,
Wherein the application includes a game engine that provides a game service using the loaded image and controls the one or more processors to render the loaded image in the determined pixel format through the game engine system.
KR1020170010964A 2017-01-24 2017-01-24 System and method for image view binding optimization KR101823818B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170010964A KR101823818B1 (en) 2017-01-24 2017-01-24 System and method for image view binding optimization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170010964A KR101823818B1 (en) 2017-01-24 2017-01-24 System and method for image view binding optimization

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150076045A Division KR101701294B1 (en) 2015-05-29 2015-05-29 System and method for image view binding optimization

Publications (2)

Publication Number Publication Date
KR20170015407A KR20170015407A (en) 2017-02-08
KR101823818B1 true KR101823818B1 (en) 2018-01-30

Family

ID=58155210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170010964A KR101823818B1 (en) 2017-01-24 2017-01-24 System and method for image view binding optimization

Country Status (1)

Country Link
KR (1) KR101823818B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063594A (en) 2000-08-23 2002-02-28 Nintendo Co Ltd Graphics system with copy out conversion between embedded frame buffer and main memory
JP2002230580A (en) 2000-08-23 2002-08-16 Nintendo Co Ltd Graphics system including integrated frame buffer having reconstructible pixel format

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063594A (en) 2000-08-23 2002-02-28 Nintendo Co Ltd Graphics system with copy out conversion between embedded frame buffer and main memory
JP2002230580A (en) 2000-08-23 2002-08-16 Nintendo Co Ltd Graphics system including integrated frame buffer having reconstructible pixel format

Also Published As

Publication number Publication date
KR20170015407A (en) 2017-02-08

Similar Documents

Publication Publication Date Title
KR101701294B1 (en) System and method for image view binding optimization
US10026211B2 (en) Hardware-accelerated graphics for web applications using native code modules
US8339399B2 (en) Declustering point-of-interest icons
US10026147B1 (en) Graphics scenegraph rendering for web applications using native code modules
US8675000B2 (en) Command buffers for web-based graphics rendering
US20110167364A1 (en) Methods and apparatuses for improving application startup
CN1329870C (en) Block-based rotation of arbitrary-shaped images
KR20170097360A (en) Method and system for extending function of package file
US9569813B2 (en) Method and apparatus for tile-based rendering
JP6170690B2 (en) Rendering apparatus and method thereof
CN112230923A (en) User interface rendering method, user interface rendering device and server
US10664943B2 (en) Compound shader object and use thereof
KR20210003931A (en) Data processing method and apparatus, and related product
KR101814897B1 (en) Method and system for protecting file
CN112419430B (en) Animation playing method and device and computer equipment
JP2023525725A (en) Data compression method and apparatus
KR101823818B1 (en) System and method for image view binding optimization
US11748911B2 (en) Shader function based pixel count determination
US20200004533A1 (en) High performance expression evaluator unit
KR20180004065A (en) Method and system for protecting file
US11403831B1 (en) Efficient color theming of background images in web-based mixed reality environments
KR20170045742A (en) Method and system for overlay control
CN117654029A (en) Virtual scene display method, device, medium and electronic equipment
CN114281456A (en) Application window display method, computing device and storage medium
CN117528171A (en) Bullet screen display method, bullet screen display device, electronic equipment, storage medium and program product

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant