KR101049813B1 - 이미지를 자동으로 배치하는 방법 및 장치 - Google Patents

이미지를 자동으로 배치하는 방법 및 장치 Download PDF

Info

Publication number
KR101049813B1
KR101049813B1 KR1020080138153A KR20080138153A KR101049813B1 KR 101049813 B1 KR101049813 B1 KR 101049813B1 KR 1020080138153 A KR1020080138153 A KR 1020080138153A KR 20080138153 A KR20080138153 A KR 20080138153A KR 101049813 B1 KR101049813 B1 KR 101049813B1
Authority
KR
South Korea
Prior art keywords
image
area
reference image
images
image area
Prior art date
Application number
KR1020080138153A
Other languages
English (en)
Other versions
KR20100079619A (ko
Inventor
박용관
이승영
Original Assignee
엔에이치엔(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020080138153A priority Critical patent/KR101049813B1/ko
Publication of KR20100079619A publication Critical patent/KR20100079619A/ko
Application granted granted Critical
Publication of KR101049813B1 publication Critical patent/KR101049813B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • 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/54Browsing; Visualisation therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

이미지를 자동으로 배치하는 방법 및 장치가 제공된다. 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 방법은 (a) 상기 복수의 이미지 중, 기준 이미지 영역의 폭과 높이를 초과하지 않으면서 가장 큰 면적을 갖는 이미지를 상기 기준 이미지 영역 내의 한쪽 모서리에 배치하는 단계, (b) 상기 (a) 단계의 배치 결과 남게 되는 두 개의 사각형 영역을 각각 기준 이미지 영역으로 재설정하는 단계, (c) 상기 재설정된 두 개의 기준 이미지 영역 각각에 대해 상기 (a) 단계 및 상기 (b) 단계를 반복 실행하는 단계를 포함한다.
3D, 가속 기능, 그래픽 카드, 이미지 배치

Description

이미지를 자동으로 배치하는 방법 및 장치{METHOD AND APPARATUS FOR AUTOMATICALLY ARRANGING IMAGES}
본 발명은 이미지를 자동으로 배치하는 방법 및 장치에 관한 것으로서, 보다 상세하게는, 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동으로 배치하는 방법 및 장치에 관한 것이다.
일반적으로 3차원(이하, 3D라 칭함) 컴퓨터 그래픽은 멀티미디어 환경을 구축하기 위한 핵심적인 기술로서, 현실감 있는 3D 영상을 지원하기 위해서는 고성능의 전용 3D 그래픽 가속기를 필요로 한다.
3D 그래픽 가속기를 이용한 일반적인 3D 그래픽 처리과정은, 3D 응용 소프트웨어가 API(Application Program Interface)를 통하여 3D 그래픽 가속기에서 기하학처리(geometry processing) 및 렌더링(rendering)과 같은 실시간 하드웨어 가속을 수행한 후 그 결과를 디스플레이 장치로 보내는 단계를 거친다.
참고로, 3D 그래픽에 관련된 API는 DirectX 3D, Open GL, Speedy 3D 및 Glide 등이 있으며, 이 중 하드웨어에 관계없이 사용하는 범용 API로는 마이크로 소프트社의 DirectX 3D와 실리콘 그래픽스社의 Open GL이 있다. DirectX 3D가 게임 전용 API인데 반해, Open GL은 범용 API로서 게임 외에도 여러 가지 프로그램 개발에 많이 사용된다.
이러한 3D API를 통해 3D 가속 기능을 이용하는 애플리케이션이나 게임에서는 현실감 있는 3D 영상을 지원하기 위해 많은 이미지들을 사용하는데, 이를 위해 3D 그래픽과 관련된 장치에서는 소정의 작업 공간(이하, 텍스쳐(Texture)라 칭함)을 할당하여 로딩하고, 이 텍스쳐에, 애플리케이션이나 게임에서 필요한 이미지들을 배치한 후 배치한 이미지들을 사용한다.
이때, 이미지가 배치되는 텍스쳐의 로딩은 통상적으로
Figure 112008090986419-pat00001
사이즈 단위로 이루어지기 때문에, 사용되지 않는 공간으로 인한 메모리의 낭비가 발생하게 된다. 예를 들어, 이미지의 사이즈가 100 X 100인 경우, 해당 이미지를 로딩하기 위한 텍스쳐의 최소 공간은
Figure 112008090986419-pat00002
단위인 128 X 128이 되므로, (128 X 128)-(100 X 100) 만큼의 낭비되는 공간이 발생한다.
이러한 문제는, 로딩되는 이미지의 수가 증가할수록 더욱 큰 메모리의 낭비를 야기시킬 뿐만 아니라, 다른 이미지를 찾기 위해 이미지가 배치된 텍스쳐를 변경시키는 빈번한 텍스쳐 스위칭(Texture Switching)의 원인이 되고 있다.
상술한 종래 기술의 문제점을 해결하기 위해, 본 발명은 메모리 공간의 낭비를 최소화하면서, 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동으로 배치하는 방법 및 장치를 제공한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 측면에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 방법은 (a) 상기 복수의 이미지 중, 기준 이미지 영역의 폭과 높이를 초과하지 않으면서 가장 큰 폭과 높이를 갖는 이미지를 상기 기준 이미지 영역 내의 한쪽 모서리에 배치하는 단계, (b) 상기 (a) 단계의 배치 결과 남게 되는 두 개의 사각형 영역을 각각 기준 이미지 영역으로 재설정하는 단계, (c) 상기 재설정된 두 개의 기준 이미지 영역 각각에 대해 상기 (a) 단계 및 상기 (b) 단계를 반복 실행하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 다른 측면에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 장치는 상기 복수의 이미지 중 상기 기준 이미지 영역의 폭과 높이를 초과하지 않으면서 가장 큰 면적의 이미지를 선택하는 이미지 선택부, 상기 선택된 이미지를 상기 기준 이미지 영역내의 한쪽 모서리에 배치하는 이미지 배치부 및 상기 배치 결과 남게 되 는 두 개의 사각형 영역을 각각 기준 이미지 영역으로 재설정하는, 기준 이미지 영역 관리부를 포함하되, 상기 기준 이미지 영역의 최초 폭과 높이는 (m, n은 자연수)이다.
상기 목적을 달성하기 위한 구체적인 사항들은 첨부된 도면과 함께 상세하게 후술된 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라, 서로 다른 다양한 형태로 구성될 수 있으며, 본 실시예들은 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
전술한 본 발명의 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 방법 및 장치의 과제 해결 수단 중 하나에 의하면, 메모리 공간의 낭비를 최소화함으로써 더 많은 양의 이미지를 텍스쳐에 배치하여 사용할 수 있다.
또한, 한번에 많은 양의 이미지를 주어진 텍스쳐에 배치함으로써 텍스쳐 스위칭의 횟수를 감소시킬 수 있다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명하도록 한다.
그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
참고로, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 장치의 구성을 도시한 블록도이다.
본 발명의 일 실시예에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 장치(100)는 이미지 선택부(110), 이미지 배치부(120) 및 기준 이미지 영역 관리부(130)를 포함한다.
참고로, 본 발명의 실시예에 따른 도 1에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 구성 요소를 의미하며, 소정의 역할들을 수행한다.
그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.
먼저, 이미지 선택부(110)는 3D 가속 기능을 이용하는 애플리케이션이나 게임에서 사용하는 복수의 이미지를 면적, 즉 '폭 X 높이'가 큰 순서로 정렬한다. 이때, 이미지 선택부(110)는 정렬된 이미지 각각에 고유한 아이디를 부여할 수도 있다.
참고로, 이미지 선택부(110)는 상기한 복수의 이미지를 '폭 X 높이'가 큰 순서가 아닌, 이미지의 폭이 큰 순서 또는 이미지의 높이가 큰 순서로 정렬할 수도 있다.
이하, 본 발명의 실시예에서는 설명의 편의를 위해 이미지 선택부(110)에서 이미지의 면적, 즉, '폭 X 높이'가 큰 순서로 정렬하는 경우에 대해 설명하도록 하며, '폭 X 높이'를 '사이즈'라 칭하도록 한다.
또한, 이미지 선택부(110)는 사이즈가 큰 순서로 정렬된 이미지와 이미지가 배치되는 기준 이미지 영역의 폭과 높이를 비교하여, 정렬된 이미지 중 기준 이미지 영역의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈의 이미지를 선택한다.
여기에서, 기준 이미지 영역은 최초로 설정되는 기준 이미지 영역과 재설정된 기준 이미지 영역을 포함한다. 최초로 설정되는 기준 이미지 영역은 3D 가속 기능을 이용하는 애플리케이션이나 게임에서 한번에 로딩하는 단위 영역으로서, 복수의 이미지들이 배치되는 공간이며, 다시 복수 개의 재설정된 기준 이미지 영역으로 분할될 수 있다. 또한, 최초로 설정된 기준 이미지 영역은 복수 개일 수 있으며, 최초로 설정된 기준 이미지 영역마다 각각 고유한 아이디가 부여될 수 있다.
예를 들어, 하나의 애플리케이션에 사용되는 이미지의 개수가 1000개인 경우, 이들 1000개의 이미지는 1024 X 1024 사이즈를 갖는 20개의 최초 설정 기준 이미지 영역에 나누어 배치될 수 있다. 또한, 하나의 최초 설정 기준 이미지 영역은 복수 개의 재설정된 기준 이미지 영역을 포함할 수 있다. 따라서, 애플리케이션은 1024 X 1024 사이즈를 갖는 20개의 최초 설정 기준 이미지 영역만을 로딩한 후, 로딩된 최초 설정 기준 이미지 영역 내에서 1000개의 이미지 각각을 읽어내서 사용할 수 있게 된다.
참고로, 최초로 설정되는 기준 이미지 영역의 사이즈는
Figure 112008090986419-pat00003
(m, n은 자연 수) 단위이며, 최초로 설정되는 기준 이미지 영역의 사이즈가 클수록 기준 이미지 영역에 가능한 많은 이미지를 로딩함으로써 텍스쳐 스위칭의 횟수를 줄일 수 있으나, 바람직하게는, 시스템의 성능을 고려한 기준 이미지 영역의 사이즈 설정이 필요하다.
또한, 최초로 설정되는 기준 이미지 영역의 사이즈는 당업자에 따라 다양하게 설정될 수 있으며, 본 발명의 실시예에서는 1024 X 1024 사이즈를 예로 들어 설명하도록 한다.
한편, 재설정된 기준 이미지 영역은 도 2a 내지 도 4f를 참조하여 후술하도록 하겠다.
본 발명의 일 실시예에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 장치(100) 중 이미지 배치부(120)는 이미지 선택부(110)에서 선택된 이미지를 기준 이미지 영역 내의 한쪽 모서리에 배치한다. 이때, 이미지 배치부(120)는 선택된 이미지를 기준 이미지 영역 내의 좌측 상단 모서리에 배치할 수 있으며, 배치된 이미지에 대해 기준 이미지 영역 내의 위치 정보, 예를 들어, 이미지가 배치된 좌측 상단 모서리의 x, y 좌표 값과, 배치된 이미지의 폭(w) 및 높이(h) 정보를 파악하여 저장한다.
한편, 기준 이미지 영역 관리부(130)는 이미지 배치부(120)에서 기준 이미지 영역에 이미지를 배치한 결과 남게 되는 두 개의 사각형 영역을 각각 기준 이미지 영역으로 재설정한다.
이때, 기준 이미지 영역 관리부(130)는 배치된 이미지의 우변을 따라 연장된 직선의 우측 영역과, 배치된 이미지의 하변의 하측 영역을 기준 이미지 영역으로 재설정할 수 있으며, 이와 달리, 배치된 이미지의 하변을 따라 연장된 직선의 하측 영역과, 배치된 이미지의 우변의 우측 영역을 기준 이미지 영역으로 재설정할 수도 있다.
이하, 도 2a 내지 도 4f를 참조하여 이미지 배치부(120)의 이미지 배치와 기준 이미지 영역 관리부(130)의 기준 이미지 영역 재설정에 대하여 상세하게 설명하도록 한다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 재설정된 기준 이미지 영역을 도시한 도면이다.
먼저, 도 2a에서, 최초로 설정된 기준 이미지 영역(200) 내에 이미지(201)가 배치되면, 두 개의 사각형 영역(210, 220)이 남게 되는데, 기준 이미지 영역 관리부(130)는 이 두 개의 사각형 영역(210, 220)을 기준 이미지 영역으로 각각 재설정한다. 재설정 방법은 다음과 같다.
기준 이미지 영역 관리부(130)는 배치된 이미지(201)의 우변(201a)을 따라 연장된 직선(201a’)의 우측 영역(210)과, 배치된 이미지의 하변(201b)의 하측 영역(220)을 기준 이미지 영역으로 재설정할 수 있다.
이하에서는, 도 2b를 참조하여 우측 영역(210)에 이미지가 배치되는 경우를 설명하도록 한다.
기준 이미지 영역 관리부(130)에서, 상기한 바와 같이, 우측 영역(210)과 하측 영역(220)을 기준 이미지 영역으로 재설정하고, 우측 영역(210)에 이미지를 배 치하는 경우, 이미지 선택부(110)는 재설정된 기준 이미지 영역, 즉, 우측 영역(210)의 폭과 높이를 초과하지 않으면서, 가장 큰 사이즈를 갖는 이미지(202)를 선택한다.
이후, 이미지 배치부(120)는 이미지 선택부(110)에서 선택된 이미지(202)를 우측 영역(210) 내의 좌측 상단 모서리에 배치할 수 있으며, 배치된 이미지(202)에 대해 최초 기준 이미지 영역(200) 내의 위치 정보, 예를 들어, 좌측 상단 모서리의 x, y 좌표 값과, 배치된 이미지(202)의 폭 및 높이를 파악하여 저장한다.
이후, 기준 이미지 영역 관리부(130)는 우측 영역(210)에 배치된 이미지(202)의 우변(202a)을 따라 연장된 직선(202a’)의 우측 영역(211)과, 배치된 이미지(202)의 하변(202b)의 하측 영역(212)을 기준 이미지 영역으로 재설정한다.
이후, 이미지 선택부(110), 이미지 배치부(120) 및 기준 이미지 영역 관리부(130)는 도 2a 및 도 2b를 참조하여 설명한 과정을 반복함으로써, 최초로 설정된 기준 이미지 영역(200) 내에 이미지들을 배치할 수 있다.
도 3a 및 도 3b는 본 발명의 다른 실시예에 따른 재설정된 기준 이미지 영역을 도시한 도면이다.
도 2a 및 도 2b에 도시된 방법 외에도, 기준 이미지 영역 관리부(130)는, 도 3a에 도시된 바와 같이, 최초로 설정된 기준 이미지 영역(300)에 배치된 이미지(301)의 하변(301a)을 따라 연장된 직선(301a’)의 하측 영역(310)과, 배치된 이미지(301)의 우변(301b)의 우측 영역(320)을 기준 이미지 영역으로 재설정할 수도 있다.
이하에서는, 도 3b를 참조하여, 하측 영역(310)에 먼저 이미지가 배치되는 경우를 설명하도록 한다.
기준 이미지 영역 관리부(130)에서, 상기한 바와 같이, 하측 영역(310)과 우측 영역(320)을 기준 이미지 영역으로 재설정하고, 하측 영역(310)에 이미지를 배치하는 경우, 이미지 선택부(110)는 재설정된 기준 이미지 영역, 즉, 하측 영역(310)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지(302)를 선택한다.
이후, 이미지 배치부(120)는 선택된 이미지(302)를 하측 영역(310) 내의 한쪽 모서리에 배치한다. 이때, 이미지 배치부(120)는 이미지 선택부(110)에서 선택된 이미지(302)를 하측 영역(310) 내의 좌측 상단 모서리에 배치할 수 있으며, 배치된 이미지(302)에 대해 최초 기준 이미지 영역(200) 내의 위치 정보, 예를 들어, 좌측 상단 모서리의 x, y 좌표 값과, 배치된 이미지(302)의 폭 및 높이를 파악하여 저장한다.
이후, 기준 이미지 영역 관리부(130)는 하측 영역(310)에 배치된 이미지(302)의 하변(302a)을 따라 연장된 직선(302a’)의 하측 영역(311)과, 배치된 이미지(302)의 우변(302b)의 우측 영역(312)을 기준 이미지 영역으로 재설정한다.
이후, 이미지 선택부(110), 이미지 배치부(120) 및 기준 이미지 영역 관리부(130)는 도 3a 및 도 3b를 참조하여 설명한 과정을 반복함으로써, 최초로 설정된 기준 이미지 영역(200) 내에 이미지들을 배치할 수 있다.
도 4a 내지 도 4f는 본 발명의 일 실시예에 따른 기준 이미지 영역 내에 복 수의 이미지를 배치하는 과정을 도시한 도면이다.
설명의 편의 상, 3D 가속 기능을 이용하는 애플리케이션이나 게임에서 사용하는 복수의 이미지는 이미지 선택부(110)에 의해 사이즈가 큰 순서로 정렬되어 있고, 이미지 선택부(110)는 정렬된 이미지 중 최초로 설정된 기준 이미지 영역(400)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈의 이미지를 선택하였다고 가정하도록 한다.
여기에서, 최초로 설정된 기준 이미지 영역(400) 내에 배치된 6개의 이미지(401 내지 406)는 이미지 선택부(110)에 의해 각각 고유한 아이디가 부여되었고, 각 이미지의 아이디, 폭(w) 및 높이(h)는 다음과 같다.
이미지 1(401) - 아이디 : img_01, 폭(w) : 69, 높이(h) : 81
이미지 2(402) - 아이디 : img_02, 폭 : 54, 높이 : 56
이미지 3(403) - 아이디 : img_03, 폭 : 53, 높이 : 49
이미지 4(404) - 아이디 : img_04, 폭 : 61, 높이 : 21
이미지 5(405) - 아이디 : img_05, 폭 : 48, 높이 : 16
이미지 6(406) - 아이디 : img_06, 폭 : 117, 높이 : 52
먼저, 도 4a는 최초로 설정된 기준 이미지 영역(400) 내에 이미지 1(401) 이 배치된 결과를 도시한 도면이다.
이미지 배치부(120)는, 도 4a에 도시된 바와 같이, 최초로 설정된 기준 이미지 영역(400) 내의 한쪽 모서리, 더 상세하게는 좌측 상단 모서리에, 이미지 선택부(110)에서 선택된 이미지 1(401)을 배치한다. 이때, 이미지 배치부(120)는 배치 된 이미지 1(401)에 대해 최초로 설정된 기준 이미지 영역(400) 내에서의 위치 정보, 예를 들어 좌측 상단 모서리의 x, y 좌표 값과 배치된 이미지 1(410)의 폭(w) 및 높이(h) 등을 파악하여 저장한다.
따라서, 이미지 배치부(120)는 이전에 배치된 이미지에 대한 기준 이미지 영역(400) 내의 위치를 참조함으로써 공간의 낭비 없이 다음에 배치할 이미지의 위치를 설정할 수 있다.
이후, 기준 이미지 영역 관리부(130)는, 도 4a에 도시된 바와 같이, 최초로 설정된 기준 이미지 영역(400)에 배치된 이미지 1(401)의 하변을 따라 연장된 직선(410)의 하측 영역(410a)과, 배치된 이미지 1(401)의 우변의 우측 영역(410b)을 기준 이미지 영역으로 재설정하고, 이미지 배치부(120)는 재설정된 두 영역(410a, 410b) 중 우측 영역(410b)에 이미지를 배치하고, 우측 영역(410b)에 더 이상 이미지를 배치할 공간이 없다면, 하측 영역(410a)에 이미지를 이어서 배치한다.
참고로, 하측 영역(410a)에 이미지를 배치하고, 하측 영역(410a)에 더 이상 이미지를 배치할 공간이 없다면, 우측 영역(410b)에 이미지를 이어서 배치할 수도 있으므로, 이미지 배치 순서는 도 4a에 도시된 실시예로 한정하지 않는다.
또한, 배치된 이미지 1(401)의 우변을 따라 연장된 직선의 우측 영역과, 배치된 이미지의 하변의 하측 영역을 기준 이미지 영역으로 재설정할 수도 있으므로, 기준 이미지 영역의 재설정 방법 역시, 도 4a에 도시된 실시예로 한정하지 않는다.
도 4b는 최초로 설정된 기준 이미지 영역(400) 내에 배치된 이미지 2(402)를 도시한 도면이다.
이미지 선택부(110)는 도 4a에서 기준 이미지 영역으로 재설정된 우측 영역(410b)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈의 이미지인 이미지 2(402)를 선택하고, 이미지 배치부(120)는, 도 4b에 도시된 바와 같이, 우측 영역(410b) 내의 좌측 상단 모서리에 선택된 이미지 2(402)를 배치한다.
이때, 이미지 배치부(120)는 이미 배치된 이미지 1(401)에 대한, 최초로 설정된 기준 이미지 영역(400) 내에서의 위치 정보, 예를 들어, 좌측 상단 모서리의 x, y 좌표 값과 배치된 이미지 1(410)의 폭(w), 높이(h)를 참조하여, 우측 영역(410b) 내의 좌측 상단 모서리에 선택된 이미지 2(402)를 배치한다.
이후, 기준 이미지 영역 관리부(130)는, 우측 영역(410b)에 배치된 이미지 2(402)의 하변을 따라 연장된 직선(420)의 하측 영역(420a)과, 배치된 이미지 2(402)의 우변의 우측 영역(420b)을 기준 이미지 영역으로 다시 재설정하고, 이미지 배치부(120)는 재설정된 두 영역(420a, 420b) 중 우측 영역(420b)에 이미지를 배치한 후, 우측 영역(420b)에 더 이상 이미지를 배치할 공간이 없다면, 하측 영역(420a)에 이미지를 이어서 배치한다.
도 4c는 최초로 설정된 기준 이미지 영역(400) 내에 배치된 이미지 3(403)을 도시한 도면이다.
이미지 선택부(110)는 재설정된 기준 이미지 영역인 우측 영역(420b)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈의 이미지인 이미지 3(403)을 선택하고, 이미지 배치부(120)는, 도 4c에 도시된 바와 같이, 도 4b에서 기준 이미지 영역으로 재설정된 우측 영역(420b) 내의 좌측 상단 모서리에 선택된 이미지 3(403)을 배 치한다.
이때, 이미지 배치부(120)가 이미지 3(403)을 배치하는 방법은 이미지 2(402)를 배치하는 방법과 동일하므로 생략하도록 한다.
이후, 기준 이미지 영역 관리부(130)는, 우측 영역(420b)에 배치된 이미지 3(403)의 하변을 따라 연장된 직선(430)의 하측 영역(430a)과, 배치된 이미지 3(403)의 우변의 우측 영역(430b)을 기준 이미지 영역으로 다시 재설정한다.
이후, 이미지 배치부(120)는 재설정된 두 영역(430a, 430b) 중 우측 영역(430b)에 이미지를 배치하고, 우측 영역(430b)에 더 이상 이미지를 배치할 공간이 없다면, 하측 영역(430a)에 이미지를 이어서 배치한다.
도 4d는 최초로 설정된 기준 이미지 영역(400) 내에 배치된 이미지 4(404)를 도시한 도면이다.
먼저, 이미지 선택부(110)는 복수의 이미지 중 도 4c에서 기준 이미지 영역으로 재설정된 우측 영역(430b)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지를 검색한다. 검색 결과, 해당 이미지가 존재하지 않는 경우, 이미지 선택부(110)는 도 4c에서 기준 이미지 영역으로 재설정된 하측 영역(430a)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지를 검색한다.
만일, 이 경우에도, 복수의 이미지 중 하측 영역(430a)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지가 존재하지 않는다면, 이미지 선택부(110)는, 다시, 도 4b에서 기준 이미지 영역으로 재설정된 하측 영역(420a)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지를 검색하여 이미지 4(404)를 선택하고, 이미지 배치부(120)는, 도 4d에 도시된 바와 같이, 하측 영역(420a) 내의 좌측 상단 모서리에 선택된 이미지 4(404)를 배치한다.
이때, 이미지 배치부(120)가 이미지 4(404)를 배치하는 방법은 이미지 3(403)를 배치하는 방법과 동일하므로 생략하도록 한다.
이후, 기준 이미지 영역 관리부(130)는, 하측 영역(420a)에 배치된 이미지 4(404)의 하변을 따라 연장된 직선(440)의 하측 영역(440a)과, 배치된 이미지 4(404)의 우변의 우측 영역(440b)을 기준 이미지 영역으로 다시 재설정한다.
이후, 이미지 배치부(120)는 재설정된 두 영역(440a, 440b) 중 우측 영역(440b)에 이미지를 배치하고, 우측 영역(440b)에 더 이상 이미지를 배치할 공간이 없다면, 하측 영역(440a)에 이미지를 이어서 배치한다.
도 4e는 최초로 설정된 기준 이미지 영역(400) 내에 배치된 이미지 5(405)를 도시한 도면이다.
이미지 선택부(110)는 복수의 이미지 중 도 4d에서 기준 이미지 영역으로 재설정된 우측 영역(440b)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지인 이미지 5(405)을 선택한다.
이후, 이미지 배치부(120)는, 도 4e에 도시된 바와 같이, 우측 영역(440b) 내의 좌측 상단 모서리에 선택된 이미지 5(405)를 배치한다.
이때, 이미지 배치부(120)가 이미지 5(405)를 배치하는 방법은 이미지 4(404)를 배치하는 방법과 동일하므로 생략하도록 한다.
이후, 기준 이미지 영역 관리부(130)는, 우측 영역(440b)에 배치된 이미지 5(405)의 하변을 따라 연장된 직선(450)의 하측 영역(450a)과, 배치된 이미지 5(405)의 우변의 우측 영역(450b)을 기준 이미지 영역으로 다시 재설정한다.
이후, 이미지 배치부(120)는 재설정된 두 영역(450a, 450b) 중 우측 영역(450b)에 이미지를 배치하고, 우측 영역(450b)에 더 이상 이미지를 배치할 공간이 없다면, 하측 영역(450a)에 이미지를 이어서 배치한다.
도 4f는 최초로 설정된 기준 이미지 영역(400) 내에 배치된 이미지 6(406)을 도시한 도면이다.
이미지 선택부(110)는 복수의 이미지 중 도 4e에서 기준 이미지 영역으로 재설정된 우측 영역(450b)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지를 검색한다. 검색 결과, 해당 이미지가 존재하지 않는 경우, 이미지 선택부(110)는 도 4e에서 기준 이미지 영역으로 재설정된 하측 영역(450a)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지를 검색한다.
만일, 이 경우에도, 복수의 이미지 중 하측 영역(450a)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지가 존재하지 않는다면, 이미지 선택부(110)는, 다시, 도 4d에서 기준 이미지 영역으로 재설정된 하측 영역(440a)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지를 검색한다.
검색 결과, 해당 이미지가 역시 존재하지 않는다면, 이미지 선택부(110)는, 또 다시, 도 4a에서 기준 이미지 영역으로 재설정된 하측 영역(410a)의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈를 갖는 이미지를 검색하여 이미지 6(406)을 선택한다.
이후, 이미지 배치부(120)는, 도 4f에 도시된 바와 같이, 하측 영역(410a) 내의 좌측 상단 모서리에 선택된 이미지 6(406)을 배치한다.
이때, 이미지 배치부(120)가 이미지 6(406)을 배치하는 방법은 이미지 5(405)를 배치하는 방법과 동일하므로 생략하도록 한다.
이후, 기준 이미지 영역 관리부(130)는, 하측 영역(410a)에 배치된 이미지 6(406)의 하변을 따라 연장된 직선(460)의 하측 영역(460a)과, 배치된 이미지 6(406)의 우변의 우측 영역(460b)을 기준 이미지 영역으로 다시 재설정한다.
이후, 이미지 배치부(120)는 재설정된 두 영역(460a, 460b) 중 우측 영역(460b)에 이미지를 배치하고, 우측 영역(460b)에 더 이상 이미지를 배치할 공간이 없다면, 하측 영역(460a)에 이미지를 이어서 배치한다.
도 4a 내지 도 4f에는, 재설정된 기준 이미지 영역 중 우측 영역에 이미지를 배치하고, 우측 영역에 더 이상 이미지를 배치할 공간이 없다면, 하측 영역에 이미지를 이어서 배치하는 경우를 설명하였지만, 상기한 방법 외에도, 재설정된 기준 이미지 영역 중 하측 영역에 이미지를 배치한 후, 하측 영역에 더 이상 이미지를 배치할 공간이 없다면 우측 영역에 이미지를 이어서 배치할 수도 있으며, 재설정된 기준 이미지 영역에 랜덤하게 이미지를 배치할 수도 있으므로, 이미지 배치 순서를 본 발명의 실시예로 한정하는 것은 아니다.
도 5는 본 발명의 일 실시예에 따른 기준 이미지 영역에 배치된 이미지의 위치를 관리하는 데이터베이스의 구성을 도시한 도면이다.
이미지 배치부(120)에 의해서 기준 이미지 영역에 배치된 이미지들의 위치 정보는 도 5에 도시된 바와 같이 데이터베이스에 저장되어 관리될 수 있다.
기준 이미지 영역에 배치된 이미지의 위치를 관리하는 데이터베이스(500)의 구성은 이미지 아이디(510), 최초로 설정된 기준 이미지 영역의 아이디(520) 및 최초로 설정된 기준 이미지 영역 내에 배치된 이미지들의 위치 정보(530), 예를 들어, 이미지가 배치된 최초로 설정된 기준 이미지 영역 내 좌측 상단 모서리의 x, y 좌표 값과 배치된 이미지의 폭 및 높이를 포함할 수 있다.
참고로, 이미지 배치부(120)에서 이미지를 배치할 때, 기준 이미지 영역내의 한쪽 모서리, 더 상세하게는 좌측 상단 모서리에 이미지를 배치하므로, 이미지가 배치되는 최초로 설정된 기준 이미지 영역 내 좌측 상단 모서리의 x, y 좌표와 배치된 이미지의 폭 및 높이를 알고 있다면, 이전에 배치된 이미지들의 각 위치 정보를 참조하여 이후에 배치될 이미지의 배치 위치를 알 수 있다.
따라서 이미지 배치부(120)는, 도 5에 도시된, 데이터베이스(500)로부터, 이전에 배치된 이미지에 대한 최초로 설정된 기준 이미지 영역 내에서의 위치를 참조하여, 공간의 낭비 없이 다음에 배치할 이미지의 배치 위치를 설정한 후 이미지를 배치할 수 있다.
도 6a 및 도 6c는 본 발명의 일 실시예에 따른 기준 이미지 영역 관리부(130)의 기준 이미지 영역 관리 방법을 도시한 도면이다.
참고로, 도 6a 내지 도 6c에 도시된 최초로 설정된 기준 이미지 영역(600)의 폭과 높이는 각각 1024 이다.
도 6a는, 이미지 선택부(110)에서 정렬된 복수의 이미지 중 마지막 이미 지(613)가 최초로 설정된 기준 이미지 영역(600)에 배치된 후의 모습을 나타낸 것이다. 도 6a에서 볼 수 있듯이, 마지막 이미지(613)가 최초로 설정된 기준 이미지 영역(600)에 배치된 후 낭비되는 영역(620)이 존재한다.
이 낭비되는 영역(620)을 줄이기 위해서, 기준 이미지 영역 관리부(130)는 정렬된 복수의 이미지 중 마지막 이미지(613)가 최초로 설정된 기준 이미지 영역(600)에 배치되면, 최초로 설정된 기준 이미지 영역(600) 내에 배치된 전체 이미지(611, 612, 613)에 대한 폭(610a)과 높이(610b)를 확인한다.
이때, 기준 이미지 영역 관리부(130)는 전체 이미지(601, 602, 603)의 폭(610a)과 높이(610b)를 포함하는 최소의
Figure 112008090986419-pat00004
(p, q는 자연수) 단위의 사이즈를 갖는 영역을 파악하고, 최초로 설정된 기준 이미지 영역(600)에서, 최소의
Figure 112008090986419-pat00005
(p, q는 자연수) 단위의 사이즈를 갖는 영역을 제외한 나머지 영역을 제거한다.
예를 들어, 도 6b에 도시된 것처럼, 마지막 이미지(613)를 배치한 후 전체 이미지(611, 612, 613)의 폭(610a)이 468, 높이(610b)가 497인 경우, 이 전체 이미지(611, 612, 613)의 폭(610a)과 높이(610b)를 포함하는 최소의
Figure 112008090986419-pat00006
(p, q는 자연수) 단위의 사이즈를 갖는 영역(630)은
Figure 112008090986419-pat00007
, 즉, 512 X 512 이다.
따라서, 기준 이미지 영역 관리부(130)는 최초로 설정된 기준 이미지 영역(600)에서, 전체 이미지(611, 612, 613)의 폭(610a)과 높이(610b)를 포함하는 512 X 512 사이즈의 영역(630)을 제외한 나머지 영역(640)을 제거함으로써 낭비되는 영역을 최소화 할 수 있다.
결국, 마지막 이미지(613)가 배치된 후 불필요한 나머지 영역(640)을 제거한 최종 모습은 도 6c에 도시된 바와 같다.
도 7은 본 발명의 다른 실시예에 따른 기준 이미지 영역 관리부(130)의 기준 이미지 영역 관리 방법을 도시한 도면이다.
도 7에는, 상하로 움직임을 표현하기 위한 스프라이트(sprite) 이미지(710, 720)가 도시되어 있다. 종래에는 상하로 움직임을 표현하기 위해서 상하 움직임에 필요한 빈 공간(711, 721)(컬러는 투명한 상태로 저장됨)이 이미지에 포함되어, 실제 이미지(730, 740)보다 더 큰 사이즈의 공간이 필요했었다.
본 발명의 실시예에서는 이러한 스프라이트 이미지(710, 720) 저장 시, 상하 움직임에 필요한 빈 공간(711, 721)을 제거하여 저장한 후, 저장된 이미지(730, 740)를 화면에 디스플레이할 때 해당 이미지(710, 720)들의 상대적인 위치(Relative Position)를 활용한다.
즉, 저장된 이미지(730, 740)를 화면에 디스플레이할 때, 움직임을 표현하기 위한 두 이미지의 위치 차이만큼 조절하여 화면에 디스플레이함으로써 이미지가 상하로 움직이는 것을 표현할 수 있으며, 기준 이미지 영역에 이미지 저장 시 낭비되는 영역(711, 721)을 최소화할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동으로 배치하는 방법의 이미지 수에 따른 메모리 사용률을 도시한 도면이다.
참고로 도 8의 결과는, 랜덤한 사이즈를 갖는 복수의 이미지를 대상으로, 사이즈, 즉, 폭 X 높이가 큰 순서로 정렬하여 기준 이미지 영역에 배치한 경우(810)와, 폭이 큰 순서로 정렬하여 기준 이미지 영역에 배치한 경우(820) 및 높이가 큰 순서로 정렬하여 기준 이미지 영역에 배치한 경우(830)에 대하여, 이미지 수에 따른 메모리 사용률을 나타내고 있으며, 이때, 최초로 설정된 기준 이미지 영역의 폭과 높이는 1024 X 1024 이다.
또한, 도 8의 결과는, 도 6a 내지 도 6c에 도시된 기준 이미지 영역 관리 방법을 적용하지 않은 결과이며, 도시된 그래프에서 x 축은 배치된 이미지의 수를 나타내고, y 축은 배치된 이미지 수에 따른 메모리 사용률을 나타낸다.
도 8을 통해서, 동일하게 배치된 이미지 수에 대하여, 이미지의 사이즈가 큰 순서로 정렬하여 최초로 설정된 기준 이미지 영역에 배치한 경우(810)가 메모리 사용률이 가장 낮음을 알 수 있다. 또한, 이미지의 사이즈가 큰 순서로 정렬하여 기준 이미지 영역에 배치한 경우(810), 이미지의 수가 대략 500개 이상이면, 약 50% 이상의 메모리 사용률 절감 효과가 있음을 알 수 있다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동으로 배치하는 과정을 도시한 흐름도이다.
설명의 편의 상, 도 1에 도시된 장치(100)의 구성 요소를 참조하여 설명하도록 한다.
먼저, 이미지 선택부(110)는 3D 가속 기능을 이용하는 애플리케이션이나 게임에서 사용하는 복수의 이미지를 사이즈가 큰 순서로 정렬한다(S901).
이때, 이미지 선택부(110)는 정렬된 이미지 각각에 고유한 아이디를 부여할 수도 있다.
단계 S901 후, 이미지 선택부(110)는 사이즈가 큰 순서로 정렬된 이미지와 최초로 설정된 기준 이미지 영역의 폭과 높이를 비교하여, 정렬된 이미지 중 최초로 설정된 기준 이미지 영역의 폭과 높이를 초과하지 않으면서 가장 큰 사이즈의 이미지를 선택한다(S902).
여기에서, 최초로 설정되는 기준 이미지 영역은 3D 가속 기능을 이용하는 애플리케이션이나 게임에서 한번에 로딩하는 단위 영역으로서, 복수의 이미지들이 배치되는 공간이며, 다시 복수 개의 재설정된 기준 이미지 영역으로 분할될 수 있다. 또한, 최초로 설정된 기준 이미지 영역은 복수 개일 수 있으며, 최초로 설정된 기준 이미지 영역마다 고유한 아이디가 부여될 수 있다. 참고로, 최초로 설정된 기준 이미지 영역의 사이즈는
Figure 112008090986419-pat00008
(m, n은 자연수) 단위이다.
단계 S902 후, 이미지 배치부(120)는 이미지 선택부(110)에서 선택된 이미지를 최초로 설정된 기준 이미지 영역 내의 한쪽 모서리, 더 상세하게는 최초로 설정된 기준 이미지 영역 내의 좌측 모서리 상단에 배치한다(S903).
이때, 이미지 배치부(120)는, 배치된 이미지에 대해 최초로 설정된 기준 이미지 영역 내에서의 위치 정보, 예를 들어, 이미지가 배치된 좌측 상단 모서리의 x, y 좌표 값과, 배치된 이미지의 폭(w) 및 높이(h)를 파악하여 저장할 수 있다. 따라서, 이전에 배치된 이미지에 대하여, 최초로 설정된 기준 이미지 영역 내의 위치를 참조함으로써 공간의 낭비 없이 다음에 배치할 이미지의 위치를 설정할 수 있다.
단계 S903 후, 기준 이미지 영역 관리부(130)는 단계 S903의 배치 결과 남게 되는 두 개의 사각형 영역을 각각 기준 이미지 영역으로 재설정한다(S904).
이때, 기준 이미지 영역 관리부(130)는 배치된 이미지의 우변을 따라 연장된 직선의 우측 영역과, 배치된 이미지의 하변의 하측 영역을 기준 이미지 영역으로 재설정할 수 있으며, 그렇지 않고, 배치된 이미지의 하변을 따라 연장된 직선의 하측 영역과, 배치된 이미지의 우변의 우측 영역을 기준 이미지 영역으로 재설정할 수도 있다.
단계 S904 후, 이미지 선택부(110)에서 사이즈가 큰 순서로 정렬된 이미지 중 마지막 이미지가 배치될 때까지, 단계 S902 내지 단계 S904의 과정이 반복하여 실행되며, 이미지 배치부(120)에 의해 마지막 이미지가 배치되면(S905), 최초로 설정된 기준 이미지 영역 내에 배치된 전체 이미지에 대한 폭과 높이를 확인한다(S906).
참고로, 단계 S905에서 배치된 이미지가 마지막 이미지가 아닌 경우, 단계 S902 내지 단계 S904의 과정을 반복하게 되는데, 이때 반복되는 단계 S902 내지 단계 S904에서는, 최초로 설정된 기준 이미지 영역이 아닌, 단계 S904에서 재설정된 기준 이미지 영역이 적용된다.
이를 나타내고자, 도 9a의 단계 S902 및 단계 S903의‘최초로 설정된 기준 이미지 영역’텍스트에 괄호를 표시하였다.
단계 S906 후, 기준 이미지 영역 관리부(130)는 전체 이미지의 폭과 높이를 포함하는 최소의
Figure 112008090986419-pat00009
(p, q는 자연수) 단위의 사이즈를 갖는 영역을 파악하여(S907), 최초로 설정된 기준 이미지 영역에서, 상기한 최소의
Figure 112008090986419-pat00010
(p, q는 자연수) 단위의 사이즈를 갖는 영역을 제외한 나머지 영역을 제거하고(S908) 이미지 배치를 종료한다.
예를 들어, 도 6b에 도시된 것처럼, 마지막 이미지(613)를 배치한 후 전체 이미지(611, 612, 613)의 폭(610a)이 468, 높이(610b)가 497인 경우, 이 전체 이미지(611, 612, 613)의 폭(610a)과 높이(610b)를 포함하는 최소의
Figure 112008090986419-pat00011
(p, q는 자연수) 단위의 사이즈를 갖는 영역(630)은
Figure 112008090986419-pat00012
, 즉, 512 X 512 이므로, 기준 이미지 영역 관리부(130)는 최초로 설정된 기준 이미지 영역(600)에서, 전체 이미지(611, 612, 613)의 폭(610a)과 높이(610b)를 포함하는 512 X 512 사이즈의 영역(630)을 제외한 나머지 영역(640)을 제거함으로써 낭비되는 영역을 최소화 할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다.
그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 일 실시예에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 장치의 구성을 도시한 블록도이다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 재설정된 기준 이미지 영역을 도시한 도면이다.
도 3a 및 도 3b는 본 발명의 다른 실시예에 따른 재설정된 기준 이미지 영역을 도시한 도면이다.
도 4a 내지 도 4f는 본 발명의 일 실시예에 따른 기준 이미지 영역 내에 복수의 이미지를 배치하는 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 기준 이미지 영역에 배치된 이미지의 위치를 관리하는 데이터베이스의 구성을 도시한 도면이다.
도 6a 및 도 6c는 본 발명의 일 실시예에 따른 기준 이미지 영역 관리부의 기준 이미지 영역 관리 방법을 도시한 도면이다.
도 7은 본 발명의 다른 실시예에 따른 기준 이미지 영역 관리부의 기준 이미지 영역 관리 방법을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동으로 배치하는 방법의 이미지 수에 따른 메모리 사용률을 도시한 도면이다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동으로 배치하는 과정을 도시한 흐름도 이다.
< 도면의 주요 부분에 관한 부호의 설명 >
110 : 이미지 선택부
120 : 이미지 배치부
130 : 기준 이미지 영역 관리부

Claims (16)

  1. 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 방법에 있어서,
    (a) 상기 복수의 이미지 중, 최초 설정된 기준 이미지 영역의 폭과 높이를 초과하지 않으면서 가장 큰 면적을 갖는 이미지를 상기 기준 이미지 영역 내의 한쪽 모서리에 배치하는 단계,
    (b) 상기 (a) 단계의 배치 결과 남게 되는 두 개의 사각형 영역을 각각 기준 이미지 영역으로 재설정하는 단계,
    (c) 상기 재설정된 두 개의 기준 이미지 영역 각각에 대해 상기 (a) 단계 및 상기 (b) 단계를 반복 실행하는 단계
    를 포함하는, 이미지 자동 배치 방법.
  2. 제 1 항에 있어서,
    상기 최초 설정된 기준 이미지 영역의 폭과 높이는
    Figure 112010082255276-pat00013
    (m, n은 자연수)인 것인, 이미지 자동 배치 방법.
  3. 제 2 항에 있어서,
    상기 최초 설정된 기준 이미지 영역의 폭과 높이는 1024 x 1024인 것인, 이미지 자동 배치 방법.
  4. 제 1 항에 있어서,
    상기 (a) 단계에서 배치되는 이미지는 상기 최초 설정된 기준 이미지 영역 내의 좌측 상단 모서리에 배치되며, 상기 (b) 단계에서 남게 되는 두 영역은 상기 배치된 이미지의 우변을 따라 연장된 직선의 우측 영역과, 상기 배치된 이미지의 하변의 하측 영역인 것인, 이미지 자동 배치 방법.
  5. 제 1 항에 있어서,
    상기 (a) 단계에서 배치되는 이미지는 상기 최초 설정된 기준 이미지 영역 내의 좌측 상단 모서리에 배치되며, 상기 (b) 단계에서 남게 되는 두 영역은 상기 배치된 이미지의 하변을 따라 연장된 직선의 하측 영역과, 상기 배치된 이미지의 우변의 우측 영역인 것인, 이미지 자동 배치 방법.
  6. 제 1항에 있어서,
    (d) 상기 자동 배치된 복수의 이미지 각각에 대해 상기 최초 설정된 기준 이미지 영역 내의 (x, y) 좌표 값과, 폭(w), 높이(h) 정보를 기록하는 단계
    를 더 포함하는, 이미지 자동 배치 방법.
  7. 삭제
  8. 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 장치에 있어서,
    상기 복수의 이미지 중 최초 설정된 기준 이미지 영역의 폭과 높이를 초과하지 않으면서 가장 큰 면적의 이미지를 선택하는 이미지 선택부,
    상기 선택된 이미지를 상기 기준 이미지 영역내의 한쪽 모서리에 배치하는 이미지 배치부 및
    상기 배치 결과 남게 되는 두 개의 사각형 영역을 각각 기준 이미지 영역으로 재설정하는 기준 이미지 영역 관리부
    를 포함하되, 상기 기준 이미지 영역의 최초 폭과 높이는
    Figure 112010082255276-pat00014
    (m, n은 자연수)인 것인, 이미지 자동 배치 장치.
  9. 제 8 항에 있어서,
    상기 이미지 선택부는 상기 복수의 이미지 중 상기 이미지 영역 관리부에서 재설정된 기준 이미지 영역의 폭과 높이를 초과하지 않는 가장 큰 면적의 이미지를 선택하는, 이미지 자동 배치 장치.
  10. 제 9 항에 있어서,
    상기 이미지 배치부는 상기 선택된 이미지를 상기 재설정된 기준 이미지 영역내의 한쪽 모서리에 배치하는, 이미지 자동 배치 장치.
  11. 제 8 항에 있어서,
    상기 기준 이미지 영역 관리부는 상기 배치된 이미지의 우변을 따라 연장된 직선의 우측 영역과, 상기 배치된 이미지의 하변의 하측 영역을 기준 이미지 영역으로 재설정하는, 이미지 자동 배치 장치.
  12. 제 8 항에 있어서,
    상기 기준 이미지 영역 관리부는 상기 배치된 이미지의 하변을 따라 연장된 직선의 하측 영역과, 상기 배치된 이미지의 우변의 우측 영역을 기준 이미지 영역으로 재설정하는, 이미지 자동 배치 장치.
  13. 제 8 항에 있어서,
    상기 이미지 배치부는 상기 선택된 이미지를 상기 최초 설정된 기준 이미지 영역 내의 좌측 상단 모서리에 배치하며, 상기 배치된 복수의 이미지 각각에 대해 상기 최초의 기준 이미지 영역 내의 (x, y) 좌표 값과, 폭(w), 높이(h) 정보를 기록하는, 이미지 자동 배치 장치.
  14. 제 6항에 있어서,
    (e) 상기 복수의 이미지에 대한 배치가 모두 종료된 후, 상기 최초 설정된 기준 이미지 영역 내에 배치된 상기 복수의 이미지에 대한 전체 폭과 높이를 확인하는 단계,
    (f) 상기 최초 설정된 기준 이미지 영역에서, 상기 복수의 이미지에 대한 전체 폭과 높이를 포함하는 최소의 사이즈를 갖는 영역을 제외한 나머지 영역을 제거하는 단계
    를 더 포함하는, 이미지 자동 배치 방법.
  15. 3D 가속 기능을 이용하는 프로그램에 의해 사용되는 복수의 이미지를 자동 배치하는 프로그램을 기록한 기록 매체에 있어서, 제 1 항 내지 제 6 항 및 제14항 중 어느 하나의 항에 기재된 단계들을 실행시키기 위한 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.
  16. 제 13항에 있어서,
    상기 기준 이미지 영역 관리부는 상기 복수의 이미지에 대한 배치가 모두 종료된 후, 상기 최초 설정된 기준 이미지 영역 내에 배치된 상기 복수의 이미지에 대한 전체 폭과 높이를 확인하고, 상기 최초 설정된 기준 이미지 영역에서, 상기 복수의 이미지에 대한 전체 폭과 높이를 포함하는 최소의
    Figure 112010082255276-pat00034
    (p, q는 자연수) 단위의 사이즈를 갖는 영역을 제외한 나머지 영역을 제거하는, 이미지 자동 배치 장치.
KR1020080138153A 2008-12-31 2008-12-31 이미지를 자동으로 배치하는 방법 및 장치 KR101049813B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080138153A KR101049813B1 (ko) 2008-12-31 2008-12-31 이미지를 자동으로 배치하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080138153A KR101049813B1 (ko) 2008-12-31 2008-12-31 이미지를 자동으로 배치하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100079619A KR20100079619A (ko) 2010-07-08
KR101049813B1 true KR101049813B1 (ko) 2011-07-15

Family

ID=42640692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080138153A KR101049813B1 (ko) 2008-12-31 2008-12-31 이미지를 자동으로 배치하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101049813B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9983760B2 (en) 2012-11-26 2018-05-29 Naver Corporation Apparatus, method and computer readable recording medium for arranging a plurality of items automatically in a canvas
US10210598B2 (en) 2015-06-17 2019-02-19 Samsung Electronics Co., Ltd. Electronic device for displaying a plurality of images and method for processing an image
KR20200009224A (ko) 2018-07-18 2020-01-30 박노성 다수 이미지 배치-인쇄-절단 자동화 방법
KR102339812B1 (ko) * 2021-05-10 2021-12-15 김보람 텍스트 및 이미지를 포함하는 인쇄물 제작 방법 및 시스템
KR102667034B1 (ko) 2021-12-10 2024-05-17 김보람 텍스트 및 이미지를 포함하는 인쇄물에 대한 샘플 이미지를 자동 생성하여 제공하는 방법 및 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5486443B2 (ja) * 2010-09-14 2014-05-07 ネイバー コーポレーション 画像表示装置及び画像表示プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139130A (ja) * 1997-07-24 1999-02-12 Fujitsu Ltd マルチウィンドウ表示方法および装置
JPH1195970A (ja) * 1997-09-17 1999-04-09 Fujitsu Ltd マルチウィンドウ表示方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139130A (ja) * 1997-07-24 1999-02-12 Fujitsu Ltd マルチウィンドウ表示方法および装置
JPH1195970A (ja) * 1997-09-17 1999-04-09 Fujitsu Ltd マルチウィンドウ表示方法および装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9983760B2 (en) 2012-11-26 2018-05-29 Naver Corporation Apparatus, method and computer readable recording medium for arranging a plurality of items automatically in a canvas
US10210598B2 (en) 2015-06-17 2019-02-19 Samsung Electronics Co., Ltd. Electronic device for displaying a plurality of images and method for processing an image
KR20200009224A (ko) 2018-07-18 2020-01-30 박노성 다수 이미지 배치-인쇄-절단 자동화 방법
KR102339812B1 (ko) * 2021-05-10 2021-12-15 김보람 텍스트 및 이미지를 포함하는 인쇄물 제작 방법 및 시스템
KR102667034B1 (ko) 2021-12-10 2024-05-17 김보람 텍스트 및 이미지를 포함하는 인쇄물에 대한 샘플 이미지를 자동 생성하여 제공하는 방법 및 시스템

Also Published As

Publication number Publication date
KR20100079619A (ko) 2010-07-08

Similar Documents

Publication Publication Date Title
JP5513071B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN108499103B (zh) 场景元素的显示方法及装置
CN101377787B (zh) 图像搜索装置和图像搜索方法
KR101049813B1 (ko) 이미지를 자동으로 배치하는 방법 및 장치
US9305403B2 (en) Creation of a playable scene with an authoring system
EP2801894A1 (en) Adaptive tile framework
EP2464093B1 (en) Image file generation device, image processing device, image file generation method, and image processing method
US7554525B2 (en) Setting next destination of pointer to each of multiple objects
CN113010080B (zh) 一种在显示屏上画线的方法、装置和终端设备
JP2011008540A (ja) 情報処理装置、情報処理方法、およびプログラム
US11524228B2 (en) Sorting computer applications or computer files and indicating a sort attribute in a user interface
CN109771943A (zh) 一种游戏场景的构造方法和装置
CN107451317A (zh) 选择控制方法、选择控制装置和记录介质
JP2009066264A (ja) パズルゲーム装置およびパズルゲームプログラム
JP6912995B2 (ja) プログラム、制御方法、および情報処理装置
JP5443945B2 (ja) プロジェクト計画装置およびプロジェクト計画プログラム
CN104978413A (zh) Gis线数据在浏览器端可视化的装置和方法
CN114443945A (zh) 一种虚拟用户界面中应用图标的展示方法及三维显示设备
US11157551B2 (en) Method and device for image loading
US10163186B2 (en) Management of a plurality of graphic cards
JP2017037455A (ja) 情報処理装置、情報処理方法及びプログラム
CN107193587A (zh) 一种实现插件的多任务栈的方法和装置
CN108390916B (zh) 一种图片下载的方法及终端
CN110647377A (zh) 人机交互界面的图片处理系统、设备及介质
EP3188014A1 (en) Management of a plurality of graphic cards

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20140703

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160628

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170628

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180626

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 9