KR20130016079A - 복수의 이미지 패킹 방법 및 장치 - Google Patents

복수의 이미지 패킹 방법 및 장치 Download PDF

Info

Publication number
KR20130016079A
KR20130016079A KR1020120083061A KR20120083061A KR20130016079A KR 20130016079 A KR20130016079 A KR 20130016079A KR 1020120083061 A KR1020120083061 A KR 1020120083061A KR 20120083061 A KR20120083061 A KR 20120083061A KR 20130016079 A KR20130016079 A KR 20130016079A
Authority
KR
South Korea
Prior art keywords
images
cells
canvas
image
cell
Prior art date
Application number
KR1020120083061A
Other languages
English (en)
Other versions
KR101990570B1 (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 EP12179307.9A priority Critical patent/EP2555165B1/en
Priority to US13/567,628 priority patent/US9767583B2/en
Publication of KR20130016079A publication Critical patent/KR20130016079A/ko
Application granted granted Critical
Publication of KR101990570B1 publication Critical patent/KR101990570B1/ko

Links

Images

Classifications

    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

디스플레이 장치 상에 디지털 시각적 컨텐츠를 효율적으로 패킹하는 방법이 개시된다. 상기 발명은 디지털 이미지 시스템에 관한 것으로, 특히 복수개의 이미지들을 디스플레이하는 것에 관한 것이다. 캡쳐된 디지털 이미지들은 이미지 편집기 및 기타 소프트웨어 도구에 의해 공유, 편집, 구성, 관리 및 향상되어, 캔버스 공간에 이미지들을 패킹함으로써 파노라마 보기를 형성하고 콜라주를 생성한다. 패킹 기술들은 유사한 크기 및 종횡비의 이미지들을 이용한다. 상기 패킹 기술들은 다양한 크기 및 종횡비의 시각적 컨텐츠를 효율적으로 패킹할 수 없다. 본 발명은 빈 공간을 남겨두거나 이미지들이 중첩되거나, 시각적 컨텐츠의 종횡비를 바꾸지 않고도 디지털 시각적 컨텐츠를 디스플레이 장치 상에 효율적으로 패킹하는 방법을 제안한다.

Description

복수의 이미지 패킹 방법 및 장치{METHOD AND DEVICE PACKING MULTIPLE IMAGES}
본 발명은 디지털 이미지 시스템에 관한 것으로, 특히 복수의 디지털 이미지들을 패킹하는 방법 및 장치에 관한 것이다.
사람들은 경험을 표현하고 다른 사람들과 경험을 나누기 위해서 이미지들을 캡쳐한다. 카메라는 디지털 이미지를 캡쳐하고 이를 메모리 카드에 저장하는데 이용된다. 전용 카메라뿐만 아니라 이동 전화, 테블릿(Tablet), PDA 및 기타 휴대용 통신 장치와 같이 다양한 유형의 장치에 카메라가 존재할 수 있다.
디지털 카메라와 메모리 카드의 발전으로, 사용자는 많은 양의 이미지들 및/또는 비디오들을 캡쳐하고 있다. 또한, 피카사(Picasa), 유튜브(YouTube), Flickr 등과 같은 사용자 생성 컨텐츠(UGC: user generated content) 웹사이트는 사용자가 다른 사용자들과의 공유를 위해 이미지들 또는 기타 시각적 컨텐츠를 업로드하는 것을 가능하게 한다.
캡쳐된 이미지들은 카메라의 메모리 장치나 컴퓨터에 저장되거나 원격 위치에 업로드되어 전자 디스플레이 장치에서 보여질 수도 있다. 대부분, 캡쳐된 이미지들은 개별적인 이미지 프린트 이외의 다른 목적을 갖지 않는다.
또한, 사용자에게 이용 가능한 디지털 시각 컨텐츠의 양으로, 사용자는 제한된 공간 및 시간에 많은 양의 시각적 컨텐츠를 효율적으로 디스플레이할 필요가 있다.사용자가 제한된 공간 및 시간에 많은 양의 시각적 컨텐츠를 효율적으로 디스플레이하기 위해, 파노라마 보기를 형성하거나 또는 콜라주(collages)를 생성할 수 있다.
사용자는 파노라마 보기를 형성하거나 또는 콜라주(collages)를 생성하기 위해, 캡쳐된 이미지를 이미지 편집기나 다른 소프트웨어 도구를 통해 공유, 편집, 구성, 관리 및 향상시킬 수 있다.
콜라주란 하나의 캔버스에 여러 이미지들을 이어붙이기 동작을 통해 생성되는 것으로, 콜라주는 휴일, 결혼식 또는 기념일과 같은 특별한 이벤트를 위해 생성될 수도 있다. 따라서, 이미지들의 집합이 이벤트로부터 생성되거나 일부 흥미로운 이미지들이 선택될 수 있으며, 상기와 같은 이미지들은 예술적으로 그룹화되어 하나의 프레임으로써 콜라주를 형성하여 액자에 넣거나 벽에 걸어둘 수 있다.
콜라주는 예술적인 방식으로 이미지들을 캔버스 상에 패킹/정렬하는 필수적인 단계를 포함한다. 디지털 이미지나 다른 시각적 컨텐츠를 한정된 공간 내에 정렬하는 가장 단순한 방법은 예술적인 방식으로 할당된 공간에 시각적 컨텐츠를 수동으로 패킹하여, 이미지 콜라주를 형성하는 것이다.
현재 디지털 이미지 기술들은 동일한 소스로부터 제공될 수 있는 일관된 크기의 이미지들로 이미지들의 자동화된 패킹을 가능하게 한다. 미리 디자인된 패턴으로 분산된 디지털 이미지들의 그룹이 선택되어 이미지 콜라주를 형성할 수 있다. 이러한 이미지 콜라주는 독립적인(stand-alone) 디지털 이미지일 수 있다. 일부 자동화 패킹 기술들은 동일한 크기 및 종횡비(aspect ratio)의 이미지들을 수집하는데 집중한다. 이러한 기술들은 수집된 이미지들이 서로 다른 소스들로부터 온 것이거나 이미지들이 서로 다른 방향을 갖는 카메라로부터 얻은 것일 때, 즉 이미지들이 세로보기(portrait) 방향 (이미지의 높이가 이미지의 너비 보다 큰 경우)을 갖거나 이미지들이 가로보기(landscape) 방향 (이미지의 너비가 이미지의 높이보다 큰 경우)을 가질 때는 한계를 갖게 된다.
또한, 다른 패킹 기술들은 이미지들의 효율적인 패킹을 위해 이미지들의 상당한 부분들을 잘라내도록 하거나 가리게 된다. 게다가, 일부 패킹 기술들은 패킹의 최적화를 위해 각각의 이미지들을 중첩시키거나 회전시킨다.
현재 기술들은 다양한 크기 및 종횡비를 갖는 시각 컨텐츠를 효율적으로 패킹할 수 없다. 또한, 시각 컨텐츠의 패킹은 일부의 빈(void) 공간들을 비효율적으로 남기면서 레이아웃 공간을 이용하고, 각각의 이미지들을 중첩시키거나, 이미지들의 종횡비를 변경하도록 하기도 한다.
따라서 본 발명의 목적은 캔버스 상에서 시각적 컨텐츠의 효율적인 패킹을 가능하게 하면서도 시각적 컨텐츠간의 중첩 및 빈 공간들을 피할 수 있는 복수의 이미지 패킹 방법 및 장치를 제공하는 것이다.
또한, 본 발명의 다른 목적은 시각적 컨텐츠의 종횡비에 기초하여 시각적 컨텐츠의 패킹을 가능하게 할 수 있는 복수의 이미지 패킹 방법 및 장치를 제공하는 것이다.
상기 목적을 달성하기 위한 복수의 이미지 패킹 방법은, 종횡비가 서로 다른 복수의 이미지가 패킹될 캔버스의 셀 개수를 결정하는 단계와; 상기 복수의 이미지 개수와 상기 캔버스의 셀 개수가 동일한 개수가 되도록, 상기 캔버스에서 셀들에 대한 병합을 수행하는 단계와; 상기 복수의 이미지 개수와 상기 캔버스의 전체 셀 개수가 동일하면, 상기 복수의 이미지의 종횡비에 따라 상기 복수의 이미지 각각을 상기 캔버스의 해당 셀에 배치하여 단계를 포함하는 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치는, 이미지를 저장하는 메모리와; 종횡비가 서로 다른 복수의 이미지가 패킹될 캔버스의 셀 개수를 결정하고, 상기 복수의 이미지 개수와 상기 캔버스의 셀 개수가 동일한 개수가 되도록 상기 캔버스에서 셀들에 대한 병합을 수행하며, 상기 복수의 이미지 개수와 상기 캔버스의 전체 셀 개수가 동일하면, 상기 복수의 이미지의 종횡비에 따라 상기 복수의 이미지 각각을 캔버스의 해당 셀에 배치하는 프로세싱부를 포함하는 것을 특징으로 한다.
따라서, 본 발명은 캔버스 상에 이미지들을 패킹하는 방법을 제공한다. 상기 방법은 사용자 장치에 이미지들을 수신하고 이미지들의 방향을 결정하는 단계를 포함한다. 또한, 상기 방법은 캔버스 상에 셀들의 수를 결정하고, 상기 캔버스 상에 동일한 셀들을 병합(merge)한다. 상기 방법은 상기 이미지들을 그들의 종횡비에 따라 정렬하고 패키징을 제공한다. 상기 시스템은 이미지들을 수신하는 입력 장치, 상기 수신된 이미지들을 처리하는 프로세싱부, 배치 모듈, 디지털 이미지들을 포함하는 메모리 및 디스플레이 장치를 포함한다.
실시예들의 이러한 및 다른 측면들은 하기의 설명 및 첨부된 도면들과 연관하여 고려될 때 더 잘 이해될 수 있다. 그러나, 하기의 설명은 바람직한 실시예들과 많은 특정 세부사항들을 나타내지만, 예시로써 제공될 뿐이며 제한으로써 제공되지는 않는다는 것을 이해해야 할 것이다. 본 발명의 사상을 벗어나지 않고 많은 변경들 및 수정들이 본 실시예들의 범위 내에서 이루어질 수 있으며 실시예들은 그러한 모든 수정들을 포함한다.
복수의 이미지를 패킹하는 방법 및 장치를 제공함에 따라, 다양한 크기 및 종횡비를 갖는 시각 컨텐츠에 대한 중첩 또는 종횡비의 변경없이 그리고 빈 공간 없이, 효율적으로 시각적 컨텐츠를 캔버스에 패킹할 수 있는 효과가 있다.
본 발명은 첨부된 도면들에서 예시되며, 도면들에 걸쳐 동일한 참조 번호는 다양한 도면들에서 대응하는 부분을 나타낸다 실시예들은 도면들 참조한 하기의 설명으로부터 더 잘 이해될 것이다.
도 1은 본 발명의 실시 예에 따른 이미지 배치 모듈 시스템의 구조를 도시한 블록도.
도 2는 본 발명의 실시 예에 따른 이미지 배치 모듈 시스템에 제공되는 입력 이미지들의 집합을 도시한 도면.
도 3은 본 발명의 실시 예에 따라 패킹된 이미지들을 표시하는 캔버스를 도시한 도면.
도 4는 본 발명의 실시 예에 따라 캔버스의 크기를 결정하는 과정을 도시한 흐름도.
도 5는 본 발명의 실시 예에 따라 캔버스가 가로보기 방향을 가질 때 이미지 배치의 과정을 도시한 흐름도.
도 6은 본 발명의 실시 예에 따라, 각 행에서 셀들의 수를 결정하는 과정을 도시한 흐름도.
도 7은 본 발명의 실시 예에 따라, 각 셀의 치수(dimension)를 결정하는 과정을 도시한 흐름도.
도 8은 본 발명의 실시 예에 따라 셀들을 세로로 병합하는 과정을 도시한 흐름도.
도 9는 본 발명의 실시 예에 따라 셀들을 가로로 병합하는 과정을 도시한 흐름도.
도 10은 본 발명의 실시 예에 따라, 캔버스가 세로보기 방향을 가질 때 이미지를 배치하는 과정을 도시한 흐름도.
도 11은 본 발명의 실시 예에 따라, 각 열에서 셀들의 수를 결정하는 과정을 도시한 흐름도.
도 12는 본 발명의 실시 예에 따라, 각 셀의 치수를 결정하는 과정을 도시한 흐름도.
도 13은 본 발명의 실시 예에 따라, 세로보기 및/또는 가로보기 방향의 셀들이 병합 조건을 만족하지 못하였을 경우의 과정을 도시한 흐름도.
본 발명의 바람직한 실 시예는 상세한 설명이 첨부된 도면들을 참조하여 설명한다. 본 발명의 실시 예에서 잘 알려진 구성요소들 및 처리 기술들에 대한 설명은 실시 예들을 불필요하고 모호하게 하지 않도록 생략된다. 여기서 이용된 예들은 실시예들이 실시될 수 있는 방식들에 대한 이해를 용이하게 하고 당업자가 실시예들을 실시할 수 있도록 하기 위한 것이다. 따라서, 상기 예들은 실시예들의 범위를 제한하는 것으로 유추되어서는 안 된다.
실시 예들은 디지털 시각 컨텐츠를 캔버스 상에 효율적으로 패킹하기 위한 방법을 달성한다. 도면들에 걸쳐 일관되게 유사한 참조 부호들이 해당 특징들을 나타내는 도면들, 특히 도 1 내지 13을 참조하여, 바람직한 실시예들이 도시된다.
명세서에 걸쳐, 시각적 컨텐츠와 이미지라는 용어를 혼용한다. 이미지는 래스터(raster) 이미지/비트맵 이미지를 칭할 수 있는 모든 디지털 이미지일 수 있다. 또한, 이미지들은 디지털 카메라 및/또는 그와 유사한 장치 및/또는 이미지 스캐너나 유사한 장치에 의해 사진, 사진 필름(photographic film), 또는 인쇄지와 같은 아날로그 매체를 이용하는 기타 방법에 의해 캡쳐될 수 있다.
또한, 명세서에 걸쳐, 디스플레이 장치와 캔버스를 혼용한다. 상기 디스플레이 장치는 캔버스, 전자 디스플레이 장치 또는 패킹된 이미지를 사용자 인터페이스에 디스플레이 할 수 있는 프린터들로부터 생성된 하드 카피들 일 수 있다.
도 1은 본 발명의 실시 예에 따른 이미지 배치 모듈 시스템의 구조를 도시한 블록도이다.
이미지 캡쳐 장치(102)는 메모리(104), 프로세싱부(105) 및 배치 모듈(103)을 포함할 수 있다.
상기 메모리(104)는 캡쳐된 이미지들 또는 다른 기타 시각적 컨텐츠를 저장할 수 있다.
상기 프로세싱부(105)는 상기 캡쳐된 이미지들을 페치(fetch)하고 이미지들을 처리할 수 있다. 상기 프로세싱부(105)는 이미지들의 종횡비들을 결정하고, 이미지들 등을 정렬할 수 있다. 상기 캡쳐된 이미지들은 상기 배치 모듈(103)로 전달되어, 상기 이미지들이 패킹되어 예술적 프레젠테이션을 생성할 수 있다. 일 실시예에서, 배치 모듈(103)은 이미지 캡쳐 장치(102)가 캡쳐한 적어도 하나의 이미지를 직접 수신할 수 있다.
또는 상기 프로세싱부(105)는 상기 배치모듈(103)과 동일한 기능을 수행할 수 있다. 따라서 상기 프로세싱부(105)는 상기 캡쳐된 이미지들을 페치(fetch)하고, 상기 이미지들의 종횡비들을 결정하여 상기 이미지들을 분류하며, 또한 이미지들을 캔버스에 패킹하여 예술적 프리젠테이션을 생성할 수 있다.
본 발명의 실시 예에서, 상기 이미지들은 사용자가 이미지들을 캡쳐하여 메모리/데이터베이스(104)에 디지털 포맷으로 저장할 수 있도록 하는 디지털 카메라로부터 수신될 수 있으며, 상기 디지털 카메라는 독립형 장치이거나, 이동 장치, PDA 등과 같은 다른 장치의 일부일 수 있다. 상기 패킹될 이미지들은 이동 장치, 카메라, 데이터베이스(104), 메모리, PDA, 스캐너, CD 또는 DVD 등을 통해 상기 배치 모듈(103)로 제공될 수 있다. 상기 이미지들은 상기 배치 모듈(103)에 의해 패킹될 수 있고, 스크린/모니터, PC, PDA, 이동 장치, 디지털 액자(picture frame) 및 프린터로부터 인쇄된 하드카피 등과 같은 출력 장치 상에 출력될 수 있다.
본 발명의 다른 실시 예에서, 상기 이미지 캡쳐 장치(102)는 인터넷과 같은 네트워크(109)를 통해 적어도 하나의 원격 컴퓨터(110)와 상호작용 할 수 있다. 또한, 상기 네트워크(109)는 유선 또는 무선 통신 네트워크일 수 있다.
상기 원격 시스템은 상기 네트워크(109)를 통해 이미지 서비스와 제품을 제공하도록 설정될 수 있다. 상기 원격 시스템은 적어도 하나의 이미지 렌더링 설비 및 데이터 센터를 포함한다. 상기 이미지 캡쳐 장치(102) 시스템은 상기 네트워크(109)를 통해 상기 원격 시스템의 데이터 센터로부터 이미지들을 수신할 수 있다. 또한, 상기 이미지들은 패킹을 위해 인터넷을 통해 상기 원격 시스템으로부터 상기 이미지 배치 모듈(103)로 이메일을 통해 전달될 수 있다.
상기 이미지 배치 모듈(103)은 상기 수신된 이미지들을 처리하고 패킹할 수 있다. 또한, 상기 패킹된 이미지들은 전달되어 상기 원격 시스템 상에 렌더링될 수 있다.
또한 입력장치(101)는 상기 이미지 캡쳐장치(102)에 대한 제어 또는 기능수행을 위해 해당 입력명령어를 입력하는 장치로써, 입력기능을 수행할 수 있는 모든 장치를 포함할 수 있다.
출력장치(106)는 상기 이미지 캡쳐장치(102)에 캡쳐 또는 저장된 이미지를 표시하는 장치로써, 출력기능을 수행할 수 있는 모든 장치를 포함할 수 있다.이하 본 발명의 실시 예에서는 상기 프로세싱부(105)가 상기 이미지들의 종횡비들을 결정하여 이미지들을 분류하고, 이미지들을 캔버스에 패킹하여 예술적 프리젠테이션을 생성하는 동작을 수행하는 것을 예로 설명한다.
도 2는 본 발명의 실시 예에 따른 이미지 배치 모듈 시스템에 제공되는 입력 이미지들의 집합을 도시하고 있다.
사용자는 적어도 하나의 이미지 또는 패킹될 모든 유형의 시각적 컨텐츠를 선택할 수 있다. 또한, 이미지들이 위치될 필요가 있는 디스플레이 장치 또는 캔버스의 크기를 사용자가 선택할 수 있다. 상기 이미지들은 직사각형 및/또는 정사각형을 형성하는 어떤 크기여도 좋다. 상기 패킹될 이미지들은 그들의 종횡비에 따라 정렬될 수 있다. 상기 입력된 이미지들은 각각의 종횡비의 오름차순으로 정렬될 수 있다.
도 2는 패킹되고 디스플레이될 5개의 이미지들(201, 202, 203, 204, 205)을 도시하고 있다. 상기 이미지들은 세로보기(203, 205), 가로보기(201) 및 정사각형(202, 204) 방향과 같은 서로 다른 방향을 갖는다. 그러나, 상기 시스템은 캔버스/디스플레이 장치 상에 많은 수의 이미지들을 패킹/배치할 수 있다.
도 3은 본 발명의 실시 예에 따른 패킹된 이미지들을 표시하는 캔버스를 도시하고 있다.
이미지 배치 모듈 시스템은 특정 장소들에서 디스플레이 장치 또는 캔버스 상에 상기 이미지들을 패킹하여 입력 이미지들(201, 202, 203, 204, 205)의 집합을 배치함에 따라, 상기 패킹된 이미지들의 종횡비들이 원래 이미지의 종횡비에 매칭된다.
도 4는 본 발명의 실시 예에 따라, 캔버스의 크기를 결정하는 과정을 도시한 흐름도이다.
상기 도 4를 참조하면, 캔버스 상에 함께 패킹될 이미지들의 집합 'M'이 결정될 수 있다(401). 그리고 상기 캔버스의 치수(dimensions)가 결정될 수 있다(402).
상기 캔버스의 치수를 분석하여(403), 캔버스가 가로보기 방향을 갖는지 세로보기 방향을 갖는지 확인한다. 높이보다 너비가 더 큰 캔버스는 가로보기 방향을 갖는 반면, 너비보다 높이가 더 큰 캔버스는 세로보기 방향을 갖는다. 따라서 상기 캔버스 너비가 높이보다 더 크거나 같은 경우, 상기 가로보기 방향(404)의 패킹이 수행되거나 세로보기 방향(405)의 패킹이 수행될 수 있다.
상기 방법(400)에서 다양한 동작들(actions)은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 도 4에 열거된 일부 동작들이 생략될 수도 있다.
도 5는 본 발명의 실시 예에 따라, 캔버스가 가로보기 방향을 가질 때, 이미지 배치의 과정을 도시한 흐름도이다.
상기 도 5를 참조하면, 상기 패킹될 이미지들의 집합은 그들의 종횡비에 따라 분류될 수 있다. 입력 이미지들 중 가로보기 방향, 세로보기방향 및 정사각형방향 을 갖는 각각의 이미지들의 개수가 결정될 수 있다(501).
또한, 입력 이미지들의 총 개수(M), 가로보기 방향을 갖는 입력 이미지들의 총 개수(K1) 및 세로보기 방향을 갖는 입력 이미지들의 총 개수(K2)를 추가함으로써, 캔버스 상에 만들어질 셀들의 총 개수 'N'이 결정될 수 있으며(502), 이는 하기 식을 통해 구할 수 있다.
N = M+K1+K2
상기 캔버스는 하나 또는 복수 개의 행들로 분할될 수 있다(503). 상기 캔버스 상의 행들의 개수 'RowCount'는 캔버스 상에 생성되는 셀들의 총 개수의 제곱근을 취함으로써 결정될 수 있으며, 이는 하기 식을 통해 구할 수 있다.
Figure pat00001
또한, 하기 도 6을 통해 각 행의 열들의 개수가 계산될 수 있고(504), 하기 도 7을 통해 각 셀의 치수가 결정될 수 있다(505).
일단 각 셀의 치수가 결정되면, 캔버스 상에 존재하는 여분의 셀들이 병합될 수 있다. 다른 행들에 있지만 동일한 열에 존재하는 동일한 치수의 한 쌍의 셀 이 세로로 병합될 수 있다(506). 셀들의 세로병합은 하기 도 8에서 상세히 설명한다. 또한, 동일한 행에 있으며 서로 이웃하는 동일한 치수의 한 쌍의 셀이 가로로 병합될 수 있다(507). 셀들의 가로병합은 하기 도 9에서 상세히 설명한다.
또한, 모든 세로보기 및/또는 가로보기 방향 셀들이 전술한 병합 조건들을 만족하는지 확인한다(508). 모든 세로보기 및/또는 가로보기 방향 셀들이 병합 조건들을 만족하지 못하는 경우, 여분의 셀들을 줄일 필요가 있다.
상기 여분의 셀들은 예외의 경우(exception case)를 수행함으로써(514) 줄일 수 있다. 병합조건을 만족하지 못하는 여분의 셀들 즉, 동일한 치수를 가지지 않은 셀들에 대한 병합을 수행하는 상기 예외의 경우를 하기 도 13에서 상세히 설명한다.
모든 여분의 셀들이 병합되면, 캔버스 상의 셀들의 개수는 패킹될 이미지들의 수와 동일하다.
상기 캔버스 상에 패킹될 필요가 있는 상기 이미지들 또는 관심영역들(ROI)을 종횡비의 오름차순으로 정렬한다(509). 또한, 캔버스 상의 셀들도 이들의 종횡비의 오름차순으로 정렬한다(510). 이미지들의 크기를 셀들의 크기에 대해 확인하여(511), 이미지를 셀에 맞출 수 있는지 확인한다.
이미지들의 크기가 셀들의 크기에 대응되지 않으면(512), 이미지들을 셀의 크기에 따라 크기 조정하여 셀 내에 적절히 맞도록 한다. 또한, 적절히 크기가 조정된 이미지들을 각 셀에 할당하여(513), 패킹된 이미지들에 대해 예술적 패턴을 생성한다.
상기 방법(500)의 다양한 동작들은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 도 5에 제시된 일부 동작들이 생략될 수도 있다.
캔버스의 행들의 개수 'RowCount'가 결정되면, 각 행의 셀들의 개수가 결정될 수 있다. 각 행의 셀들의 개수 'Cell in Lth row[i]'는 행들의 개수 'RowCount'에 의해 결정될 수 있다.
도 6은 본 발명의 실시 예에 따라 각 행에서 셀들의 수를 결정하는 과정을 도시한 흐름도이다.
인덱스 'i'는 각 행의 셀들의 개수를 결정하는데 이용될 수 있다. 상기 인덱스 'i'값이 초기화될 수 있으며(601), 여기서 i=0이다. 또한, 상기 인덱스 'i'r값을 행들의 개수 'RowCount'에 대해 확인한다(602). 상기 인덱스 'i' 값이 상기 행들의 개수 'RowCount'보다 작은 경우, 상기 행들의 개수 'RowCount'에 의해 L번째 행의 셀들이 결정되며(603), 이는 하기 식을 통해 구할 수 있다.
Cell in Lth row[i] = RowCount
L번째 행의 셀들의 개수를 결정한 후, 인덱스 'i'값을 증가시킨다(604). 상기 증가된 인덱스 'i'값을 행들의 개수 'RowCount'에 대해 확인한다(602). 상기 603 및 604 단계들은 동일한 개수의 셀들이 각 행에 배치될 때까지 반복된다. 상기 인덱스 'i'값이 행들의 개수와 동일하면, 상기 행들의 개수 'RowCount'에 의해 마지막 행의 인덱스 'rowIndex'가 결정된다(605). 상기 마지막 행의 인덱스 'rowIndex'는 하기식을 통해 결정될 수 있다.
rowIndex = RowCount -1
나머지 셀들은 마지막 행부터 시작하여 동일하게 모든 행들 중에서 분산된다. 상기 인덱스 'i'값은 행들의 개수 'RowCount'에 의해 재산출될 수 있으며(606), 이는 하기 식을 통해 주어질 수 있다.
i = RowCount * RowCount
또한, 상기 인덱스 'i'값은 상기 캔버스 상의 셀들의 총 개수 'N'에 대해 확인될 수 있다(607). 상기 인덱스 'i' 값이 상기 캔버스 상의 셀들의 총 개수 'N' 보다 큰 경우에는, 분산될 셀을 더 이상 갖지 않을 수 있으므로, 상기 과정이 종료된다(608).
그러나 상기 인덱스 'i'값이 상기 캔버스 상의 셀들의 총 개수 'N' 보다 작으면, 상기 L번째 행의 셀들의 개수는 1만큼 증가되며(609), 이는 하기 식을 통해 제시될 수 있다.
Cell in Lth row[rowIndex] = Cell in Lth row[rowIndex] + 1
또한, 상기 인덱스 'i 값이 1만큼 증가될 수 있으며(610), 상기 마지막 행 인덱스 'rowIndex'가 1만큼 감소된다(611). 감소 후에, 상기 마지막 행 인덱스 'rowIdex'값이 0보다 작은 지 확인한다(612). 상기 행들의 개수 'RowCount'를 1만큼 감소시켜 상기 마지막 행 인덱스 'rowIndex'값을 결정하며(613), 이는 하기 식을 통해 주어질 수 있다.
rowIndex = RowCount -1
그러나, 상기 마지막 행 인덱스 'rowIndex'값이 0보다 크면, 상기 인덱스 'i'값을 캔버스 상의 셀들의 총 개수 'N' 에 대해 확인한다(607). 상기 인덱스 'i'값이 캔버스 상의 셀들의 총 개수 'N' 보다 커질 때까지 609, 610, 611, 612 및 613 단계들을 반복하고, 상기 과정을 종료한다. 상기 방법(600)의 다양한 동작들은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 도 6에 제시된 일부 동작들이 생략될 수 있다.
도 7은 본 발명의 실시 예에 따라, 각 셀의 치수(dimension)를 결정하는 과정을 도시한 흐름도이다.
상기 도 7을 참조하면, 각 행에 제시된 셀들의 개수가 결정되면, 행들의 개수 'RowCount'를 이용하여 각 셀의 높이 'CellH'를 결정하며(701), 이는 하기식을 통해 주어질 수 있다.
CellH = H/ RowCount
여기서, H는 캔버스의 높이이다.
또한, L번째 행의 셀들의 개수를 이용하여 각 셀의 너비 'CellW'를 결정하며(702), 이는 하기 식을 통해 주어질 수 있다.
CellW = W/ Cell in Lth row[rowIndex]
여기서, W는 캔버스의 너비이다.
상기 방법(700)의 다양한 동작들은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 도 7에 제시된 일부 동작들이 생략될 수 있다.
도 8은 본 발명의 실시 예에 따라 셀들을 세로로 병합하는 과정을 도시한 흐름도이다.
상기 도 8을 참조하면, 상기 캔버스에 존재하는 셀들의 개수 'N' 이 패킹될 이미지들의 전체 집합보다 큰 경우, 셀들은 세로 또는 가로로 병합될 수 있다. 셀의 치수도 결정될 수 있다. L번째 셀의 X 좌표/구성요소 'Cell_L_X_Comp'가 결정되고(801),L번째 셀의 너비 'Cell_L_Width'도 결정된다(802). 그리고 J번째 셀의 X 좌표/구성요소 'Cell_J_X_Comp'가 결정되고(803),, J번째 셀의 너비 'Cell_J_Width'가 결정된다(804).
L번째 셀의 X 좌표/구성요소 'Cell_L_X_Comp'를 J번째 셀의 X 좌표 'Cell_J_X_Comp'에 비교하고, L번째 셀의 너비 'Cell_L_Width'를 J번째 셀의 너비 'Cell_J_Width'에 비교한다(805).
상기 비교결과, L번째 셀과 J번째 셀의 치수가 같으면, L번째 및 J번째 셀들이 병합되고(807), 따라서 L번째 셀의 높이와 J번째 셀의 높이의 합과 같은 높이를 가지는 단일 셀이 형성된다.
그러나, L번째 셀과 J번째 셀의 치수가 같지 않으면, L번째 셀과 J번째 셀은 병합될 수 없다(806).
상기 방법(800)의 다양한 동작들은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 도 8에 제시된 몇몇 동작들이 생략될 수도 있다.
도 9는 본 발명의 실시 예에 따라 셀들을 가로로 병합하는 과정을 도시한 흐름도이다.
상기 도 9를 참조하면, 셀의 치수가 결정된다. L번째 셀의 Y 좌표/구성요소 'Cell_L_Y_Comp'가 결정되고(901), L번째 셀의 높이 'Cell_L_Height'가 결정된다(902). 그리고 J번째 셀의 Y 좌표/구성요소 'Cell_J_Y_Comp'가 결정되고(903),J번째 셀의 높이 'Cell_J_Height'가 결정된다(904).
L번째 셀의 Y 좌표 'Cell_L_Y_Comp'를 J번째 셀의 Y 좌표/구성요소 'Cell_J_Y_Comp'와 비교하고, L번째 셀의 높이 'Cell_L_Height'를 J번째 셀의 높이 'Cell_J_Height'와 비교한다(905).
상기 비교결과, L번째 셀과 J번째 셀의 치수가 동일하면, L번째 셀과 J번째 셀을 병합하고(907), L번째 셀의 너비와 J번째 셀의 너비의 합과 동일한 너비를 가지는 단일 셀을 형성한다.
그러나, L번째 셀과 J번째 셀의 치수가 같지 않으면, L번째 셀과 J번째 셀은 병합될 수 없다(906).
상기 방법(900)의 다양한 동작들은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서 도 9에 제시된 일부 동작들이 생략될 수도 있다.
도 10은 본 발명의 실시 예에 따라 캔버스가 세로보기 방향을 가질 때 이미지를 배치하는 과정을 도시한 흐름도이다.
상기 도 10을 참조하면, 패킹될 이미지들의 집합을 그들의 종횡비에 따라 정렬한다. 입력된 이미지 중 가로보기 방향, 세로보기 방향 및 정사각형 방향 을 갖는 각각의 이미지들의 개수가 결정된다(1001). 또한, 입력된 이미지들의 총 개수(M), 가로보기 방향을 갖는 입력된 이미지들의 총 개수(K1) 및 세로보기 방향을 갖는 이미지들의 총 개수(K2)를 더하여, 캔버스 상에 만들어질 셀들의 총 개수 'N'이 결정되며(1002), 이는 하기 식을 통해 구할 수 있다.
N = M+K1+K2
상기 캔버스는 하나 또는 복수 개의 열들로 분할될 수 있다(1003). 상기 캔버스 상의 열들의 총 개수 'ColCount'는 캔버스 상에 생성된 셀들의 총 개수에 대한 제곱근을 취함으로써 결정될 수 있으며, 이는 하기식을 통해 구할 수 있다.
Figure pat00002
또한, 하기 도 11을 통해 각 열의 행들의 개수가 산출되고(1004), 하기 도 12 을 통해 각 셀의 치수가 결정된다(1005).
각 셀의 치수가 결정되면, 캔버스 상에 존재하는 여분의 셀들이 병합된다. 다른 행에 있지만 동일한 열에 존재하는 동일한 치수의 한 쌍(pair)의 셀이 세로로 병합된다(1006). 셀들의 세로병합은 상기 도 8에서 상세히 설명하고 있다. 또한, 동일한 행에 존재하며 서로 이웃하는 동일한 치수의 한 쌍의 셀은 가로로 병합된다(1007). 셀들의 가로병합은 상기 도 9에서 상세히 설명하고 있다.
또한, 모든 세로보기 및/또는 가로보기 방향 셀들이 전술한 병합 조건들을 만족하는지 확인한다(1008). 모든 세로보기 및/또는 가로보기 방향 셀들이 상기 병합 조건들을 만족하지 못하면, 상기 여분의 셀들을 줄일 필요가 있다. 상기 여분의 셀들은 예외의 경우(exception case)를 수행함으로써(1014) 줄일 수 있다. 병합조건을 만족하지 못하는 여분의 셀들 즉, 동일한 치수를 가지지 않은 셀들에 대한 병합을 수행하는 상기 예외의 경우를 하기 도 13에서 상세히 설명한다.
동일한 세로보기 셀들과 가로보기 셀들이 병합되면, 캔버스 상의 셀들의 개수는 패킹될 이미지들의 개수와 동일해질 수 있다. 캔버스 상에서 패킹될 필요가 있는 이미지들 또는 관심영역들(ROI)을 그들의 종횡비의 오름차순으로 정렬한다(1008).
또한, 캔버스 상의 셀들을 그들의 종횡비의 오름차순으로 정렬한다(1009). 이미지들의 크기를 이미지들에 적절한 셀들의 크기에 대해 확인하여 이미지를 셀에 맞출 수 있는지를 확인한다(1010). 이미지들의 크기가 셀들의 크기에 대응되지 않으면(1011), 이미지를 셀의 크기에 따라 크기 조정하여 셀 내에 적절히 맞도록 한다. 또한, 적절히 크기가 조정된 이미지들을 각 셀에 할당하여(1012), 패킹된 이미지들에 대해 예술적 패턴을 생성한다.
상기 방법(1000)의 다양한 동작들은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 도 10에 제시된 일부 동작들이 생략될 수도 있다.
캔버스의 열들의 개수 'ColCount'가 결정되면, 각 열의 셀들의 개수가 결정될 수 있다. 각 열의 셀들의 개수 'Cell in Lth col[i]'는 열들의 개수 'ColCount'에 의해 결정될 수 있다.
도 11은 본 발명의 실시 예에 따라 각 열에서 셀들의 수를 결정하는 과정을 도시한 흐름도이다.
상기 도 11을 참조하면, 인덱스 'i'는 각 행의 셀들의 개수를 결정하는데 이용될 수 있다. 상기 인덱스 'i' 값이 초기화되며(1101), 여기서 i = 0이다. 또한, 상기 인덱스'i' 값을 열들의 개수 'ColCount'에 대해 확인한다(1102). 상기 인덱스 'i' 값이 열들의 개수 'ColCount'보다 작으면, L번째 열의 셀들은 열들의 개수 'ColCount'에 의해 결정되며(1103), 이는 하기식을 통해 구할 수 있다.
Cell in Lth col [i] = ColCount
L번째 열의 셀들의 개수를 결정한 후, 상기 인덱스 'i' 값을 증가시킨다(1104). 상기 증가된 상기 인덱스 'i' 값을 상기 열들의 개수 'ColCount'에 대해 확인한다(1102). 상기 1103 및 1104 단계들은 동일한 수의 셀들이 각 열에 배치될 때까지 반복된다. 상기 인덱스 'i' 값이 열들의 개수와 동일해지면, 마지막 열의 인덱스 'colIndex'가 상기 열들의 개수 'ColCount'에 의해 결정된다(1105). 상기 마지막 열의 인덱스 'colIndex'는 하기 식을 통해 결정된다.
colIndex = ColCount -1
나머지 셀들은 맨 오른쪽 열에서부터 시작하여 모든 열들 중에서 동일하게 분산된다. 상기 인덱스 'i' 값은 열들의 개수 'ColCount'에 의해 재산출되며(1106), 이는 하기식을 통해 구할 수 있다.
i = ColCount * ColCount
또한, 상기 인덱스 'i' 값을 캔버스 상의 셀들의 총 개수 'N'에 대해 확인한다(1107). 상기 인덱스 'i' 값이 캔버스 상의 셀들의 총 개수 'N'보다 크면, 분산시킬 셀이 없을 수도 있으므로 과정을 종료한다(1108).
그러나 상기 인덱스 'i' 값이 캔버스 상의 셀들의 총 개수 'N' 보다 작으면, L번째 열의 셀들의 개수를 1만큼 증가시키고(1109), 이는 하기식을 통해 구할 수 있다.
Cell in Lth col [colIndex] = Cell in Lth col [colIndex] + 1
또한, 상기 인덱스 'i' 값을 1만큼 증가시키고(1110), 마지막 열의 인덱스 'colIndex'를 1만큼 감소시킨다(1111). 감소 후에, 상기 마지막 열의 인덱스 'colIndex'값이 0보다 작으면, 열들의 개수 'ColCount'를 1만큼 감소시켜 오른쪽 열의 인덱스 'colIndex'값을 결정하며(1113), 이는 하기 식을 통해 구할 수 있다.-
colIndex = ColCount - 1
그러나, 오른쪽 열의 인덱스 'colIndex'값이 0보다 크면, 상기 인덱스 'i'값을 캔버스 상의 셀들의 총 개수 'N'에 대해 확인한다(1107). 상기 인덱스 'i'값이 캔버스 상의 셀들의 총 개수 'N'보다 클 때까지 1109, 1110, 1111, 1112 및 1113 단계들을 반복하고, 과정을 종료한다.
상기 방법(1100)의 다양한 동작들은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 도 11에 제시된 일부 동작들이 생략될 수도 있다.
도 12는 본 발명의 실시 예에 따라 각 셀의 치수를 결정하는 과정을 도시한 흐름도이다.
상기 도 12을 참조하면, 각 열에 존재하는 셀들의 개수가 결정되면, 열들의 개수 'ColCount'를 이용하여 각 셀의 너비 'CellW'를 결정하며(1201), 이는 하기식을 통해 구할 수 있다.
CellW = W/ ColCount
여기서, W는 캔버스의 너비이다.
또한, L번째 열의 셀들의 개수를 이용하여 각 셀의 높이 'CellH'를 결정하고(1202), 이는 하기 식을 통해 구할 수 있다.
CellH = H/ Cell in Lth col [colIndex]
여기서, H는 캔버스의 높이이다.
상기 방법(1200)의 다양한 동작들은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 도 12에 제시된 일부 동작들이 생략될 수도 있다. 동일한 세로보기 및 가로보기 방향 셀들은 전술한 기술들을 수행함으로써 병합될 수 있다.
도 13은 본 발명의 실시 예에 따라 세로보기 및/또는 가로보기 방향의 셀들이 병합 조건을 만족하지 못하였을 경우의 과정을 도시한 흐름도이다.
상기 도 13을 참조하면, 스케일링 인자 'F'를 결정한다(1301). 병합을 위해 여분의 세로보기 K1'방향 셀들을 결정한다(1302). 또한, 병합을 위해 여분의 가로보기 K2'방향 셀들을 결정한다(1303).
상기 스케일링 인자 'F' 값이 0보다 큰 지 확인한다(1304). 상기 스케일링 인자 'F'값이 0보다 크지 않으면, 0과 같거나 작은지를 확인한다(1309).
그러나, 스케일링 인자 'F'값이 0보다 크면, 여분의 세로보기 K1'방향 셀들을 가로보기 방향 이미지들 K1에 따라 셀의 크기를 조정하여(1305) 병합할 수 있으며, 이는 하기식을 통해 구할 수 있다.
K1'= (신규 인자 'F'*K1)/ 초기 스케일링 인자
또한, 여분의 가로보기 K2'방향 셀들은 세로보기 방향 이미지들 K2에 따라 셀의 크기를 조정하여(1306) 병합할 수 있으며, 이는 하기식을 통해 구할 수 있다.
K2'= (신규 인자 'F'*K2)/ 초기 스케일링 인자
여분의 세로보기 K1'방향 셀들 및 가로보기 K2'방향 셀들을 분석하여(1307), 전술한 병합 조건을 만족하는지 확인한다. 모든 여분의 세로보기 K1'방향 셀들 및 가로보기 K2'방향 셀들이 병합 조건을 만족하지는 않는다면, 적절한 값으로 원래 스케일링 인자를 스케일링 다운하여 신규 스케일링 인자 'F'를 결정한다(1308).
또한, 상기 스케일링 인자 값이 0보다 큰지 확인한다(1304). 병합 조건이 만족되거나 스케일링 인자 'F'값이 0과 같거나 작아질 때까지 1304, 1305, 1306 및 1307 단계들을 반복한다.
그러나, 모든 여분의 세로보기 K1'방향 셀들 및 가로보기 K2'방향 셀들이 병합 조건을 만족하면, 스케일링 인자 값이 0과 같거나 작은지 확인한다(1309).
스케일링 인자 'F'가 0과 같거나 작으면, 가로보기 방향 이미지들 K1과 세로보기 방향 이미지들 K2를 0에 할당한다(1310).
그러나, 스케일링 인자 'F'가 0보다 크면, 여분의 세로보기 K1'방향 셀들을 가로보기 방향 이미지들 K1에 할당하고 가로보기 K2'방향 셀들은 세로보기 방향 이미지들 K2에 할당한다(1311).
상기 방법(1300)의 다양한 동작들은 제시된 순서, 다른 순서 또는 동시에 수행될 수 있다. 또한, 일부 실시예들에서, 도 13에 제시된 일부 동작들이 생략될 수도 있다.
상기 본 발명의 실시예들은 적어도 하나의 하드웨어 장치에서 실행되고 네트워크(109) 요소들을 제어하기 위해 네트워크(109) 관리 기능을 수행하는 적어도 하나의 소프트웨어 프로그램을 통해 구현될 수 있다. 상기 도 1에 도시된 상기 네트워크(109) 요소들은 하드웨어 장치, 하드웨어 장치 및 소프트웨어 모듈의 조합 중 적어도 하나일 수 있는 블록들을 포함한다.
본 발명의 실시예는 고객화될 수 있는 어플리케이션의 측면들에 대해 하나 또는 그 이상의 상주(resident) 클라이언트 엔터티들이 하나 또는 그 이상의 클라이언트 실행 엔터티들 또는 서버와 협상하도록 함으로써, 컴퓨팅 장치 상에서의 사용자 경험을 향상시키기 위한 어플리케이션의 고객화를 가능하게 한다. 따라서, 보호 범위는 그러한 프로그램까지 연장되며, 메시지를 포함하는 컴퓨터(102)로 읽을 수 있는 수단과 함께, 그러한 컴퓨터(102)로 읽을 수 있는 저장 수단은 프로그램이 서버, 이동 장치 또는 기타 적절한 프로그램 가능한 장치 상에서 실행될 때, 상기 방법의 하나 또는 그 이상의 단계들의 구현을 위한 프로그램 코드 수단을 포함한다. 상기 방법은 예를 들면, VHDL(Very high speed integrated circuit Hardware Description Language) 프로그래밍 언어와 같은 언어로 작성된 소프트웨어 프로그램을 통해 또는 이 프로그램과 함께 바람직한 실시예에서 구현되거나, 적어도 하나의 하드웨어 장치 상에서 실행되는 하나 또는 그 이상의 VHDL 또는 몇몇 소프트웨어 모듈들에 의해 구현된다. 상기 하드웨어 장치는 프로그램될 수 있는 모든 종류의 휴대 장치일 수 있다. 상기 장치는 예를 들면 ASIC와 같은 하드웨어 수단일 수 있는 수단, ASIC 및 FPGA와 같은 하드웨어 및 소프트웨어 수단의 조합, 또는 적어도 하나의 마이크로프로세서 및 내부에 소프트웨어 모듈들이 위치하는 적어도 하나의 메모리를 포함할 수 있다. 여기서 설명된 방법 실시예들은 일부는 하드웨어적으로 일부는 소프트웨어적으로 구현될 수 있다. 또는, 본 발명은 예를 들어 복수개의 CPU들을 이용하여 서로 다른 하드웨어 장치들에서 구현될 수 있다.
전술한 특정 실시예들에 대한 설명은 일반적인 개념을 벗어나지 않고 현재 지식을 적용하여 다양한 응용을 위해 그러한 특정 실시예들을 쉽게 수정 및/또는 적응시킬 수 있는 실시예들의 일반적인 특성을 완전히 보여줄 것이며, 따라서, 그러한 적응 및 수정은 개시된 실시예들에 동등한 것들에 대한 의미 및 범위 내에 있는 것으로 이해되고자 한다. 여기서 이용된 표현 및 용어는 설명을 위한 것일 뿐 한정을 위한 것은 아니다. 따라서, 상기 실시예들이 특정 실시예들의 관점에서 설명되었지만, 당업자는 그러한 실시예들이 설명된 실시예들의 사상 및 범위 내에서 수정되어 실시될 수 있음을 이해할 것이다.

Claims (20)

  1. 복수의 이미지 패킹 방법에 있어서,
    종횡비가 서로 다른 복수의 이미지가 패킹될 캔버스의 셀 개수를 결정하는 단계와,
    상기 복수의 이미지 개수와 상기 캔버스의 셀 개수가 동일한 개수가 되도록, 상기 캔버스에서 셀들에 대한 병합을 수행하는 단계와,
    상기 복수의 이미지 개수와 상기 캔버스의 전체 셀 개수가 동일하면, 상기 복수의 이미지의 종횡비에 따라 상기 복수의 이미지 각각을 상기 캔버스의 해당 셀에 배치하는 단계를 포함하는 것을 특징으로 하는 복수의 이미지 패킹 방법.
  2. 제1 항에 있어서,
    캔버스에 배치된 이미지의 개수를 판단하는 단계와,
    캔버스의 치수를 결정하여, 캔버스의 가로보기 방향 또는 캔버스의 세로보기 방향을 결정하는 단계와,
    상기 캔버스에 배치된 복수의 이미지를 종횡비에 따라 분류하는 단계를 더 포함하는 것을 특징으로 하는 복수의 이미지 패킹 방법.
  3. 제1 항에 있어서,
    상기 캔버스의 셀 개수는 복수의 이미지 개수와, 복수의 이미지 중 가로보기 방향의 이미지 개수와 복수의 이미지 중 세로보기 방향의 이미지 개수의 합인 것을 특징으로 하는 복수의 이미지 패킹 방법.
  4. 제1 항에 있어서, 상기 캔버스의 셀 개수는,
    캔버스의 가로보기 방향에서, 캔버스의 행 개수를 산출하는 단계와,
    각 행에 대한 열 개수를 산출하는 단계를 포함하는 것을 특징으로 하는 복수의 이미지 패킹 방법.
  5. 제1 항에 있어서, 상기 셀 개수를 결정하는 단계는,
    캔버스의 세로보기 방향에서, 캔버스의 열 개수를 산출하는 단계와,
    각 열에 대한 행 개수를 산출하는 단계를 포함하는 것을 특징으로 하는 복수의 이미지 패킹 방법.
  6. 제1 항에 있어서,
    상기 셀의 개수가 결정되면, 각 셀에 대한 치수를 결정하는 단계를 더 포함하는 것을 특징으로 하는 복수의 이미지 패킹 방법.
  7. 제1 항에 있어서, 상기 병합을 수행하는 단계는,
    다른 행 및 동일한 열에 존재하는 동일한 치수의 한 쌍의 셀들을 세로로 병합하는 단계와,
    동일 행에 있으면서 서로 이웃하는 동일한 치수의 한 쌍의 셀들을 가로로 병합하는 단계를 포함하는 것을 특징으로 하는 복수의 이미지 패킹 방법.
  8. 제7 항에 있어서,
    상기 동일한 치수의 셀들이 존재하지 않을 때, 스케일인자를 생성하는 단계와,
    상기 스케일링 인자를 통해, 가로보기 방향의 셀들의 크기를 가로보기 방향의 이미지에 따라 조절하여 서로 병합하는 단계와,
    상기 스케일링 인자를 통해 세로보기 방향의 셀들의 크기를 세로보기 방향의 이미지에 따라 조절하여 서로 병합하는 단계를 더 포함하는 것을 특징으로 하는 복수의 이미지 패킹 방법.
  9. 제7항에 있어서,
    상기 세로로 병합된 셀들의 개수는 복수의 이미지 중 세로보기 방향의 이미지 개수와 동일하고, 상기 가로로 병합된 셀들의 개수는 복수의 이미지 중 가로보기 방향의 이미지 개수와 동일한 것을 특징으로 하는 복수의 이미지 패킹 방법.
  10. 제1 항에 있어서, 상기 배치하는 단계는,
    종횡비에 따라 상기 복수의 이미지를 정렬하는 단계와,
    종횡비에 따라 상기 병합된 셀들을 정렬하는 단계와,
    정렬된 순서대로, 이미지의 크기와 상기 이미지가 배치될 셀의 크기를 비교하는 단계와,
    이미지의 크기와 상기 이미지가 배치될 셀의 크기가 대응되지 않으면, 이미지를 조정한 후 상기 셀에 배치하는 단계와,
    이미지의 크기와 상기 이미지가 배치될 셀의 크기가 대응되면, 이미지를 상기 셀에 배치하는 단계를 포함하는 것을 특징으로 하는 복수의 이미지 패킹 방법.
  11. 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치에 있어서,
    이미지를 저장하는 메모리와,
    종횡비가 서로 다른 복수의 이미지가 패킹될 캔버스의 셀 개수를 결정하고, 상기 복수의 이미지 개수와 상기 캔버스의 셀 개수가 동일한 개수가 되도록 상기 캔버스에서 셀들에 대한 병합을 수행하며, 상기 복수의 이미지 개수와 상기 캔버스의 전체 셀 개수가 동일하면, 상기 복수의 이미지의 종횡비에 따라 상기 복수의 이미지 각각을 캔버스의 해당 셀에 배치하는 프로세싱부를 포함하는 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.
  12. 제11 항에 있어서, 상기 프로세싱부는,
    캔버스에 배치된 이미지의 개수를 판단하고, 캔버스의 치수를 결정하여 캔버스의 가로보기 방향 또는 캔버스의 세로보기 방향을 결정하며, 상기 캔버스에 배치된 복수의 이미지를 종횡비에 따라 분류하는 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.
  13. 제11 항에 있어서,
    상기 캔버스의 셀 개수는 복수의 이미지 개수, 복수의 이미지 중 가로보기 방향의 이미지 개수 및 복수의 이미지 중 세로보기 방향의 이미지 개수의 합인 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.
  14. 제11 항에 있어서, 상기 프로세싱부는,
    캔버스의 가로보기 방향에서, 캔버스의 행 개수를 산출하고, 각 행에 대한 열 개수를 산출하여 상기 셀 개수를 결정하는 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.
  15. 제11 항에 있어서, 상기 프로세싱부는,
    캔버스의 가로보기 방향에서, 캔버스의 열 개수를 산출하고, 각 열에 대한 행 개수를 산출하여 상기 셀 개수를 결정하는 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.
  16. 제11 항에 있어서, 상기 프로세싱부는,
    상기 셀 개수가 결정되면, 각 셀에 대한 치수를 결정하는 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.
  17. 제11 항에 있어서, 상기 프로세싱부는,
    다른 행 및 동일한 열에 존재하는 동일한 크기의 한 쌍의 셀들을 세로로 병합하고, 동일 행에 있으면서 서로 이웃하는 동일한 크기의 한 쌍의 셀들을 가로로 병합하는 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.
  18. 제17 항에 있어서, 상기 프로세싱부는,
    상기 동일한 치수의 셀들이 존재하지 않을 때, 스케일인자를 생성하고, 상기 스케일링 인자를 통해, 가로보기 방향의 셀들의 크기를 가로보기 방향의 이미지에 따라 조절하여 서로 병합하며, 상기 스케일링 인자를 통해 세로보기 방향의 셀들의 크기를 세로보기 방향의 이미지에 따라 조절하여 서로 병합하는 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.
  19. 제11 항에 있어서,
    상기 세로로 병합된 셀들의 개수는 복수의 이미지 중 세로보기 방향의 이미지 개수와 동일하고, 상기 가로로 병합된 셀들의 개수는 복수의 이미지 중 가로보기 방향의 이미지 개수와 동일한 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.
  20. 제11 항에 있어서, 상기 프로세싱부는,
    종횡비에 따라 상기 복수의 이미지를 정렬하고, 종횡비에 따라 상기 병합된 셀들을 정렬하며, 이미지의 크기와 상기 이미지가 배치될 셀의 크기를 비교하며, 이미지의 크기와 상기 이미지가 배치될 셀의 크기가 대응되지 않으면, 이미지를 조정한 후 상기 셀에 배치하며, 이미지의 크기와 상기 이미지가 배치될 셀의 크기가 대응되면, 이미지를 상기 셀에 배치하는 것을 특징으로 하는 복수의 이미지 패킹을 수행하는 이미지 캡쳐 장치.


KR1020120083061A 2011-08-04 2012-07-30 복수의 이미지 패킹 방법 및 장치 KR101990570B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP12179307.9A EP2555165B1 (en) 2011-08-04 2012-08-03 Method and device for packing multiple images
US13/567,628 US9767583B2 (en) 2011-08-04 2012-08-06 Method and device for packing multiple images

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN2685/CHE/2011 2011-08-04
IN2685CH2011 2011-08-04

Publications (2)

Publication Number Publication Date
KR20130016079A true KR20130016079A (ko) 2013-02-14
KR101990570B1 KR101990570B1 (ko) 2019-06-18

Family

ID=47895716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120083061A KR101990570B1 (ko) 2011-08-04 2012-07-30 복수의 이미지 패킹 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101990570B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200041114A (ko) * 2018-10-11 2020-04-21 삼성전자주식회사 레이아웃에 대한 이미지의 배치를 판단하는 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 가능 매체.

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090022424A1 (en) * 2005-07-07 2009-01-22 Eugene Chen Systems and methods for creating photobooks
US20090138817A1 (en) * 2006-02-08 2009-05-28 Dolphin Software Ltd. Efficient display systems and methods
US20110102607A1 (en) * 2005-01-28 2011-05-05 Katsuyuki Toda Digital image printing system, control method therefor, printing device, control method therefor, and computer product

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110102607A1 (en) * 2005-01-28 2011-05-05 Katsuyuki Toda Digital image printing system, control method therefor, printing device, control method therefor, and computer product
US20090022424A1 (en) * 2005-07-07 2009-01-22 Eugene Chen Systems and methods for creating photobooks
US20090138817A1 (en) * 2006-02-08 2009-05-28 Dolphin Software Ltd. Efficient display systems and methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200041114A (ko) * 2018-10-11 2020-04-21 삼성전자주식회사 레이아웃에 대한 이미지의 배치를 판단하는 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 가능 매체.

Also Published As

Publication number Publication date
KR101990570B1 (ko) 2019-06-18

Similar Documents

Publication Publication Date Title
US7148990B2 (en) System and method for producing a photobook
CN102855906B (zh) 图像处理设备和图像处理方法
US8774562B2 (en) Systems, methods, and media for creating multiple layers from an image
US9436673B2 (en) Automatic application of templates to content
US20090013268A1 (en) Creation Of Visual Composition Of Product Images
US11461943B1 (en) Mosaic display systems and methods for intelligent media search
CN102843486B (zh) 图像处理装置和图像处理方法
US20130106913A1 (en) Image layout for a display
US9767583B2 (en) Method and device for packing multiple images
US20120147046A1 (en) Generating Graphic Object Collages
WO2014148209A1 (ja) 電子アルバム作成装置および電子アルバムの製造方法
US9183215B2 (en) Mosaic display systems and methods for intelligent media search
EP2428884B1 (en) Method, software, and apparatus for displaying data objects
CN110248147B (zh) 一种图像显示方法及装置
US20130311940A1 (en) System of Organizing Digital Images
US20140053067A1 (en) Method and Apparatus for Sequentially Displaying a Plurality of Images Including Selective Asynchronous Matching of a Subset of the Images
US9396518B2 (en) System of organizing digital images
KR101990570B1 (ko) 복수의 이미지 패킹 방법 및 장치
KR101841641B1 (ko) 히스토리별 사진군 포토앨범 자동 분류시스템
US8988423B2 (en) Electronic album generating apparatus, stereoscopic image pasting apparatus, and methods and programs for controlling operation of same
CN105827936A (zh) 一种图像处理方法及移动终端
US20090153703A1 (en) Method and device for processing digital photographs
JP2010272001A (ja) 表示制御装置、表示制御方法及びプログラム
JP4336813B2 (ja) 画像記述システムおよび方法
US11468224B2 (en) Method for resizing elements of a document

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant