KR101460684B1 - 프리 로딩 기반 영상 처리 장치 및 방법, 비동기 로딩 기반 영상 처리 장치 및 방법 - Google Patents
프리 로딩 기반 영상 처리 장치 및 방법, 비동기 로딩 기반 영상 처리 장치 및 방법 Download PDFInfo
- Publication number
- KR101460684B1 KR101460684B1 KR1020100063793A KR20100063793A KR101460684B1 KR 101460684 B1 KR101460684 B1 KR 101460684B1 KR 1020100063793 A KR1020100063793 A KR 1020100063793A KR 20100063793 A KR20100063793 A KR 20100063793A KR 101460684 B1 KR101460684 B1 KR 101460684B1
- Authority
- KR
- South Korea
- Prior art keywords
- loading
- data
- image
- hierarchy
- layer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
프리(pre) 로딩(loading) 기반 영상 처리 장치 및 방법과 비동기 로딩 기반 영상 처리 장치 및 방법이 개시된다. 본 발명의 실시예들은 단말기에서 특정 이미지가 렌더링(rendering)되고 있을 때, 다른 이미지를 백그라운드(background)로 미리 로딩하는 멀티스레드(multithread) 기반의 이미지 로딩 기법을 제공함으로써, 단말기 상에서 이미지가 빠르게 드로잉될 수 있도록 하는 기틀을 마련할 수 있다.
Description
프리(pre) 로딩(loading) 기반 영상 처리 장치 및 방법과 비동기 로딩 기반 영상 처리 장치 및 방법이 개시된다. 특히, 본 발명의 실시예들은 단말기에서 특정 이미지가 렌더링(rendering)되고 있을 때, 다른 이미지를 백그라운드(background)로 미리 로딩하는 멀티스레드(multithread) 기반의 이미지 로딩 기법에 관한 것이다.
최근 모바일 단말기 등의 유저 인터페이스(User Interface: UI)에 대한 관심이 증가하면서, 직관적이고 화려한 UI를 제공할 수 있는 그래픽 유저 인터페이스(Graphic User Interface: GUI)와 관련된 연구가 활발히 진행되고 있다.
GUI에 대한 사용자의 요구가 증가하면서, 최근에 출시되고 있는 모바일 단말기 등에는 텍스트, 이미지, 벡터 등의 다양한 컨텐츠가 복합적으로 구성된 GUI가 탑재되고 있다.
이로 인해, 모바일 단말기 등이 이러한 GUI를 구현하기 위해 사용해야 할 리소스(resource) 요구량도 점차 늘어나고 있다.
보통, 모바일 단말기 등은 GUI에서 사용되는 많은 이미지들의 로딩(loading) 속도를 줄이기 위해 미리 정의된 비트맵 형식의 파일을 사용하곤 한다.
하지만, 이러한 방식은 로딩될 파일이 외부 파일이거나 네트워크로부터 다운로드 받은 파일인 경우, 파일 크기를 고려하여 압축된 이미지 파일을 사용해야 하는 경우가 많기 때문에 압축방법, 이미지 크기 또는 픽셀 컬러 수 등에 따라 로딩 성능의 차이를 가져올 수 있다.
이와 같이, 모바일 단말기 등에서 이미지 기반의 다양한 멀티미디어 컨텐츠의 구현이 요구되면서, 이미지의 로딩 속도를 줄일 수 있는 기법에 대한 연구가 필요하다.
본 발명의 실시예들은 단말기에서 특정 이미지가 렌더링(rendering)되고 있을 때, 다른 이미지를 백그라운드(background)로 미리 로딩하는 멀티스레드(multithread) 기반의 이미지 로딩 기법을 제공함으로써, 단말기 상에서 이미지가 빠르게 드로잉될 수 있도록 하는 기틀을 마련하고자 한다.
본 발명의 일실시예에 따른 프리(pre) 로딩 기반 영상 처리 장치는 디스플레이하고자 하는 이미지에 대한 데이터를 로딩(loading)하는 로딩부 및 상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링(rendering)하는 렌더링부를 포함하고, 상기 로딩부는 상기 렌더링부가 상기 이미지를 렌더링하는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩한다.
이때, 본 발명의 일실시예에 따르면, 상기 로딩부는 상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 렌더링부는 선정된(predetermined) 자원을 활용하여 장면 트리(scene tree)를 관리하고, 상기 로딩부로부터 상기 로딩이 완료된 데이터를 수신하여 상기 장면 트리를 갱신할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 렌더링부는 상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터 로딩을 로딩부에 요청하고, 상기 로딩부는 상기 렌더링부의 요청에 따라 상기 다른 이미지에 대한 데이터를 로딩하여 상기 렌더링부로 전달할 수 있다.
본 발명의 또 다른 일실시예에 따른 비동기 로딩 기반 영상 처리 장치는 디스플레이하고자 하는 이미지에 대한 데이터를 선정된(predetermined) 계층으로 구분하는 계층 구분부, 상기 선정된 계층으로 구분된 데이터를 순차적으로 로딩(loading)하는 로딩부 및 상기 선정된 계층으로 구분된 데이터의 로딩완료 순서에 기초하여 순차적으로 상기 이미지를 렌더링(rendering)하는 렌더링부를 포함하고, 상기 로딩부는 상기 렌더링부가 선순위 계층의 데이터를 기초로 랜더링을 수행하는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩한다.
이때, 본 발명의 일실시예에 따르면, 상기 로딩부는 상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 계층 구분부는 상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 렌더링부는 상기 해상도의 높낮이를 기초로 구분된 데이터의 로딩완료 순서에 기초하여 낮은 해상도에서 높은 해상도 순으로 상기 이미지를 렌더링할 수 있다.
본 발명의 또 다른 일실시예에 따른 프리 로딩 기반 영상 처리 방법은 디스플레이하고자 하는 이미지에 대한 데이터를 로딩(loading)하는 단계, 상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링(rendering)하는 단계, 상기 이미지가 렌더링되는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩하는 단계 및 상기 다른 이미지에 대한 데이터 로딩이 완료되면, 상기 다른 이미지에 대한 데이터를 기초로 상기 다른 이미지를 렌더링하는 단계를 포함한다.
이때, 본 발명의 일실시예에 따르면, 상기 다른 이미지에 대한 데이터를 로딩하는 단계는 상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 프리 로딩 기반 영상 처리 방법은 선정된(predetermined) 자원을 활용하여 장면 트리(scene tree)를 관리하는 단계 및 상기 로딩이 완료된 상기 이미지에 대한 데이터를 수신하여 상기 장면 트리를 갱신하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 프리 로딩 기반 영상 처리 방법은 상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터의 로딩을 요청하는 단계를 더 포함하고, 상기 다른 이미지에 대한 데이터를 로딩하는 단계는 상기 요청에 대응하여 상기 다른 이미지에 대한 데이터를 로딩할 수 있다.
본 발명의 또 다른 일실시예에 따른 비동기 로딩 기반 영상 처리 방법은 디스플레이하고자 하는 이미지에 대한 데이터를 선정된(predetermined) 계층으로 구분하는 단계, 상기 선정된 계층으로 구분된 데이터 중 선순위 계층의 데이터를 로딩(loading)하는 단계, 상기 선순위 계층의 데이터가 로딩 완료되면, 상기 선순위 계층의 데이터를 기초로 상기 선순위 계층의 데이터에 대응하는 이미지를 렌더링(rendering)하는 단계, 상기 선순위 계층의 데이터에 대응하는 이미지가 랜더링되는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩하는 단계 및 상기 후순위 계층의 데이터가 로딩 완료되면, 상기 후순위 계층의 데이터를 기초로 상기 후순위 계층의 데이터에 대응하는 이미지를 렌더링하는 단계를 포함한다.
이때, 본 발명의 일실시예에 따르면, 상기 후순위 계층의 데이터를 로딩하는 단계는 상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 선정된 계층으로 구분하는 단계는 상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분할 수 있다.
본 발명의 실시예들은 단말기에서 특정 이미지가 렌더링(rendering)되고 있을 때, 다른 이미지를 백그라운드(background)로 미리 로딩하는 멀티스레드(multithread) 기반의 이미지 로딩 기법을 제공함으로써, 단말기 상에서 이미지가 빠르게 드로잉될 수 있도록 하는 기틀을 마련할 수 있다.
또한, 본 발명의 실시예들은 특정 이미지가 렌더링되고 있을 때, 상기 특정 이미지의 다음 이미지를 백그라운드로 미리 로딩함으로써, 상기 특정 이미지의 렌더링이 완료되면, 상기 다음 이미지의 렌더링을 별도의 로딩시간 없이 바로 수행할 수 있는 프리(pre) 로딩 기반 영상 처리 장치 및 방법을 제공할 수 있다.
또한, 본 발명의 실시예들은 단말기의 화면에 드로잉될 이미지를 소정의 계층으로 구분한 후 특정 계층의 이미지가 렌더링되고 있을 때, 다른 계층의 이미지를 백그라운드로 미리 로딩함으로써, 이미지의 드로잉 속도를 향상시킬 수 있는 비동기 로딩 기반 영상 처리 장치 및 방법을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 기법에 따라 이미지가 화면 상에 드로잉되는 과정을 도시한 도면이다.
도 2는 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법의 동작 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 방법을 도시한 순서도이다.
도 6은 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 방법을 도시한 순서도이다.
도 2는 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법의 동작 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 방법을 도시한 순서도이다.
도 6은 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 방법을 도시한 순서도이다.
이하에서, 첨부된 도면을 참조하여 본 발명에 따른 실시예들을 상세히 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
보통, 단말기의 이미지 로딩(loading) 속도를 줄이기 위해 사용되는 기법으로 파일 로딩 시점을 분산하는 기법이 많이 사용된다.
상기 기법은 파일이 필요할 때 마다 로딩하는 기법으로 지정된 이미지가 화면에 드로잉(drawing) 될 때 마다 파일을 로딩한다.
하지만, 화면의 이미지들은 한꺼번에 화면 드로잉에 포함되므로 상기 기법으로부터는 분산 로딩 효과를 기대하기 어려운 점이 있다.
상기 기법과는 또 다른 분산 로딩 기법으로 명시적인 로딩 기법이 있지만, 상기 명시적인 로딩 기법은 불필요한 로딩 함수의 지정에 드는 개발 비용이 크기 때문에 많이 사용되지 않는다.
이와 관련하여, 본 발명의 실시예들은 단말기에서 특정 이미지가 렌더링(rendering)되고 있을 때, 다른 이미지를 백그라운드(background)로 미리 로딩하는 멀티스레드(multithread) 기반의 이미지 로딩 기법을 제공함으로써, 단말기 상에서 이미지가 빠르게 드로잉될 수 있도록 하는 기틀을 마련하고자 한다.
본 발명의 실시예들은 특정 이미지가 렌더링되고 있을 때, 다음 이미지를 미리 로딩하는 프리(pre) 로딩 기반 영상 처리 기법과 이미지를 선정된(predetermined) 계층으로 구분한 후 특정 계층의 이미지를 렌더링함과 동시에 점진적으로 다른 계층의 이미지 데이터를 로딩하는 비동기 로딩 기반 영상 처리 기법으로 구분할 수 있다.
따라서, 이하에서는 본 발명의 실시예들을 상기 프리 로딩 기반 영상 처리 기법과 상기 비동기 로딩 기반 영상 처리 기법으로 구분하여 설명하기로 한다.
프리 로딩 기반 영상 처리 기법은 특정 이미지가 렌더링되고 있을 때, 상기 특정 이미지의 다음 이미지를 백그라운드로 미리 로딩함으로써, 상기 특정 이미지의 렌더링이 완료되면, 상기 다음 이미지의 렌더링을 별도의 로딩시간 없이 바로 수행할 수 있는 기법이다.
즉, 프리 로딩 기반 영상 처리 기법은 멀티스레드를 이용하여 다음 분기할 로딩 작업을 백그라운드로 수행하는 기법이다.
이러한, 프리 로딩 기반 영상 처리 기법은 이미지 로딩 시점 이전에 미리 로딩을 수행해야 하기 때문에 이미지 사용을 미리 예측해야 하고, 미리 로딩된 이미지의 총량이 물리적인 메모리 크기보다 크지 않도록 해야 한다.
비동기 로딩 기반 영상 처리 기법은 단말기의 화면에 드로잉될 이미지를 소정의 계층으로 구분한 후 특정 계층의 이미지가 렌더링되고 있을 때, 다른 계층의 이미지를 백그라운드로 미리 로딩함으로써, 이미지의 드로잉 속도를 향상시킬 수 있는 기법이다.
즉, 비동기 로딩 기반 영상 처리 기법은 현재 드로잉에 사용될 이미지가 로딩 완료되지 않은 상태에서 로딩 상태를 실시간으로 드로잉 화면에 반영하는 기법이다.
따라서, 비동기 로딩 기반 영상 처리 기법은 일반적인 이미지 로딩 기법과 달리, 로딩 시간의 대기 없이 이미지 렌더링이 가능하므로, 이미지의 드로잉 속도를 향상시킬 수 있다.
본 발명의 일실시예에 따르면, 비동기 로딩 기반 영상 처리 기법을 구현하기 위해 이미지를 포맷에 따라 몇 가지 계층의 해상도 별로 구분한 후 구분된 해상도 별로 이미지의 로딩을 수행할 수 있다.
이때, 이미지 피라미드 내용을 포함하는 이미지 파일을 생성하거나 저주파 영상을 빠르게 스캔하는 방법을 사용함으로써, 해상도 별 이미지의 로딩을 구현할 수 있다.
보통, 이미지의 해상도 별 로딩 시간은 비례적으로 필요할 것이므로, 낮은 수준의 해상도부터 점차 높은 수준의 해상도 순으로 로딩을 수행하면, 이미지의 로딩이 수행되는 동안, 서로 상이 하지 않은 이미지 결과를 만들 수 있고, 이미지의 로딩이 빠르게 수행되는 것과 같은 결과를 얻을 수 있다.
이미지를 해상도 별로 점전적으로 세분화하는 로딩은 이미지 포맷에서 인터레이스(interlace) 방식을 활용하여 처리 가능하고, 압축률이 높고 네트워크 전송에 적합한 프로그레시브 제이펙(progressive jpeg) 방법 등을 이용하여 빠르게 로딩 처리를 완료할 수 있다.
도 1은 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 기법에 따라 이미지가 화면 상에 드로잉되는 과정을 도시한 도면이다.
도 1에는 이미지를 저해상도에서 고해상도 순으로 4개의 계층으로 구분한 후 각 계층별로 순차적으로 렌더링을 수행함으로써, 이미지가 드로잉되는 과정이 도시되어 있다.
즉, 도 1을 살펴보면, 계층 3(level 3)에 해당하는 이미지의 렌더링을 수행함과 동시에 계층 2(level 2)에 해당하는 이미지를 로딩하고, 상기 계층 3(level)에 해당하는 이미지의 렌더링이 완료되면, 그 즉시 미리 로딩된 상기 계층 2(level 2)에 해당하는 이미지의 렌더링을 수행하며, 상기 계층 2(level 2)에 해당하는 이미지의 렌더링을 수행함과 동시에 계층 1(level 1)에 해당하는 이미지의 로딩을 수행하는 방식을 이용하여 전체 이미지의 드로잉을 완료한 것임을 알 수 있다.
비동기 로딩 기반 영상 처리 기법은 응용프로그램에 따라 대용량 리스트와 같이 많은 이미지들이 로딩되어야 하고, 스크롤 동작에 따라 이미지들이 빠르게 교체될 필요가 있을 때, 적절하게 활용될 수 있다.
만약, 이미지 리스트가 빠르게 스크롤 중일 때에는 가장 낮은 수준의 해상도 계층에 해당하는 이미지만 렌더링하고, 반대로 상기 이미지 리스트가 느리게 스크롤 되거나 정지하고 있을 때에는 모든 계층의 이미지를 로딩함으로써, 이미지 드로잉의 효율성을 높일 수 있다.
이상, 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법인 프리 로딩 기반 영상 처리 기법과 비동기 로딩 기반 영상 처리 기법에 대해 살펴보았다.
이하에서는 도 2를 참조하여 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법의 전체적인 동작 구조에 대해 설명하기로 한다.
도 2는 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법의 동작 구조를 도시한 도면이다.
도 2를 참조하면, 메인 스레드(210)는 이미지 캐시(211), 요청 큐(212) 및 서피스 마커(Surface Maker)(213)를 포함하고, 로딩 스레드(220)는 이미지 로더(221)를 포함한다.
메인 스레드(210)는 미리 준비된 자원을 이용하여 장면 트리(scene tree)를 관리하고, 여러가지 CPU 연산 및 렌더링을 수행한다.
특히, 메인 스레드(210)는 자원관리를 위해 요청 큐(212)를 통해 로딩 스레드(220)에 이미지 로딩을 요청하고, 로딩 스레드(220)로부터 로딩이 완료된 이미지를 얻어와 상기 장면 트리를 갱신하여 렌더링을 수행한다.
로딩 스레드(220)는 메인 스레드(210)와는 별도로 리소스 로딩의 동작만을 반복적으로 수행함으로써, 메인 스레드(210)가 원할하게 리소스를 사용할 수 있도록 백그라운드에서 동작한다.
또한, 로딩 스레드(220)는 특정 스레드에 작업이 몰리지 않도록 요청 버퍼(230)의 크기를 조정하고, 작업 내용이 없을 때, 메인 스레드(210)가 더 많은 작업을 할 수 있도록 제어권을 돌려준다.
메인 스레드(210)와 로딩 스레드(220)의 동작에 대해 좀 더 상세하게 설명하면, 먼저, 메인 스레드(210)는 장면 트리의 프리 로딩 리스트에서 로딩이 완료되지 않은 이미지를 매 프레임마다 요청 큐(212)에 추가한다.
이때, 요청 큐(212)에 추가된 이미지들은 로딩 우선 순위를 포함하고 있어야 하지만, 요청 큐(212)에 추가되는 순서와는 무관하다.
요청 버퍼(230)의 크기는 메인 스레드(210)와 로딩 스레드(220)간의 무결성을 위한 동기화 변수로 사용하기 위해 요청 큐(212)의 크기와 무관하게 미리 지정된 크기만큼 설정된다.
특히, 요청 버퍼(230)의 크기는 메인 스레드(210)의 갱신 주기 동안 로딩 스레드(220)의 처리 주기를 고려하여 결정될 수 있다.
요청 버퍼(230)는 메인 스레드(210)와 로딩 스레드(220)가 함께 사용하는 변수로 로딩 스레드(220)와 뮤텍스(mutex) 동기화 작업을 수행한다.
메인 스레드(210)는 요청 큐(212)에서 요청 버퍼(230)를 채우는 작업을 프레임마다 한번씩 수행하고, 요청 큐(212)의 우선 순위 정렬 이후 요청 버퍼(230)의 크기만큼 요청 버퍼(230)를 채우고 요청 큐(212)를 모두 비운다.
로딩 스레드(220)는 매 작업 주기마다 요청 버퍼(230)의 뮤텍스 동기화를 수행하여 로딩 이미지를 결정한다.
이때, 상기 로딩 이미지는 이미지 로더(221)에 의해 로딩이 완료된다.
로딩 스레드(220)는 로딩이 완료된 로딩 이미지를 하드웨어가 처리 가능한 텍스처로 만들기 위해 요청 버퍼(230)와 같은 크기로 예비 버퍼(240)에 상기 로딩 이미지를 추가한다.
이때, 예비 버퍼(240)의 모든 로딩 이미지는 메인 스레드(210)의 갱신 주기마다 서피스 마커(213)로 생성된 서피스 아이디(surface id)를 이미지 캐시(211)에 추가한다.
본 발명의 실시예들은 멀티 스레드를 이용하는 로더의 공유 변수인 요청 버퍼(230)와 예비 버퍼(240)의 무결성을 보장하기 위해 메인 스레드(210)의 동기 함수와 로딩 스레드(220)의 서비스 함수를 통해서만 인터페이스 가능하도록 하고, 공유 변수 뮤텍스 동기화와 스레드 로더의 확장을 위해 콜백 함수를 사용할 수 있다.
이상, 도 2를 참조하여 본 발명의 실시예들에 따른 멀티스레드 기반 영상 처리 기법의 동작 구조를 설명하였다.
이하에서는 도 3 내지 도 6을 참조하여 본 발명의 실시예들에 따른 프리 로딩 기반 영상 처리 장치 및 방법과 비동기 로딩 기반 영상 처리 장치 및 방법에 대해 구체적으로 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.
도 3을 참조하면, 프리 로딩 기반 영상 처리 장치(310)는 로딩부(311) 및 렌더링부(312)를 포함한다.
로딩부(311)는 디스플레이하고자 하는 이미지에 대한 데이터를 로딩한다.
렌더링부(312)는 상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링한다.
이때, 로딩부(311)는 렌더링부(312)가 상기 이미지를 렌더링하는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩한다.
본 발명의 일실시예에 따르면, 로딩부(311)는 상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행할 수 있다.
또한, 본 발명의 일실시예에 따르면, 렌더링부(312)는 선정된 자원을 활용하여 장면 트리를 관리하고, 로딩부(311)로부터 상기 로딩이 완료된 데이터를 수신하여 상기 장면 트리를 갱신할 수 있다.
이때, 렌더링부(312)는 상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터 로딩을 로딩부(311)에 요청할 수 있다.
이때, 로딩부(311)는 렌더링부(312)의 요청에 따라 상기 다른 이미지에 대한 데이터를 로딩하여 렌더링부(312)로 전달할 수 있다.
도 4는 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 장치의 구조를 도시한 도면이다.
도 4를 참조하면, 비동기 로딩 기반 영상 처리 장치(410)는 계층 구분부(411), 로딩부(412) 및 렌더링부(413)를 포함한다.
계층 구분부(411)는 디스플레이하고자 하는 이미지에 대한 데이터를 선정된 계층으고 구분한다.
로딩부(412)는 상기 선정된 계층으로 구분된 데이터를 순차적으로 로딩한다.
렌더링부(413)는 상기 선정된 계층으로 구분된 데이터의 로딩완료 순서에 기초하여 순차적으로 상기 이미지를 렌더링한다.
이때, 로딩부(412)는 렌더링부(413)가 선순위 계층의 데이터를 기초로 렌더링을 수행하는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩한다.
본 발명의 일실시예에 따르면, 로딩부(412)는 상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행할 수 있다.
또한, 본 발명의 일실시예에 따르면, 계층 구분부(411)는 상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분할 수 있다.
이때, 렌더링부(413)는 상기 해상도의 높낮이를 기초로 구분된 데이터의 로딩완료순서에 기초하여 낮은 해상도에서 높은 해상도 순으로 상기 이미지를 렌더링할 수 있다.
도 5는 본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 방법을 도시한 순서도이다.
단계(S510)에서는 디스플레이하고자 하는 이미지에 대한 데이터를 로딩한다.
단계(S520)에서는 상기 이미지에 대한 데이터 로딩이 완료되면, 상기 로딩이 완료된 데이터를 기초로 상기 이미지를 렌더링한다.
단계(S530)에서는 상기 이미지가 렌더링되는 동안, 로딩이 완료되지 않은 다른 이미지에 대한 데이터를 로딩한다.
본 발명의 일실시예에 따르면, 단계(S530)에서는 상기 다른 이미지에 대한 데이터 로딩을 백그라운드로 수행할 수 있다.
단계(S540)에서는 상기 다른 이미지에 대한 데이터 로딩이 완료되면, 상기 다른 이미지에 대한 데이터를 기초로 상기 다른 이미지를 렌더링한다.
본 발명의 일실시예에 따른 프리 로딩 기반 영상 처리 방법은 단계(S510)이전에 선정된 자원을 활용하여 장면 트리를 관리하는 단계를 더 포함할 수 있다.
이때, 상기 프리 로딩 기반 영상 처리 방법은 단계(S510)이후에 상기 로딩이 완료된 상기 이미지에 대한 데이터를 수신하여 상기 장면 트리를 갱신하는 단계를 더 포함할 수 있다.
또한, 상기 프리 로딩 기반 영상 처리 방법은 단계(S510)이후에 상기 장면 트리를 기초로 상기 다른 이미지에 대한 데이터 로딩을 요청하는 단계를 더 포함할 수 있다.
이때, 단계(S530)은 상기 요청에 대응하여 상기 다른 이미지에 대한 데이터를 로딩할 수 있다.
도 6은 본 발명의 일실시예에 따른 비동기 로딩 기반 영상 처리 방법을 도시한 순서도이다.
단계(S610)에서는 디스플레이하고자 하는 이미지에 대한 데이터를 선정된 계층으로 구분한다.
이때, 본 발명의 일실시예에 따르면, 단계(S610)에서는 상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분할 수 있다.
단계(S620)에서는 상기 선정된 계층으로 구분된 데이터 중 선순위 계층의 데이터를 로딩한다.
단계(S630)에서는 상기 선순위 계층의 데이터가 로딩 완료되면, 상기 선순위 계층의 데이터를 기초로 상기 선순위 계층의 데이터에 대응하는 이미지를 렌더링한다.
단계(S640)에서는 상기 선순위 계층의 데이터에 대응하는 이미지가 렌더링되는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩한다.
이때, 본 발명의 일실시예에 따르면, 단계(S640)에서는 상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행할 수 있다.
단계(S650)에서는 상기 후순위 계층의 데이터가 로딩 완료되면, 상기 후순위 계층의 데이터를 기초로 상기 후순위 계층의 데이터에 대응하는 이미지를 렌더링한다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
210: 메인 스레드
211: 이미지 캐시 212: 요청 큐 213: 서피스 마커
220: 로딩 스레드
221: 이미지 로더
230: 요청 버퍼 240: 예비 버퍼
310: 프리 로딩 기반 영상 처리 장치
311: 로딩부 312: 렌더링부
410: 비동기 로딩 기반 영상 처리 장치
411: 계층 구분부 412: 로딩부 413: 렌더링부
211: 이미지 캐시 212: 요청 큐 213: 서피스 마커
220: 로딩 스레드
221: 이미지 로더
230: 요청 버퍼 240: 예비 버퍼
310: 프리 로딩 기반 영상 처리 장치
311: 로딩부 312: 렌더링부
410: 비동기 로딩 기반 영상 처리 장치
411: 계층 구분부 412: 로딩부 413: 렌더링부
Claims (16)
- 삭제
- 삭제
- 삭제
- 삭제
- 디스플레이하고자 하는 이미지에 대한 데이터를 선정된(predetermined) 계층으로 구분하는 계층 구분부;
상기 선정된 계층으로 구분된 데이터를 순차적으로 로딩(loading)하는 로딩부; 및
상기 선정된 계층으로 구분된 데이터의 로딩완료 순서에 기초하여 순차적으로 상기 이미지를 렌더링(rendering)하는 렌더링부
를 포함하고,
상기 로딩부는 상기 렌더링부가 선순위 계층의 데이터를 기초로 랜더링을 수행하는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩하며,
상기 계층 구분부는
상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분하는 것을 특징으로 하는 비동기 로딩 기반 영상 처리 장치. - 제5항에 있어서,
상기 로딩부는
상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행하는 것을 특징으로 하는 비동기 로딩 기반 영상 처리 장치. - 삭제
- 제5항에 있어서,
상기 렌더링부는
상기 해상도의 높낮이를 기초로 구분된 데이터의 로딩완료 순서에 기초하여 낮은 해상도에서 높은 해상도 순으로 상기 이미지를 렌더링하는 것을 특징으로 하는 비동기 로딩 기반 영상 처리 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 디스플레이하고자 하는 이미지에 대한 데이터를 선정된(predetermined) 계층으로 구분하는 단계;
상기 선정된 계층으로 구분된 데이터 중 선순위 계층의 데이터를 로딩(loading)하는 단계;
상기 선순위 계층의 데이터가 로딩 완료되면, 상기 선순위 계층의 데이터를 기초로 상기 선순위 계층의 데이터에 대응하는 이미지를 렌더링(rendering)하는 단계;
상기 선순위 계층의 데이터에 대응하는 이미지가 랜더링되는 동안, 로딩이 완료되지 않은 후순위 계층의 데이터를 로딩하는 단계; 및
상기 후순위 계층의 데이터가 로딩 완료되면, 상기 후순위 계층의 데이터를 기초로 상기 후순위 계층의 데이터에 대응하는 이미지를 렌더링하는 단계
를 포함하며,
상기 선정된 계층으로 구분하는 단계는
상기 이미지의 해상도에 기초하여 상기 이미지에 대한 데이터의 계층을 낮은 해상도에서 높은 해상도 순으로 구분하는 단계인 것을 특징으로 하는 비동기 로딩 기반 영상 처리 방법. - 제13항에 있어서,
상기 후순위 계층의 데이터를 로딩하는 단계는
상기 후순위 계층의 데이터에 대한 로딩을 백그라운드로 수행하는 것을 특징으로 하는 비동기 로딩 기반 영상 처리 방법. - 삭제
- 제13항 내지 제14항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100063793A KR101460684B1 (ko) | 2010-07-02 | 2010-07-02 | 프리 로딩 기반 영상 처리 장치 및 방법, 비동기 로딩 기반 영상 처리 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100063793A KR101460684B1 (ko) | 2010-07-02 | 2010-07-02 | 프리 로딩 기반 영상 처리 장치 및 방법, 비동기 로딩 기반 영상 처리 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120003122A KR20120003122A (ko) | 2012-01-10 |
KR101460684B1 true KR101460684B1 (ko) | 2014-11-12 |
Family
ID=45610209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100063793A KR101460684B1 (ko) | 2010-07-02 | 2010-07-02 | 프리 로딩 기반 영상 처리 장치 및 방법, 비동기 로딩 기반 영상 처리 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101460684B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101711510B1 (ko) * | 2015-02-27 | 2017-03-02 | 주식회사 토브스 | 복수의 ip 카메라 영상을 표시하기 위한 영상 관제 시스템 및 그 방법 |
KR101880507B1 (ko) * | 2017-04-21 | 2018-07-20 | 주식회사 한글과컴퓨터 | 웹 문서에 삽입된 도형의 크기 조정을 지원하는 클라이언트 단말 장치 및 그 동작 방법 |
KR101880508B1 (ko) * | 2017-04-27 | 2018-07-20 | 주식회사 한글과컴퓨터 | 웹 문서에서 목록 생성을 지원하는 웹 문서 편집 지원 장치 및 방법 |
CN110941459A (zh) * | 2019-11-20 | 2020-03-31 | 东软集团股份有限公司 | 调用Replugin插件的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040045883A (ko) * | 2001-10-22 | 2004-06-02 | 애플 컴퓨터, 인코포레이티드 | 즉각적 플레이 능력을 지닌 미디어 플레이어 |
KR20050048416A (ko) * | 2003-11-19 | 2005-05-24 | 삼성전자주식회사 | 프리로딩 정보가 기록된 저장 매체, 재생 장치 및 그 재생방법 |
-
2010
- 2010-07-02 KR KR1020100063793A patent/KR101460684B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040045883A (ko) * | 2001-10-22 | 2004-06-02 | 애플 컴퓨터, 인코포레이티드 | 즉각적 플레이 능력을 지닌 미디어 플레이어 |
KR20050048416A (ko) * | 2003-11-19 | 2005-05-24 | 삼성전자주식회사 | 프리로딩 정보가 기록된 저장 매체, 재생 장치 및 그 재생방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20120003122A (ko) | 2012-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102419745B1 (ko) | 게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기 | |
US10572285B2 (en) | Method and apparatus for elastically scaling virtual machine cluster | |
US9383917B2 (en) | Predictive tiling | |
US10423527B2 (en) | Memory management and image display for mobile devices | |
US20220139017A1 (en) | Layer composition method, electronic device, and storage medium | |
CN110377263B (zh) | 图像合成方法、装置、电子设备及存储介质 | |
CN103559730B (zh) | 一种渲染方法及装置 | |
KR101952983B1 (ko) | 콘텐트의 타일-기반 렌더링을 위한 방법 및 콘텐트를 렌더링하기 위한 시스템 | |
US20150254806A1 (en) | Efficient Progressive Loading Of Media Items | |
KR101460684B1 (ko) | 프리 로딩 기반 영상 처리 장치 및 방법, 비동기 로딩 기반 영상 처리 장치 및 방법 | |
CN107526623B (zh) | 一种数据处理方法及装置 | |
US10204598B2 (en) | Predictive pre-decoding of encoded media item | |
JP2022524745A (ja) | ステップ対応ワークフローのための方法及び装置 | |
KR101779791B1 (ko) | 읽기 속도에 기반한 정보 전송 | |
CN104866291A (zh) | 一种基于Android的手机2D游戏引擎 | |
CN113504862A (zh) | 视图数据处理方法、装置、目标设备及存储介质 | |
CN109672931B (zh) | 用于处理视频帧的方法和装置 | |
CN117557701B (zh) | 一种图像渲染方法和电子设备 | |
CN116342779A (zh) | 图像的优化处理方法、装置、设备以及存储介质 | |
CN113419806B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN111966853B (zh) | 一种遥感影像的管理方法 | |
CN114745570A (zh) | 图像的渲染方法、电子设备及存储介质 | |
CN112218003B (zh) | 一种桌面图像采集方法、装置及电子设备 | |
US10586304B2 (en) | Dynamic selection of image rendering formats | |
CN115134651A (zh) | 数据处理方法、装置、计算机设备和存储介质 |
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 |