KR20120003122A - Apparatus and method for processing image based on pre loading, and apparatus and method for processing image based on asynchronous loading - Google Patents

Apparatus and method for processing image based on pre loading, and apparatus and method for processing image based on asynchronous loading Download PDF

Info

Publication number
KR20120003122A
KR20120003122A KR1020100063793A KR20100063793A KR20120003122A KR 20120003122 A KR20120003122 A KR 20120003122A KR 1020100063793 A KR1020100063793 A KR 1020100063793A KR 20100063793 A KR20100063793 A KR 20100063793A KR 20120003122 A KR20120003122 A KR 20120003122A
Authority
KR
South Korea
Prior art keywords
loading
image
data
layer
rendering
Prior art date
Application number
KR1020100063793A
Other languages
Korean (ko)
Other versions
KR101460684B1 (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 KR1020100063793A priority Critical patent/KR101460684B1/en
Publication of KR20120003122A publication Critical patent/KR20120003122A/en
Application granted granted Critical
Publication of KR101460684B1 publication Critical patent/KR101460684B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Abstract

PURPOSE: A device for processing a preloading based image and a method thereof, and an asynchronous loading based image processing device and a method thereof are provided to pre-load another image on a background in rendering a specific image. CONSTITUTION: A loading unit(311) loads data about a display target image. If data for the image is completely loaded, a rendering unit(312) renders the image based on the loaded data. The loading unit loads data for another image which is not completely loaded while the rendering unit renders the image.

Description

프리 로딩 기반 영상 처리 장치 및 방법, 비동기 로딩 기반 영상 처리 장치 및 방법{APPARATUS AND METHOD FOR PROCESSING IMAGE BASED ON PRE LOADING, AND APPARATUS AND METHOD FOR PROCESSING IMAGE BASED ON ASYNCHRONOUS LOADING}Preloading-based image processing apparatus and method, and asynchronous loading-based image processing apparatus and method

프리(pre) 로딩(loading) 기반 영상 처리 장치 및 방법과 비동기 로딩 기반 영상 처리 장치 및 방법이 개시된다. 특히, 본 발명의 실시예들은 단말기에서 특정 이미지가 렌더링(rendering)되고 있을 때, 다른 이미지를 백그라운드(background)로 미리 로딩하는 멀티스레드(multithread) 기반의 이미지 로딩 기법에 관한 것이다.A pre loading image processing apparatus and method and an asynchronous loading based image processing apparatus and method are disclosed. In particular, embodiments of the present invention relate to a multithreaded image loading technique that preloads another image into the background when a particular image is being rendered in the terminal.

최근 모바일 단말기 등의 유저 인터페이스(User Interface: UI)에 대한 관심이 증가하면서, 직관적이고 화려한 UI를 제공할 수 있는 그래픽 유저 인터페이스(Graphic User Interface: GUI)와 관련된 연구가 활발히 진행되고 있다.Recently, as interest in user interfaces (UIs) such as mobile terminals has increased, researches on graphic user interfaces (GUIs) capable of providing an intuitive and colorful UI have been actively conducted.

GUI에 대한 사용자의 요구가 증가하면서, 최근에 출시되고 있는 모바일 단말기 등에는 텍스트, 이미지, 벡터 등의 다양한 컨텐츠가 복합적으로 구성된 GUI가 탑재되고 있다.As user demand for GUI increases, recently released mobile terminals are equipped with a GUI composed of various contents such as text, images, and vectors.

이로 인해, 모바일 단말기 등이 이러한 GUI를 구현하기 위해 사용해야 할 리소스(resource) 요구량도 점차 늘어나고 있다.As a result, resource demands that mobile terminals and the like must use to implement such GUIs are gradually increasing.

보통, 모바일 단말기 등은 GUI에서 사용되는 많은 이미지들의 로딩(loading) 속도를 줄이기 위해 미리 정의된 비트맵 형식의 파일을 사용하곤 한다.In general, a mobile terminal or the like often uses a file in a predefined bitmap format to reduce the loading speed of many images used in the GUI.

하지만, 이러한 방식은 로딩될 파일이 외부 파일이거나 네트워크로부터 다운로드 받은 파일인 경우, 파일 크기를 고려하여 압축된 이미지 파일을 사용해야 하는 경우가 많기 때문에 압축방법, 이미지 크기 또는 픽셀 컬러 수 등에 따라 로딩 성능의 차이를 가져올 수 있다.However, in this case, when the file to be loaded is an external file or a file downloaded from the network, it is often necessary to use a compressed image file in consideration of the file size. It can make a difference.

이와 같이, 모바일 단말기 등에서 이미지 기반의 다양한 멀티미디어 컨텐츠의 구현이 요구되면서, 이미지의 로딩 속도를 줄일 수 있는 기법에 대한 연구가 필요하다.As such, as the implementation of various image-based multimedia contents is required in a mobile terminal, a study on a technique for reducing the loading speed of images is required.

본 발명의 실시예들은 단말기에서 특정 이미지가 렌더링(rendering)되고 있을 때, 다른 이미지를 백그라운드(background)로 미리 로딩하는 멀티스레드(multithread) 기반의 이미지 로딩 기법을 제공함으로써, 단말기 상에서 이미지가 빠르게 드로잉될 수 있도록 하는 기틀을 마련하고자 한다.Embodiments of the present invention provide a multithread-based image loading technique that preloads another image into the background when a specific image is being rendered in the terminal, thereby rapidly drawing the image on the terminal. I want to lay the foundation for it.

본 발명의 일실시예에 따른 프리(pre) 로딩 기반 영상 처리 장치는 디스플레이하고자 하는 이미지에 대한 데이터를 로딩(loading)하는 로딩부 및 상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링(rendering)하는 렌더링부를 포함하고, 상기 로딩부는 상기 렌더링부가 상기 이미지를 렌더링하는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩한다.According to an embodiment of the present invention, a pre loading-based image processing apparatus includes a loading unit for loading data for an image to be displayed and a data loading for the image when loading of the image is completed. And a rendering unit configured to render the image based on the loading unit, wherein the loading unit loads data for another image which is not loaded while the rendering unit renders the image.

이때, 본 발명의 일실시예에 따르면, 상기 로딩부는 상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행할 수 있다.In this case, according to an embodiment of the present invention, the loading unit may perform data loading on the other image in the background.

또한, 본 발명의 일실시예에 따르면, 상기 렌더링부는 선정된(predetermined) 자원을 활용하여 장면 트리(scene tree)를 관리하고, 상기 로딩부로부터 상기 로딩이 완료된 데이터를 수신하여 상기 장면 트리를 갱신할 수 있다.In addition, according to an embodiment of the present invention, the renderer manages a scene tree by using a predetermined resource, receives the loaded data from the loading unit, and updates the scene tree. can do.

또한, 본 발명의 일실시예에 따르면, 상기 렌더링부는 상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터 로딩을 로딩부에 요청하고, 상기 로딩부는 상기 렌더링부의 요청에 따라 상기 다른 이미지에 대한 데이터를 로딩하여 상기 렌더링부로 전달할 수 있다.According to an embodiment of the present invention, the rendering unit requests a loading unit to load data for the other image based on the scene tree, and the loading unit requests data for the other image according to the request of the rendering unit. Loading may be delivered to the renderer.

본 발명의 또 다른 일실시예에 따른 비동기 로딩 기반 영상 처리 장치는 디스플레이하고자 하는 이미지에 대한 데이터를 선정된(predetermined) 계층으로 구분하는 계층 구분부, 상기 선정된 계층으로 구분된 데이터를 순차적으로 로딩(loading)하는 로딩부 및 상기 선정된 계층으로 구분된 데이터의 로딩완료 순서에 기초하여 순차적으로 상기 이미지를 렌더링(rendering)하는 렌더링부를 포함하고, 상기 로딩부는 상기 렌더링부가 선순위 계층의 데이터를 기초로 랜더링을 수행하는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩한다.In accordance with another aspect of the present invention, an asynchronous loading-based image processing apparatus includes a layer divider for dividing data for an image to be displayed into a predetermined layer, and sequentially loading data divided into the selected layer. and a rendering unit that renders the image sequentially based on the loading completion order of the data divided into the selected layer, and the loading unit is based on the data of the priority layer. While performing the rendering, the data of the lower priority layer is not loaded.

이때, 본 발명의 일실시예에 따르면, 상기 로딩부는 상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행할 수 있다.In this case, according to an embodiment of the present invention, the loading unit may perform loading of the data of the subordinate layer in the background.

또한, 본 발명의 일실시예에 따르면, 상기 계층 구분부는 상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분할 수 있다.In addition, according to an embodiment of the present invention, the hierarchical separator may classify the hierarchical layer of data for the image from low resolution to high resolution based on the resolution of the image.

또한, 본 발명의 일실시예에 따르면, 상기 렌더링부는 상기 해상도의 높낮이를 기초로 구분된 데이터의 로딩완료 순서에 기초하여 낮은 해상도에서 높은 해상도 순으로 상기 이미지를 렌더링할 수 있다.In addition, according to an embodiment of the present invention, the rendering unit may render the image in the order of low resolution to high resolution based on the loading completion order of the data divided based on the height of the resolution.

본 발명의 또 다른 일실시예에 따른 프리 로딩 기반 영상 처리 방법은 디스플레이하고자 하는 이미지에 대한 데이터를 로딩(loading)하는 단계, 상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링(rendering)하는 단계, 상기 이미지가 렌더링되는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩하는 단계 및 상기 다른 이미지에 대한 데이터 로딩이 완료되면, 상기 다른 이미지에 대한 데이터를 기초로 상기 다른 이미지를 렌더링하는 단계를 포함한다.According to another embodiment of the present invention, there is provided a preloading-based image processing method of loading data for an image to be displayed, and when data loading for the image is completed, based on the loaded data. Rendering the image, loading data for another image that has not been loaded while the image is being rendered, and loading data for the other image when the image is finished loading Rendering the other image as a basis.

이때, 본 발명의 일실시예에 따르면, 상기 다른 이미지에 대한 데이터를 로딩하는 단계는 상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행할 수 있다.In this case, according to an embodiment of the present invention, the loading of the data for the other image may be performed in the background of the data loading for the other image.

또한, 본 발명의 일실시예에 따르면, 상기 프리 로딩 기반 영상 처리 방법은 선정된(predetermined) 자원을 활용하여 장면 트리(scene tree)를 관리하는 단계 및 상기 로딩이 완료된 상기 이미지에 대한 데이터를 수신하여 상기 장면 트리를 갱신하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the preloading-based image processing method may include managing a scene tree by using a predetermined resource and receiving data about the loaded image. The method may further include updating the scene tree.

이때, 본 발명의 일실시예에 따르면, 상기 프리 로딩 기반 영상 처리 방법은 상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터의 로딩을 요청하는 단계를 더 포함하고, 상기 다른 이미지에 대한 데이터를 로딩하는 단계는 상기 요청에 대응하여 상기 다른 이미지에 대한 데이터를 로딩할 수 있다.At this time, according to an embodiment of the present invention, the preloading-based image processing method further comprises the step of requesting loading of data for the other image based on the scene tree, and loading data for the other image The step of loading may load data for the other image in response to the request.

본 발명의 또 다른 일실시예에 따른 비동기 로딩 기반 영상 처리 방법은 디스플레이하고자 하는 이미지에 대한 데이터를 선정된(predetermined) 계층으로 구분하는 단계, 상기 선정된 계층으로 구분된 데이터 중 선순위 계층의 데이터를 로딩(loading)하는 단계, 상기 선순위 계층의 데이터가 로딩 완료되면, 상기 선순위 계층의 데이터를 기초로 상기 선순위 계층의 데이터에 대응하는 이미지를 렌더링(rendering)하는 단계, 상기 선순위 계층의 데이터에 대응하는 이미지가 랜더링되는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩하는 단계 및 상기 후순위 계층의 데이터가 로딩 완료되면, 상기 후순위 계층의 데이터를 기초로 상기 후순위 계층의 데이터에 대응하는 이미지를 렌더링하는 단계를 포함한다.According to another aspect of the present invention, there is provided an asynchronous loading-based image processing method, comprising: dividing data for an image to be displayed into a predetermined layer, and storing data of a priority layer among the data classified into the selected layer. Loading, when the data of the priority layer is finished loading, rendering an image corresponding to the data of the priority layer based on the data of the priority layer, and corresponding to the data of the priority layer While the image is being rendered, loading the data of the subordinate layer that has not been loaded and rendering the image corresponding to the data of the subordinate layer based on the data of the subordinate layer when the data of the subordinate layer is loaded. Steps.

이때, 본 발명의 일실시예에 따르면, 상기 후순위 계층의 데이터를 로딩하는 단계는 상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행할 수 있다.In this case, according to an embodiment of the present invention, the loading of the data of the subordinate layer may be performed in the background of the data of the subordinate layer.

또한, 본 발명의 일실시예에 따르면, 상기 선정된 계층으로 구분하는 단계는 상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분할 수 있다.In addition, according to an embodiment of the present disclosure, the dividing into the selected hierarchical layer may classify the hierarchical layer of data for the image from low resolution to high resolution based on the resolution of the image.

본 발명의 실시예들은 단말기에서 특정 이미지가 렌더링(rendering)되고 있을 때, 다른 이미지를 백그라운드(background)로 미리 로딩하는 멀티스레드(multithread) 기반의 이미지 로딩 기법을 제공함으로써, 단말기 상에서 이미지가 빠르게 드로잉될 수 있도록 하는 기틀을 마련할 수 있다.Embodiments of the present invention provide a multithread-based image loading technique that preloads another image into the background when a specific image is being rendered in the terminal, thereby rapidly drawing the image on the terminal. You can establish a framework to make it possible.

또한, 본 발명의 실시예들은 특정 이미지가 렌더링되고 있을 때, 상기 특정 이미지의 다음 이미지를 백그라운드로 미리 로딩함으로써, 상기 특정 이미지의 렌더링이 완료되면, 상기 다음 이미지의 렌더링을 별도의 로딩시간 없이 바로 수행할 수 있는 프리(pre) 로딩 기반 영상 처리 장치 및 방법을 제공할 수 있다.In addition, embodiments of the present invention by loading the next image of the particular image in the background when the specific image is being rendered, so that when the rendering of the specific image is completed, the rendering of the next image immediately without a separate loading time A preloading based image processing apparatus and method which can be performed can be provided.

또한, 본 발명의 실시예들은 단말기의 화면에 드로잉될 이미지를 소정의 계층으로 구분한 후 특정 계층의 이미지가 렌더링되고 있을 때, 다른 계층의 이미지를 백그라운드로 미리 로딩함으로써, 이미지의 드로잉 속도를 향상시킬 수 있는 비동기 로딩 기반 영상 처리 장치 및 방법을 제공할 수 있다.In addition, embodiments of the present invention divide the image to be drawn on the screen of the terminal into a predetermined layer and when the image of a specific layer is being rendered, by preloading the image of another layer in the background, thereby improving the drawing speed of the image An asynchronous loading-based image processing apparatus and method can be provided.

도 1은 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 기법에 따라 이미지가 화면 상에 드로잉되는 과정을 도시한 도면이다.
도 2는 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법의 동작 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 방법을 도시한 순서도이다.
도 6은 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 방법을 도시한 순서도이다.
1 is a diagram illustrating a process of drawing an image on a screen according to an asynchronous loading-based image processing technique according to an embodiment of the present invention.
2 is a diagram illustrating an operation structure of a multithreaded image processing technique according to embodiments of the present invention.
3 is a diagram illustrating a structure of a preloading based image processing apparatus according to an embodiment of the present invention.
4 is a diagram illustrating a structure of an asynchronous loading-based image processing apparatus according to an embodiment of the present invention.
5 is a flowchart illustrating a preloading based image processing method according to an embodiment of the present invention.
6 is a flowchart illustrating an asynchronous loading-based image processing method according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 본 발명에 따른 실시예들을 상세히 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, with reference to the accompanying drawings will be described embodiments of the present invention; However, the present invention is not limited or limited by the embodiments. Also, like reference numerals in the drawings denote like elements.

보통, 단말기의 이미지 로딩(loading) 속도를 줄이기 위해 사용되는 기법으로 파일 로딩 시점을 분산하는 기법이 많이 사용된다.In general, a technique for distributing a file loading time is widely used as a technique used to reduce an image loading speed of a terminal.

상기 기법은 파일이 필요할 때 마다 로딩하는 기법으로 지정된 이미지가 화면에 드로잉(drawing) 될 때 마다 파일을 로딩한다.The above technique is a method of loading a file whenever it is needed, and loads the file whenever a designated image is drawn on the screen.

하지만, 화면의 이미지들은 한꺼번에 화면 드로잉에 포함되므로 상기 기법으로부터는 분산 로딩 효과를 기대하기 어려운 점이 있다.However, since images of the screen are included in the screen drawing at once, it is difficult to expect a distributed loading effect from the above technique.

상기 기법과는 또 다른 분산 로딩 기법으로 명시적인 로딩 기법이 있지만, 상기 명시적인 로딩 기법은 불필요한 로딩 함수의 지정에 드는 개발 비용이 크기 때문에 많이 사용되지 않는다.Although there is an explicit loading technique as another distributed loading technique, the explicit loading technique is not used much because of the high development cost for specifying unnecessary loading functions.

이와 관련하여, 본 발명의 실시예들은 단말기에서 특정 이미지가 렌더링(rendering)되고 있을 때, 다른 이미지를 백그라운드(background)로 미리 로딩하는 멀티스레드(multithread) 기반의 이미지 로딩 기법을 제공함으로써, 단말기 상에서 이미지가 빠르게 드로잉될 수 있도록 하는 기틀을 마련하고자 한다.In this regard, embodiments of the present invention provide a multithread-based image loading technique that preloads another image into the background when a particular image is being rendered on the terminal, We want to lay the groundwork for an image to be drawn quickly.

본 발명의 실시예들은 특정 이미지가 렌더링되고 있을 때, 다음 이미지를 미리 로딩하는 프리(pre) 로딩 기반 영상 처리 기법과 이미지를 선정된(predetermined) 계층으로 구분한 후 특정 계층의 이미지를 렌더링함과 동시에 점진적으로 다른 계층의 이미지 데이터를 로딩하는 비동기 로딩 기반 영상 처리 기법으로 구분할 수 있다. Embodiments of the present invention provide a preloading-based image processing technique for preloading the next image when the specific image is being rendered, and classify the image into a predetermined layer and then render the image of the specific layer. At the same time, it can be classified into an asynchronous loading-based image processing technique that gradually loads image data of another layer.

따라서, 이하에서는 본 발명의 실시예들을 상기 프리 로딩 기반 영상 처리 기법과 상기 비동기 로딩 기반 영상 처리 기법으로 구분하여 설명하기로 한다.
Therefore, hereinafter, embodiments of the present invention will be described by dividing the preloading based image processing technique into the asynchronous loading based image processing technique.

프리 로딩 기반 영상 처리 기법은 특정 이미지가 렌더링되고 있을 때, 상기 특정 이미지의 다음 이미지를 백그라운드로 미리 로딩함으로써, 상기 특정 이미지의 렌더링이 완료되면, 상기 다음 이미지의 렌더링을 별도의 로딩시간 없이 바로 수행할 수 있는 기법이다.The preloading-based image processing technique preloads the next image of the specific image in the background when the specific image is being rendered, and when the rendering of the specific image is completed, immediately renders the next image without additional loading time. It is a technique that can be done.

즉, 프리 로딩 기반 영상 처리 기법은 멀티스레드를 이용하여 다음 분기할 로딩 작업을 백그라운드로 수행하는 기법이다.In other words, the preloading-based image processing technique is a technique of performing a loading task to be branched in the background using multithreading.

이러한, 프리 로딩 기반 영상 처리 기법은 이미지 로딩 시점 이전에 미리 로딩을 수행해야 하기 때문에 이미지 사용을 미리 예측해야 하고, 미리 로딩된 이미지의 총량이 물리적인 메모리 크기보다 크지 않도록 해야 한다.
Since the preloading-based image processing technique requires preloading before the image loading time, the image usage should be predicted in advance, and the total amount of preloaded images should not be larger than the physical memory size.

비동기 로딩 기반 영상 처리 기법은 단말기의 화면에 드로잉될 이미지를 소정의 계층으로 구분한 후 특정 계층의 이미지가 렌더링되고 있을 때, 다른 계층의 이미지를 백그라운드로 미리 로딩함으로써, 이미지의 드로잉 속도를 향상시킬 수 있는 기법이다.The asynchronous loading-based image processing technique divides an image to be drawn on a screen of a terminal into a predetermined layer and when the image of a specific layer is being rendered, preloads the image of another layer in the background, thereby improving the drawing speed of the image. It can be a technique.

즉, 비동기 로딩 기반 영상 처리 기법은 현재 드로잉에 사용될 이미지가 로딩 완료되지 않은 상태에서 로딩 상태를 실시간으로 드로잉 화면에 반영하는 기법이다.In other words, the asynchronous loading-based image processing technique is a technique that reflects a loading state on a drawing screen in real time when an image to be used for drawing is not loaded.

따라서, 비동기 로딩 기반 영상 처리 기법은 일반적인 이미지 로딩 기법과 달리, 로딩 시간의 대기 없이 이미지 렌더링이 가능하므로, 이미지의 드로잉 속도를 향상시킬 수 있다.Therefore, unlike the general image loading technique, the asynchronous loading-based image processing technique can render an image without waiting for loading time, thereby improving the drawing speed of the image.

본 발명의 일실시예에 따르면, 비동기 로딩 기반 영상 처리 기법을 구현하기 위해 이미지를 포맷에 따라 몇 가지 계층의 해상도 별로 구분한 후 구분된 해상도 별로 이미지의 로딩을 수행할 수 있다.According to an embodiment of the present invention, in order to implement an asynchronous loading-based image processing technique, an image may be divided into several layers of resolutions according to a format, and then images may be loaded for each resolution.

이때, 이미지 피라미드 내용을 포함하는 이미지 파일을 생성하거나 저주파 영상을 빠르게 스캔하는 방법을 사용함으로써, 해상도 별 이미지의 로딩을 구현할 수 있다.At this time, by generating an image file including the image pyramid content or using a method of quickly scanning a low frequency image, it is possible to implement the loading of the image for each resolution.

보통, 이미지의 해상도 별 로딩 시간은 비례적으로 필요할 것이므로, 낮은 수준의 해상도부터 점차 높은 수준의 해상도 순으로 로딩을 수행하면, 이미지의 로딩이 수행되는 동안, 서로 상이 하지 않은 이미지 결과를 만들 수 있고, 이미지의 로딩이 빠르게 수행되는 것과 같은 결과를 얻을 수 있다.Normally, the loading time for each resolution of the image will be required proportionally, so loading in the order of lower resolution to higher resolution can produce different image results while the loading of the image is performed. The result is that the loading of the image is faster.

이미지를 해상도 별로 점전적으로 세분화하는 로딩은 이미지 포맷에서 인터레이스(interlace) 방식을 활용하여 처리 가능하고, 압축률이 높고 네트워크 전송에 적합한 프로그레시브 제이펙(progressive jpeg) 방법 등을 이용하여 빠르게 로딩 처리를 완료할 수 있다.The loading of the image which is divided by resolution gradually can be processed by using the interlace method in the image format, and the loading process can be completed quickly by using the progressive jpeg method which is highly compressed and suitable for network transmission. Can be.

도 1은 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 기법에 따라 이미지가 화면 상에 드로잉되는 과정을 도시한 도면이다.1 is a diagram illustrating a process of drawing an image on a screen according to an asynchronous loading-based image processing technique according to an embodiment of the present invention.

도 1에는 이미지를 저해상도에서 고해상도 순으로 4개의 계층으로 구분한 후 각 계층별로 순차적으로 렌더링을 수행함으로써, 이미지가 드로잉되는 과정이 도시되어 있다.FIG. 1 illustrates a process of drawing an image by dividing the image into four layers in the order of low resolution to high resolution, and sequentially performing rendering for each layer.

즉, 도 1을 살펴보면, 계층 3(level 3)에 해당하는 이미지의 렌더링을 수행함과 동시에 계층 2(level 2)에 해당하는 이미지를 로딩하고, 상기 계층 3(level)에 해당하는 이미지의 렌더링이 완료되면, 그 즉시 미리 로딩된 상기 계층 2(level 2)에 해당하는 이미지의 렌더링을 수행하며, 상기 계층 2(level 2)에 해당하는 이미지의 렌더링을 수행함과 동시에 계층 1(level 1)에 해당하는 이미지의 로딩을 수행하는 방식을 이용하여 전체 이미지의 드로잉을 완료한 것임을 알 수 있다.That is, referring to FIG. 1, the image corresponding to the layer 3 is loaded at the same time as the rendering of the image corresponding to the layer 3, and the rendering of the image corresponding to the layer 3 is performed. Upon completion, the image corresponding to the layer 2 (level 2) which is preloaded is immediately rendered, and the image corresponding to the layer 1 (level 1) is simultaneously executed while the image corresponding to the layer 2 (level 2) is rendered. It can be seen that the drawing of the entire image is completed by using the method of loading the image.

비동기 로딩 기반 영상 처리 기법은 응용프로그램에 따라 대용량 리스트와 같이 많은 이미지들이 로딩되어야 하고, 스크롤 동작에 따라 이미지들이 빠르게 교체될 필요가 있을 때, 적절하게 활용될 수 있다.The asynchronous loading-based image processing technique may be appropriately used when many images need to be loaded, such as a large list, depending on an application, and the images need to be quickly replaced by a scrolling operation.

만약, 이미지 리스트가 빠르게 스크롤 중일 때에는 가장 낮은 수준의 해상도 계층에 해당하는 이미지만 렌더링하고, 반대로 상기 이미지 리스트가 느리게 스크롤 되거나 정지하고 있을 때에는 모든 계층의 이미지를 로딩함으로써, 이미지 드로잉의 효율성을 높일 수 있다.
If the image list is scrolling quickly, only the image corresponding to the lowest resolution layer is rendered. On the contrary, when the image list is slowly scrolled or frozen, all images of all layers are loaded to increase the efficiency of image drawing. have.

이상, 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법인 프리 로딩 기반 영상 처리 기법과 비동기 로딩 기반 영상 처리 기법에 대해 살펴보았다.In the above, the pre-loading based image processing technique and the asynchronous loading based image processing technique which are the multi-threaded image processing techniques according to the embodiments of the present invention have been described.

이하에서는 도 2를 참조하여 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법의 전체적인 동작 구조에 대해 설명하기로 한다.
Hereinafter, an overall operation structure of a multithreaded image processing scheme according to embodiments of the present invention will be described with reference to FIG. 2.

도 2는 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법의 동작 구조를 도시한 도면이다.2 is a diagram illustrating an operation structure of a multithreaded image processing technique according to embodiments of the present invention.

도 2를 참조하면, 메인 스레드(210)는 이미지 캐시(211), 요청 큐(212) 및 서피스 마커(Surface Maker)(213)를 포함하고, 로딩 스레드(220)는 이미지 로더(221)를 포함한다.2, the main thread 210 includes an image cache 211, a request queue 212, and a surface marker 213, and the loading thread 220 includes an image loader 221. do.

메인 스레드(210)는 미리 준비된 자원을 이용하여 장면 트리(scene tree)를 관리하고, 여러가지 CPU 연산 및 렌더링을 수행한다. The main thread 210 manages a scene tree using resources prepared in advance, and performs various CPU operations and renderings.

특히, 메인 스레드(210)는 자원관리를 위해 요청 큐(212)를 통해 로딩 스레드(220)에 이미지 로딩을 요청하고, 로딩 스레드(220)로부터 로딩이 완료된 이미지를 얻어와 상기 장면 트리를 갱신하여 렌더링을 수행한다.In particular, the main thread 210 requests the loading thread 220 to load the image through the request queue 212 for resource management, obtains the loaded image from the loading thread 220 and updates the scene tree. Perform rendering.

로딩 스레드(220)는 메인 스레드(210)와는 별도로 리소스 로딩의 동작만을 반복적으로 수행함으로써, 메인 스레드(210)가 원할하게 리소스를 사용할 수 있도록 백그라운드에서 동작한다.The loading thread 220 repeatedly executes only the resource loading operation separately from the main thread 210, so that the loading thread 220 operates in the background so that the main thread 210 can use the resource smoothly.

또한, 로딩 스레드(220)는 특정 스레드에 작업이 몰리지 않도록 요청 버퍼(230)의 크기를 조정하고, 작업 내용이 없을 때, 메인 스레드(210)가 더 많은 작업을 할 수 있도록 제어권을 돌려준다.In addition, the loading thread 220 adjusts the size of the request buffer 230 so that a task is not crowded to a specific thread, and returns control to allow the main thread 210 to do more work when there is no work content.

메인 스레드(210)와 로딩 스레드(220)의 동작에 대해 좀 더 상세하게 설명하면, 먼저, 메인 스레드(210)는 장면 트리의 프리 로딩 리스트에서 로딩이 완료되지 않은 이미지를 매 프레임마다 요청 큐(212)에 추가한다.The operation of the main thread 210 and the loading thread 220 will be described in more detail. First, the main thread 210 displays a request queue (each frame) in the preloading list of the scene tree. 212).

