KR101414195B1 - 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101414195B1
KR101414195B1 KR1020120134262A KR20120134262A KR101414195B1 KR 101414195 B1 KR101414195 B1 KR 101414195B1 KR 1020120134262 A KR1020120134262 A KR 1020120134262A KR 20120134262 A KR20120134262 A KR 20120134262A KR 101414195 B1 KR101414195 B1 KR 101414195B1
Authority
KR
South Korea
Prior art keywords
item
items
cell
canvas
size
Prior art date
Application number
KR1020120134262A
Other languages
English (en)
Other versions
KR20140067252A (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 KR1020120134262A priority Critical patent/KR101414195B1/ko
Priority to JP2013228605A priority patent/JP6307246B2/ja
Priority to US14/090,565 priority patent/US9983760B2/en
Publication of KR20140067252A publication Critical patent/KR20140067252A/ko
Application granted granted Critical
Publication of KR101414195B1 publication Critical patent/KR101414195B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 복수의 아이템들을 대소 관계가 유지되면서 한정된 공간 내에서 콜라주 형태로 자동으로 배치하기 위한 복수의 아이템들을 공간 내에 자동으로 배치하는 장치에 관한 것으로, 특히 일정 크기를 갖는 캔버스에 배치할 n개의 아이템들을 크기 순으로 정렬시키는 아이템 정렬부; 상기 아이템 정렬부에서 정렬된 각 아이템들 중 배치할 아이템을 크기 순으로 하나씩 선택하는 아이템 선택부; 상기 아이템 선택부를 통해 선택된 제k 아이템에 대해 k-1 개의 아이템이 이미 배치된 상태의 캔버스에서 상기 k-1개의 아이템들 중 어느 아이템의 셀 영역을 분할하여 배치시킬 것인지 위치를 결정하는 배치 위치 선택부; 상기 배치 위치 선택부에 의해 결정된 해당 위치에 이미 배치된 아이템의 셀 영역을 분할하는 셀 분할부; 및 상기 분할된 셀의 위치에 상기 선택된 제k 아이템을 배치시키는 아이템 배치부;를 포함한다.

Description

복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체{APPARATUS, METHOD AND COMPUTER READABLE RECORDING MEDIUM FOR ARRANGING A PLURALITY OF THE ITEMS AUTOMATICALLY IN A SPACE}
본 발명은 사진 또는 텍스트 등의 아이템들을 한정된 공간 내에 배치하는 장치 등에 관한 것으로, 보다 상세하게는 복수의 아이템들을 대소 관계가 유지되면서 한정된 공간 내에서 콜라주 형태로 자동으로 배치하기 위한 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
오늘날 인터넷의 광범위한 보급은 이제 유선을 넘어 무선 이동통신 기술로의 급발전을 가져오게 되었고, 실생활에 있어서도 휴대폰, PDA, 핸드헬드(Hand-Held) 컴퓨터 등의 휴대용 단말을 통한 인터넷상에서의 정보 검색이 시간과 장소에 구애받지 않고 가능하게 되었다.
웹(Web) 또는 애플리케이션(Application)의 디지털 매체에서도 매거진(magazine)이나 이북(e-book)처럼 다양한 레이아웃(layout)으로 콘텐츠를 소비하고자 하는 요구가 있다. 예컨대, 플립보드와 같은 태블릿용 애플리케이션에서는 이미지를 레이아웃으로 하여 기존의 웹 콘텐츠를 소비할 수 있도록 지원한다.
이때 웹 콘텐츠에 포함된 사진 이미지는 레이아웃에 중요한 역할을 하며, 원본 이미지를 썸네일 이미지의 형태로 노출시키기 위해 원본 사진 이미지의 일부를 크롭(crop)하거나 사진 위에 텍스트 또는 다른 사진을 오버레이(overlay)하여 다양한 레이아웃을 생성하게 된다.
한편, 온라인에서 다양한 크기와 모양을 갖는 아이템(예컨대, 사진 또는 텍스트 등)들을 하나의 고정 공간에 배치하는 기능(즉, 콜라주 기능)은 다수의 아이템들을 한눈에 보여줄 수 있기 때문에 웹 콘텐츠 등에서 자주 사용되고 있다.
이러한 다양한 아이템을 하나의 공간에 배치하기 위한 기술로서 미국등록특허공보 제7,743,322호 "Automatic Photo Album Page Layout(휴렛 펙커드)"(문헌 1)에는 복수 개의 사진으로 콜라주를 생성하는 방법이 개시되며, 입력 순서대로 사진을 배치하되, 신규 입력된 사진을 기존 배치된 사진 중 하나의 우측 또는 하측에 빈틈없이 배치하고, 모든 사진의 입력이 완료될 때까지 위 과정을 반복한다.
그러나, 이와 같이 입력된 사진을 기존 배치된 사진의 우측 또는 하측에 빈틈없이 배치하기 위해서는 필연적으로 사진의 크기 변경이 필요하게 된다. 따라서 최종 콜라주에서는 원본사진 간의 대소관계가 유지되지 않는다는 문제점이 있다. 즉, 입력 순서에 따라서 가장 작은 원본 사진이 콜라주에서는 가장 크게 나타나거나 또는 그 반대의 경우가 발생할 수도 있다.
다른 예로서, 대한민국등록특허공보 제10-1049813호 "이미지를 자동으로 배치하는 방법 및 장치(엔에이치엔)"(문헌 2)에는 고정된 크기를 갖는 직사각형 영역 안에 최대한 많은 이미지를 배치하여 공간의 낭비를 줄이는 방법이 개시되며, 영역의 크기를 초과하지 않는 가장 큰 이미지를 영역의 좌상귀에 배치한 후 배치된 이미지의 우측 및 하측의 직사각형 형태의 남는 공간 2개를 새로운 영역으로 설정하고, 위 새로운 영역에 다음 이미지를 같은 방식으로 배치하는 것을 반복한다.
그러나, 상기 배치 방법은 각 영역의 좌상귀에 아이템을 밀집 고정 배치하고 남은 공간에 후속 아이템들을 배치하는 것을 반복하는 방식으로서, 이미 배치 완료된 아이템들 사이에 공간을 만들어 후속 아이템을 배치하는 것은 불가능하다는 단점이 있다. 또한, 상기 방법에서는 특정 영역의 크기를 초과하는 아이템은 그 영역에 배치할 수 없고 다른 큰 영역을 찾아 배치할 수밖에 없어 공간의 활용률이 상대적으로 낮다는 단점이 있다. 또한, 상기 방법은 콜라주 생성이 아닌 그래픽 작업상의 메모리 낭비 최소화가 목적이기 때문에 남은 공간의 효율적 분산 방법 등은 고려되지 않는다는 단점이 있다.
따라서, 한정된 공간 내에서 아이템 간의 대소관계 비율은 정확하게 유지하면서 각 아이템을 최대한 시각화하기 위해 콜라주의 여백을 최소화하는 아이템 배치 방법의 필요성이 요구되고 있는 실정이다.
[문헌 1] 미국등록특허공보 제7,743,322호 Automatic Photo Album Page Layout(휴렛 펙커드) 2010.06.22 [문헌 2] 대한민국등록특허공보 제10-1049813호 이미지를 자동으로 배치하는 방법 및 장치(엔에이치엔) 2011.07.11
본 발명의 목적은 복수 개의 아이템(예컨대, 사진 또는 텍스트)들을 고정된 가로 대 세로 비율을 갖는 직사각형 공간에 자동으로 배치함으로써 콜라주 이미지를 생성할 수 있는 복수의 아이템들을 공간에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
또한, 본 발명의 다른 목적은 복수 개의 아이템들을 배치하여 콜라주 이미지를 생성함에 있어 각 아이템의 원래 모양 및 아이템 간의 대소관계는 유지하면서 콜라주 이미지를 생성할 수 있는 복수의 아이템들을 공간에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특유의 효과를 달성하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 측면에 따르면, 복수의 아이템들을 공간 내에 자동으로 배치하는 장치는, 일정 크기를 갖는 캔버스에 배치할 n개의 아이템들을 크기 순으로 정렬시키는 아이템 정렬부; 상기 아이템 정렬부에서 정렬된 각 아이템들 중 배치할 아이템을 크기 순으로 하나씩 선택하는 아이템 선택부; 상기 아이템 선택부를 통해 선택된 제k 아이템에 대해 k-1 개의 아이템이 이미 배치된 상태의 캔버스에서 상기 k-1개의 아이템들 중 어느 아이템의 셀 영역을 분할하여 배치시킬 것인지 위치를 결정하는 배치 위치 선택부; 상기 배치 위치 선택부에 의해 결정된 해당 위치에 이미 배치된 아이템의 셀 영역을 분할하는 셀 분할부; 및 상기 분할된 셀의 위치에 상기 선택된 제k 아이템을 배치시키는 아이템 배치부;를 포함한다.
바람직하게는, 상기 장치는, 캔버스에 이미 배치된 제1 아이템 내지 제k-1 아이템 각각에 대해 제k 아이템의 배치 비용을 산출하여 최소 비용이 드는 아이템의 셀을 분할할 셀로서 결정하는 배치 품질 산출부;를 더 포함한다.
바람직하게는, 상기 배치 비용(cost)은 하기 수학식에 의해 산출된다.
Figure 112012097231807-pat00001
여기서, penalty(r)는 배치 품질을 표현하기 위한 벌점을 나타내며, space_costk(r)는 제r 아이템(itemr)을 셀 분할하여 제k 아이템(itemk)을 배치했을 때 셀 여백 이외에 추가로 필요한 공간 값에서 제k 아이템(itemk)의 크기를 뺀 값을 나타낸다.
바람직하게는, 상기 배치 품질을 표현하기 위한 별점은, 하기 수학식에 의해 산출된다.
Figure 112012097231807-pat00002
여기서, waste(i)는 셀 여백의 셀 크기에 대한 비율을 나타내며, cropcut(i)는 아이템을 확장하여 셀을 덮었을 때 셀 밖으로 잘려나갈 아이템 부분의 비율을 나타낸다.
바람직하게는, 상기 아이템은, 사진, 텍스트, 애니메이션 및 동영상 중에서 선택된 어느 하나 이상이다.
바람직하게는, 상기 아이템의 크기는, 상기 아이템이 차지하는 영역의 가로 길이와 세로 길이의 곱으로 설정한다.
바람직하게는, 상기 셀 분할부는, 상기 배치 위치 선택부에 의해 선택된 아이템의 셀을 수평 또는 수직으로 분할한다.
바람직하게는, 상기 셀 분할부는, 상기 배치할 제k 아이템의 가로 대 세로비(aspect ratio)가 선택된 아이템의 셀의 가로 대 세로비보다 작으면 수평 분할을 하고, 크면 수직 분할을 수행한다.
바람직하게는, 상기 장치는, 상기 아이템 배치부에서 제k 아이템을 캔버스에 배치할 때, 배치할 공간이 모자랄 경우, 전체 캔버스의 크기를 필요한 만큼 증가시키는 제1 캔버스 크기 조절부;를 더 포함한다.
바람직하게는, 상기 제1 캔버스 크기 조절부는, 상기 전체 캔버스의 크기를 증가시킬 때 미리 설정된 캔버스의 가로 대 세로 비율을 일정하게 유지시키면서 증가시킨다.
바람직하게는, 상기 장치는, 상기 아이템 배치부에 의해 배치된 n개의 아이템들을 분할 구조에 따라 트리 형로 구성하고, 동일한 서브 트리상에 위치한 두 개의 아이템의 위치를 서로 교환함으로써 배치 효율을 높이는 아이템 위치 교환부;를 더 포함한다.
바람직하게는, 상기 아이템 위치 교환부는, 위치 교환에 따라 상기 배치 품질 산출부를 통해 산출된 벌점의 변경을 확인하고, 위치 교환으로 두 아이템의 벌점 중 큰 값이 낮아지는 쌍들의 목록을 구하여, 벌점이 가장 많이 낮아지는 쌍부터 시작하여 차례로 위치 교환을 수행한다.
바람직하게는, 상기 장치는, 상기 배치부를 통해 배치된 캔버스상에서 각 아이템의 최종 셀 경계를 조정함으로써 여백을 최소화시키는 여백 제거부;를 더 포함한다.
바람직하게는, 상기 장치는, 상기 여백 제거부에 의해 여백이 제거된 캔버스의 크기를 동일한 비율로 축소시켜, 미리 설정된 크기로 조절하는 제2 캔버스 크기 조절부;를 더 포함한다.
바람직하게는, 상기 장치는, 상기 배치부를 통해 배치된 캔버스상에서 각 아이템을 잘라내지 않고 셀 중점을 중심으로 미리 설정된 일정 각도만큼씩 회전시키는 아이템 회전 처리부;를 더 포함한다.
본 발명의 다른 측면에 따르면, 복수의 아이템들을 공간 내에 자동으로 배치하는 방법은, 복수의 아이템들을 공간에 자동으로 배치하는 방법으로서, 복수의 아이템들을 공간에 자동으로 배치하는 장치에서 수행되는 각 단계가, 일정 크기를 갖는 캔버스에 배치할 n개의 아이템들을 하나씩 선택하는 단계; 상기 선택된 제k 아이템에 대해 k-1 개의 아이템이 이미 배치된 상태의 캔버스에서 상기 k-1개의 아이템들 중 어느 아이템의 셀 영역을 분할하여 배치시킬 것인지 위치를 결정하는 단계; 상기 결정된 해당 위치에 이미 배치된 아이템의 셀 영역을 분할하는 단계; 및 상기 분할된 셀의 위치에 상기 선택된 제k 아이템을 배치시키는 단계;를 포함한다.
바람직하게는, 상기 방법은, 캔버스에 이미 배치된 제1 아이템 내지 제k-1 아이템 각각에 대해 제k 아이템의 배치 비용을 산출하여 최소 비용이 드는 아이템의 셀을 분할할 셀로서 결정하는 단계;를 더 포함한다.
바람직하게는, 상기 배치 비용(cost)은 하기 수학식에 의해 산출된다.
Figure 112012097231807-pat00003
여기서, penalty(r)는 배치 품질을 표현하기 위한 벌점을 나타내며, space_costk(r)는 제r 아이템(itemr)을 셀 분할하여 제k 아이템(itemk)을 배치했을 때 셀 여백 이외에 추가로 필요한 공간 값에서 제k 아이템(itemk)의 크기를 뺀 값을 나타낸다.
바람직하게는, 상기 배치 품질을 표현하기 위한 별점은, 하기 수학식에 의해 산출된다.
Figure 112012097231807-pat00004
여기서, waste(i)는 셀 여백의 셀 크기에 대한 비율을 나타내며, cropcut(i)는 아이템을 확장하여 셀을 덮었을 때 셀 밖으로 잘려나갈 아이템 부분의 비율을 나타낸다.
바람직하게는, 상기 아이템은, 사진, 텍스트, 애니메이션 및 동영상 중에서 선택된 어느 하나 이상이다.
바람직하게는, 상기 아이템의 크기는, 상기 아이템이 차지하는 영역의 가로 길이와 세로 길이의 곱으로 설정한다.
바람직하게는, 상기 셀 영역을 분할하는 단계는, 상기 위치를 결정하는 단계에서 선택된 아이템의 셀을 수평 또는 수직으로 분할한다.
바람직하게는, 상기 셀 영역을 분할하는 단계는, 상기 배치할 제k 아이템의 가로 대 세로비(aspect ratio)가 선택된 아이템의 셀의 가로 대 세로비보다 작으면 수평 분할을 하고, 크면 수직 분할을 수행한다.
바람직하게는, 상기 방법은, 상기 아이템 배치부에서 제k 아이템을 캔버스에 배치할 때, 배치할 공간이 모자랄 경우, 전체 캔버스의 크기를 필요한 만큼 증가시키는 단계;를 더 포함한다.
바람직하게는, 상기 크기를 증가시키는 단계는, 상기 전체 캔버스의 크기를 증가시킬 때 미리 설정된 캔버스의 가로 대 세로 비율을 일정하게 유지시키면서 증가시킨다.
바람직하게는, 상기 방법은, 상기 아이템 배치부에 의해 배치된 n개의 아이템들을 분할 구조에 따라 트리 형로 구성하고, 동일한 서브 트리상에 위치한 두 개의 아이템의 위치를 서로 교환함으로써 배치 효율을 높이는 아이템 위치 교환 단계;를 더 포함한다.
바람직하게는, 상기 아이템 위치 교환 단계는, 위치 교환에 따라 상기 배치 품질 산출부를 통해 산출된 벌점의 변경을 확인하고, 위치 교환으로 두 아이템의 벌점 중 큰 값이 낮아지는 쌍들의 목록을 구하여, 벌점이 가장 많이 낮아지는 쌍부터 시작하여 차례로 위치 교환을 수행한다.
바람직하게는, 상기 방법은, 상기 배치부를 통해 배치된 캔버스상에서 각 아이템의 최종 셀 경계를 조정함으로써 여백을 최소화시키는 여백 제거 단계;를 더 포함한다.
바람직하게는, 상기 방법은, 상기 여백 제거 단계에서 여백이 제거된 캔버스의 크기를 동일한 비율로 축소시켜, 미리 설정된 크기로 조절하는 단계;를 더 포함한다.
바람직하게는, 상기 방법은, 상기 배치부를 통해 배치된 캔버스상에서 각 아이템을 잘라내지 않고 셀 중점을 중심으로 미리 설정된 일정 각도만큼씩 회전시키는 단계;를 더 포함한다.
바람직하게는, 상기 아이템들을 하나씩 선택하는 단계는, 일정 크기를 갖는 캔버스에 배치할 n개의 아이템들을 크기 순으로 정렬시키는 단계; 및 상기 정렬된 각 아이템들 중 배치할 아이템을 크기 순으로 하나씩 선택하는 단계;를 포함한다.
한편, 상기 복수의 아이템들을 공간 내에 자동으로 배치하는 절차를 수행하기 위한 정보는 서버 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk), DVD(Digital Video Disk)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 바와 같이, 본 발명에 따르면 복수 개의 사진 또는 텍스트를 고정된 가로 대 세로 비율을 갖는 직사각형 공간에 자동 배치함으로써 자동으로 콜라주 이미지를 생성할 수 있는 장점이 있다.
또한, 본 발명에 따르면 자동으로 콜라주 이미지를 생성함에 있어 각 아이템의 원래 모양 및 아이템 간의 대소관계는 유지하면서 여백을 최소화함으로써 정보량을 극대화할 수 있는 장점이 있다.
이와 같이, 본 발명에 따라 다양한 크기와 모양을 갖는 아이템들을 하나의 고정 공간에 배치함으로써 각 아이템의 내용과 아이템 간의 대소관계를 동시에 한눈에 용이하게 파악할 수 있는 시각적인 효과를 제공하는 장점이 있다.
도 1은 본 발명의 실시예에 따른 아이템 배치 과정의 예를 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 아이템 배치 최적화 및 여백 최소화 결과를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 텍스트 아이템의 배치 결과를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 아이템 배치 구조를 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 상기 도 4의 배치 구조를 이진 트리로 표시한 도면이다.
도 6은 본 발명의 실시예에 따른 셀의 여백 영역과 아이템 영역을 나타내는 도면이다.
도 7은 본 발명의 실시예에 따른 확장한 아이템 및 그에 따라 잘려나가는 부분을 나타내는 도면이다.
도 8은 본 발명의 실시예에 따른 복수의 아이템들을 공간 내에 자동으로 배치하는 장치의 세부 구성을 나타내는 블록도이다.
도 9는 본 발명의 실시예에 따른 복수의 아이템들을 공간 내에 자동으로 배치하는 절차를 나타내는 흐름도이다.
도 10은 본 발명의 실시예에 따른 1차 배치의 세부 절차를 나타내는 흐름도이다.
도 11은 본 발명의 실시예에 따른 배치 최적화 이후의 기본 포토 콜라주의 예를 나타내는 도면이다.
도 12는 본 발명의 실시예에 따른 공백이 없는 포토 콜라주의 예를 나타내는 도면이다.
도 13은 본 발명의 실시예에 따른 아이템이 회전된 포토 콜라주의 예를 나타내는 도면이다.
도 14는 본 발명의 실시예에 따른 배치할 단어의 빈도수를 나타내는 도면이다.
도 15는 본 발명의 실시예에 따른 도 14의 단어들을 도 3의 배치 구조에 따라 배치한 워드 클라우드를 나타내는 도면이다.
도 16a 내지 도 16c는 동일 구조의 서로 다른 콜라주 조합의 예를 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명은 복수 개의 아이템(예컨대, 사진 또는 텍스트)들을 고정된 가로 대 세로 비율을 갖는 직사각형 공간에 자동으로 배치함으로써 콜라주 이미지를 생성할 수 있는 복수의 아이템들을 공간에 자동으로 배치하는 장치, 방법을 개시한다.
본 발명은 복수 개의 아이템들을 배치하여 콜라주 이미지를 생성함에 있어 각 아이템의 원래 모양 및 아이템 간의 대소관계는 유지하면서 여백을 최소화함으로써 정보량을 극대화할 수 있는 배치 방법을 개시한다.
다양한 크기와 모양을 갖는 아이템들을 하나의 고정 공간에 배치하는 콜라주 기능은 각 아이템의 내용과 아이템 간의 대소관계를 동시에 한눈에 보여 줄 수 있기 때문에 시각적인 효과가 뛰어나다. 따라서, 한정된 공간 안에서 아이템 간의 대소관계 비율은 정확하게 유지하면서 각 아이템을 최대한 시각화하기 위해서는 콜라주의 여백을 최소화하는 아이템 배치 방법이 중요하다.
한편, 후술하는 본 발명에서 사용하는 '아이템(item)'은 콜라주 이미지를 생성하기 위해 배치되는 단위 객체를 의미하며, 상기 아이템의 예로서, 사진 또는 텍스트뿐만 아니라, 일정한 영역을 차지하는 애니메이션 또는 동영상이 될 수도 있으며, 본 발명이 이에 한정되지는 않는다.
또한, 후술하는 본 발명에서 사용하는 '크롭(crop)'은 특정 이미지의 전체 영역 중에서 선택된 일부 영역(예컨대, 주요 영역)을 잘라내는 것을 의미하며, '오버레이(overlay)'는 복수의 이미지를 오버레이시켜 편집하는 것을 의미한다.
또한, 후술하는 본 발명에서 사용하는 '캔버스'는 복수의 아이템들이 배치되는 직사각형의 공간을 의미하며, 바람직하게는 상기 캔버스는 가로 대 세로 비율이 일정하게 유지되도록 생성된다.
또한, 후술하는 본 발명에서 사용하는 '셀'은 각 아이템의 점유 영역을 의미하며, 해당 아이템이 차지하는 영역뿐만 아니라 아이템 주변의 여백 영역까지 포함할 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
먼저, 도 1 내지 도 3을 참조하여 본 발명의 실시예에 따른 개념을 설명하며, 다음으로 도 4 내지 도 6을 참조하여 본 발명의 실시예에 따른 장치 및 방법을 상세히 설명한다.
아이템 자동 배치 개념
도 1은 본 발명의 실시예에 따른 아이템 배치 과정의 예를 나타내는 도면이다.
도 1을 참조하면, 먼저 전체 n개의 입력 아이템들을 크기 순으로 정렬한다. 이때, 가장 큰 아이템을 제1 아이템(item1), 가장 작은 아이템을 제n 아이템(itemn)으로 명명한다. 또한, 각 아이템들을 배치하여 콜라주 이미지를 생성할 캔버스를 생성한다. 상기 캔버스의 가로 대 세로 비율은 최종 생성할 콜라주 이미지의 비율에 따른 미리 설정된 비율로 일정하게 유지시키는 것이 바람직하다. 그러나, 아이템 배치 단계에서는 후술하는 설명에서와 같이 그 크기가 필요에 따라 증가할 수 있으며, 최종 콜라주 이미지 생성 시에는 최초 설정된 크기로 다시 조정된다. 후술하는 본 발명의 실시예에서는 설명의 편의상 캔버스의 가로 대 세로 비율을 1로 정한 정사각형 형태의 캔버스를 가정하여 설명한다.
최초 설정되는 캔버스의 크기 및 모양은 가로 대 세로 비율이 1일 경우 제1 아이템을 포함하는 최소 면적의 정사각형이다. 이와 같이 캔버스가 생성되면, 가장 먼저 제1 아이템을 캔버스에 배치한다. 한편, 제1 아이템을 캔버스 내의 어느 위치에 배치해도 결과는 동일하나 편의상 캔버스 중앙에 배치할 수 있다. 이때, 제1 아이템이 캔버스에서 점유하는 영역(이하, 상기 영역을 '셀(cell)'이라 한다)은 캔버스 전체가 된다. 즉, 하나의 셀은 해당 아이템이 차지하는 공간과 남은 여백 공간을 포함하는 하나의 직사각형이 된다.
다음 단계로 제2 아이템을 배치하되, 상기 제1 아이템의 셀을 수평으로 분할하여 상기 제1 아이템의 위 또는 아래에 배치할 수도 있고, 다른 실시예로서 상기 제1 아이템의 셀을 수직으로 분할하여 상기 제1 아이템의 좌측 또는 우측에 배치할 수도 있다. 상기 수평 분할을 할지 또는 수직 분할을 할지에 대한 선택 기준은 후술하기로 한다. 한편, 상기 분할된 공간에 제2 아이템을 배치하기에 공간이 부족할 경우 캔버스의 크기를 필요한 만큼 증가시킨다. 이때에도 캔버스의 가로 대 세로 비율(예컨대, 정사각형 모양)은 항상 유지해야 하므로, 증가가 필요한 방향의 수직 방향으로도 같은 길이만큼 증가시킨다.
이와 같이, 배치된 제2 아이템은 상기 제1 아이템의 셀을 나누어 갖게 되는데, 이때 셀 내의 여백 영역도 마찬가지로 아이템의 크기 비율에 따라 상기 제1 아이템과 제2 아이템이 나누어 갖게 된다. 한편, 상기 제2 아이템은 할당된 셀 내의 어느 위치에 배치해도 무관하나 설명의 편의상 도 1에 도시된 바와 같이 셀 중앙에 배치한다.
다음 단계부터는 입력된 아이템을 기존에 배치된 아이템들 중 어느 아이템의 셀 영역을 분할하여 배치할지를 먼저 결정한 후, 상술한 방법과 동일한 방법으로 배치한다. 또한, 상술한 방법과 마찬가지로 분할하여 배치하기로 결정한 셀에 대해 수평 분할을 할지 수직 분할을 할지를 결정하여 상기와 동일한 방식으로 배치한다. 상기 수평 분할과 수직 분할의 선택 기준은 후술하기로 한다. 또한, 상기 제2 아이템의 배치에서와 마찬가지로 공간이 모자랄 경우 가로 대 세로 비율을 유지시키면서 필요한 만큼 캔버스 크기를 증가시킨다.
이러한 과정을 마지막 가장 크기가 작은 아이템(즉, 제n 아이템)까지 반복하되, 새로운 아이템이 배치될 때마다 캔버스의 여백이 전체적으로 고르게 분산이 되도록 각 아이템의 셀 영역을 조정한다.
도 1은 22개(즉, n=22)의 아이템이 본 발명의 실시예에 따라 상술한 방법대로 1차적으로 배치되는 과정을 예시를 통해 보여준다. 도 1에서 정사각형 캔버스의 크기가 필요에 따라 증가함을 볼 수 있다. 예컨대, 제4 아이템, 제5 아이템, 제6 아이템 및 제7 아이템의 배치시에 정사각형 캔버스의 크기가 필요한 만큼 증가하였다.
이와 같이, 도 1에 도시된 바와 같이 1차 아이템 배치가 완료되면, 배치된 아이템의 위치를 교환함으로써 최적화시키고, 여백을 최소화시키는 과정을 수행한다.
도 2는 본 발명의 실시예에 따른 아이템 배치 최적화 및 여백 최소화 결과를 나타내는 도면이다.
도 2를 참조하면, 도 1에서와 같이 배치된 아이템들을 재배치함으로써 공간활용을 최적화하고 여백을 최소화할 수 있다. 즉, 도시된 바와 같이 배치된 아이템들의 위치를 교환함으로써 공간 활용을 최적화할 수 있다.
도 1의 방법으로 아이템들을 배치할 경우, 아이템들의 배치 순서가 크기 순으로 고정되어 있으므로, 도 1의 1차 배치 결과가 최적의 배치라고 할 수는 없다. 따라서, 1차 배치의 결과에서 한 쌍의 아이템을 상호 교환하여 위치 변경하는 것이 공간 활용에 유리한 경우 해당하는 두 아이템의 위치를 교환한다. 상기 위치 교환 여부를 판단하는 세부 기준은 후술하기로 한다.
다음으로, 최종 셀 경계를 조정함으로써 여백을 최소화시킬 수 있다. 즉, 상술한 도 1의 1차 배치와 도 2의 위치 변경 후에도 각 아이템들은 각 셀 내에서 필요 이상의 여백을 포함하고 있다. 상기 각 셀 내의 여백들은 아이템 배치 과정에서 필요한 것이므로 배치가 완료되고 위치 변경까지 완료된 후에는 제거할 필요가 있다.
도 2는 도 1의 1차 배치 결과(좌측)와 이를 재배치하여 최적화한 결과(우측)를 보여주고 있다. 도 2에서 아이템의 재배치에 의한 최적화로 일부 아이템들의 위치가 바뀌었음을 알 수 있다. 예컨대, 제13 아이템과 제18 아이템이 서로 위치를 교환하였으며, 제19 아이템과 제20 아이템이 서로 위치를 교환하였다. 그리고, 허용되는 범위 내에서 캔버스 여백을 최대한 삭제하여 캔버스 크기가 상당히 줄어들었음을 확인할 수 있다.
도 3은 본 발명의 실시예에 따른 텍스트 아이템의 배치 결과를 나타내는 도면이다. 도 3을 참조하면, 도 14의 텍스트의 경우에도 본 발명의 실시예에 따라 이미지와 같이 아이템 단위로 배치할 수 있다. 이때에는, 각 단어의 발생 빈도에 따라 차지하는 셀의 크기에 차등을 두고, 상술한 방법에서와 동일하게 각 단어를 배치함으로써 텍스트 아이템을 배치할 수 있다. 이에 대한 상세한 설명은 후술하기로 한다.
한편, 도 1 내지 도 3에서와 같은 절차에 따라 아이템의 배치가 최적화되면, 다양한 방법으로 활용될 수 있다. 예컨대, 아이템이 사진일 경우, 각 사진을 도 3 우측의 최종 배치도 상의 아이템 영역에 원본 사진을 크기 조정하여 덧붙이면 도 11과 같은 형태의 기본 포토 콜라주를 얻을 수 있다. 여기서 원본 사진의 모양 및 원본 사진들 간의 대소 관계는 완벽히 유지되고 있음을 알 수 있다.
이때, 본 발명의 실시예에 따라 도 11에서 각 아이템이 자신의 셀 내부의 여백을 메우도록 각 사진을 동일한 가로 대 세로 비율로 확대시키면 도 12와 같이 공백이 없는 포토 콜라주를 얻을 수 있다.
한편, 도 12의 경우 사진을 확대하면서 셀 밖으로 벗어난 각 사진의 일부분은 잘려나가게 되는데, 잘려나간 부분이 어느 정도인지는 전체 콜라주 이미지를 보아서는 알 수가 없다. 경우에 따라서는 콜라주에 보이지 않는 부분이 원본사진의 어느 정도를 차지하는지에 대한 정보가 필요할 수도 있다. 이런 경우 본 발명의 실시예에 따라 기본 콜라주에서 각 사진을 잘라내지 않고 셀 중점을 중심으로 무작위로 일정 각도만큼씩 회전시키게 되면 도 13에 도시된 바와 같이 콜라주에 보이지 않는 부분이 어느 정도인지 짐작할 수 있는 또 다른 형태의 콜라주를 얻을 수 있다.
본 발명의 다른 적용 예로서, 상술한 바와 같이 각 아이템이 텍스트인 경우, 본 발명에 따른 아이템 배치 방법을 이용하여 도 15에 도시된 바와 같이 각 텍스트의 가중치를 보여주는 워드 클라우드(word cloud)를 생성할 수 있다. 이때, 각 아이템(즉, 텍스트)의 가중치는 단어의 중요도, 발생 빈도, 최신성 등 미리 설정된 값으로 정의될 수 있다.
따라서, 도 15에 도시된 바와 같이 워드 클라우드를 생성하면 각 단어들의 가중치를 한눈에 시각적으로 알 수 있기 때문에, 막대그래프 등의 방식과는 달리 정보량을 그 단어의 크기에 직접 반영하여 보여준다는 점에서 높은 정보 전달력을 갖게 된다.
즉, 본 발명의 실시 예에 따라 도 14에 도시된 바와 같이 각 단어는 가중치와 함께 입력될 수 있다. 이때, 입력된 가중치는 표현될 단어의 폰트 크기, 즉 각 아이템의 세로크기를 결정하고, 단어 자체의 길이(문자의 개수)는 아이템의 가로 크기를 결정한다.
예를 들어, 도 14에 도시된 바와 같이 77개의 단어가 문서 내에서의 발생 빈도 수 정보와 함께 입력되면 각 단어가 차지할 아이템의 가로 및 세로의 크기가 결정된다. 상기 입력된 데이터로 상술한 본 발명에 따른 아이템 배치 방법을 적용하면, 상기 77개 단어들에 대해 도 3에 도시된 바와 같은 아이템 배치 결과를 얻을 수 있다.
이때, 상기 도 14의 각 단어를 해당 아이템 위치에 적으면 도 15와 같은 워드 클라우드를 얻을 수 있다. 따라서, 이와 같이 본 발명의 아이템 배치 방법을 사용하여 가중치가 반영된 모든 단어를 밀집된 형태로 보여줌으로써 한정된 공간 내에서 최대의 정보를 전달할 수 있게 된다.
한편, 상기 워드 클라우드의 경우에는 도 15에서와 같이 단어의 발생빈도를 중요도로 삼아 중요한 아이템은 더 큰 영역을 차지하도록 함으로써 시각적으로 두드러지게 하는 효과를 보였다. 본 발명의 실시예에 따라 사진의 경우에도 원본 사진의 크기와 무관하게 중요한 사진으로 판단된 경우 인위적으로 큰 아이템을 할당하여 포토 콜라주에서 우선적으로 눈에 띄게 하는 효과를 볼 수 있다. 이때, 중요도는 사용자가 직접 지정하거나 자동으로 계산되도록 구현할 수 있다.
또한, 본 발명의 실시예에 따라 동일 아이템에 대한 다양한 조합의 콜라주 생성도 가능한다. 예컨대, 본 발명에서 도 4와 같은 아이템들의 배치는 도 5에 도시된 바와 같은 이진 트리(binary tree) 구조로 표현될 수 있으며, 본 발명에 따른 아이템들의 배치 과정은 상기 도 5의 이진 트리의 성장 과정에 대응될 수 있다.
상기 도 5를 참조하면, 도 5의 이진 트리에서 말단을 제외한 내부 노드(internal node)들은 반드시 좌우 한 쌍의 서브 트리(subtree)를 가진다. 이때, 좌우 서브 트리의 위치를 교환하는 것은 최종 결정된 아이템 배치에서 해당 아이템의 위치를 교환함으로써 다른 모양의 콜라주를 생성할 수 있음을 의미한다.
따라서, 상기 도 5에서의 서브 트리의 위치를 교환하는 방식으로 n개의 아이템으로 동일한 구조를 지닌 서로 다른 콜라주 조합을 2n-1 개 만들 수 있다. 도 16a, 도 16b 및 도 16c는 도 12와 같이 배치된 콜라주와 동일한 구조를 지닌 서로 다른 콜라주의 조합들의 예시를 보여준다. 즉, 도 12와 같이 아이템의 배치될 경우, 상기 도 5의 서브 트리상에서의 위치를 교환함으로써 도 16a 내지 도 16c에서와 같이 다양한 배치의 조합들이 생성될 수 있다.
이상으로, 본 발명에 따른 아이템 배치를 통한 콜라주 생성의 개념을 설명하였다. 이하, 본 발명의 구현에 있어 아이템 배치에 사용되는 판단 기준을 상세히 설명한다. 특히, 배치된 아이템의 배치 품질 기준과 아이템을 배치할 때 위치 선정의 기준을 상세히 설명한다.
아이템 배치에 사용되는 판단 기준
먼저, 배치된 아이템의 배치품질 기준을 설명하면, 아이템의 배치품질은 신규 입력되는 아이템의 배치 위치를 결정하는 요소 중 하나이다. 또한, 아이템의 배치품질은 배치 최적화 과정에서 위치 교환할 아이템 쌍을 선정할 때에도 중요한 역할을 한다. 한편, 본 발명의 실시예에 따라 배치품질은 벌점(penalty)으로 표현하며, 제i 아이템(itemi)의 벌점은 하기 <수학식 1>과 같이 정의한다.
Figure 112012097231807-pat00005
상기 <수학식 1>에서 waste(i)는 셀 여백의 셀 크기에 대한 비율을 나타낸다. 즉, 도 6에 도시된 바와 같이 낭비되는 셀 공간을 표현하는 값이다. 이때, 상기 waste(i)의 값의 범위는 0과 1 사이이며, 아이템이 셀 영역을 여백 없이 채웠을 경우, 여백의 크기는 0이 되므로, 상기 waste(i)의 값은 0이 된다.
상기 <수학식 1>에서 cropcut(i)는 아이템을 확장하여 셀을 덮었을 때 셀 밖으로 잘려나갈 아이템 부분의 비율, 즉 아이템과 셀의 가로/세로 비율(aspect ratio)의 편차를 표현하는 값이다. 도 7을 참조하면, 아이템을 확장하였을 경우, 셀을 초과하게 되며, 셀을 초과한 부분은 크롭(crop)되어 잘려나가게 된다.
이때, 상기 cropcut(i) 값의 범위는 0과 1 사이이며, 셀 여백이 크더라도 아이템과 셀의 모양이 닮은꼴이면 아이템이 셀 여백을 초과하여 확장될 필요가 없으므로 이 값은 0이 된다.
한편, 상기 α는 0과 1 사이의 실수이며 waste(i)와 cropcut(i)의 가중치 비율을 결정한다. 상기 α의 기본 값은 0.5으로 설정할 수 있다.
본 발명의 실시예에 따라 모든 아이템들의 벌점(penalty) 값은 신규 아이템이 배치되고 셀 경계 조정이 끝난 직후 재계산된다.
아이템을 배치할 때 위치 선정의 기준
k-1 개의 아이템이 이미 배치된 상태에서 k번째 아이템인 제k 아이템(itemk) 을 배치할 때에는 다음 두 가지를 결정하여야 한다.
첫째, 이미 배치된 제1 아이템 내지 제k-1 아이템 중에서 어느 아이템의 셀을 분할할 것인가.(즉, 셀 분할할 아이템의 결정)
둘째, 수평 분할과 수직 분할 중 어느 것을 택할 것인가.
이때, 본 발명의 실시예에 따라, 제1 아이템 내지 제k-1 아이템 각각에 대해 제k 아이템의 배치 비용(cost)을 구하여 최소 비용이 드는 아이템을 선택하여 셀을 분할한다. 즉, 선택된 아이템의 가로 대 세로비(aspect ratio)가 셀의 가로 대 세로비보다 작으면 수평 분할을 하고, 그렇지 않을 경우 수직 분할을 선택한다.
예컨대, 제r 아이템의 셀을 분할하여 제k 아이템을 배치할 경우의 배치 비용은 하기 <수학식 2>와 같이 정의할 수 있다.
Figure 112012097231807-pat00006
상기 <수학식 2>에서 space_costk(r)는 제r 아이템(itemr)을 셀 분할하여 제k 아이템(itemk)을 배치했을 때 셀 여백 이외에 추가로 필요한 공간 값(셀 여백이 남을 경우엔 음수 값, 모자랄 경우에는 양수 값을 갖는다)에서 제k 아이템(itemk)의 크기를 뺀 값이다. 따라서, space_costk(r)는 보통 음수 값을 가지며, 셀 여백이 클수록 더 큰 절대값을 갖는다. 만일 제r 아이템(itemr)의 셀 여백이 전혀 없는 경우에는 이 값은 최대값인 0을 갖는다.
본 발명에서는 배치 품질이 낮은(즉, 벌점이 높은) 아이템에 셀 분할 우선권을 주기 위해 상기 <수학식 2>에 따라 space_costk(r) 값에 penalty(r)가 곱해져 산출한 최종 배치비용 costk(r) 값이 결정된다.
위의 방법을 사용함으로써, 기존 아이템 중 셀 여백이 많고, 배치 품질이 좋지 않은 아이템일수록 셀 분할 대상으로 선택될 확률이 높아지고, 또한 셀 분할 시 해당 아이템의 배치 품질이 좋아지는 효과를 가져온다.
아이템 간 위치 교환의 기준
본 발명의 실시예에 따라 아이템들의 1차 배치가 끝나면 배치결과를 최적화하기 위해 위치 교환이 물리적으로 가능한 아이템 쌍들(즉, 서로 상대의 셀에 들어갈 수 있는 아이템 쌍들)에 대해 위치 교환을 시도한다.
이때, 위치 교환을 하면 두 아이템의 벌점이 변경되는데, 위치 교환으로 두 아이템의 벌점 중 큰 값이 낮아지는 쌍들의 목록을 구한다.
이러한 방법으로, 벌점이 가장 많이 낮아지는 쌍부터 시작하여 차례로 위치 교환을 수행한다. 이때, 위치 교환이 수행된 아이템이 포함된 쌍들이 대기목록에 있으면 목록에서 전부 제거한다.
상기 방법을 반복 수행하되, 최소의 배치품질을 갖는 아이템의 배치품질이 더 좋아지지 않는 시점에서(즉, 최대의 벌점을 갖는 아이템의 벌점이 더 낮아지지 않는 시점에서) 수행을 중지한다. 이렇게 함으로써 최적화된 배치를 얻을 수가 있게 된다.
이하, 도 8을 참조하여 본 발명의 실시예에 따른 장치를 설명하며, 도 9 및 도 10을 참조하여 본 발명의 실시예에 따른 방법을 설명한다.
아이템 자동 배치 장치
도 8은 본 발명의 실시예에 따른 복수의 아이템들을 공간 내에 자동으로 배치하는 장치의 세부 구성을 나타내는 블록도이다. 도 8을 참조하면, 본 발명의 실시예에 따fms 복수의 아이템들을 공간 내에 자동으로 배치하는 장치는 1차 배치부(810), 배치 최적화부(820), 배치 품질 산출부(830) 등을 포함하여 구성될 수 있다.
상기 1차 배치부(810)는 도 1에서와 같이 전체 아이템들을 본 발명의 실시예에 따라 캔버스에 1차적으로 배치하는 기능을 수행한다. 이와 같이 1차적으로 아이템들이 배치되면, 배치 최적화부(820)에서 아이템 위치 교환, 여백 제거 등을 통해 최적화된 배치 결과를 얻게 된다. 배치 품질 산출부(830)는 본 발명의 실시예에 따라 상기 1차 배치부(810)의 배치 위치 선택 조건 또는 상기 배치 최적화부(820)의 아이템 위치 교환 조건 등을 결정하기 위해 배치 품질을 산출하는 기능을 수행한다.
보다 구체적으로 설명하면, 1차 배치부(810)는 아이템 정렬부(811), 아이템 선택부(812), 배치 위치 선택부(813), 셀 분할부(814), 아이템 배치부(815) 및 제1 캔버스 크기 조절부(816) 등을 포함하여 구성될 수 있다.
먼저, 아이템 정렬부(811)는 전체 n개의 아이템을 크기 순으로 정렬한다. 이때, 가장 크기가 큰 아이템을 제1 아이템으로 설정하고, 크기 순으로 제2 아이템, 제3 아이템,..., 제n 아이템까지 설정한다.
한편, 상기 아이템의 크기는 다양한 기준으로 설정할 수 있다. 예컨대, 각 아이템의 가로×세로(즉, 넓이)를 해당 아이템의 크기로 정하거나, 아이템의 폭이 큰 순서 또는 아이템의 높이가 큰 순서로 아이템의 크기 순서를 정할 수 있으며, 본 발명이 이에 한정되지는 않는다.
이와 같이, 아이템 정렬부(811)를 통해 각 아이템이 크기 순으로 정렬되면, 아이템 선택부(812)에서는 제1 아이템부터 순차적으로 선택하여 상술한 바와 같이 본 발명의 실시예에 따른 방법으로 캔버스에 배치하게 된다.
배치 위치 선택부(813)는 상기 아이템 선택부(812)를 통해 선택된 해당 제k 아이템에 대해 k-1 개의 아이템이 이미 배치된 상태의 캔버스에서 상기 k-1개의 아이템들 중 어느 아이템의 셀 영역을 분할하여 배치할 것인지 위치를 결정한다.
이때, 상기 배치 위치를 선택하는 방법은 상술한 바와 같이 <수학식 1> 및 <수학식 2>에 따라 각 아이템의 배치 비용을 산출하고, 최소 비용이 드는 아이템을 선택하여 셀을 분할한다. 따라서, 배치 품질 산출부(830)를 통해 각 아이템의 비용을 산출하여 최소 비용이 드는 아이템을 결정한다.
이와 같이 배치 위치 선택부(813)에 의해 배치 위치가 결정되면, 셀 분할부(814)에서는 해당 선택된 아이템의 셀을 수평 또는 수직으로 분할한다. 이때, 상기 셀 분할부(814)에서는 선택된 아이템의 가로 대 세로비(aspect ratio)가 셀의 가로 대 세로비보다 작으면 해당 아이템의 셀 영역을 수평 분할을 하고, 그렇지 않을 경우 수직 분할을 수행한다.
아이템 배치부(815)는 상기 분할된 셀의 위치에 해당 선택된 아이템을 배치시킨다. 이때, 상기 아이템은 분할된 셀의 영역의 중앙에 위치시킬 수 있다.
한편, 상기 해당 아이템을 배치할 때, 배치할 공간이 모자랄 경우, 제1 캔버스 크기 조절부(816)에서는 전체 캔버스의 크기를 필요한 만큼 증가시킨다. 이때, 전체 캔버스의 크기가 증가하더라도 미리 설정된 캔버스의 가로 대 세로 비율은 일정하게 유지시키면서 증가시키는 것이 바람직하다.
상기 전체 n개의 아이템에 대해 동일한 절차를 반복하여 배치함으로써 1차 배치부(810)의 1차적인 아이템 배치가 완료되면, 배치 최적화부(820)에서는 배치된 아이템의 위치를 교환하거나 여백을 제거함으로써 최종적으로 최적화된 배치 결과를 얻게 된다.
보다 구체적으로 설명하면, 배치 최적화부(820)는 아이템 위치 교환부(821), 여백 제거부(822) 및 제2 캔버스 크기 조절부(823) 등을 포함하여 구성될 수 있다.
아이템 위치 교환부(821)는 도 2의 설명에서 상술한 바와 같이 1차적으로 배치된 아이템들의 배치를 보다 최적화시키기 위하여 교환 가능한 아이템 쌍을 서로 교환함으로써 배치 효율을 높이게 된다. 즉, 상기 아이템 위치 교환부(821)는 도 5에서와 같은 서브 트리상에서 교환 가능한 쌍을 선택하고, 상술한 바와 같이 배치 품질 산출부(830)를 통해 위치 교환에 따른 두 아이템의 벌점을 산출한다.
즉, 상기 아이템 위치 교환부(821)는 배치결과를 최적화하기 위해 위치 교환이 물리적으로 가능한 아이템 쌍들(즉, 서로 상대의 셀에 들어갈 수 있는 아이템 쌍들)에 대해 위치 교환을 시도한다. 이때, 상술한 바와 같이 위치 교환을 하면 두 아이템의 벌점이 변경되는데, 위치 교환으로 두 아이템의 벌점 중 큰 값이 낮아지는 쌍들의 목록을 구하고, 벌점이 가장 많이 낮아지는 쌍부터 시작하여 차례로 위치 교환을 수행한다. 상기 아이템 위치 교환부(821)는 상기 방법을 반복 수행하되, 최소의 배치품질을 갖는 아이템의 배치품질이 더 좋아지지 않는 시점에서(즉, 최대의 벌점을 갖는 아이템의 벌점이 더 낮아지지 않는 시점에서) 수행을 중지한다. 이렇게 함으로써 최적화된 배치를 얻을 수가 있게 된다.
여백 제거부(822)는 상기 아이템 위치 교환부(821)에 의해 최적화된 배치를 얻은 후 최종 셀 경계를 조정함으로써 여백을 최소화시킨다. 즉, 상술한 도 1의 1차 배치와 도 2의 위치 변경 후에도 각 아이템들은 각 셀 내에서 필요 이상의 여백을 포함하고 있다. 따라서, 여백 제거부(822)에서는 상기 각 셀 내의 여백들을 제거시킴으로써 여백을 최소화시킨다. 이와 같이 함으로써, 도 2의 우측에 도시된 바와 같은 최적화된 아이템 배치 결과를 얻을 수 있게 된다.
이와 같이 여백 제거부(822)에 의해 여백이 제거된 후, 제2 캔버스 크기 조절부(823)는 최적화된 아이템 배치 결과에 따른 캔버스를 미리 설정된 크기로 조절한다. 이때, 아이템 배치 과정에서 캔버스의 크기가 증가하였더라도 가로 대 세로 비율은 일정하게 유지되었기 때문에 상기 제2 캔버스 크기 조절부(823)는 캔버스의 크기를 동일한 비율로 축소시키게 된다.
한편, 본 발명의 실시예에 따라 아이템 회전 처리부(840)는 상기 배치 최적화부(820)에 의해 아이템이 배치된 콜라주 이미지에서 각 아이템을 잘라내지 않고 셀 중점을 중심으로 미리 설정된 일정 각도만큼씩 회전시킨다. 이렇게 함으로써 도 13에 도시된 바와 같이 콜라주에 보이지 않는 부분이 어느 정도인지 짐작할 수 있는 또 다른 형태의 콜라주를 얻을 수 있다.
이와 같이, 장치에 의해 제작된 콜라주 이미지는 데이터베이스에 저장되며, 상기 저장된 콜라주 이미지는 웹서버 등에 적용하여 다양한 형태의 웹 페이지를 구성함으로써 시각적인 효과를 가져올 수 있다.
한편, 상기 장치의 각각의 구성요소들은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.
그리고 본 명세서에서 각 기능부(또는 모듈)라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 각 기능부는 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
아이템 자동 배치 방법
도 9는 본 발명의 실시예에 따른 복수의 아이템들을 공간 내에 자동으로 배치하는 절차를 나타내는 흐름도이다. 도 9를 참조하면, 1차 배치 단계로서 먼저 n개의 아이템을 크기가 큰 순서로 정렬(S901)시킨다. 그런 다음, 크기 순으로 각 아이템의 배치 위치를 선정(S902)한다. 선정된 배치 위치에 대해 셀 분할을 한 후 해당 아이템을 배치(S903)한다. 상기 아이템 배치를 크기 순으로 순차적으로 동일한 방법으로 수행하고, 마지막 아이템까지 배치가 완료되면(S904), 배치 최적화 과정을 진행한다.
즉, 본 발명의 실시예에 따라 배치 최적화를 위해 아이템간 위치를 교환(S905)하고, 여백을 제거한다. 이때, 상기 아이템간 위치 교환은 상술한 바와 같이 최저 배치 품질이 최고치가 될 때가지 수행(S906)한다.
도 10은 본 발명의 실시예에 따른 1차 배치의 세부 절차를 나타내는 흐름도이다. 도 10을 참조하여 도 9의 1차 배치 단계의 보다 구체적인 실시예를 설명한다.
먼저, n개의 아이템을 크기 순으로 정렬(S1001)하고, 아이템들을 배치할 캔버스 영역을 생성(S1002)한다. 이때, 상기 캔버스 영역은 가로 대 세로비가 일정한 비율로 미리 설정되는 것이 바람직하다. 그런 다음, 아이템의 크기 순으로 제k 아이템에 대한 배치가 수행된다. 즉, 최초 k는 1로 설정(S1003)되어 제1 아이템을 캔버스에 배치(S1004)시키고, 이후 k 값을 하나씩 증가시키면서(S1005) 제k 아이템을 배치시킨다.
제k 아이템을 배치시키는 방법은 이미 배치된 아이템들 중에서 상기 제k 아이템을 배치시키기 위해 셀을 분할할 아이템을 결정(S1006)한다. 그런 다음, 분할 결정된 아이템의 셀을 수평 또는 수직으로 분할(S1007)시킨다.
상기 셀 분할 후 분할된 여백 영역에 상기 제k 아이템을 배치(S1008)시킨다. 이때, 상기 제k 아이템의 배치 공간이 부족(S1009)할 경우, 캔버스의 크기를 가로 대 세로비가 일정하게 유지되도록 하면서 필요한 만큼만 증가(S1010)시킨다.
이와 같이, 모든 n개의 아이템에 대한 배치가 완료(S1011)되면, 1차 배치 단계가 완료된다.
한편, 상기 도 10의 실시예에서는 복수의(n 개의) 아이템을 크기 순으로 정렬한 후 정렬된 크기 순으로 아이템을 배치하도록 구현하였다. 그러나, 아이템을 크기 순으로 선택하여 배치하지 않고 임의의 순서로 배치하는 것도 가능하다.
즉, n 개의 아이템에 대해 크기 순서에 관계 없이 임의의 k 번째 아이템을 선택하고, 선택된 아이템을 배치시킬 위치를 결정한 후, 결정된 위치의 셀 영역을 분할한 후 상기 k 번째 아이템을 배치하도록 구현할 수 있다. 본 발명에서는 상술한 바와 같이 나중에 배치되는 아이템의 배치 공간이 부족할 경우 캔버스의 크기를 증가시킴으로써 배치에 충분한 공간을 확보할 수 있기 때문에 이전 배치된 아이템보다 큰 아이템이 나중에 배치되더라도 본 발명에 따른 배치가 가능해진다.
여기에서 다양한 방법들에 관해 설명된 바와 같은 다양한 동작들 및 기능들은 특정 프로세싱 기능부 및/또는 그 안에 구현된 프로세싱 기능부, 및/또는 그 안의 다른 구성요소들과 같은 많은 유형의 기능부들 중 어느 것 내에서 수행될 수 있다. 예를 들면, 그러한 기능부들은 여기에 설명된 바와 같은 다양한 동작들 및 처리들, 또는 여기에 설명된 바와 같은 어느 다른 동작들 및 기능들, 등 또는 그 각 등가물들을 수행하는 것뿐만 아니라 여기에 설명된 바와 같은 그러한 정보들을 생성하고 그러한 동작들, 처리들 등을 수행할 수 있다.
일부 실시예들에서, 그러한 기능부들(동일한 장치 또는 구별된 장치들상에서 구현될 수 있는)은 본 발명의 다양한 측면들에 따른 그러한 처리 및 동작들, 등, 및/또는 여기에 개시된 바와 같은 어느 다른 동작들 및 기능들, 및 그 각 등가물들을 수행할 수 있다. 일부 실시예들에서, 그러한 처리는 제1 장치에서의 제1 기능부, 및 제2 장치 내의 제2 기능부에 의해 함께 수행된다. 다른 실시예들에서, 그러한 프로세싱, 동작들 등은 하나의 특정 장치 내에서 처리부들에 의해 전적으로 수행된다. 심지어 다른 실시예들에서는, 그러한 프로세싱, 동작들이 하나의 단일 디바이스내에서 적어도 제1 기능부 및 제2 기능부를 사용하여 수행된다.
또한 상술한 설명에서, 용어들 '시스템', '장치', '~부'는 단일 프로세싱 디바이스 또는 복수의 프로세싱 디바이스들일 수 있다. 그러한 프로세싱 디바이스는 마이크로 프로세서, 마이크로 컨트롤러, 디지털 신호 처리기, 마이크로 컴퓨터, 중앙 처리 유닛, 필드 프로그래머블 게이트 어레이, 프로그래머블 로직 디바이스, 스테이트 머신, 로직 회로, 아날로그 회로, 디지털 회로, 및/또는 상기 회로 및/또는 동작 지시들의 하드 코딩에 기반하여 신호들(아날로그 및/또는 디지털)을 조작하는 소정의 디바이스일 수 있다. 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛은 단일 메모리 디바이스, 복수의 메모리 디바이스들, 및/또는 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛의 내장된 회로일 수 있는 결합된 메모리 및/또는 집적된 메모리 엘리먼트를 가질 수 있다. 그러한, 메모리 디바이스는 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 휘발성 메모리, 비휘발성 메모리, 정적 메모리, 동적 메모리, 플래시 메모리, 캐시 메모리, 및/또는 디지털 정보를 저장하는 소정의 디바이스일 수 있다. 만약, 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛이 하나 이상의 프로세싱 디바이스를 포함한다면, 상기 프로세싱 디바이스들은 집중적으로 위치될 수 있거나(즉, 유선 및/또는 무선 버스 구조를 통해 함께 직접적으로 연결된), 분산되어 위치될 수 있음(예컨대, 근거리 통신망 및/또는 광역 네트워크를 통한 간접적인 연결을 통한 클라우드 컴퓨팅)을 주목하여야 한다. 만약, 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛이 정적 머신, 아날로그 회로, 디지털 회로, 및/또는 회로, 저장하는 메모리 및/또는 메모리 구성요소를 통해 하나 이상의 그 기능들을 구현한다면, 그 대응하는 동작 지시들은 상기 정적 머신, 아날로그 회로, 디지털 회로, 및/또는 논리 회로를 포함하는 회로의 내부에 내장되거나 외부에 있을 수 있음을 더 주목하여야 한다. 상기 메모리 엘리먼트는 저장할 수 있으며, 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛은 상기 도면들 중 하나 이상에서 나타내는 단계들 및/또는 기능들 중 적어도 일부에 대응하는 하드 코딩된 및/또는 동작 지시들을 실행한다는 것을 여전히 더 주목하여야 한다. 그러한 메모리 디바이스 또는 메모리 엘리먼트는 제조의 부품 내에서 포함될 수 있다.
본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다. 당업자는 또한 여기에서의 상기 기능적 구성 요소들 및 다른 도시된 블록들, 모듈들, 및 구성요소들이 도시된 바와 같이 또는 분리된 구성요소들, 반도체 집적 회로(ASIC)들, 적절한 소프트웨어를 실행하는 프로세서들 및 그와 유사한 또는 임의의 조합에 의해 구현될 수 있음을 인지할 것이다.
본 발명은 또한 하나 이상의 실시예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시예는 여기에 설명된 하나 이상의 실시예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.
한편, 용어 "~처리부"는 본 발명의 다양한 실시예들의 설명에서 사용된다. 모듈은 하나 이상의 출력 신호들을 생성하기 위해 하나 이상의 입력 신호들의 처리와 같은 하나 이상의 기능들을 수행하기 위해 하드웨어를 통해 구현되는 기능적 블록을 포함한다. 상기 기능적 블록을 구현하는 하드웨어는 소프트웨어 및/또는 펌웨어를 결합하여 직접 동작할 수 있다. 여기에서 사용된 바와 같이, 모듈은 자체적으로 모듈인 하나 이상의 서브-모듈들을 포함할 수 있다.
본 발명의 여러가지 기능들 및 특정들의 특별한 조합들이 여기에 분명히 설명된 반면, 이러한 특징들 및 기능들의 다른 조합들이 마찬가지로 가능하다. 본 발명은 여기에 개시된 특정한 예들에 제한되지 않으며, 이러한 다른 조합들을 명백히 통합한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
810 : 1차 배치부 811 : 아이템 정렬부
812 : 아이템 선택부 813 : 배치 위치 선택부
814 : 셀 분할부 815 : 아이템 배치부
816 : 제1 캔버스 크기 조절부 820 : 배치 최적화부
821 : 아이템 위치 교환부 822 : 여백 제거부
823 : 제2 캔버스 크기 조절부 830 : 배치 품질 산출부
840 : 아이템 회전 처리부

