WO2018143502A1 - 데이터 포맷 변환 방법 - Google Patents

데이터 포맷 변환 방법 Download PDF

Info

Publication number
WO2018143502A1
WO2018143502A1 PCT/KR2017/001518 KR2017001518W WO2018143502A1 WO 2018143502 A1 WO2018143502 A1 WO 2018143502A1 KR 2017001518 W KR2017001518 W KR 2017001518W WO 2018143502 A1 WO2018143502 A1 WO 2018143502A1
Authority
WO
WIPO (PCT)
Prior art keywords
texture
data
canvas
function provided
storing
Prior art date
Application number
PCT/KR2017/001518
Other languages
English (en)
French (fr)
Inventor
김성일
김용훈
Original Assignee
(주)볼트마이크로
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)볼트마이크로 filed Critical (주)볼트마이크로
Publication of WO2018143502A1 publication Critical patent/WO2018143502A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles

Definitions

  • the present invention relates to a method capable of converting a data format at high speed, and more particularly, data capable of converting image data, such as a bitmap image, into texture data at high speed in a mobile device. It relates to a format conversion method.
  • Open GL ES is a subset of OpenGL, a three-dimensional computer graphics application program interface (API) defined by the Khronos Group. It is an API for embedded terminals such as mobile phones and PDAs. On Android, support for OpenGL ES 1.0 / 1.1 was added in version 1.0, and support for OpenGL ES 3.1 was added in version 5.0. OpenGL ES provides a variety of APIs for drawing points, lines, and faces in pixels. OpenGL ES provides glTexImage2D as an API to convert bitmap images into texture data. Using this API, bitmap images can be converted into texture data, loaded into GPU memory, and edited through various APIs provided to OpenGL ES.
  • API computer graphics application program interface
  • glTexImage2D an image texture conversion API provided by OpenGL ES, generally takes about 100ms to convert 720p (1280x720) images. This is a level that can convert only up to 10 images per second, and considering the additional time due to image processing such as transformation and compositing after conversion, there is a problem that real-time processing of data is impossible when a large number of images per second such as a camera image occurs. .
  • the Android control provided by the Android system draws image data on a canvas so that the image is displayed on the user's screen.
  • Android system does not provide the function to convert image data provided by Android control to texture data. Accordingly, in order to change image data such as image data provided by the Android control into texture data, a method of capturing the image data, generating a bitmap image, and converting the image data into texture data using the glTexImage2D function is used. As such, for the same reason as described above, there is a problem in that real-time processing of data is impossible when a large image is generated in this manner.
  • An object of the present invention is to provide a data format conversion method capable of converting image data, such as a bitmap image, into a texture data at high speed in a mobile.
  • a data format conversion method capable of converting image data into texture data at high speed in a mobile device for achieving the above object is an object provided by Android.
  • a canvas, a surface, a surfacetexture, and a texture are generated, using the functions provided by the canvas, drawing the image data on the surface and the surface.
  • the drawing is completed, converting the data drawn on the surface into the texture data by using a function provided by the surface texture, and storing the texture data.
  • the drawing may include drawing the image data on the surface by using a function provided by the canvas and storing the drawn data in a buffer queue, and storing the data in the texture.
  • the method may include converting data stored in the buffer queue into the texture data and storing the texture data in the texture.
  • the drawing may include drawing the image data on the surface using at least one function of drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, and drawText provided by the canvas. .
  • the storing of the texture may include generating an onFrameAvailable event when the drawing is completed on the surface and using the updateTexImage function provided by the surface texture when the onFrameAvailable event occurs. Converting the data into the texture and storing the data in the texture.
  • the generating may include generating the texture, the surface texture, the surface, and the canvas in order.
  • the generating may include generating the texture by using a glGenTextures function provided by an OpenGL Open Graphic Library for Embedded System (ESG) library, generating the surface texture with reference to the generated texture, and the surface texture.
  • the method may include generating the surface with reference to and returning the canvas by calling lockCanvas among functions provided by the surface.
  • the texture may be a space in which the texture data is stored in a GPU memory area.
  • a data format conversion method capable of converting image data to texture data at high speed in a mobile device. Creating a canvas, a surface, a surface texture and a texture, and drawing the image data on the canvas and the surface using a function provided by an Android control. And when the drawing is completed, converting the drawn data into the texture data by using a function provided by the surface texture and storing the drawn data in the texture.
  • the drawing may include calling a function provided by the canvas using a function provided by the Android control and drawing the image data on the surface by using a function provided by the called canvas.
  • Storing the drawn data in a buffer queue, and storing the drawn data in the texture may be performed by converting data stored in the buffer queue into the texture data using a function provided by the surface texture. It may be a step of storing.
  • the drawing may include calling at least one of drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, and drawText provided by the canvas using an onDraw function provided by the Android control; And drawing the image data on the surface using at least one function called from among functions provided by the canvas.
  • Image data can be converted into texture data at high speed so that it can be inserted into or edited in an image.
  • FIG. 1 is a diagram illustrating objects used in a data format conversion method according to an embodiment of the inventive concept.
  • FIG. 2 is a flowchart illustrating a method of converting image data into texture data using the objects of FIG. 1.
  • FIG. 3 is a diagram illustrating objects used in a data format conversion method according to another exemplary embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method of converting image data into texture data using the objects of FIG. 3.
  • FIG. 1 illustrates objects 100 used in a data format conversion method according to an embodiment of the inventive concept
  • FIG. 2 illustrates image data using the objects of FIG. 1.
  • a flowchart illustrating a method of converting data into texture data.
  • the present invention provides a canvas 110 and a surface among objects provided by Android in order to convert image data such as a bitmap image into the texture data at high speed in a mobile.
  • (Surface) 120, Surface Texture 130, and Texture 140 may be used.
  • the canvas 110 is an object that provides various functions for drawing by hardware acceleration.
  • the canvas 110 may be used for various drawing operations such as dots, lines, circles, and rectangles, and may also draw the bitmap image. That is, image data such as the bitmap image may be drawn on the surface 120 using a function provided by the canvas 110.
  • the image data may be drawn on the surface 120 using at least one function of drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, and drawText provided by the canvas 110.
  • drawBitmap function draws the bitmap image of the address on the surface 120 using the address of the bitmap image stored in the memory.
  • a drawLine function may be used.
  • the image data may be drawn as it is on the surface 120 using the necessary functions among the above functions, or the image data may be modified and drawn on the surface 120.
  • the above functions are exemplary and not necessarily only such functions may be used.
  • the surface 120 is an interface that performs an input role among the input and output portions of the surface texture 130.
  • the surface 120 may be generated depending on the surface texture 130, and serves as a kind of handle in which the surface texture 130 directly accesses the buffer queue 125.
  • Drawing the image data on the surface 120 means the same as that of the drawn data is stored in the buffer queue 125. That is, data drawn on the surface 120 using the function provided by the canvas 110 may be stored in the buffer queue 125.
  • the buffer queue 125 is a memory space for storing graphic data defined in the Android system, and stores and transmits various graphic data to be displayed on the screen.
  • Surface 120 serves as a type of entry point that allows an application to access buffer queue 125.
  • the surface texture 130 is an object that converts data input to the surface 120 into a texture data format and outputs the converted texture 140 to the texture 140.
  • the surface texture 130 may not be simply generated independently.
  • the surface texture 130 may be generated by first generating a texture 140 as an output part and then passing the ID of the generated texture 140.
  • an onFrameAvailable event is generated and delivered to an application (an application using the surface texture 130) when the drawing is finished. Since the application receives the onFrameAvailable event, it means that the data storage is completed in the buffer queue 125, so the surface texture 130 calls the updateTexImage function to convert the data stored in the buffer queue 125 into the texture data. Can be.
  • the texture 140 may be a space in which the texture data is stored in a GPU memory area. Before transforming or compositing an image through the OpenGL ES library, it is necessary to convert the texture data into an image type that can be used by the GPU. The converted texture data is stored in the texture 140.
  • the application of the canvas 110, surface 120, surface texture 130 of the objects provided by Android And texture 140 may be generated (S210).
  • the texture 140 may be generated first, and then, in the order of the surface texture 130, the surface 120, and the canvas 110.
  • a texture 140 may be first generated using the glGenTextures function provided by the OpenGL ES library, and a surface texture 130 may be generated with reference to the generated texture 140.
  • the surface 120 may be generated with reference to the generated surface texture 130, and the canvas 110 may be returned by calling lockCanvas among functions provided by the surface 120.
  • the application may draw the image data on the surface 120 using a function provided by the canvas 110 (S220).
  • the image data may be a bitmap image.
  • the application draws the image data on the surface 120 as it is using a function provided by the canvas 110 or deforms the image data by using a function provided by the canvas 110 to the surface 120. You can also draw on.
  • the drawing of the image data on the surface 120 means the same as that of the image data stored in the buffer queue 125. That is, the application may store the image data drawn on the surface 120 in the buffer queue 125 using a function provided by the canvas 110.
  • the drawing data may be converted into the texture data and stored in the texture 140 (S240). That is, the application may convert the data stored in the buffer queue 125 into the texture data using the function provided by the surface texture 130 and store the data in the texture 140. For example, when storage of the drawn data is completed in the buffer queue 125 in step S230, an onFrameAvailable event is generated, and when the onFrameAvailable event occurs, the application uses an updateTexImage function provided by the surface texture 130. Data drawn on the surface 120 may be converted into the texture data and stored in the texture 140.
  • FIG. 3 is a diagram illustrating objects 300 used in a data format conversion method according to another embodiment of the inventive concept
  • FIG. 4 is a view illustrating image data using the objects of FIG. 3.
  • a flowchart illustrating a method of converting image data into texture data.
  • the present invention is a method for converting image data into texture data at high speed in a mobile, and a method for converting image data provided by the Android control 305 into the texture data at high speed.
  • the present invention may use a canvas 310, a surface 320, a surface texture 330, and a texture 340 among objects provided by Android. have.
  • the canvas 310, surface 320, surface texture 330, and texture 340 of FIG. 3 are the same objects as the canvas 110, surface 120, surface texture 130, and texture 140 of FIG. 1. Therefore, the overlapping description will be replaced with the description related to the embodiment of FIGS. 1 and 2.
  • the Android control 305 is a module that can collect and display content (data) from a server (not shown), and refers to a module having an independent function implemented to interact with a user when a smartphone app is executed.
  • the Android control 305 may provide various image data.
  • the Android control 305 may provide various image data such as a button image, a web image, a text image, a progress bar image, and the like.
  • the Android control 305 may provide the caption as image data so that the received content is displayed on the screen in the form of a caption flowing through the received content.
  • the Android control 305 may provide a button image as image data or image data obtained by adding an image to the background of the button.
  • the image data in order to display the image data output by the Android control 305 on the screen, the image data is captured and converted into texture data, and then a caption or image is inserted into the image. There was no problem.
  • the image data can be converted into the texture data at high speed by applying the same method as described below, so that video editing such as subtitles or images can be inserted in real time broadcasting.
  • a texture 340 may be generated (S410).
  • the texture 340 may be generated first, followed by the surface texture 330, the surface 320, and the canvas 310.
  • a texture 340 may be first generated using the glGenTextures function provided by the OpenGL ES library, and the surface texture 330 may be generated with reference to the generated texture 340.
  • the surface 320 may be generated with reference to the generated surface texture 330, and the canvas 310 may be returned by calling lockCanvas among functions provided by the surface 320.
  • the application may draw image data provided by the Android control 305 on the canvas 310 and the surface 320 using a function provided by the Android control 305. That is, the application may call a function provided by the canvas 310 by using a function provided by the Android control 305 (S420). For example, the application may call a function provided by the canvas 310 using the onDraw function provided by the Android control 305.
  • the function provided by the canvas 310 may be at least one function of drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, and drawText, as described with reference to FIGS. 1 and 2, but is not limited thereto. It may be another function.
  • the image data may be drawn on the surface 320 by using a function provided by the called canvas 310 (S430). Drawing the image data on the surface 320 has the same meaning as the image data is stored in the buffer queue 325. That is, the application may store the image data drawn on the surface 320 in the buffer queue 325 using a function provided by the canvas 310.
  • the drawing data may be converted into the texture data and stored in the texture 340 (S450). That is, the application may convert data stored in the buffer queue 325 into the texture data by using a function provided by the surface texture 330 and store the data in the texture 340. For example, when storage of the drawn data in the buffer queue 325 is completed in step S440, an onFrameAvailable event is generated, and when the onFrameAvailable event occurs, the application uses an updateTexImage function provided by a surface texture 330. Data drawn on the surface 320 may be converted into the texture data and stored in the texture 340.
  • step S420 is performed after step S410, but the present invention is not necessarily in this order, and step S410 may be performed only before drawing the image data on a surface.
  • the order of steps S410 and S420 may be reversed, and when the application for real time broadcasting is executed, the step S410 is performed, or when the onDraw function is called from the Android control 305, the step S410 is performed. In step S410 may be performed.
  • image data can be converted into texture data at a high speed as compared with the conventional glTexImage2D function, and thus a large amount of data such as a camera image can be processed in real time.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