이때, 요청 큐(212)에 추가된 이미지들은 로딩 우선 순위를 포함하고 있어야 하지만, 요청 큐(212)에 추가되는 순서와는 무관하다.In this case, the images added to the request queue 212 should include a loading priority, but are not related to the order in which they are added to the request queue 212.

요청 버퍼(230)의 크기는 메인 스레드(210)와 로딩 스레드(220)간의 무결성을 위한 동기화 변수로 사용하기 위해 요청 큐(212)의 크기와 무관하게 미리 지정된 크기만큼 설정된다.The size of the request buffer 230 is set by a predetermined size irrespective of the size of the request queue 212 for use as a synchronization variable for integrity between the main thread 210 and the loading thread 220.

특히, 요청 버퍼(230)의 크기는 메인 스레드(210)의 갱신 주기 동안 로딩 스레드(220)의 처리 주기를 고려하여 결정될 수 있다.In particular, the size of the request buffer 230 may be determined in consideration of the processing period of the loading thread 220 during the update period of the main thread 210.

요청 버퍼(230)는 메인 스레드(210)와 로딩 스레드(220)가 함께 사용하는 변수로 로딩 스레드(220)와 뮤텍스(mutex) 동기화 작업을 수행한다.The request buffer 230 is a variable used by the main thread 210 and the loading thread 220 to perform mutex synchronization with the loading thread 220.