Claims (32)

  1. 일정 크기를 갖는 캔버스에 배치할 n개의 아이템들을 크기 순으로 정렬시키는 아이템 정렬부;
    상기 아이템 정렬부에서 정렬된 각 아이템들 중 배치할 아이템을 크기 순으로 하나씩 선택하는 아이템 선택부;
    상기 아이템 선택부를 통해 선택된 제k 아이템에 대해 k-1 개의 아이템이 이미 배치된 상태의 캔버스에서 상기 k-1개의 아이템들 중 어느 아이템의 셀 영역을 분할하여 배치시킬 것인지 위치를 결정하는 배치 위치 선택부;
    상기 배치 위치 선택부에 의해 결정된 해당 위치에 이미 배치된 아이템의 셀 영역을 분할하고, 이미 배치된 아이템의 셀 크기를 조정하는 셀 분할부; 및
    상기 분할된 셀의 위치에 상기 선택된 제k 아이템을 배치시키는 아이템 배치부;를 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  2. 청구항 1에 있어서, 상기 장치는,
    캔버스에 이미 배치된 제1 아이템 내지 제k-1 아이템 각각에 대해 제k 아이템의 배치 비용을 산출하여 최소 비용이 드는 아이템의 셀을 분할할 셀로서 결정하는 배치 품질 산출부;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  3. 청구항 2에 있어서, 상기 배치 비용(cost)은 하기 수학식에 의해 산출되는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
    Figure 112014007342566-pat00029

    여기서, penalty(r)는 배치 품질을 표현하기 위한 벌점을 나타내며, space_costk(r)는 제r 아이템(itemr)을 셀 분할하여 제k 아이템(itemk)을 배치했을 때 셀 여백 이외에 추가로 필요한 공간 값에서 제k 아이템(itemk)의 크기를 뺀 값을 나타낸다.
  4. 청구항 3에 있어서, 상기 배치 품질을 표현하기 위한 벌점은, 하기 수학식에 의해 산출되는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
    Figure 112014007342566-pat00030

    여기서, waste(i)는 셀 여백의 셀 크기에 대한 비율을 나타내며, cropcut(i)는 아이템을 확장하여 셀을 덮었을 때 셀 밖으로 잘려나갈 아이템 부분의 비율을 나타낸다.
  5. 청구항 1에 있어서, 상기 아이템은,
    사진, 텍스트, 애니메이션 및 동영상 중에서 선택된 어느 하나 이상인, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  6. 청구항 1에 있어서, 상기 아이템의 크기는,
    상기 아이템이 차지하는 영역의 가로 길이와 세로 길이의 곱으로 설정하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  7. 청구항 1에 있어서, 상기 셀 분할부는,
    상기 배치 위치 선택부에 의해 선택된 아이템의 셀을 수평 또는 수직으로 분할하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  8. 청구항 7에 있어서, 상기 셀 분할부는,
    상기 배치할 제k 아이템의 가로 대 세로비(aspect ratio)가 선택된 아이템의 셀의 가로 대 세로비보다 작으면 수평 분할을 하고, 크면 수직 분할을 수행하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  9. 청구항 1에 있어서, 상기 장치는,
    상기 아이템 배치부에서 제k 아이템을 캔버스에 배치할 때, 배치할 공간이 모자랄 경우, 전체 캔버스의 크기를 필요한 만큼 증가시키는 제1 캔버스 크기 조절부;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  10. 청구항 9에 있어서, 상기 제1 캔버스 크기 조절부는,
    상기 전체 캔버스의 크기를 증가시킬 때 미리 설정된 캔버스의 가로 대 세로 비율을 일정하게 유지시키면서 증가시키는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  11. 청구항 1에 있어서, 상기 장치는,
    상기 아이템 배치부에 의해 배치된 n개의 아이템들을 분할 구조에 따라 트리 형로 구성하고, 동일한 서브 트리상에 위치한 두 개의 아이템의 위치를 서로 교환함으로써 배치 효율을 높이는 아이템 위치 교환부;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  12. 청구항 2 또는 청구항 11에 있어서, 상기 아이템 위치 교환부는,
    위치 교환에 따라 상기 배치 품질 산출부를 통해 산출된 벌점의 변경을 확인하고, 위치 교환으로 두 아이템의 벌점 중 큰 값이 낮아지는 쌍들의 목록을 구하여, 벌점이 가장 많이 낮아지는 쌍부터 시작하여 차례로 위치 교환을 수행하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  13. 청구항 1에 있어서, 상기 장치는,
    상기 배치부를 통해 배치된 캔버스상에서 각 아이템의 최종 셀 경계를 조정함으로써 여백을 최소화시키는 여백 제거부;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  14. 청구항 13에 있어서, 상기 장치는,
    상기 여백 제거부에 의해 여백이 제거된 캔버스의 크기를 동일한 비율로 축소시켜, 미리 설정된 크기로 조절하는 제2 캔버스 크기 조절부;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  15. 청구항 1에 있어서, 상기 장치는,
    상기 배치부를 통해 배치된 캔버스상에서 각 아이템을 잘라내지 않고 셀 중점을 중심으로 미리 설정된 일정 각도만큼씩 회전시키는 아이템 회전 처리부;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 장치.
  16. 복수의 아이템들을 공간에 자동으로 배치하는 방법으로서, 복수의 아이템들을 공간에 자동으로 배치하는 장치에서 수행되는 각 단계가,
    일정 크기를 갖는 캔버스에 배치할 n개의 아이템들을 하나씩 선택하는 단계;
    상기 선택된 제k 아이템에 대해 k-1 개의 아이템이 이미 배치된 상태의 캔버스에서 상기 k-1개의 아이템들 중 어느 아이템의 셀 영역을 분할하여 배치시킬 것인지 위치를 결정하는 단계;
    상기 결정된 해당 위치에 이미 배치된 아이템의 셀 영역을 분할하는 단계; 및
    상기 분할된 셀의 위치에 상기 선택된 제k 아이템을 아이템 배치부가 배치시키는 단계;를 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  17. 청구항 16에 있어서, 상기 위치를 결정하는 단계는,
    캔버스에 이미 배치된 제1 아이템 내지 제k-1 아이템 각각에 대해 제k 아이템의 배치 비용을 산출하여 최소 비용이 드는 아이템의 셀을 분할할 셀로서 결정하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  18. 청구항 17에 있어서, 상기 배치 비용(cost)은 하기 수학식에 의해 산출되는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
    Figure 112014007342566-pat00031

    여기서, penalty(r)는 배치 품질을 표현하기 위한 벌점을 나타내며, space_costk(r)는 제r 아이템(itemr)을 셀 분할하여 제k 아이템(itemk)을 배치했을 때 셀 여백 이외에 추가로 필요한 공간 값에서 제k 아이템(itemk)의 크기를 뺀 값을 나타낸다.
  19. 청구항 18에 있어서, 상기 배치 품질을 표현하기 위한 벌점은, 하기 수학식에 의해 산출되는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
    Figure 112014007342566-pat00032

    여기서, waste(i)는 셀 여백의 셀 크기에 대한 비율을 나타내며, cropcut(i)는 아이템을 확장하여 셀을 덮었을 때 셀 밖으로 잘려나갈 아이템 부분의 비율을 나타낸다.
  20. 청구항 16에 있어서, 상기 아이템은,
    사진, 텍스트, 애니메이션 및 동영상 중에서 선택된 어느 하나 이상인, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  21. 청구항 16에 있어서, 상기 아이템의 크기는,
    상기 아이템이 차지하는 영역의 가로 길이와 세로 길이의 곱으로 설정하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  22. 청구항 16에 있어서, 상기 셀 영역을 분할하는 단계는,
    상기 위치를 결정하는 단계에서 선택된 아이템의 셀을 수평 또는 수직으로 분할하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  23. 청구항 22에 있어서, 상기 셀 영역을 분할하는 단계는,
    상기 배치할 제k 아이템의 가로 대 세로비(aspect ratio)가 선택된 아이템의 셀의 가로 대 세로비보다 작으면 수평 분할을 하고, 크면 수직 분할을 수행하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  24. 청구항 16에 있어서, 상기 방법은, 상기 선택된 제k 아이템을 배치시키는 단계 이후에,
    상기 아이템 배치부에서 제k 아이템을 캔버스에 배치할 때, 배치할 공간이 모자랄 경우, 전체 캔버스의 크기를 필요한 만큼 증가시키는 단계;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  25. 청구항 24에 있어서, 상기 크기를 증가시키는 단계는,
    상기 전체 캔버스의 크기를 증가시킬 때 미리 설정된 캔버스의 가로 대 세로 비율을 일정하게 유지시키면서 증가시키는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  26. 청구항 16에 있어서, 상기 방법은, 상기 선택된 제k 아이템을 배치시키는 단계 이후에,
    상기 아이템 배치부에 의해 배치된 n개의 아이템들을 분할 구조에 따라 트리 형로 구성하고, 동일한 서브 트리상에 위치한 두 개의 아이템의 위치를 서로 교환함으로써 배치 효율을 높이는 아이템 위치 교환 단계;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  27. 청구항 26에 있어서, 상기 아이템 위치 교환 단계는,
    위치 교환에 따라 상기 배치 품질 산출부를 통해 산출된 벌점의 변경을 확인하고, 위치 교환으로 두 아이템의 벌점 중 큰 값이 낮아지는 쌍들의 목록을 구하여, 벌점이 가장 많이 낮아지는 쌍부터 시작하여 차례로 위치 교환을 수행하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  28. 청구항 16에 있어서, 상기 방법은, 상기 선택된 제k 아이템을 배치시키는 단계 이후에,
    상기 아이템 배치부를 통해 배치된 캔버스상에서 각 아이템의 최종 셀 경계를 조정함으로써 여백을 최소화시키는 여백 제거 단계;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  29. 청구항 28에 있어서, 상기 방법은, 상기 여백 제거 단계 이후에,
    상기 여백 제거 단계에서 여백이 제거된 캔버스의 크기를 동일한 비율로 축소시켜, 미리 설정된 크기로 조절하는 단계;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  30. 청구항 16에 있어서, 상기 방법은, 상기 선택된 제k 아이템을 배치시키는 단계 이후에,
    상기 아이템 배치부를 통해 배치된 캔버스상에서 각 아이템을 잘라내지 않고 셀 중점을 중심으로 미리 설정된 일정 각도만큼씩 회전시키는 단계;를 더 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  31. 청구항 16에 있어서, 상기 아이템들을 하나씩 선택하는 단계는,
    일정 크기를 갖는 캔버스에 배치할 n개의 아이템들을 크기 순으로 정렬시키는 단계; 및
    상기 정렬된 각 아이템들 중 배치할 아이템을 크기 순으로 하나씩 선택하는 단계;를 포함하는, 복수의 아이템들을 공간에 자동으로 배치하는 방법.
  32. 청구항 16 내지 청구항 31 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