모바일에서 이미지데이터(image data)를 텍스처데이터(texture data)로 고속으로 변환할 수 있는 데이터 포맷 변환 방법이 개시된다. 상기 데이터 포맷 변환 방법은, 안드로이드에서 제공하는 객체(object)들 중 캔버스(Canvas), 서피스(Surface), 서피스텍스처(SurfaceTexture) 및 텍스처(Texture)를 생성하는 단계, 상기 캔버스에서 제공하는 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하는 단계 및 상기 서피스에 드로잉이 완료되면, 상기 서피스텍스처에서 제공하는 함수를 이용하여, 상기 서피스에 드로잉된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계를 포함할 수 있다.

Description

데이터 포맷 변환 방법
본 발명은 고속으로 데이터 포맷을 변환할 수 있는 방법에 관한 것으로, 특히 모바일에서 비트맵이미지(bitmap image) 등의 이미지데이터(image data)를 텍스처데이터(texture data)로 고속으로 변환할 수 있는 데이터 포맷 변환 방법에 관한 것이다.
안드로이드 시스템에서 대용량의 비트맵이미지 등의 이미지데이터를 고속으로 변형하거나 합성하기 위해서는 하드웨어 가속 처리가 필요하다. 안드로이드 시스템에서는 OpenGL ES (Open Graphic Library for Embedded System) 라이브러리를 통해 하드웨어 가속 처리를 지원하는데, 해당 라이브러리로 비트맵이미지 등의 이미지데이터를 제어하기 위해서는 OpenGL ES 가 사용하는 텍스처(texture)라는 포맷의 데이터(이하 '텍스처데이터'라고 한다)로 변환해주는 작업이 선 진행되어야 한다.
Open GL ES는 크로노스 그룹(Khronos Group)이 정의한 3차원 컴퓨터 그래픽 API(Application Program Interface)인 OpenGL의 서브셋으로, 휴대전화, PDA등과 같은 임베디드 단말을 위한 API이다. 안드로이드에서는 1.0 버전에서 OpenGL ES 1.0/1.1 버전의 지원이 추가된 것을 시작으로, 5.0 버전에 들어서 OpenGL ES 3.1 까지 지원이 확장되었다. OpenGL ES에서는 픽셀단위의 점, 선, 면 등을 드로잉할 수 있는 다양한 API를 제공하고 있다. OpenGL ES에서는 비트맵이미지를 텍스처데이터로 변경하는 API로 glTexImage2D 를 제공하고 있다. 이 API를 사용해 비트맵이미지를 텍스처데이터로 변경하여 GPU메모리에 로드시킨 후 OpenGL ES 에 제공하는 다양한 API를 통해 편집할 수 있다.
그러나, OpenGL ES에서 제공하는 이미지 텍스처 변환 API 인 glTexImage2D 는 일반적으로 720p (1280x720) 이미지를 변환하는데 약 100ms 가 소요된다. 이는 초당 최대 10장의 이미지만 변환 가능한 수준으로, 변환 후 변형, 합성 등 이미지 프로세싱에 따른 추가 시간을 고려하면 카메라 영상과 같이 초당 수 십장의 대용량 이미지가 발생하는 경우 데이터의 실시간 처리가 불가능한 문제가 있다.
또한, 안드로이드 시스템에서 제공하는 안드로이드 컨트롤은 이미지데이터를 캔버스에 드로잉하면 사용자가 보는 화면에 바로 이미지가 표시되게 된다. 그러나 안드로이드 컨트롤에서 제공하는 이미지데이터를 텍스처데이터로 변환하는 기능을 안드로이드 시스템에서는 제공하고 있지 않고 있다. 따라서 종래에는 상기 안드로이드 컨트롤에서 제공하는 이미지데이터 등과 같은 이미지데이터를 텍스처데이터로 변화하기 위해서는, 상기 이미지데이터를 캡처하여 비트맵이미지를 생성한 후 glTexImage2D 함수를 이용하여 텍스처데이터로 변환하는 방식을 사용하고 있었으므로, 앞서 설명한 것과 동일한 이유로 이러한 방식으로는 대용량 이미지가 발생하는 경우 데이터의 실시간 처리가 불가능한 문제가 있다.
본 발명이 해결하고자 하는 과제는 모바일에서 비트맵이미지(bitmap image) 등의 이미지데이터(image data)를 텍스처데이터(texture data)로 고속으로 변환할 수 있는 데이터 포맷 변환 방법을 제공하는데 있다.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 모바일에서 이미지데이터(image data) 를 텍스처데이터(texture data)로 고속으로 변환할 수 있는 데이터 포맷 변환 방법은, 안드로이드에서 제공하는 객체(object)들 중 캔버스(Canvas), 서피스(Surface), 서피스텍스처(SurfaceTexture) 및 텍스처(Texture)를 생성하는 단계, 상기 캔버스에서 제공하는 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하는 단계 및 상기 서피스에 드로잉이 완료되면, 상기 서피스텍스처에서 제공하는 함수를 이용하여, 상기 서피스에 드로잉된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계를 포함할 수 있다.
상기 드로잉하는 단계는 상기 캔버스에서 제공하는 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하여 버퍼큐(BufferQueue)에 상기 드로잉되는 데이터를 저장하는 단계이고, 상기 텍스처에 저장하는 단계는 상기 서피스텍스처에서 제공하는 함수를 이용하여, 상기 버퍼큐에 저장된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계일 수 있다.
상기 드로잉하는 단계는, 상기 캔버스에서 제공하는 drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, drawText 중 적어도 하나의 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하는 단계일 수 있다.
상기 텍스처에 저장하는 단계는, 상기 서피스에 드로잉이 완료되면 onFrameAvailable 이벤트가 발생되는 단계 및 상기 onFrameAvailable 이벤트를 발생하면, 상기 서피스텍스처에서 제공하는 updateTexImage 함수를 이용하여, 상기 서피스에 드로잉된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계를 포함할 수 있다.
상기 생성하는 단계는, 상기 텍스처, 상기 서피스텍스처, 상기 서피스 및 상기 캔버스의 순서대로 생성하는 단계일 수 있다.
상기 생성하는 단계는, OpenGL ES(Open Graphic Library for Embedded System) 라이브러리가 제공하는 glGenTextures 함수를 이용하여 상기 텍스처를 생성하는 단계, 상기 생성된 텍스처를 참조하여 상기 서피스텍스처를 생성하는 단계, 상기 서피스텍스처를 참조하여 상기 서피스를 생성하는 단계 및 상기 서피스에서 제공하는 함수 중 lockCanvas를 호출하여 상기 캔버스를 반환하는 단계를 포함할 수 있다.
상기 텍스처는 GPU 메모리 영역 내에 상기 텍스처데이터가 저장되는 공간일 수 있다.
상기 과제를 달성하기 위한 본 발명의 다른 일 실시예에 따른 모바일에서 이미지데이터(image data)를 텍스처데이터(texture data)로 고속으로 변환할 수 있는 데이터 포맷 변환 방법은, 안드로이드에서 제공하는 객체(object)들 중 캔버스(Canvas), 서피스(Surface), 서피스텍스처(SurfaceTexture) 및 텍스처(Texture)를 생성하는 단계, 안드로이드 컨트롤에서 제공하는 함수를 이용하여 상기 이미지데이터를 상기 캔버스 및 상기 서피스에 드로잉하는 단계 및 상기 드로잉이 완료되면, 상기 서피스텍스처에서 제공하는 함수를 이용하여, 상기 드로잉된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계를 포함할 수 있다.
상기 드로잉하는 단계는, 상기 안드로이드 컨트롤에서 제공하는 함수를 이용하여 상기 캔버스에서 제공하는 함수가 호출되는 단계 및 상기 호출된 캔버스에서 제공하는 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하여 버퍼큐(BufferQueue)에 상기 드로잉되는 데이터를 저장하는 단계를 포함하고, 상기 텍스처에 저장하는 단계는 상기 서피스텍스처에서 제공하는 함수를 이용하여, 상기 버퍼큐에 저장된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계일 수 있다.
상기 드로잉하는 단계는, 상기 안드로이드 컨트롤에서 제공하는 onDraw 함수를 이용하여 상기 캔버스에서 제공하는 drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, drawText 중 적어도 하나의 함수가 호출되는 단계; 및 상기 캔버스에서 제공하는 함수들 중 호출된 적어도 하나의 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하는 단계를 포함할 수 있다.
본 발명의 기술적 사상에 의한 일 실시예에 따른 데이터 포맷 변환 방법을 이용하는 경우 720p 이미지를 변환하는데 약 20 ms의 시간이 소요되어 종래의 OpenGL ES에서 제공하는 glTexImage2D를 사용하는 경우에 비하여 약 5배정도 빠른 처리가 가능한 장점이 있다. 일반적으로, 720p 이상의 해상도에서 대용량이미지의 실시간 처리가 가능하기 위해서는 초당 30프레임 이상의 고속 변환이 가능하여야 하는데, 종래기술을 적용하는 경우 초당 10프레임 정도의 변환만 가능하므로 영상을 실시간으로 처리할 수 없었으나 본 발명을 적용하는 경우 초당 50프레임까지도 고속 변환이 가능하므로 영상과 같은 대용량이미지의 실시간 처리가 가능한 장점이 있다. 마찬가지로 종래기술과 같이 이미지데이터를 캡쳐하여 텍스처데이터로 변환하여 영상에 자막이나 이미지 등을 삽입하는 경우 앞서 살펴본 것과 동일하게 고속 변환이 불가능하므로 실시간 영상편집이 어려운 문제가 있었으나, 본 발명을 적용하는 경우 고속으로 이미지데이터를 텍스처데이터로 변환하여 영상에 삽입하거나 편집을 할 수 있으므로 실시간으로 영상 편집이 가능한 장점이 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 기술적 사상에 의한 일 실시예에 따른 데이터 포맷 변환 방법에 사용되는 객체들을 도시한 도면이다.
도 2는 도 1의 객체들을 이용하여 이미지데이터를 텍스처데이터로 변환하는 방법을 도시한 흐름도이다.
도 3은 본 발명의 기술적 사상에 의한 다른 일 실시예에 따른 데이터 포맷 변환 방법에 사용되는 객체들을 도시한 도면이다.
도 4는 도 3의 객체들을 이용하여 이미지데이터를 텍스처데이터로 변환하는 방법을 도시한 흐름도이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 기술적 사상에 의한 일 실시예에 따른 데이터 포맷 변환 방법에 사용되는 객체(object)들(100)을 도시한 도면이고, 도 2는 도 1의 객체들을 이용하여 이미지데이터(image data)를 텍스처데이터(texture data)로 변환하는 방법을 도시한 흐름도이다.
도 1 및 도 2를 참조하면, 본 발명은 모바일에서 비트맵이미지 등의 이미지데이터를 상기 텍스처데이터로 고속으로 변환하기 위하여 안드로이드(android)에서 제공하는 객체들 중 캔버스(Canvas)(110), 서피스(Surface)(120), 서피스텍스처(SurfaceTexture) (130) 및 텍스처(Texture)(140)를 이용할 수 있다.
캔버스(110)는 하드웨어 가속(hardware acceleration)을 통해 그리기 작업을 할 수 있는 다양한 함수를 제공하는 객체이다. 캔버스(110)는 점, 선, 원, 사각형 등 다양한 그리기 작업이 가능하고, 상기 비트맵이미지의 드로잉도 가능하다. 즉, 캔버스(110)에서 제공하는 함수를 이용하여 상기 비트맵이미지 등의 이미지데이터를 서피스(120)에 드로잉할 수 있다. 캔버스(110)에서 제공하는 drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, drawText 중 적어도 하나의 함수를 이용하여 상기 이미지데이터를 서피스(120)에 드로잉할 수 있다. 예를 들어, drawBitmap 함수는 메모리에 저장되어 있는 상기 비트맵이미지의 주소를 이용하여 상기 주소의 비트맵이미지를 서피스(120)에 드로잉하게 된다. 다른 예로, 상기 이미지데이터를 서피스(120)에 드로잉하면서 선을 추가하고자 하는 경우, drawLine 함수를 이용할 수 있다. 이와 같이 상기 함수들 중 필요한 함수를 이용하여 상기 이미지데이터를 그대로 서피스(120)에 드로잉하거나 상기 이미지데이터를 변형하여 서피스(120)에 드로잉할 수 있다. 다만, 상기 함수들은 예시적인 것이며 반드시 이와 같은 함수만 사용하여야 하는 것은 아니고 다른 다양한 함수를 이용할 수도 있다.
서피스(120)는 서피스텍스처(130)의 입력과 출력 부분 중 입력 역할을 수행하는 인터페이스이다. 서피스(120)는 서피스텍스처(130)에 의존적으로 생성될 수 있으며, 서피스텍스처(130)가 버퍼큐(125)에 직접 접근할 수 있는 일종의 핸들(handle) 역할을 맡게 된다. 서피스(120)에 상기 이미지데이터를 드로잉한다는 것은 상기 드로잉되는 데이터가 버퍼큐(125)에 저장된다는 것과 동일한 의미이다. 즉, 캔버스(110)에서 제공하는 함수를 이용하여 서피스(120)에 드로잉되는 데이터가 버퍼큐(125)에 저장될 수 있다. 버퍼큐(125)는 안드로이드 시스템에 정의되어 있는 그래픽데이터 저장을 위한 메모리 공간으로, 화면에 보여지기 위한 각종 그래픽데이터들을 저장한 후 전송하는 역할을 수행한다. 서피스(120)는 어플리케이션이 버퍼큐(125)에 접근할 수 있게 해주는 일종의 진입점 역할을 수행한다.
서피스텍스처(130)는 서피스(120)로 입력받은 데이터를 텍스처데이터 포맷으로 변환하여 텍스처(140)로 출력하는 변환작업을 수행하는 객체이다. 서피스텍스처(130)는 단순하게 독립적으로 생성할 수는 없으며, 출력부분이 되는 텍스처(140)를 먼저 생성한 후 생성된 텍스처(140)의 ID를 넘겨주는 방식으로 생성이 가능하다. 서피스(120)에 드로잉이 진행되면 드로잉되는 데이터가 버퍼큐(125)에 저장되게 되고, 드로잉이 종료되는 시점에 onFrameAvailable 이벤트가 발생되어 어플리케이션(서피스텍스처(130)를 사용하는 어플리케이션)에 전달된다. 상기 어플리케이션이 onFrameAvailable 이벤트를 수신하였다는 것은 버퍼큐(125)에 데이터 저장이 완료되었다는 의미이므로, 서피스텍스처(130)는 updateTexImage 함수를 호출하여 버퍼큐(125)에 저장된 데이터를 상기 텍스처데이터로 변환할 수 있다.
텍스처(140)는 GPU 메모리 영역 내에 상기 텍스처데이터가 저장되는 공간일 수 있다. OpenGL ES 라이브러리를 통해 이미지를 변형하거나 합성하려면 먼저 GPU가 사용할 수 있는 이미지 타입인 텍스처데이터로 변환을 하여야 하는데, 이와 같이 변환된 텍스처데이터가 텍스처(140)에 저장된다.
이하에서는 도 1 및 도 2를 참조하여, 이미지데이터가 텍스처데이터로 고속 변환되는 과정을 순차적으로 설명한다.
상기 어플리케이션이 실행되거나 상기 어플리케이션에서 데이터(내부카메라 영상, 외부카메라 영상 등)를 처리하고자 하는 경우, 상기 어플리케이션은 안드로이드에서 제공하는 객체들 중 캔버스(110), 서피스(120), 서피스텍스처(130) 및 텍스처(140)를 생성할 수 있다(S210). S210 단계는, 텍스처(140)가 먼저 생성되고 다음으로 서피스텍스처(130), 서피스(120) 및 캔버스(110)의 순서로 생성될 수 있다. 예를 들어, S210 단계는, 먼저 OpenGL ES 라이브러리가 제공하는 glGenTextures 함수를 이용하여 텍스처(140)가 생성되고, 상기 생성된 텍스처(140)를 참조하여 서피스텍스처(130)가 생성될 수 있다. 다음으로, 상기 생성된 서피스텍스처(130)를 참조하여 서피스(120)가 생성되고, 서피스(120)에서 제공하는 함수 중 lockCanvas를 호출하여 캔버스(110)가 반환될 수 있다.
이와 같이 상기 객체들이 생성되었으면, 상기 어플리케이션은 캔버스(110)에서 제공하는 함수를 이용하여 상기 이미지데이터를 서피스(120)에 드로잉할 수 있다(S220). 예를 들어, 모바일과 연결된 외부카메라에서 촬영한 영상 또는 상기 모바일의 내장카메라로 촬영한 영상인 경우 상기 이미지데이터는 비트맵이미지일 수 있다. 또한, 상기 어플리케이션은 캔버스(110)에서 제공하는 함수를 이용하여 상기 이미지데이터를 그대로 서피스(120)에 드로잉하거나 또는 캔버스(110)에서 제공하는 함수를 이용하여 상기 이미지데이터를 변형하여 서피스(120)에 드로잉할 수도 있다. 앞서 설명한 것과 같이 상기 이미지데이터를 서피스(120)에 드로잉한다는 의미는 상기 이미지데이터가 버퍼큐(125)에 저장된다는 것과 동일한 의미이다. 즉, 상기 어플리케이션은 캔버스(110)에서 제공하는 함수를 이용하여 서피스(120)에 드로잉되는 상기 이미지데이터를 버퍼큐(125)에 저장할 수 있다.
버퍼큐(125)에 상기 드로잉되는 데이터의 저장이 완료되는지 판단하여(S230), 상기 드로잉되는 데이터의 저장이 완료되면 상기 어플리케이션은 서피스텍스처(130)에서 제공하는 함수를 이용하여 서피스(120)에 드로잉된 데이터를 상기 텍스처데이터로 변환하여 텍스처(140)에 저장할 수 있다(S240). 즉, 상기 어플리케이션은 서피스텍스처(130)에서 제공하는 함수를 이용하여 버퍼큐(125)에 저장된 데이터를 상기 텍스처데이터로 변환하여 텍스처(140)에 저장할 수 있다. 예를 들어, S230 단계에서 버퍼큐(125)에 상기 드로잉되는 데이터의 저장이 완료되면 onFrameAvailable 이벤트가 발생되고, 상기 onFrameAvailable 이벤트가 발생되면 상기 어플리케이션은 서피스텍스처(130)에서 제공하는 updateTexImage 함수를 이용하여 서피스(120)에 드로잉된 데이터를 상기 텍스처데이터로 변환하여 텍스처(140)에 저장할 수 있다.
도 3은 본 발명의 기술적 사상에 의한 다른 일 실시예에 따른 데이터 포맷 변환 방법에 사용되는 객체(object)들(300)을 도시한 도면이고, 도 4는 도 3의 객체들을 이용하여 이미지데이터(image data)를 텍스처데이터(texture data)로 변환하는 방법을 도시한 흐름도이다.
도 1 내지 도 4를 참조하면, 본 발명은 모바일에서 이미지데이터를 텍스처데이터로 고속으로 변환하기 위한 방법으로, 안드로이드 컨트롤(305)에서 제공하는 이미지데이터를 상기 텍스처데이터로 고속 변환하기 위한 방법이다. 이를 위하여 본 발명은 안드로이드(android)에서 제공하는 객체들 중 캔버스(Canvas)(310), 서피스(Surface)(320), 서피스텍스처(SurfaceTexture)(330) 및 텍스처(Texture)(340)를 이용할 수 있다. 도 3의 캔버스(310), 서피스(320), 서피스텍스처(330) 및 텍스처(340)는 도 1의 캔버스(110), 서피스(120), 서피스텍스처(130) 및 텍스처(140)와 동일한 객체이므로, 이하 중복되는 설명은 도 1 및 도 2의 실시예와 관련된 설명으로 대체한다.
안드로이드 컨트롤(305)은 서버(미도시)로부터 컨텐츠(데이터)를 수집하여 보여줄 수 있는 모듈로써, 스마트폰 앱을 실행했을 때 사용자와 상호 작용할 수 있도록 구현된 독립적인 기능을 하는 모듈을 의미한다. 안드로이드 컨트롤(305)은 다양한 이미지데이터를 제공할 수 있으며, 예를 들어 버튼이미지, 웹이미지, 텍스트이미지, 프로그레스바 이미지 등 다양한 이미지데이터를 제공할 수 있다. 예를 들어, 상기 서버로부터 날씨에 관한 컨텐츠를 수신한 경우, 안드로이드 컨트롤(305)은 상기 수신된 컨텐츠를 흘러가는 자막과 같은 형태로 화면에 표시하도록 상기 자막을 이미지데이터로 제공할 수 있다. 다른 예로, 안드로이드 컨트롤(305)은 버튼이미지를 이미지데이터로 제공하거나 또는 상기 버튼의 배경에 이미지를 추가한 이미지데이터를 제공할 수 있다. 종래에는 이와 같이 안드로이드 컨트롤(305)이 출력되는 이미지데이터를 화면에 표시하기 위해서는 상기 이미지데이터를 캡쳐하여 텍스처데이터로 변환한 후 영상에 자막이나 이미지를 삽입하는 방식을 사용하였으므로 실시간 방송 등에는 사용할 수 없는 문제가 있었다. 그러나 본 발명을 적용하는 경우 이하에서 설명하는 것과 같은 방식을 적용함으로써 고속으로 상기 이미지데이터를 상기 텍스처데이터로 변환할 수 있어, 실시간 방송 등에 자막이나 이미지를 삽입하는 영상편집이 가능하다.
이하에서는 도 3 및 도 4를 참조하여, 이미지데이터가 텍스처데이터로 고속 변환되는 과정을 순차적으로 설명한다.
상기 어플리케이션이 실행되거나 상기 어플리케이션에서 데이터(내부카메라 영상, 외부카메라 영상 등)를 처리하고자 하는 경우, 상기 어플리케이션은 안드로이드에서 제공하는 객체들 중 캔버스(310), 서피스(320), 서피스텍스처(330) 및 텍스처(340)를 생성할 수 있다(S410). S410 단계는 도 2의 S210 단계와 관련하여 설명한 것처럼, 텍스처(340)가 먼저 생성되고 다음으로 서피스텍스처(330), 서피스(320) 및 캔버스(310)의 순서로 생성될 수 있다. 예를 들어, S410 단계는, 먼저 OpenGL ES 라이브러리가 제공하는 glGenTextures 함수를 이용하여 텍스처(340)가 생성되고, 상기 생성된 텍스처(340)를 참조하여 서피스텍스처(330)가 생성될 수 있다. 다음으로, 상기 생성된 서피스텍스처(330)를 참조하여 서피스(320)가 생성되고, 서피스 (320)에서 제공하는 함수 중 lockCanvas를 호출하여 캔버스(310)가 반환될 수 있다.
상기 어플리케이션은 안드로이드 컨트롤(305)에서 제공하는 함수를 이용하여 안드로이드 컨트롤(305)에서 제공하는 이미지데이터를 캔버스(310) 및 서피스(320)에 드로잉할 수 있다. 즉, 상기 어플리케이션은 안드로이드 컨트롤(305)에서 제공하는 함수를 이용하여 캔버스(310)에서 제공하는 함수를 호출할 수 있다(S420). 예를 들어, 상기 어플리케이션은 안드로이드 컨트롤(305)에서 제공하는 onDraw 함수를 이용하여 캔버스(310)에서 제공하는 함수를 호출할 수 있다. 캔버스(310)에서 제공하는 함수는 도 1 및 도 2와 관련하여 설명한 것과 같이 drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, drawText 중 적어도 하나의 함수일 수 있으나, 이에 한정되는 것은 아니며 다른 함수일 수도 있다. 그리고, 상기 호출된 캔버스(310)에서 제공하는 함수를 이용하여, 상기 이미지데이터가 서피스(320)에 드로잉될 수 있다(S430). 상기 이미지데이터를 서피스(320)에 드로잉한다는 의미는 상기 이미지데이터가 버퍼큐(325)에 저장된다는 것과 동일한 의미이다. 즉, 상기 어플리케이션은 캔버스(310)에서 제공하는 함수를 이용하여 서피스(320)에 드로잉되는 상기 이미지데이터를 버퍼큐(325)에 저장할 수 있다.
버퍼큐(325)에 상기 드로잉되는 데이터의 저장이 완료되는지 판단하여(S440), 상기 드로잉되는 데이터의 저장이 완료되면 상기 어플리케이션은 서피스텍스처(330)에서 제공하는 함수를 이용하여 서피스(320)에 드로잉된 데이터를 상기 텍스처데이터로 변환하여 텍스처(340)에 저장할 수 있다(S450). 즉, 상기 어플리케이션은 서피스텍스처(330)에서 제공하는 함수를 이용하여 버퍼큐(325)에 저장된 데이터를 상기 텍스처데이터로 변환하여 텍스처(340)에 저장할 수 있다. 예를 들어, S440 단계에서 버퍼큐(325)에 상기 드로잉되는 데이터의 저장이 완료되면 onFrameAvailable 이벤트가 발생되고, 상기 onFrameAvailable 이벤트가 발생되면 상기 어플리케이션은 서피스텍스처(330)에서 제공하는 updateTexImage 함수를 이용하여 서피스(320)에 드로잉된 데이터를 상기 텍스처데이터로 변환하여 텍스처(340)에 저장할 수 있다.
도 4에서는 S410 단계를 수행한 후 S420 단계를 수행하는 것으로 도시되어 있으나, 본 발명이 반드시 이와 같은 순서이어야 하는 것은 아니며 상기 이미지데이터를 서피스에 드로잉하기 전에만 S410 단계가 수행되면 된다. 예를 들어, S410 단계와 S420 단계의 순서가 반대로 될 수도 있고, 실시간 방송을 위한 어플리케이션이 실행되는 경우 S410 단계가 수행되거나 안드로이드 컨트롤(305)에서 onDraw 함수를 호출하는 경우 S410 단계가 수행되는 등 다양한 단계에서 S410 단계가 수행될 수 있다.
이상과 같은 동작을 통하여 종래 glTexImage2D 함수를 사용하는 경우에 비하여 이미지데이터를 텍스처데이터로 고속으로 변환할 수 있으므로, 카메라 영상과 같은 대용량데이터를 실시간으로 처리할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (11)

  1. 모바일에서 이미지데이터(image data)를 텍스처데이터(texture data)로 고속으로 변환할 수 있는 데이터 포맷 변환 방법에 있어서,
    안드로이드에서 제공하는 객체(object)들 중 캔버스(Canvas), 서피스(Surface), 서피스텍스처(SurfaceTexture) 및 텍스처(Texture)를 생성하는 단계;
    상기 캔버스에서 제공하는 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하는 단계; 및
    상기 서피스에 드로잉이 완료되면, 상기 서피스텍스처에서 제공하는 함수를 이용하여, 상기 서피스에 드로잉된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 포맷 변환 방법.
  2. 제1항에 있어서, 상기 드로잉하는 단계는,
    상기 캔버스에서 제공하는 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하여 버퍼큐(BufferQueue)에 상기 드로잉되는 데이터를 저장하는 단계이고,
    상기 텍스처에 저장하는 단계는,
    상기 서피스텍스처에서 제공하는 함수를 이용하여, 상기 버퍼큐에 저장된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계인 것을 특징으로 하는 데이터 포맷 변환 방법.
  3. 제1항에 있어서, 상기 드로잉하는 단계는,
    상기 캔버스에서 제공하는 drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, drawText 중 적어도 하나의 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하는 단계인 것을 특징으로 하는 데이터 포맷 변환 방법.
  4. 제1항에 있어서, 상기 텍스처에 저장하는 단계는,
    상기 서피스에 드로잉이 완료되면 onFrameAvailable 이벤트가 발생되는 단계; 및
    상기 onFrameAvailable 이벤트가 발생되면, 상기 서피스텍스처에서 제공하는 updateTexImage 함수를 이용하여, 상기 서피스에 드로잉된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 포맷 변환 방법.
  5. 제1항에 있어서, 상기 생성하는 단계는,
    상기 텍스처, 상기 서피스텍스처, 상기 서피스 및 상기 캔버스의 순서대로 생성하는 단계인 것을 특징으로 하는 데이터 포맷 변환 방법.
  6. 제1항에 있어서, 상기 생성하는 단계는,
    OpenGL ES(Open Graphic Library for Embedded System) 라이브러리가 제공하는 glGenTextures 함수를 이용하여 상기 텍스처를 생성하는 단계;
    상기 생성된 텍스처를 참조하여 상기 서피스텍스처를 생성하는 단계;
    상기 서피스텍스처를 참조하여 상기 서피스를 생성하는 단계; 및
    상기 서피스에서 제공하는 함수 중 lockCanvas를 호출하여 상기 캔버스를 반환하는 단계를 포함하는 것을 특징으로 하는 데이터 포맷 변환 방법.
  7. 제1항에 있어서,
    상기 텍스처는 GPU 메모리 영역 내에 상기 텍스처데이터가 저장되는 공간인 것을 특징으로 하는 데이터 포맷 변환 방법.
  8. 모바일에서 이미지데이터(image data)를 텍스처데이터(texture data)로 고속으로 변환할 수 있는 데이터 포맷 변환 방법에 있어서,
    안드로이드에서 제공하는 객체(object)들 중 캔버스(Canvas), 서피스(Surface), 서피스텍스처(SurfaceTexture) 및 텍스처(Texture)를 생성하는 단계;
    안드로이드 컨트롤에서 제공하는 함수를 이용하여 상기 이미지데이터를 상기 캔버스 및 상기 서피스에 드로잉하는 단계; 및
    상기 드로잉이 완료되면, 상기 서피스텍스처에서 제공하는 함수를 이용하여, 상기 드로잉된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 포맷 변환 방법.
  9. 제8항에 있어서, 상기 드로잉하는 단계는,
    상기 안드로이드 컨트롤에서 제공하는 함수를 이용하여 상기 캔버스에서 제공하는 함수가 호출되는 단계; 및
    상기 호출된 캔버스에서 제공하는 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하여 버퍼큐(BufferQueue)에 상기 드로잉되는 데이터를 저장하는 단계를 포함하고,
    상기 텍스처에 저장하는 단계는,
    상기 서피스텍스처에서 제공하는 함수를 이용하여, 상기 버퍼큐에 저장된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계인 것을 특징으로 하는 데이터 포맷 변환 방법.
  10. 제8항에 있어서, 상기 드로잉하는 단계는,
    상기 안드로이드 컨트롤에서 제공하는 onDraw 함수를 이용하여 상기 캔버스에서 제공하는 drawArc, drawBitmap, drawCircle, drawColor, drawLine, drawPath, drawPoint, drawRect, drawText 중 적어도 하나의 함수가 호출되는 단계; 및
    상기 캔버스에서 제공하는 함수들 중 호출된 적어도 하나의 함수를 이용하여, 상기 이미지데이터를 상기 서피스에 드로잉하는 단계를 포함하는 것을 특징으로 하는 데이터 포맷 변환 방법.
  11. 제8항에 있어서, 상기 텍스처에 저장하는 단계는,
    상기 드로잉이 완료되면 onFrameAvailable 이벤트가 발생되는 단계; 및
    상기 onFrameAvailable 이벤트가 발생되면, 상기 서피스텍스처에서 제공하는 updateTexImage 함수를 이용하여, 상기 드로잉된 데이터를 상기 텍스처데이터로 변환하여 상기 텍스처에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 포맷 변환 방법.