메인 스레드(210)는 요청 큐(212)에서 요청 버퍼(230)를 채우는 작업을 프레임마다 한번씩 수행하고, 요청 큐(212)의 우선 순위 정렬 이후 요청 버퍼(230)의 크기만큼 요청 버퍼(230)를 채우고 요청 큐(212)를 모두 비운다.The main thread 210 fills the request buffer 230 in the request queue 212 once per frame, and after the priority sorting of the request queue 212, the request buffer 230 by the size of the request buffer 230. And empty the request queue 212.

로딩 스레드(220)는 매 작업 주기마다 요청 버퍼(230)의 뮤텍스 동기화를 수행하여 로딩 이미지를 결정한다.The loading thread 220 performs mutex synchronization of the request buffer 230 at every work cycle to determine the loading image.

이때, 상기 로딩 이미지는 이미지 로더(221)에 의해 로딩이 완료된다.At this time, the loading image is completed by the image loader 221.

로딩 스레드(220)는 로딩이 완료된 로딩 이미지를 하드웨어가 처리 가능한 텍스처로 만들기 위해 요청 버퍼(230)와 같은 크기로 예비 버퍼(240)에 상기 로딩 이미지를 추가한다. The loading thread 220 adds the loading image to the preliminary buffer 240 to the same size as the request buffer 230 in order to make the loaded loading image into a hardware processable texture.