KR1020120134262A 2012-11-26 2012-11-26 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 KR101414195B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120134262A KR101414195B1 (ko) 2012-11-26 2012-11-26 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
JP2013228605A JP6307246B2 (ja) 2012-11-26 2013-11-01 複数のアイテムをキャンバス内に自動配置する装置、方法およびコンピュータ読み取り可能な記録媒体
US14/090,565 US9983760B2 (en) 2012-11-26 2013-11-26 Apparatus, method and computer readable recording medium for arranging a plurality of items automatically in a canvas

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120134262A KR101414195B1 (ko) 2012-11-26 2012-11-26 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20140067252A KR20140067252A (ko) 2014-06-05
KR101414195B1 true KR101414195B1 (ko) 2014-07-01

Family

ID=50774463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120134262A KR101414195B1 (ko) 2012-11-26 2012-11-26 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Country Status (3)

Country Link
US (1) US9983760B2 (ko)
JP (1) JP6307246B2 (ko)
KR (1) KR101414195B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11049305B2 (en) 2018-10-11 2021-06-29 Samsung Electronics Co., Ltd. Electronic apparatus identifying image arrangement on layout, controlling method of electronic apparatus and computer readable medium

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11716300B2 (en) * 2013-02-13 2023-08-01 Guy Ravine Techniques for optimizing the display of videos
US10386994B2 (en) * 2015-02-17 2019-08-20 Microsoft Technology Licensing, Llc Control of item arrangement in a user interface
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
USD855629S1 (en) * 2015-10-23 2019-08-06 Sony Corporation Display panel or screen or portion thereof with an animated graphical user interface
US10198147B2 (en) * 2016-03-17 2019-02-05 Samsung Electronics Co., Ltd. Object management and visualization using a computing device
JP2019133605A (ja) 2018-02-02 2019-08-08 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP7069766B2 (ja) * 2018-02-02 2022-05-18 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
JP7098949B2 (ja) 2018-02-14 2022-07-12 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN111353115B (zh) * 2018-12-24 2023-10-27 中移(杭州)信息技术有限公司 一种雪碧图的生成方法及装置
KR102339812B1 (ko) * 2021-05-10 2021-12-15 김보람 텍스트 및 이미지를 포함하는 인쇄물 제작 방법 및 시스템
KR102649627B1 (ko) * 2021-11-12 2024-03-20 (주)키출판사 어도비 인디자인 전자편집(dtp) 프로그램을 이용한 이미지 자동배치 및 실행방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082912A1 (en) 2006-09-28 2008-04-03 Atkins C Brian Graphic Assembly Layout with Maximum Page Coverage and Minimum Content Removal
US20120206496A1 (en) 2011-02-11 2012-08-16 Cok Ronald S System for imaging product layout

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8056013B2 (en) * 2005-05-13 2011-11-08 Hewlett-Packard Development Company, L.P. Method for arranging graphic assemblies
US7743322B2 (en) 2003-09-30 2010-06-22 Hewlett-Packard Development Company, L.P. Automatic photo album page layout
US8161377B2 (en) * 2005-03-01 2012-04-17 Hewlett-Packard Development Company, L.P. Arranging images on pages of an album
US7620267B2 (en) * 2006-04-28 2009-11-17 Hewlett-Packard Development Company, L.P. Collage generation with occlusion costing
US20090002764A1 (en) 2007-06-27 2009-01-01 Atkins C Brian Arranging graphic objects on a page with relative area based control
US8634674B2 (en) * 2007-09-11 2014-01-21 Vistaprint Schweiz Gmbh Dynamic sizing and positioning of multiple images
JP2009193283A (ja) * 2008-02-14 2009-08-27 Fuji Xerox Co Ltd 文書画像処理装置、及び文書画像処理プログラム
JP5207940B2 (ja) * 2008-12-09 2013-06-12 キヤノン株式会社 画像選択装置及びその制御方法
KR101049813B1 (ko) 2008-12-31 2011-07-15 엔에이치엔(주) 이미지를 자동으로 배치하는 방법 및 장치
US8976198B2 (en) * 2009-10-22 2015-03-10 Collage.Com, Llc Method, system and computer program product for creating shape collages
JP2011113509A (ja) * 2009-11-30 2011-06-09 Toshiba Corp 部品レイアウト方法及び部品レイアウトシステム
KR101271539B1 (ko) * 2011-06-03 2013-06-05 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080082912A1 (en) 2006-09-28 2008-04-03 Atkins C Brian Graphic Assembly Layout with Maximum Page Coverage and Minimum Content Removal
US20120206496A1 (en) 2011-02-11 2012-08-16 Cok Ronald S System for imaging product layout

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11049305B2 (en) 2018-10-11 2021-06-29 Samsung Electronics Co., Ltd. Electronic apparatus identifying image arrangement on layout, controlling method of electronic apparatus and computer readable medium