PCT/KR2017/001518 2017-02-06 2017-02-13 데이터 포맷 변환 방법 WO2018143502A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0016390 2017-02-06
KR20170016390 2017-02-06

Publications (1)

Publication Number Publication Date
WO2018143502A1 true WO2018143502A1 (ko) 2018-08-09

Family

ID=63038803

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/001518 WO2018143502A1 (ko) 2017-02-06 2017-02-13 데이터 포맷 변환 방법

Country Status (2)

Country Link
US (1) US20180225846A1 (ko)
WO (1) WO2018143502A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019075702A1 (en) * 2017-10-19 2019-04-25 Tencent Technology (Shenzhen) Company Limited METHODS AND SYSTEMS FOR PROCESSING GRAPHICS
CN111614906B (zh) * 2020-05-29 2022-02-22 阿波罗智联(北京)科技有限公司 一种图像预处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970049863U (ko) * 1996-01-19 1997-08-12 양수펌프의 냉각장치
KR20090049871A (ko) * 2007-11-14 2009-05-19 (주)이스트소프트 게시판 서비스 제공 장치 및 방법
KR100955463B1 (ko) * 2009-10-22 2010-04-29 주식회사 넥서스칩스 3차원 스케일링 방식을 이용한 이미지변환모듈을 구비한 모바일단말 및 이를 이용한 이미지변환방법
KR20140133807A (ko) * 2013-03-07 2014-11-20 후아웨이 테크놀러지 컴퍼니 리미티드 드로잉 방법, 장치, 및 단말
JP5997664B2 (ja) * 2013-06-14 2016-09-28 株式会社ジオ技術研究所 テクスチャ画像データの生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970049863U (ko) * 1996-01-19 1997-08-12 양수펌프의 냉각장치
KR20090049871A (ko) * 2007-11-14 2009-05-19 (주)이스트소프트 게시판 서비스 제공 장치 및 방법
KR100955463B1 (ko) * 2009-10-22 2010-04-29 주식회사 넥서스칩스 3차원 스케일링 방식을 이용한 이미지변환모듈을 구비한 모바일단말 및 이를 이용한 이미지변환방법
KR20140133807A (ko) * 2013-03-07 2014-11-20 후아웨이 테크놀러지 컴퍼니 리미티드 드로잉 방법, 장치, 및 단말
JP5997664B2 (ja) * 2013-06-14 2016-09-28 株式会社ジオ技術研究所 テクスチャ画像データの生成方法