이때, 예비 버퍼(240)의 모든 로딩 이미지는 메인 스레드(210)의 갱신 주기마다 서피스 마커(213)로 생성된 서피스 아이디(surface id)를 이미지 캐시(211)에 추가한다.In this case, every loading image of the preliminary buffer 240 adds a surface id generated by the surface marker 213 to the image cache 211 at each update period of the main thread 210.

본 발명의 실시예들은 멀티 스레드를 이용하는 로더의 공유 변수인 요청 버퍼(230)와 예비 버퍼(240)의 무결성을 보장하기 위해 메인 스레드(210)의 동기 함수와 로딩 스레드(220)의 서비스 함수를 통해서만 인터페이스 가능하도록 하고, 공유 변수 뮤텍스 동기화와 스레드 로더의 확장을 위해 콜백 함수를 사용할 수 있다.
Embodiments of the present invention provide a synchronization function of the main thread 210 and a service function of the loading thread 220 to ensure the integrity of the request buffer 230 and the preliminary buffer 240, which are shared variables of a loader using multi-threads. It can only be interfaced through, and callback functions can be used for shared variable mutex synchronization and thread loader extensions.

이상, 도 2를 참조하여 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법의 동작 구조를 설명하였다.The operation structure of the multithreaded image processing technique according to the embodiments of the present invention has been described above with reference to FIG. 2.