Also Published As

Publication number Publication date
JP6307246B2 (ja) 2018-04-04
KR20140067252A (ko) 2014-06-05
US9983760B2 (en) 2018-05-29
US20140149926A1 (en) 2014-05-29
JP2014106968A (ja) 2014-06-09

Similar Documents

Publication Publication Date Title
KR101414195B1 (ko) 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US8743149B2 (en) Meteorology and oceanography geospatial analysis toolset
US7555730B2 (en) Method for arranging graphic assemblies
JP4751047B2 (ja) エリア内にオブジェクトのセットを配置する方法
CN104572668B (zh) 基于多个样式文件生成合并样式文件的方法和设备
US8056013B2 (en) Method for arranging graphic assemblies
JP6294018B2 (ja) イメージ分析によるイメージ自動編集装置、方法およびコンピュータ読み取り可能な記録媒体
CN102663119B (zh) 一种渲染海量矢量数据的方法
WO2008042309A1 (en) Graphic assembly layout with maximum page coverage
CN104978444B (zh) 一种图片组合的方法及装置
US9390528B2 (en) Meteorology and oceanography geospatial analysis toolset
US10628628B2 (en) Method, system, and computer program product for arranging content in a plurality of regions to obtain a content-aware layout
CN108986032A (zh) 一种广告图片处理方法及装置
CN104978445B (zh) 一种图片组合的方法及装置
TW201617940A (zh) 資料壓縮方法和裝置
CN106998489B (zh) 一种焦点越界搜索方法及装置
EP2234089A1 (en) Map data creating device and map drawing device
CN107220302A (zh) 基于qt技术的自动切片存储系统和方法
CN116521782A (zh) 一种数据资产地图获取方法、装置、设备、介质及产品
CN106469437B (zh) 图像处理方法和图像处理装置
US10916067B1 (en) Intelligent alignment of graphical elements
CN111179378A (zh) 一种可用于webGIS的全球电力气象图集绘图方法
JP2003122737A5 (ko)
JP2014158071A (ja) 画像レイアウト装置
CN102253970B (zh) 一种图像处理方法

Legal Events

Date Code Title Description
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: 20170328

Year of fee payment: 4