Also Published As

Publication number Publication date
US20180225846A1 (en) 2018-08-09

Similar Documents

Publication Publication Date Title
CN105597321B (zh) 一种全屏游戏状态下的弹幕显示方法与系统
US11678024B2 (en) Subtitle information display method and apparatus, and electronic device, and computer readable medium
CN110795097B (zh) 一种页面处理方法、装置、计算机设备以及存储介质
CN113515396A (zh) 图形渲染方法、装置、电子设备与存储介质
CN104902193A (zh) 一种基于fpga对图像数据进行分割处理和显示的方法
WO2018143502A1 (ko) 데이터 포맷 변환 방법
CN109168027B (zh) 即时视频展示方法、装置、终端设备及存储介质
CN112835730A (zh) 图像存储、内存分配、图像合成方法、装置、设备及介质
CN112804460A (zh) 基于虚拟摄像头的图像处理方法、装置、存储介质及电子设备
CN115665342A (zh) 图像处理方法、图像处理电路、电子设备和可读存储介质
CN108924624B (zh) 信息处理方法和装置
CN114089896A (zh) 一种渲染图像截取方法及装置
CN114339412A (zh) 视频质量增强方法、移动终端、存储介质及装置
CN112614210A (zh) 工程图纸显示方法、系统及相关装置
CN113038108A (zh) 图像格式转换方法、装置、设备及存储介质
CN107908455B (zh) 一种浏览器页面的切换方法和切换系统
EP4434596A1 (en) Special effect optimization method and apparatus, and storage medium and program product
CN112100121A (zh) 计算装置、计算设备以及可编程调度方法
CN107231561A (zh) 一种图像数据传输方法、移动终端及存储装置
CN110582021A (zh) 信息处理方法及装置、电子设备和存储介质
CN113836455B (zh) 特效渲染方法、装置、设备、存储介质及计算机程序产品
CN106648634A (zh) 一种屏幕截屏的方法及装置
CN108683842B (zh) 一种全景相机及输出全景视频的方法和装置
CN115700484A (zh) 渲染方法、装置、设备和存储介质
CN112929682A (zh) 对图像背景进行透明处理的方法、装置、系统及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17894807

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17894807

Country of ref document: EP

Kind code of ref document: A1