이하에서는 도 3 내지 도 6을 참조하여 본 발명의 실시예들에 따른 프리 로딩 기반 영상 처리 장치 및 방법과 비동기 로딩 기반 영상 처리 장치 및 방법에 대해 구체적으로 설명하기로 한다.
Hereinafter, a preloading based image processing apparatus and asynchronous loading based image processing apparatus and method according to embodiments of the present invention will be described in detail with reference to FIGS. 3 to 6.

도 3은 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.3 is a diagram illustrating a structure of a preloading based image processing apparatus according to an embodiment of the present invention.

도 3을 참조하면, 프리 로딩 기반 영상 처리 장치(310)는 로딩부(311) 및 렌더링부(312)를 포함한다.Referring to FIG. 3, the preloading based image processing apparatus 310 includes a loading unit 311 and a rendering unit 312.

로딩부(311)는 디스플레이하고자 하는 이미지에 대한 데이터를 로딩한다.The loading unit 311 loads data on an image to be displayed.

렌더링부(312)는 상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링한다.The rendering unit 312 renders the image based on the data on which the loading is completed, when data loading of the image is completed.

이때, 로딩부(311)는 렌더링부(312)가 상기 이미지를 렌더링하는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩한다.In this case, while the rendering unit 312 renders the image, the loading unit 311 loads data for another image in which loading is not completed.

본 발명의 일실시예에 따르면, 로딩부(311)는 상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행할 수 있다.According to an embodiment of the present invention, the loading unit 311 may perform data loading on the other image in the background.

또한, 본 발명의 일실시예에 따르면, 렌더링부(312)는 선정된 자원을 활용하여 장면 트리를 관리하고, 로딩부(311)로부터 상기 로딩이 완료된 데이터를 수신하여 상기 장면 트리를 갱신할 수 있다.In addition, according to an embodiment of the present invention, the rendering unit 312 may manage the scene tree by using the selected resource, and receive the data from the loading unit 311 to update the scene tree. have.

이때, 렌더링부(312)는 상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터 로딩을 로딩부(311)에 요청할 수 있다.In this case, the rendering unit 312 may request the loading unit 311 to load data for the other image based on the scene tree.

이때, 로딩부(311)는 렌더링부(312)의 요청에 따라 상기 다른 이미지에 대한 데이터를 로딩하여 렌더링부(312)로 전달할 수 있다.
In this case, the loading unit 311 may load data for the other image and transmit the data for the other image to the rendering unit 312 according to a request of the rendering unit 312.

도 4는 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.4 is a diagram illustrating a structure of an asynchronous loading-based image processing apparatus according to an embodiment of the present invention.

도 4를 참조하면, 비동기 로딩 기반 영상 처리 장치(410)는 계층 구분부(411), 로딩부(412) 및 렌더링부(413)를 포함한다.Referring to FIG. 4, the asynchronous loading-based image processing apparatus 410 includes a layer separator 411, a loading unit 412, and a rendering unit 413.

계층 구분부(411)는 디스플레이하고자 하는 이미지에 대한 데이터를 선정된 계층으고 구분한다.The hierarchical separator 411 divides data about an image to be displayed into a selected hierarchical layer.

로딩부(412)는 상기 선정된 계층으로 구분된 데이터를 순차적으로 로딩한다.The loading unit 412 sequentially loads data divided into the selected layer.

렌더링부(413)는 상기 선정된 계층으로 구분된 데이터의 로딩완료 순서에 기초하여 순차적으로 상기 이미지를 렌더링한다.The rendering unit 413 renders the images sequentially based on the loading completion order of the data divided into the selected layer.

이때, 로딩부(412)는 렌더링부(413)가 선순위 계층의 데이터를 기초로 렌더링을 수행하는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩한다.In this case, the loading unit 412 loads the data of the lower priority layer while the rendering unit 413 performs the rendering based on the data of the priority layer.

본 발명의 일실시예에 따르면, 로딩부(412)는 상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행할 수 있다.According to an embodiment of the present invention, the loading unit 412 may perform the loading of the data of the subordinate layer in the background.

또한, 본 발명의 일실시예에 따르면, 계층 구분부(411)는 상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분할 수 있다.In addition, according to an embodiment of the present invention, the hierarchical separator 411 may classify the hierarchical layer of data for the image in order of low resolution to high resolution based on the resolution of the image.

이때, 렌더링부(413)는 상기 해상도의 높낮이를 기초로 구분된 데이터의 로딩완료순서에 기초하여 낮은 해상도에서 높은 해상도 순으로 상기 이미지를 렌더링할 수 있다.
In this case, the rendering unit 413 may render the image in the order of low resolution to high resolution based on the loading completion order of the data divided based on the height of the resolution.

도 5는 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 방법을 도시한 순서도이다.5 is a flowchart illustrating a preloading based image processing method according to an embodiment of the present invention.

단계(S510)에서는 디스플레이하고자 하는 이미지에 대한 데이터를 로딩한다.In operation S510, data about an image to be displayed is loaded.

단계(S520)에서는 상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링한다.In step S520, when the data loading for the image is completed, the image is rendered based on the loaded data.

단계(S530)에서는 상기 이미지가 렌더링되는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩한다.In step S530, while the image is rendered, data for another image that is not loaded is loaded.

본 발명의 일실시예에 따르면, 단계(S530)에서는 상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행할 수 있다.According to an embodiment of the present invention, in step S530, data loading of the other image may be performed in the background.

단계(S540)에서는 상기 다른 이미지에 대한 데이터 로딩이 완료되면, 상기 다른 이미지에 대한 데이터를 기초로 상기 다른 이미지를 렌더링한다.In step S540, when the data loading for the other image is completed, the other image is rendered based on the data for the other image.

본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 방법은 단계(S510)이전에 선정된 자원을 활용하여 장면 트리를 관리하는 단계를 더 포함할 수 있다.The preloading-based image processing method according to an embodiment of the present invention may further include managing a scene tree by using a resource selected before operation S510.

이때, 상기 프리 로딩 기반 영상 처리 방법은 단계(S510)이후에 상기 로딩이 완료된 상기 이미지에 대한 데이터를 수신하여 상기 장면 트리를 갱신하는 단계를 더 포함할 수 있다.In this case, the preloading-based image processing method may further include updating data of the scene tree by receiving data on the loaded image after step S510.

또한, 상기 프리 로딩 기반 영상 처리 방법은 단계(S510)이후에 상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터 로딩을 요청하는 단계를 더 포함할 수 있다.In addition, the preloading-based image processing method may further include requesting data loading of the other image based on the scene tree after step S510.

이때, 단계(S530)은 상기 요청에 대응하여 상기 다른 이미지에 대한 데이터를 로딩할 수 있다.
In this case, step S530 may load data for the other image in response to the request.

도 6은 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 방법을 도시한 순서도이다.6 is a flowchart illustrating an asynchronous loading-based image processing method according to an embodiment of the present invention.

단계(S610)에서는 디스플레이하고자 하는 이미지에 대한 데이터를 선정된 계층으로 구분한다.In operation S610, data about an image to be displayed is classified into a selected layer.

이때, 본 발명의 일실시예에 따르면, 단계(S610)에서는 상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분할 수 있다.In this case, according to an embodiment of the present invention, in step S610, the hierarchical layer of data for the image may be classified in order of low resolution to high resolution based on the resolution of the image.

단계(S620)에서는 상기 선정된 계층으로 구분된 데이터 중 선순위 계층의 데이터를 로딩한다.In operation S620, data of a priority layer is loaded among data divided into the selected layer.

단계(S630)에서는 상기 선순위 계층의 데이터가 로딩 완료되면, 상기 선순위 계층의 데이터를 기초로 상기 선순위 계층의 데이터에 대응하는 이미지를 렌더링한다.In operation S630, when data of the priority layer is loaded, an image corresponding to the data of the priority layer is rendered based on the data of the priority layer.

단계(S640)에서는 상기 선순위 계층의 데이터에 대응하는 이미지가 렌더링되는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩한다.In operation S640, while the image corresponding to the data of the priority layer is rendered, the data of the lower priority layer is not loaded.

이때, 본 발명의 일실시예에 따르면, 단계(S640)에서는 상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행할 수 있다.At this time, according to an embodiment of the present invention, in step S640, the loading of the data of the subordinate layer may be performed in the background.

단계(S650)에서는 상기 후순위 계층의 데이터가 로딩 완료되면, 상기 후순위 계층의 데이터를 기초로 상기 후순위 계층의 데이터에 대응하는 이미지를 렌더링한다.
In step S650, when the data of the subordinate layer is finished loading, the image corresponding to the data of the subordinate layer is rendered based on the data of the subordinate layer.

본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention can be implemented in the form of program instructions that can be executed by various computer means can be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, 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 not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art to which the present invention pertains, various modifications and variations are possible.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents or equivalents of the claims as well as the claims to be described later will belong to the scope of the present invention. .

210: 메인 스레드
211: 이미지 캐시 212: 요청 큐 213: 서피스 마커
220: 로딩 스레드
221: 이미지 로더
230: 요청 버퍼 240: 예비 버퍼
310: 프리 로딩 기반 영상 처리 장치
311: 로딩부 312: 렌더링부
410: 비동기 로딩 기반 영상 처리 장치
411: 계층 구분부 412: 로딩부 413: 렌더링부
210: main thread
211: Image Cache 212: Request Queue 213: Surface Markers
220: loading thread
221 image loader
230: request buffer 240: spare buffer
310: preloading based image processing device
311: loading unit 312: rendering unit
410: asynchronous loading based image processing apparatus
411: layer division unit 412: loading unit 413: rendering unit

Claims (16)

디스플레이하고자 하는 이미지에 대한 데이터를 로딩(loading)하는 로딩부; 및
상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링(rendering)하는 렌더링부
를 포함하고,
상기 로딩부는 상기 렌더링부가 상기 이미지를 렌더링하는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩하는 프리 로딩 기반 영상 처리 장치.
A loading unit loading data of an image to be displayed; And
When the data loading for the image is completed, the rendering unit for rendering the image on the basis of the loading data is completed (rendering)
Including,
The loading unit is a pre-loading image processing apparatus for loading data for another image that is not finished loading while the rendering unit renders the image.
제1항에 있어서,
상기 로딩부는
상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행하는 프리 로딩 기반 영상 처리 장치.
The method of claim 1,
The loading unit
A preloading based image processing apparatus for performing data loading on the other image in the background.
제1항에 있어서,
상기 렌더링부는
선정된(predetermined) 자원을 활용하여 장면 트리(scene tree)를 관리하고, 상기 로딩부로부터 상기 로딩이 완료된 데이터를 수신하여 상기 장면 트리를 갱신하는 프리 로딩 기반 영상 처리 장치.
The method of claim 1,
The renderer
A preloading-based image processing apparatus for managing a scene tree by using a predetermined resource, and updating the scene tree by receiving the loaded data from the loading unit.
제3항에 있어서,
상기 렌더링부는
상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터 로딩을 로딩부에 요청하고,
상기 로딩부는 상기 렌더링부의 요청에 따라 상기 다른 이미지에 대한 데이터를 로딩하여 상기 렌더링부로 전달하는 프리 로딩 기반 영상 처리 장치.
The method of claim 3,
The renderer
Request a loading unit to load data for the other image based on the scene tree,
The loading unit loads data for the other image according to a request of the rendering unit and transfers the data to the rendering unit.
디스플레이하고자 하는 이미지에 대한 데이터를 선정된(predetermined) 계층으로 구분하는 계층 구분부;
상기 선정된 계층으로 구분된 데이터를 순차적으로 로딩(loading)하는 로딩부; 및
상기 선정된 계층으로 구분된 데이터의 로딩완료 순서에 기초하여 순차적으로 상기 이미지를 렌더링(rendering)하는 렌더링부
를 포함하고,
상기 로딩부는 상기 렌더링부가 선순위 계층의 데이터를 기초로 랜더링을 수행하는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩하는 비동기 로딩 기반 영상 처리 장치.
A hierarchical dividing unit dividing data about an image to be displayed into a predetermined layer;
A loading unit which sequentially loads data divided into the selected layer; And
A rendering unit that renders the image sequentially based on the loading completion order of the data divided into the selected layer.
Including,
The loading unit is an asynchronous loading-based image processing apparatus for loading the data of the lower priority layer, the loading is not completed while the rendering unit performs the rendering based on the data of the priority layer.
제5항에 있어서,
상기 로딩부는
상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행하는 비동기 로딩 기반 영상 처리 장치.
The method of claim 5,
The loading unit
The asynchronous loading-based image processing device for loading the data of the subordinate layer in the background.
제5항에 있어서,
상기 계층 구분부는
상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분하는 비동기 로딩 기반 영상 처리 장치.
The method of claim 5,
The layer division unit
An asynchronous loading-based image processing apparatus for dividing a layer of data for the image from low resolution to high resolution based on the resolution of the image.
제7항에 있어서,
상기 렌더링부는
상기 해상도의 높낮이를 기초로 구분된 데이터의 로딩완료 순서에 기초하여 낮은 해상도에서 높은 해상도 순으로 상기 이미지를 렌더링하는 비동기 로딩 기반 영상 처리 장치.
The method of claim 7, wherein
The renderer
And rendering the image in the order of low resolution to high resolution based on the loading completion order of the data divided based on the height of the resolution.
디스플레이하고자 하는 이미지에 대한 데이터를 로딩(loading)하는 단계;
상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링(rendering)하는 단계;
상기 이미지가 렌더링되는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩하는 단계; 및
상기 다른 이미지에 대한 데이터 로딩이 완료되면, 상기 다른 이미지에 대한 데이터를 기초로 상기 다른 이미지를 렌더링하는 단계
를 포함하는 프리 로딩 기반 영상 처리 방법.
Loading data for an image to be displayed;
Rendering the image based on the data on which the loading is completed, when data loading for the image is completed;
While the image is being rendered, loading data for another image that has not been loaded; And
Rendering the other image based on data for the other image when data loading for the other image is completed
Preloading based image processing method comprising a.
제9항에 있어서,
상기 다른 이미지에 대한 데이터를 로딩하는 단계는
상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행하는 프리 로딩 기반 영상 처리 방법.
10. The method of claim 9,
Loading data for the other image
The preloading-based image processing method of performing data loading on the other image in the background.
제9항에 있어서,
선정된(predetermined) 자원을 활용하여 장면 트리(scene tree)를 관리하는 단계; 및
상기 로딩이 완료된 상기 이미지에 대한 데이터를 수신하여 상기 장면 트리를 갱신하는 단계
를 더 포함하는 프리 로딩 기반 영상 처리 방법.
10. The method of claim 9,
Managing a scene tree by utilizing a predetermined resource; And
Updating the scene tree by receiving data on the loaded image
A preloading based image processing method further comprising.
제11항에 있어서,
상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터의 로딩을 요청하는 단계
를 더 포함하고,
상기 다른 이미지에 대한 데이터를 로딩하는 단계는 상기 요청에 대응하여 상기 다른 이미지에 대한 데이터를 로딩하는 프리 로딩 기반 영상 처리 방법.
The method of claim 11,
Requesting loading of data for the other image based on the scene tree
Further comprising:
The loading of data for the other image may include loading data for the other image in response to the request.
디스플레이하고자 하는 이미지에 대한 데이터를 선정된(predetermined) 계층으로 구분하는 단계;
상기 선정된 계층으로 구분된 데이터 중 선순위 계층의 데이터를 로딩(loading)하는 단계;
상기 선순위 계층의 데이터가 로딩 완료되면, 상기 선순위 계층의 데이터를 기초로 상기 선순위 계층의 데이터에 대응하는 이미지를 렌더링(rendering)하는 단계;
상기 선순위 계층의 데이터에 대응하는 이미지가 랜더링되는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩하는 단계; 및
상기 후순위 계층의 데이터가 로딩 완료되면, 상기 후순위 계층의 데이터를 기초로 상기 후순위 계층의 데이터에 대응하는 이미지를 렌더링하는 단계
를 포함하는 비동기 로딩 기반 영상 처리 방법.
Dividing data for an image to be displayed into a predetermined layer;
Loading data of a priority layer among data divided into the selected layer;
When the data of the priority layer is loaded, rendering an image corresponding to the data of the priority layer based on the data of the priority layer;
Loading data of a lower priority layer while the image corresponding to the data of the priority layer is being rendered; And
When the data of the lower priority layer is finished loading, rendering an image corresponding to the data of the lower priority layer based on the data of the lower priority layer.
Asynchronous loading-based image processing method comprising a.
제13항에 있어서,
상기 후순위 계층의 데이터를 로딩하는 단계는
상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행하는 비동기 로딩 기반 영상 처리 방법.
The method of claim 13,
Loading the data of the subordinate layer is
Asynchronous loading-based image processing method for performing the loading of the data of the subordinate layer in the background.
제13항에 있어서,
상기 선정된 계층으로 구분하는 단계는
상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분하는 비동기 로딩 기반 영상 처리 방법.
The method of claim 13,
The step of dividing into the selected layer is
Asynchronous loading-based image processing method for classifying the data of the image layer based on the resolution of the image in order from low resolution to high resolution.
제9항 내지 제15항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of any one of claims 9 to 15.
KR1020100063793A 2010-07-02 2010-07-02 Apparatus and method for processing image based on pre loading, and apparatus and method for processing image based on asynchronous loading KR101460684B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100063793A KR101460684B1 (en) 2010-07-02 2010-07-02 Apparatus and method for processing image based on pre loading, and apparatus and method for processing image based on asynchronous loading

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100063793A KR101460684B1 (en) 2010-07-02 2010-07-02 Apparatus and method for processing image based on pre loading, and apparatus and method for processing image based on asynchronous loading

Publications (2)

Publication Number Publication Date
KR20120003122A true KR20120003122A (en) 2012-01-10
KR101460684B1 KR101460684B1 (en) 2014-11-12

Family

ID=45610209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100063793A KR101460684B1 (en) 2010-07-02 2010-07-02 Apparatus and method for processing image based on pre loading, and apparatus and method for processing image based on asynchronous loading

Country Status (1)

Country Link
KR (1) KR101460684B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160105010A (en) * 2015-02-27 2016-09-06 주식회사 토브스 Control system and method for displaying image data from IP cameras
KR101880507B1 (en) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 Client terminal device that supports resizing of a figure embedded in a web document and operating method thereof
KR101880508B1 (en) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 Web document editing support apparatus and method for supporting list generation in web documents
CN110941459A (en) * 2019-11-20 2020-03-31 东软集团股份有限公司 Method and device for calling Replugin

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934812B1 (en) * 2001-10-22 2005-08-23 Apple Computer, Inc. Media player with instant play capability
KR20050048416A (en) * 2003-11-19 2005-05-24 삼성전자주식회사 Storage medium including preloading data, display playback device and display playback method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160105010A (en) * 2015-02-27 2016-09-06 주식회사 토브스 Control system and method for displaying image data from IP cameras
KR101880507B1 (en) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 Client terminal device that supports resizing of a figure embedded in a web document and operating method thereof
KR101880508B1 (en) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 Web document editing support apparatus and method for supporting list generation in web documents
CN110941459A (en) * 2019-11-20 2020-03-31 东软集团股份有限公司 Method and device for calling Replugin

Also Published As

Publication number Publication date
KR101460684B1 (en) 2014-11-12

Similar Documents

Publication Publication Date Title
US11164280B2 (en) Graphics layer processing in a multiple operating systems framework
KR102419745B1 (en) Game rendering method, and game resource file creation method, apparatus, and device
US10127628B2 (en) Method and system to virtualize graphic processing services
US9383917B2 (en) Predictive tiling
KR102096497B1 (en) Reduced latency of map interfaces
CN107743636B (en) Graphics engine and environment for efficient real-time rendering of previously unknown graphics
KR101952983B1 (en) System and method for layering using tile-based renderers
CN109614194B (en) List interface display method, device, equipment and storage medium
US10269167B1 (en) Indirect command buffers for graphics processing
CN111080766A (en) WebGL-based GPU (graphics processing unit) method for accelerating efficient rendering of massive targets
US20190080017A1 (en) Method, system, and device that invokes a web engine
EP4198962A1 (en) Systems and methods for interactively presenting a visible portion of a rendering surface on a user device
CN107526623B (en) Data processing method and device
KR20120003122A (en) Apparatus and method for processing image based on pre loading, and apparatus and method for processing image based on asynchronous loading
US9324299B2 (en) Atlasing and virtual surfaces
US9536274B2 (en) Drawing processor, drawing processing system, and drawing processing method
US20140245219A1 (en) Predictive pre-decoding of encoded media item
CN109672931B (en) Method and apparatus for processing video frames
KR101520067B1 (en) Graphic processing method and apparatus implementing window system
CN109800039B (en) User interface display method and device, electronic equipment and storage medium
KR20160019526A (en) Coalescing graphics operations
CN113419806B (en) Image processing method, device, computer equipment and storage medium
CN111243069B (en) Scene switching method and system of Unity3D engine
US10242119B1 (en) Systems and methods for displaying web content
CN113763552A (en) Three-dimensional geographic model display method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 4