KR102317013B1 - 컴퓨팅 장치를 이용한 객체 관리 및 시각화 - Google Patents

컴퓨팅 장치를 이용한 객체 관리 및 시각화 Download PDF

Info

Publication number
KR102317013B1
KR102317013B1 KR1020187024158A KR20187024158A KR102317013B1 KR 102317013 B1 KR102317013 B1 KR 102317013B1 KR 1020187024158 A KR1020187024158 A KR 1020187024158A KR 20187024158 A KR20187024158 A KR 20187024158A KR 102317013 B1 KR102317013 B1 KR 102317013B1
Authority
KR
South Korea
Prior art keywords
visual
thumbnail
visual objects
layout
thumbnail size
Prior art date
Application number
KR1020187024158A
Other languages
English (en)
Other versions
KR20180117619A (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 삼성전자주식회사
Publication of KR20180117619A publication Critical patent/KR20180117619A/ko
Application granted granted Critical
Publication of KR102317013B1 publication Critical patent/KR102317013B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • 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
    • G06F3/04817Interaction 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 using icons
    • 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
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

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)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

전자 장치를 동작시키기 위한 방법은 복수의 시각적 객체(visual object)들 각각에 대한 종횡비를 결정하는 단계와, 상기 종횡비에 기반하여 상기 복수의 시각적 객체들 각각에 대한 썸네일 크기를 결정하는 단계와, 상기 썸네일 크기에 기반하여 상기 복수의 시각적 객체들의 썸네일들에 대한 레이아웃을 생성하는 단계와, 상기 레이아웃에 따라 상기 복수의 시각적 객체들의 썸네일들을 디스플레이하는 단계를 포함한다.

Description

컴퓨팅 장치를 이용한 객체 관리 및 시각화
본 개시는 컴퓨팅 장치를 이용한 객체 관리 및 시각화에 관한 것이다.
데스크톱 컴퓨터, 휴대용 컴퓨터, 스마트폰, 태블릿 컴퓨터 및 기타 정보 기기와 같은 다수의 컴퓨팅 장치는 갤러리 뷰(gallery view)를 사용하여 이미지들을 디스플레이한다. 갤러리 뷰는 컴퓨팅 장치의 스크린 상에 다수의 이미지들에 대한 썸네일을 동시에 디스플레이한다. 일반적으로, 갤러리 뷰 내의 모든 썸네일들은 크기가 균일 또는 동일하므로, 직사각형 또는 정사각형 그리드에 이 썸네일들이 디스플레이될 수가 있다. 그러나, 이러한 균일성은 사용자에게 시각적으로 매력적이지 않으며, 사용자에게 풍부한 뷰잉 경험을 제공하지도 못한다.
일 실시 예는 시각적 객체들의 썸네일들을 제공하는 방법을 포함한다. 상기 방법은 프로세서를 사용하여 복수의 시각적 객체들에 대한 종횡비를 결정하는 단계와, 프로세서를 사용하여 시각적 객체의 종횡비에 기반하여 복수의 시각적 객체들 각각을 복수의 미리 결정된 썸네일 크기들로부터 선택된 썸네일 크기와 연관시키는 단계와, 프로세서를 사용하여 복수의 시각적 객체들 내에서 시각적 피처(feature)가 검출되는지 여부를 결정하는 단계를 포함한다. 상기 방법은 프로세서를 사용하여 시각적 객체들의 시간적 순서, 시각적 피처의 검출, 및 시각적 객체들와 연관된 썸네일 크기들에 기반하여 복수의 시각적 객체들의 썸네일들을 디스플레이하기 위한 레이아웃을 생성하는 단계를 포함한다. 상기 방법은 스크린과 프로세서를 사용하여, 레이아웃에 따라 썸네일들을 디스플레이하는 단계를 더 포함한다.
다른 실시 예는 시각적 객체들의 썸네일들을 제공하는 장치를 포함한다. 상기 장치는 스크린 및 상기 스크린에 커플링되는 프로세서를 포함한다. 프로세서는 복수의 시각적 객체들에 대한 종횡비를 결정하고, 시각적 객체의 종횡비에 기반하여 복수의 시각적 객체들 각각을, 복수의 미리 결정된 썸네일 크기로부터 선택된 썸네일 크기와 연관시키고, 복수의 시각적 객체들 내에서 시각적 피처가 검출되는지 여부를 결정하도록 구성된다. 프로세서는, 시각적 객체들의 시간적 순서, 시각적 피처의 검출 및 시각적 객체들과 연관된 썸네일 크기들에 기반하여 복수의 시각적 객체들의 썸네일들을 디스플레이하기 위한 레이아웃을 생성하도록 구성된다. 또한, 프로세서는 스크린을 사용하여 레이아웃에 따라 썸네일들을 디스플레이하도록 구성된다.
다른 실시 예는 컴퓨터 프로그램 제품을 포함한다. 컴퓨터 프로그램 제품은 시각적 객체들의 썸네일들을 제공하기 위한 프로그램 코드가 저장된 컴퓨터 판독가능 저장 매체를 포함한다. 프로그램 코드는 프로세서에 의해 동작들을 수행하도록 실행 가능하다. 상기 동작들은 프로세서를 사용하여 복수의 시각적 객체들에 대한 종횡비를 결정하는 동작과, 프로세서를 사용하여 시각적 객체의 종횡비에 기반하여 복수의 시각적 객체들 각각을 복수의 미리 결정된 썸네일 크기들로부터 선택된 썸네일 크기와 연관시키는 동작과, 프로세서를 사용하여 복수의 시각적 객체들 내에서 시각적 피처가 검출되는지 여부를 결정하는 동작을 포함한다. 상기 동작들은 프로세서를 사용하여 시각적 객체들의 시간적 순서, 시각적 피처의 검출, 및 시각적 객체들과 연관된 썸네일 크기들에 기반하여 복수의 시각적 객체들의 썸네일들을 디스플레이하기 위한 레이아웃을 생성하는 동작을 포함한다. 또한, 상기 동작들은 스크린과 프로세서를 사용하여, 레이아웃에 따라 썸네일들을 디스플레이하는 동작을 포함한다.
다른 실시 예들에서, 전자 장치를 동작시키는 방법은 복수의 시각적 객체들 각각에 대한 종횡비를 결정하는 단계와, 종횡비에 기반하여 복수의 시각적 객체들 각각에 대한 썸네일 크기를 결정하는 단계와, 썸네일 크기에 기반하여 복수의 시각적 객체들의 썸네일들에 대한 레이아웃을 생성하는 단계와, 레이아웃에 따라 복수의 시각적 객체들의 썸네일들을 디스플레이하는 단계를 포함한다.
다른 실시 예들에서, 전자 장치는 스크린 및 상기 스크린에 커플링된 프로세서를 포함하며, 상기 프로세서는, 복수의 시각적 객체들 각각에 대한 종횡비를 결정하고, 종횡비에 기반하여 복수의 시각적 객체들 각각에 대한 썸네일 크기를 결정하고, 썸네일 크기에 기반하여 복수의 시각적 객체들의 썸네일들에 대한 레이아웃을 생성하도록 구성된다. 스크린은 레이아웃에 따라 복수의 시각적 객체들의 썸네일들을 디스플레이하도록 구성된다.
다른 실시 예에서, 전자 장치에 저장되는 프로그램 코드를 갖는 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 프로그램 코드는, 복수의 시각적 객체들 각각에 대한 종횡비를 결정하는 동작과, 종횡비에 기반하여 복수의 시각적 객체들 각각에 대한 썸네일 크기를 결정하는 동작과, 썸네일 크기에 기반하여 복수의 시각적 객체들의 썸네일들에 대한 레이아웃을 생성하는 동작과, 레이아웃에 따라 복수의 시각적 객체들의 썸네일들을 디스플레이하는 동작을 포함하는 동작들을 수행하도록 프로세서에 의해 실행 가능하다.
본 요약 섹션은 단지 특정 개념들을 안내하기 위해서 제공된 것이며, 청구된 발명 대상의 핵심 또는 필수 특징들을 나타내기 제공되는 것이 아니다. 본 발명의 다수의 다른 특징들 및 실시 예들은 첨부된 도면들 및 다음의 상세한 설명으로부터 명백해질 것이다.
첨부된 도면들은 하나 이상의 실시 예들을 도시한 것이다. 그러나, 첨부된 도면들이 본 발명을 도시된 실시 예들만으로 제한하기 위한 것으로 취급되어서는 안된다. 다양한 양태들 및 이점들은 다음의 상세한 설명을 검토하고 도면들을 참조할 시에 명백해질 것이다.
도 1은 예시적인 데이터 프로세싱 시스템의 블록도이다.
도 2는 시각적 객체들의 썸네일들을 제공하는 예시적인 방법을 도시하는 흐름도이다.
도 3은 시각적 객체들에 대한 예시적인 썸네일 크기들을 도시하는 도면이다.
도 4는 시각적 객체들의 썸네일들을 디스플레이하기 위한 예시적인 레이아웃을 도시하는 도면이다.
도 5 내지 도 8은 레이아웃을 생성하기 위한 예시적인 동작들을 도시하는 도면들이다.
도 9는 레이아웃의 마지막 시퀀스에 대한 허용가능한 시퀀스 배치들의 예들을 도시하는 도면이다.
도 10은 예시적인 레이아웃을 도시하는 도면이다.
도 11 내지 도 15는 레이아웃을 생성하기 위한 예시적인 동작들을 도시하는 도면들이다.
도 16은 시각적 객체들의 썸네일들을 제공하는 다른 예시적인 방법을 도시하는 흐름도이다.
도 17a, 도 17b 및 도 17c는 집합적으로, 시각적 객체들에 대한 썸네일들을 디스플레이하기 위한 레이아웃을 생성하는 예시적인 방법을 도시하는 흐름도들이다.
본 개시가 신규한 특징들을 규정하는 청구범위에 의해서 결론을 내리지만, 본 명세서에서 설명되는 다양한 특징들은 도면들과 함께 이 설명을 고려하는 것으로부터 더 잘 이해될 수 있을 것으로 생각된다. 본 개시에서 설명되는 프로세스(들), 기계(들), 제조(들) 및 그 변형은 설명의 목적으로 제공된 것이다. 기술된 임의의 특정한 구조적 및 기능적 세부 사항은 제한적인 것으로 해석되어서는 안되며, 단지 청구범위의 기반으로서로서 그리고 사실상 임의의 적절하게 상세히 설명된 구조로 기술된 특징들을 다양하게 사용하도록 당업자에게 교시하기 위한 대표적인 기반으로서로서 해석되어야 한다. 또한, 본 개시에서 사용되는 용어 및 문구는 제한적인 것이 아니라, 기술된 특징들에 대한 이해 가능한 설명을 제공하기 위한 것이다.
본 개시는 컴퓨팅 장치를 사용하여 시각적 객체들을 관리 및 디스플레이하는 것에 관한 것이다. 본 명세서에서 설명되는 발명 구성에 따르면, 시각적 객체들을 분석하여 하나 이상의 속성을 결정하게 된다. 종횡비 및 타임스탬프가 결정될 수 있는 시각적 객체들의 속성의 예들이다. 이러한 속성(들)을 사용하여, 시각적 객체들은 하나 이상의 서로 다른 미리 결정된 썸네일 크기들과 연관될 수 있다. 시각적 객체들과 연관된 썸네일 크기들을, 시간적 순서와 함께 사용함으로써, 시각적 객체들의 썸네일들을 디스플레이하기 위한 레이아웃을 결정할 수 있다. 컴퓨팅 장치는 상기 레이아웃에 따라 시각적 객체들을 디스플레이할 수 있다.
일 양태에서는, 시각적 객체들의 컨텐츠를 분석하여 시각적 객체들의 추가 속성들을 결정할 수가 있다. 예를 들어, 하나 이상의 시각적 피처(visual feature)들을 시각적 객체들 내에서 검출할 수 있다. 검출된 시각적 피처들은 레이아웃의 시각적 객체에 사용될 특정 썸네일 크기를 선택하는 것과 같은 추가 동작들을 수행하는데 사용될 수 있다. 또한, 검출된 시각적 피처들은 그 레이아웃에서 사용되는 썸네일에 나타나는 시각적 객체의 영역을 결정하는데 사용될 수 있다(예를 들어, 썸네일을 크롭핑(cropping)하는 장소 또는 방식). 다른 양태에서는, 디지털 객체들에 대한 메타데이터를 분석하여 추가 속성들을 결정할 수 있다. 시각적 객체들의 메타데이터 분석으로부터 얻어진 속성들은 레이아웃에 디스플레이되는 시각적 객체들에 대한 특정 썸네일 크기를 선택하는데 사용될 수 있다. 추가의 세부사항에 대하여 도면들을 참조하여 이하 설명하도록 한다.
도 1은 예시적인 데이터 프로세싱 시스템(시스템) 100의 블록도이다. 시스템 100은 본 개시에서 설명되는 동작들을 수행할 수 있는 프로세서 및 메모리를 포함하는 임의의 다양한 시스템들 및/또는 컴퓨팅 장치들을 구현하는데 사용될 수 있다.
도시된 바와 같이, 시스템 100은 시스템 버스 115 또는 입/출력(I/O) 시스템과 같은 다른 적절한 회로를 통해 메모리 요소들 110에 커플링되는 적어도 하나의 프로세서 105를 포함한다. 시스템 100은 메모리 요소들 110 내에 프로그램 코드를 저장한다. 프로세서 105는 시스템 버스 115를 통해 메모리 요소들 110으로부터 액세스되는 프로그램 코드를 실행한다. 메모리 요소들 110은 예를 들어 로컬 메모리 120 및 하나 이상의 벌크 스토리지 장치들 125와 같은 하나 이상의 물리적 메모리 장치들을 포함한다. 로컬 메모리 120은 프로그램 코드의 실제 실행 동안 일반적으로 사용되는 랜덤 액세스 메모리(random access memory, RAM) 또는 다른 비-영구적 메모리 장치(들)을 지칭한다. 벌크 스토리지 장치 125는 하드 디스크 드라이브(hard disk drive, HDD), 솔리드 스테이트 드라이브(solid state drive, SSD) 또는 다른 영구 데이터 스토리지 장치로서 구현될 수 있다. 시스템 100은 또한 실행 중에 프로그램 코드가 벌크 스토리지 장치 125로부터 검색되어야 하는 횟수를 감소시키기 위해 적어도 일부 프로그램 코드의 임시 스토리지를 제공하는 하나 이상의 캐시 메모리들(나타내지 않음)을 포함할 수 있다.
시스템 100은 스크린 135와 같은 하나 이상의 I/O 장치들 및 하나 이상의 추가 I/O 장치(들) 140에 커플링될 수 있다. 본 명세서에서 설명되는 I/O 장치들은 개재 I/O 제어기들을 통해 또는 직접적으로 시스템 100에 커플링될 수 있다. 일 양태에서, 스크린 135는 터치 감지되지 않는 디스플레이 디바이스로서 구현될 수도 있다. 다른 양태에서, 스크린 135는 터치 감지하는 디스플레이 디바이스로서 구현될 수 있다.
I/O 장치(들) 140의 예들로는 키보드, 포인팅 디바이스, 카메라, 스피커 및 마이크로폰을 포함할 수 있으며, 이에 한정되지 않는다. 몇몇 경우들에 있어서, I/O 장치(들) 중의 하나 이상의 것은 터치 감지 디스플레이 디바이스(예를 들어, 터치스크린)가 스크린 135로서 사용되는 경우와 같이 결합될 수 있다. 이 경우, 스크린 135는 또한 키보드 및 포인팅 디바이스를 구현할 수 있다. I/O 장치들 140의 다른 예들로는 센서들을 포함할 수 있다. 예시적인 센서들은 가속도계, 광 센서, 터치 스크린 센서, 하나 이상의 생체인식 센서, 자이로스코프, 나침반 등을 포함할 수 있으며, 이에 한정되지 않는다.
I/O 장치들 140은 또한 하나 이상의 네트워크 어댑터(들)를 포함할 수도 있다. 네트워크 어댑터는 다른 장치들과 유선 및/또는 무선 통신 링크들을 확립하도록 구성된 통신 회로이다. 상기 통신 링크들은 네트워크를 통해 또는 피어-투-피어(peer-to-peer) 통신 링크들로서 확립될 수 있다. 따라서, 네트워크 어댑터들은 시스템 100이 다른 시스템들, 컴퓨터 시스템들, 원격 프린터들 및/또는 원격 스토리지 장치들에 커플링되는 것을 가능하게 한다. 예시적인 네트워크 어댑터(들)로는 모뎀, 케이블 모뎀, 이더넷 카드, 무선 송수신기(단거리 및/또는 장거리 무선 송수신기들(예를 들어, 셀룰러 송수신기들, 802.11x(Wi-Fi™) 호환 송수신기들, 블루투스 호환 송수신기들 등)에 상관없음)를 포함할 수 있으며, 이에 한정되지 않는다.
도 1에 도시된 바와 같이, 메모리 요소들 110은 운영 체제 155 및 하나 이상의 애플리케이션(들) 160을 저장할 수 있다. 일 양태에서, 실행 가능 프로그램 코드의 형태로 구현되는 운영 체제 155 및 애플리케이션(들) 160은 시스템 100에 의해, 보다 구체적으로는 프로세서 105에 의해 실행된다. 이와 같이, 운영 체제 155 및 애플리케이션(들) 160은 시스템 100의 통합된 부분으로 간주될 수 있다. 운영 체제 155, 애플리케이션(들) 160 및 시스템 100에 의해 사용, 생성 및/또는 동작되는 임의의 데이터 항목들은 시스템 100의 일부로서 채용될 때 기능을 부여하는 기능적 데이터 구조들이다.
도시된 바와 같이, 시스템 100은 메모리 요소들 110에 복수의 시각적 객체들 165를 저장한다. 본 개시에 규정된 바와 같이, 용어 "시각적 객체(visual object)"는 프로세서에 의해서 스크린에 렌더링될 경우에 그림(picture)을 생성하는 디지털 정보를 지정하는 디지털 또는 컴퓨터 판독 가능 파일이다. 일 양태에서, 시각적 객체는 이미지이다. 다른 양태에서, 시각적 객체는 비디오이다. 또 다른 양태에서, 시각적 객체는 워드 프로세싱 문서, 스프레드시트, 프리젠테이션, 웹 페이지 등과 같은 문서이다.
시스템 100은 스크린 135를 사용하여 모자이크 뷰 170에 시각적 객체들 165의 썸네일들을 디스플레이하도록 구성된다. 본 개시에서 규정되는 "모자이크 뷰(mosaic view)"는 그 썸네일들이 불균일한 직사각형 크기를 갖는 시각적 객체들의 복수의 썸네일들의 뷰를 의미한다. 본 명세서에서 규정되는 용어 "썸네일(thumbnail)"은 큰 시각적 객체에 대한 작은 표현인 이미지를 의미한다. 예를 들어, 이미지 타입 시각적 객체를 참조하면, 썸네일은 큰 이미지에 대한 작은 이미지 표현이다. 썸네일들은 큰 시각적 객체들의 그룹의 관리 및 뷰잉의 편의성을 용이하게 하는데 사용된다. 본 명세서에서 규정되는 용어 "모션 썸네일(motion thumbnail)"은 모션, 멀티미디어, 비디오를 시뮬레이트하거나 또는 복수의 시각적 객체들을 표현하기 위해 순차적으로 재생되는 복수의 썸네일들을 포함하는 시각적 객체를 의미한다. 모션 썸네일은 복수의 시각적 객체들로부터 생성될 수 있으며, 그 안에 포함된 복수의 썸네일들의 상이한 것들을 순차적으로 디스플레이한다. 예를 들어, 모션 썸네일은 비디오로부터 얻어진 일련의 썸네일들을 디스플레이할 수 있으며, 이에 따라 비디오 또는 비디오의 일부의 작은 표현을 구현할 수 있다. 모션 썸네일은 버스트 모드 등으로 촬영된 복수의 개별 이미지들로부터 얻어진 일련의 썸네일들을 디스플레이할 수 있다. 따라서, 모자이크 뷰 170의 썸네일들 중의 하나 이상의 것은 모션 썸네일들일 수 있다.
일 양태에서, 시스템 100은 개인용 컴퓨터, 서버 등과 같은 컴퓨터를 구현하는데 사용될 수 있다. 다른 양태에서, 시스템 100은 모바일 컴퓨팅 장치를 구현하는데 사용될 수 있다. 모바일 컴퓨팅 장치들의 예들로는 "스마트"폰, 태블릿 컴퓨터, 모바일 미디어 디바이스, 및 게임 콘솔, 모바일 인터넷 디바이스(mobile internet device, MID), PDA(personal digital assistant), 랩톱 컴퓨터, 모바일 어플라이언스 디바이스 등을 포함할 수 있으며, 이에 한정되지 않는다. 일부 실시 예들에서, 시스템 100은 전자 장치로 지칭될 수 있다.
시스템 100은 구현되는 장치의 특정 타입에 따라 도 1에 도시된 것보다 적은 구성 요소들 또는 본 도면에 도시되지 않은 추가 구성 요소들을 포함할 수 있다. 또한, 포함되는 특정 운영 체제 및/또는 애플리케이션(들)은 포함되는 네트워크 어댑터(들)의 타입들일 수도 있는 장치 타입에 따라 달라질 수 있다. 또한, 예시적인 구성 요소들 중의 하나 이상의 것은 다른 구성 요소에 통합되거나, 다른 구성 요소의 일부를 형성할 수 있다. 예를 들어, 프로세서는 적어도 몇몇 메모리를 포함할 수 있다.
도 2는 시각적 객체들의 썸네일들을 제공하는 예시적인 방법 200을 도시하는 흐름도이다. 방법 200은 도 1을 참조하여 설명된 바와 같은 시스템에 의해서 구현될 수 있다. 방법 200은 복수의 시각적 객체들이 시스템 내에 저장되어 있고 모자이크 뷰를 사용하여 디스플레이 되는 상태에서 시작될 수 있다. 예를 들어, 사용자는 모자이크 뷰를 사용하여 디스플레이 될 이벤트 또는 다른 규정된 시각적 객체들의 세트를 선택할 수 있다. 방법 200은 사용자 요청 또는 하나 이상의 시각적 객체들을 시각적 객체들의 세트에 추가하는 것과 같은 이벤트에 자동으로 응답하여 본 시스템에 의해서 구현될 수 있다.
블록 205에서, 본 시스템은 모자이크 뷰를 사용하여 디스플레이 될 시각적 객체들의 종횡비(aspect ratio)들을 결정한다. 본 시스템은 시각적 객체들을 분석하여 종횡비들을 결정할 수 있다. 본 개시에서 규정되는 용어 "종횡비"는 디지털 객체에 대한 프레임 폭 대 프레임 높이의 비율을 의미한다. 일 실시 예에서, 문서의 경우, 종횡비는 문서의 인쇄 가능 영역의 높이에 대한 인쇄 가능 영역의 폭을 지칭할 수 있다. 예를 들어, 8.5x11 인치의 페이지 레이아웃을 가진 문서는 8.5x11의 종횡비를 가질 수 있다.
일 구성에서, 본 시스템은 스퀘어(square), 포트레이트(portrait), 랜드스케이프(landscape) 또는 파노라마(panorama)로서 시각적 객체들의 종횡비들을 분석하여 인식할 수 있다. 예를 들어, 문서의 경우, 워드 프로세싱 문서, 스프레드시트 또는 프리젠테이션은 문서, 인쇄 가능 영역 등의 지정된 배향(specified orientation)에 따라 포트레이트, 랜드스케이프 또는 스퀘어 종횡비를 가질 수 있다. 예시에서, 8.5x11 문서는 포트레이트 배향일 때 포트레이트 종횡비를 가질 수 있으며 또는 랜드스케이프 배향일 때 랜드스케이프 종횡비를 가질 수 있다. 다른 예에서, 문서들은 스퀘어의 디폴트 종횡비를 가질 수 있다.
블록 210에서, 본 시스템은 종횡비들에 따라 시각적 객체들을 썸네일 크기들과 연관시킨다. 예시에서, 본 시스템은 디지털 객체의 종횡비에 기반하여, 각 시각적 객체를 하나 이상의 상이한, 미리 결정된 썸네일 크기들과 연관시킬 수 있다. 본 시스템은 태깅하거나, 데이터베이스에 엔트리들을 작성하거나 또는 다른 적절한 구조를 사용하여 연관들을 메모리에 저장하는 것에 의해 썸네일 크기들을 디지털 객체들과 연관시킬 수 있다. 일 양태에서, 상이한, 미리 결정된 썸네일 크기들 각각은 하나 이상의 스퀘어 블록들로 형성된 그리드로서 규정될 수 있으며, 여기서 블록은 더 세분화될 수 없는 기본 측정 단위이다. 썸네일 크기들에 대해서는 도 3을 참조하여 보다 상세히 설명된다.
블록 215에서, 본 시스템은 시각적 객체들에 대한 썸네일들의 레이아웃을 결정한다. 본 시스템은 시각적 객체들의 시간적 순서, 및 모자이크 뷰에 디스플레이 될 시각적 객체들 각각과 연관된 썸네일 크기들에 따라 레이아웃을 결정한다. 용어 "시간적 순서(chronological order)"는 순방향 시간순 또는 역방향 시간순으로 구체적으로 명시되지 않는 한, 최신 순서로부터 가장 오래된 순서(역방향 시간순) 및 가장 오래된 순서로부터 최신 순서(정방향 시간순) 모두를 의미한다. 시간적 순서 및 썸네일 크기들을 사용하여, 본 시스템은 레이아웃을 결정한다. 레이아웃은 시각적 객체들 각각에 대한 특정 썸네일 크기 및 썸네일의 위치를 지정할 수 있다. 레이아웃을 결정할 때, 본 시스템은 결정된 레이아웃에 따라 시각적 객체들에 대한 썸네일들을 생성한다. 일 양태에서, 본 시스템은 레이아웃 내의 시각적 객체들 중의 하나 이상 또는 그 각각에 대하여 사용될 썸네일 크기를 선택하기 위한 추가 속성들을 이용할 수 있다. 썸네일 선택의 다른 양태들에 대하여는 아래에서 보다 상세하게 설명된다.
블록 220에서, 본 시스템은 레이아웃을 사용하여 시각적 객체들의 썸네일들을 디스플레이한다. 도 2는 본 시스템에 의해서 동적으로 레이아웃이 결정되는 썸네일들을 제공하는 방법을 도시하는 것임을 이해해야 한다. 예를 들어, 시각적 객체들의 세트를 디스플레이 하도록 하는 사용자 입력에 응답하여, 본 시스템은 동적으로 방법 200을 수행하거나 또는 적어도 블록 215를 동적으로 수행할 수 있다. 새로운 시각적 객체들이 이 세트에 추가되는 경우, 본 시스템이 레이아웃을 재생성할 수도 있다.
도 3은 시각적 객체들에 대한 예시적인 썸네일 크기들을 도시하는 도면이다. 스퀘어 305, 포트레이트 310, 랜드스케이프 315 및 파노라마 320의 종횡비들이 도 3에 나타낸 화살표들의 좌측에 도시되어 있다. 썸네일 크기들이 도 3에 나타낸 화살표들의 우측에 도시되어 있다. 이 썸네일 크기들은 블록들을 사용하여 폭 x 높이로 규정되어 있다. 언급한 바와 같이 블록은 스퀘어 형상이다.
도 3은 스퀘어 종횡비 305를 갖는 것으로 결정된 시각적 객체가 1x1 썸네일 크기 또는 2x2 썸네일 크기를 사용하여 표현될 수 있음을 도시한다. 따라서, 도 2의 블록 210에서, 본 시스템은 스퀘어 종횡비 305를 갖는 것으로 결정된 각 시각적 객체를 1x1 썸네일 크기 및 2x2 썸네일 크기와 연관시킨다.
포트레이트 종횡비 310을 갖는 것으로 결정된 시각적 객체는 1x1 썸네일 크기, 1x2 썸네일 크기 또는 2x2 썸네일 크기를 사용하여 표현될 수 있다. 따라서, 도 2의 블록 210에서, 본 시스템은 포트레이트 종횡비 310을 갖는 것으로 결정된 각 시각적 객체를 1x1 썸네일 크기, 1x2 썸네일 크기 및 2x2 썸네일 크기와 연관시킨다.
랜드스케이프 종횡비 315를 갖는 것으로 결정된 시각적 객체는 1x1 썸네일 크기, 2x1 썸네일 크기, 2x2 썸네일 크기 또는 3x2 썸네일 크기를 사용하여 표현될 수 있다. 따라서, 도 2의 블록 210에서, 본 시스템은 랜드스케이프 종횡비 315를 갖는 것으로 결정된 각 시각적 객체를 1x1 썸네일 크기, 2x1 썸네일 크기, 2x2 썸네일 크기 및 3x2 썸네일 크기와 연관시킨다.
파노라마 종횡비 320을 갖는 것으로 결정된 시각적 객체는 1x1 썸네일 크기 또는 4x1 썸네일 크기를 사용하여 표현될 수 있다. 따라서, 도 2의 블록 210에서, 본 시스템은 파노라마 종횡비 320을 갖는 것으로 결정된 각 시각적 객체들을 1x1 썸네일 크기 및 4x1 썸네일 크기와 연관시킨다.
본 시스템은 각 시각적 객체를, 결정된 종횡비에 사용할 수 있는 각 잠재적 썸네일 크기와 연관시킨다. 이 레이아웃의 특정 시각적 객체의 썸네일에 사용되는 특정 썸네일 크기는, 레이아웃 생성 시에 시각적 객체와 연관된 썸네일 크기들로부터 선택된다.
도 4는 시각적 객체들의 썸네일들을 디스플레이하기 위한 예시적인 레이아웃을 도시하는 도면이다. 도 4에 나타낸 레이아웃들은 도 1을 참조하여 설명된 시스템과 같은 컴퓨팅 장치의 디스플레이 상에 시각적 객체들을 디스플레이 하는데 사용될 수 있다. 도 4는 썸네일들의 크기가 균일한 제1 종래의 레이아웃 405를 도시한 것이다. 도 4의 예에서, 레이아웃 405는 썸네일들이 생성되는 시각적 객체들의 종횡비에 관계없이 사용되는 스퀘어 형상의 썸네일들을 갖는다.
레이아웃 410은 본 명세서에 개시된 발명 구성들에 따라 생성되는 모자이크 레이아웃이다. 일반적으로, 레이아웃 410은 복수의 행들 415, 420, 425, 430, 435 및 440으로 형성된다. 설명의 목적을 위해 2개의 인접한 행들이 일 시퀀스를 형성한다. 도시된 바와 같이, 행들 415 및 420은 시퀀스 445를 형성한다. 행들 425 및 430은 시퀀스 450을 형성한다. 행들 435 및 440은 시퀀스 455를 형성한다.
도 4의 예시 및 설명의 목적을 위해, 썸네일들 및 상기 썸네일들이 생성되는 시각적 객체들은 동일한 참조 번호를 사용하여 참조된다. 예를 들어, 시각적 객체들 1-12는 썸네일들 1-12에 의해 레이아웃 405에 표현되며, 여기서 썸네일 1은 시각적 객체 1에 대한 것이고, 썸네일 2는 시각적 객체 2에 대한 것이며, 기타 이와 같다. 동일한 번호 매김 방식이 레이아웃 410에 사용되며, 본 명세서에서 설명된 발명 구성을 사용하여 달성되는 썸네일 크기의 변화를 나타낸다. 따라서, 레이아웃 410을 참조하면, 행 415는 썸네일 1 및 썸네일들 2 및 3의 상부 부분들로 형성된다. 행 420은 썸네일 4 및 썸네일들 2 및 3의 하부 부분으로 형성된다. 행 425는 썸네일 5 및 썸네일 6의 상부 부분으로 형성된다. 행 430은 썸네일 5 및 썸네일 7의 하부 부분으로 형성된다. 행 435는 썸네일들 8 및 9로 형성된다. 행 440은 썸네일들 10, 11 및 12로 형성된다.
하나 이상의 시각적 객체들이 여전히 1x1 썸네일 크기들을 사용하여 표현될 수도 있지만, 복수의 다른 시각적 객체들이 상이한 썸네일 크기들을 사용하여 표현된다. 예를 들어, 시각적 객체들 1, 4, 6, 7, 10 및 12는 1x1 썸네일 크기를 사용하여 표현된다. 시각적 객체 2는 2x2 썸네일 크기를 사용하여 표현된다. 시각적 객체 3은 1x2 썸네일 크기를 사용하여 표현된다. 시각적 객체 5는 3x2 썸네일 크기를 사용하여 표현된다. 시각적 객체들 8, 9 및 11은 2x1 썸네일 크기를 사용하여 표현된다.
일 실시 예에서, 레이아웃 410을 생성할 때, 본 시스템은 시퀀스 445, 이어서 450, 그 다음으로 시퀀스 455를 생성할 수 있다. 또한, 시퀀스들은 왼쪽에서 오른쪽으로 동작하여 행단위로 생성될 수 있다. 예를 들어, 본 시스템은 왼쪽에서 오른쪽으로 동작하여 행 415를 채운 다음에, 왼쪽에서 오른쪽으로 동작하여 행 420을 채울 수 있다.
도 3에 도시된 바와 같이, 각각의 상이한 종횡비가 1x1 썸네일 크기를 사용하여 표현될 수 있다. 따라서, 1x1 썸네일 크기는 시각적 객체를 표현하는데 항상 사용할 수 있는 옵션이다. 그러나, 몇몇 경우들에 있어서는, 상이하거나 더 큰 썸네일 크기들이 시각적 객체를 표현하기 위해 선택될 수도 있다. 예를 들어, 시각적 객체에 대하여 검출된 시각적 피처들 및/또는 메타데이터와 같은 추가 속성들을 분석하여 사용함으로써, 하나보다 많은 썸네일 크기가 사용 가능할 경우 시각적 객체에 대한 특정한 썸네일 크기를 선택할 수 있다.
예시적인 예로서, 시각적 객체들 2 및 5는 (1) 더 큰 썸네일 크기들이 시각적 객체들 2 및 5와 연관되어 있는 것으로 결정하고; (2) 더 큰 크기의 썸네일에 맞추기에 충분한 빈 공간이 존재하는 것으로 결정하며; 또한 (3) 페이버릿(favorite) 상태, 임계 사용자 등급 이상의 특정 사용자 등급, 시각적 객체에 대한 뷰들의 수 등과 같은 시각적 객체들의 메타데이터로부터 특정 속성들을 검출한 것에 응답하여, 더 큰 썸네일 크기들을 사용하여 디스플레이 될 수 있다. 다른 예에서, 시각적 객체 3은 (1) 1x2 썸네일 크기가 시각적 객체 3과 연관되어 있는 것으로 결정하고; (2) 더 큰 썸네일 크기에 맞추기에 충분한 빈 공간이 존재하는 것으로 결정하며; 또한 (3) 시각적 객체 내의 수직 배향 시각적 피처들을 검출한 것에 응답하여, 1x2 썸네일 크기를 사용하여 디스플레이 될 수 있다. 이와 유사하게, 시각적 객체들 8, 9, 및 11은 (1) 2x1 썸네일 크기가 시각적 객체들 8, 9, 및 11 각각과 연관되어 있는 것으로 결정하고; (2) 더 큰 썸네일 크기에 맞추기에 충분한 빈 공간이 존재하는 것으로 결정하며; 또한 (3) 시각적 객체들 8, 9, 및 11 각각 내의 수평 배향 시각적 피처를 검출한 것에 응답하여, 2x1 썸네일 크기들을 사용하여 디스플레이 될 수 있다.
본 개시 내에서, "업사이징 조건(upsizing condition)"이란 용어는 시각적 객체에 사용 가능한 최소 썸네일 크기보다 큰 썸네일 크기를 본 시스템이 선택하게 하는 시각적 객체의 속성을 의미한다. 속성(attribute)은 시각적 객체의 메타데이터 또는 시각적 피처의 항목일 수 있다. 업사이징 조건의 예들로는 페이버릿 상태, 임계 사용자 등급 이상의 특정 사용자 등급, 임계치를 초과하는 시각적 객체의 뷰 수 등과 같은 시각적 객체의 메타데이터의 하나 이상의 특정 속성을 검출하는 것을 포함하며, 이에 한정되지 않는다. 업사이징 조건의 다른 예들로는 수직 배향 시각적 피처, 수평 배향 시각적 피처, 하나 이상의 컬러, 하나 이상의 텍스처, 하나 이상의 물체(예컨대, 얼굴, 인간 등)와 같은 시각적 객체의 컨텐츠 내에 있는 특정 시각적 피처들을 검출하는 것을 포함하며, 이에 한정되지 않는다. 업사이징 조건들 및 시각적 객체들에 대한 썸네일 생성에 업사이징 조건들을 적용하는 것에 대한 다른 예들이 아래에서 보다 상세히 설명된다.
도 5 내지 도 8은 레이아웃을 생성하기 위한 예시적인 동작들을 도시하는 도면이다. 도 5 내지 도 8에서 설명되는 동작들은 생성된 레이아웃에 따라 레이아웃을 생성하고 썸네일들을 디스플레이함에 있어서 도 1의 시스템 100과 같은 시스템에 의해 수행될 수 있다.
도 5는 본 시스템에 의해 형성되는 예시적인 시퀀스 500을 도시한 것이다. 본 시스템은 시퀀스 500의 가장 왼쪽의 부분에 대한 2x2 썸네일 크기를 생성하였다. 시퀀스 500의 상부 행은 2개의 다른 시각적 객체에 대한 2개의 1x1 썸네일 크기로 완성된다. 음영 처리된 블록들은 썸네일이 생성 또는 할당되지 않은(즉, 빈 공간) 시퀀스 500의 부분들이 표현된 것이다. 도시된 바와 같이, 시퀀스 500은 제2 행에 2개의 나머지 1x1 블록만을 갖고 있다.
이 예에서, 본 시스템은 시각적 객체 505에 대한 4x1 썸네일 크기를 생성한다. 본 시스템은 4x1 썸네일 크기가 시퀀스 500의 빈 공간에 맞지 않는 것으로 결정하고, 그 결정에 대한 응답으로, 시각적 객체 505에 대한 1x1 썸네일 크기를 생성한다. 시각적 객체 505는 파노라마 종횡비를 가지며, 따라서, 1x1 또는 4x1의 썸네일 크기들을 가질 수 있다. 이 경우, 본 시스템은 시각적 객체 505의 1x1 썸네일을 재생성하여, 시퀀스 500의 음영 처리된 부분 중의 하나의 블록에 그것을 위치시킨다. 본 시스템은 연관된 1x1의 썸네일 크기를 갖는 다음 시각적 객체를 선택하고, 시퀀스 500의 나머지 음영 처리된 블록에 이 1x1 썸네일을 배치하여 행을 완성할 수 있다.
도 6은 본 시스템에 의해 형성되는 예시적인 시퀀스 600을 도시한 것이다. 본 시스템은 상부 행에 1x1 썸네일 크기를 생성하고, 그 다음에 1x2 썸네일 크기를 생성하고, 그 다음에 1x1 썸네일 크기 및 다른 1x1 썸네일 크기를 생성하였다. 시퀀스 600의 제1 행은 완전히 채워져 있다. 따라서, 하나보다 많은 블록 높이를 갖는 임의의 블록은 시퀀스 600의 제2 행의 빈 공간에 맞지 않게 된다. 도 6의 예에서는, 다음 시각적 객체가, 본 시스템이 시퀀스 600의 제2 행의 빈 공간을 채우는데 사용할 수 없는 1x2의 썸네일 크기를 갖고 있다.
도 7은 본 시스템에 의해서 형성되는 예시적인 시퀀스들 700-1, 700-2 및 700-3을 도시한 것이며 여기서 각 시퀀스는 상이한 썸네일들의 배치를 갖고 있다. 각 경우에 있어서, 본 시스템은 2개의 1x1 썸네일 크기 및 2개의 1x2 썸네일 크기를 생성하여 제1 행을 채웠다. 빈 공간은 음영 처리된 블록들로 나타나 있다. 도 7의 예에서, 시퀀스들 700-1, 700-2 및 700-3 각각은 예를 들어, 2개의 빈 블록들을 갖는 2개의 열(column)로 나누어진 제2 행을 갖는다. 제2 행에 있는 2개의 빈 블록은 도시되어 있는 배치들 중의 어느 것에서도 연속적이거나 인접하지 않는다. 또한, 각 행은 단 하나의 블록의 높이를 갖는다. 따라서, 하나보다 많은 블록의 높이를 갖는 임의의 블록은 시퀀스들 700-1, 700-2 또는 700-3의 제2 행의 빈 공간에 맞지 않게 된다. 도 7의 예에서는, 다음 시각적 객체가, 본 시스템이 시퀀스들 700-1, 700-2 또는 700-3 중의 임의의 것에 대해 제2 행의 빈 공간을 채우는 데 사용할 수 없는 2x1의 썸네일 크기를 갖는다.
도 8은 본 시스템에 의해 형성되는 예시적인 시퀀스들 800-1 및 800-2를 도시한 것이다. 본 시스템은 각 시퀀스들의 제1 행을 채우기 위해 3개의 1x1 썸네일 크기와 하나의 1x2 썸네일 크기를 선택하였다. 도 8은 상기한 4개의 썸네일 크기에 관한 시퀀스들 800-1 및 800-2로서 나타나 있는 상이한 배치들을 도시한 것이다. 각 경우에 있어서, 그 결과로 나타나는 제2 행에 있는 빈 공간은 음영 처리된 블록들로 표시된다. 도 8의 예에서는, 각각의 시퀀스들 800-1 및 800-2가 2개의 열로 나누어진 제2 행을 갖는다. 제1 행에 있는 썸네일들 중 하나만 1x2이므로, 제2 행에는 3개의 사용 가능한 1x1 블록이 존재한다. 또한, 상기 사용 가능한 3개의 1x1 블록은 도시된 배치들 중의 어느 것에서도 연속적이지 않다. 대신에, 제2 행은 2개의 열로 나누어지며, 여기서 하나의 열의 폭은 1x1 블록이고 다른 열의 폭은 2개의 1x1 블록이다. 따라서, 2개보다 많은 블록의 폭 또는 하나보다 많은 블록의 높이를 갖는 임의의 썸네일은 시퀀스 800-1 또는 800-2의 제2 행에 있는 빈 공간에 맞지 않게 된다. 도 8의 예에서는, 다음 시각적 객체가, 본 시스템이 제2 행의 나머지를 채우는 데 사용할 수 없는 3x2의 썸네일 크기를 갖고 있다. 3x2 썸네일 크기를 갖는 임의의 시각적 객체는 2x1 또는 1x1 썸네일 크기를 가질 수도 있기 때문에, 본 시스템은 시퀀스들 800-1 또는 800-2 중 어느 하나의 제2 행의 사용 가능한 공간에 포함시키기 위해 2x1 크기를 갖는 썸네일을 생성할 수도 있다.
도 9는 레이아웃의 마지막 시퀀스에 허용 가능한 시퀀스 배치들을 도시하는 도면이다. 보다 구체적으로, 도 9는 레이아웃의 마지막 시퀀스를 구현하기 위한 예시적인 프로세싱을 도시한 것이다. 도 9의 각각의 예시적인 시퀀스 배치에서는, 점유된 공간이 음영없이 나타나 있고, 빈 공간은 음영으로 나타나 있다. 도 9는 레이아웃의 마지막 시퀀스에 임의의 빈 공간이 존재하는 경우, 이 빈 공간이 우측에 정렬되는 것으로 도시하고 있다. 레이아웃의 마지막 시퀀스는 임의의 점유된 블록의 왼쪽에 있는 어떠한 빈 블록도 포함하지 않는다. 시퀀스들 900-1, 900-2, 900-3 및 900-4는 레이아웃의 마지막 시퀀스에 대해 허용 가능한, 또는 적법한 시퀀스 배치들이다. 도시된 바와 같이, 이 빈 공간은 제2 행에는 위치하지만 상부 행에는 위치하지 않는다. 또한, 임의의 빈 공간은 오른쪽에 정렬된다.
일 실시 예에서, 마지막 시퀀스가 허용 가능한 것으로서 도 9에 도시된 것들 이외의 배치를 갖는 것으로 결정한 것에 응답하여, 본 시스템은 허용 가능한 시퀀스 배치들 900-1, 900-2, 900-3 또는 900-4 중 하나와 매칭되는 배치를 갖는 시퀀스가 발견될 때까지 마지막 시퀀스를 재생성할 수 있다.
도 10은 예시적인 레이아웃 1000을 도시하는 도면이다. 도 10은 레이아웃 생성 동안 본 시스템에 의해 수행되는 시퀀스 검사 동작의 일 예를 도시한 것이다. 레이아웃 1000은 시퀀스들 1005, 1010 및 1015를 포함하는 모자이크 레이아웃이다. 시퀀스 1010은 시퀀스 1005와 상이하다. 그러나, 시퀀스 1015는 시퀀스 1010과 동일하다. 보다 구체적으로, 시퀀스들 1010 및 1015의 두 행들에 걸쳐 썸네일 크기들의 배치는 동일하다. 일 실시 예에 따르면, 본 시스템은 2개의 동일하거나 같은 순차 시퀀스들의 발생을 모니터링할 수 있다. 동일한 2개의 인접한 시퀀스를 검출하는 것에 응답하여, 본 시스템은 2개의 시퀀스 중 제2 시퀀스를 재-생성할 수 있다. 이 예에서는, 시퀀스 1015가 시퀀스 1010과 동일하다는 것을 검출한 것에 응답하여, 본 시스템은 상이한 배치(예를 들어, 상이한 썸네일 크기들, 상이한 순서 및/또는 상이한 시각적 객체들에 대한 썸네일들)로 시퀀스 1015를 재생성한다.
도 11은 레이아웃을 생성하기 위한 예시적인 동작들을 도시하는 도면이다. 도 11은 시각적 객체 1105가 포트레이트 종횡비를 갖는 일 예를 도시한 것이다. 시각적 객체 1105 내에서, 본 시스템은 수직 배향을 갖는 라인들과 같은 시각적 피처들을 검출한다. 도시된 예에서는, 이 검출된 피처들이 시각적 객체 1105의 실질적으로 전체 높이에 걸쳐 연장된다. 따라서, 이 시각적 피처들을 검출한 것에 응답하여, 본 시스템은 썸네일 크기 1x1 대신에 시각적 객체 1105에 대한 썸네일 크기 1x2를 선택한다.
도 12는 레이아웃을 생성하기 위한 예시적인 동작들을 도시하는 도면이다. 도 12는 시각적 객체 1205가 포트레이트 종횡비를 갖는 일 예를 도시한 것이다. 시각적 객체 1205 내에서, 본 시스템은 수직 배향을 갖는 라인들과 같은 시각적 피처들을 검출한다. 도시된 예에서는, 이 검출된 피처들이 시각적 객체 1205의 실질적으로 전체 높이에 걸쳐 연장되지 않는다. 따라서, 이 시각적 피처들을 검출한 것에 응답하여, 본 시스템은 썸네일 크기 1x2 대신에 시각적 객체 1205에 대한 썸네일 크기 1x1을 선택한다.
도 13은 레이아웃을 생성하기 위한 예시적인 동작들을 도시하는 도면이다. 도 13은 시각적 객체 1305가 랜드스케이프 종횡비를 갖는 일 예를 도시한 것이다. 시각적 객체 1305 내에서, 본 시스템은 수평 배향을 갖는 라인들과 같은 시각적 피처들을 검출한다. 도시된 예에서는, 이 검출된 피처들이 실질적으로 시각적 객체 1305의 전체 폭에 걸쳐 연장된다. 따라서, 이 시각적 피처들을 검출한 것에 응답하여, 본 시스템은 시각적 객체 1305에 대한 썸네일 크기 2x1 또는 썸네일 크기 3x2를 선택한다.
도 14는 레이아웃을 생성하기 위한 예시적인 동작들을 도시하는 도면이다. 도 14는 시각적 객체 1405가 랜드스케이프 종횡비를 갖는 일 예를 도시한 것이다. 시각적 객체 1405 내에서, 본 시스템은 수평 배향을 갖는 라인들과 같은 시각적 피처들을 검출한다. 도시된 예에서는, 이 검출된 피처들이 실질적으로 시각적 객체 1405의 전체 폭에 걸쳐 연장되지 않는다. 따라서, 이 시각적 피처들을 검출한 것에 응답하여, 본 시스템은 시각적 객체 1405에 대한 썸네일 크기 1x1을 선택한다.
도 15는 레이아웃을 생성하기 위한 예시적인 동작들을 도시하는 도면이다. 도 15는 시각적 객체 1505가 포트레이트 종횡비를 갖는 일 예를 도시한 것이다. 시각적 객체 1505 내에서, 본 시스템은 하나 이상의 시각적 피처들을 검출하고 그 안에서 인간을 식별한다. 본 시스템은 또한 시각적 객체 1505의 아래 부분이 유의미한 개수의 피처들 또는 다른 세부사항을 포함하지 않는 것으로 결정할 수도 있다. 따라서, 본 시스템은 1x1 썸네일 크기를 선택한다. 또한, 도 15는 썸네일을 생성할 때, 검출되는 피처들이 생성된 썸네일에서 보여질 수 있도록 썸네일들 내에 이 검출된 시각적 피처들(또는 경우에 따라 객체들)을 포함하는 시각적 객체의 영역을 포함하는 것으로 도시한다. 시각적 피처들 및/또는 세부사항이 없는 시각적 객체 1505의 영역들은 크롭핑(cropping)될 수 있으며, 이에 따라, 생성되는 썸네일에는 검출된 시각적 피처들을 포함하는 영역들이 포함되도록 한다. 이 기술에 대하여 도 15를 참조하여 설명하겠지만, 유사한 프로세싱이 도 11 내지 도 14에도 적용될 수 있음을 이해해야 하며, 여기서는 검출된 시각적 피처들을 포함하는 시각적 객체의 부분이 그 시각적 객체에 대하여 생성되는 썸네일 내에 디스플레이 하도록 포함되며, 시각적 피처들이 없는 것으로 결정된 영역들은 크롭핑 된다.
도 16은 시각적 객체들의 썸네일들을 제공하는 다른 예시적인 방법 1600을 도시하는 흐름도이다. 방법 1600은 도 1을 참조하여 설명된 바와 같은 시스템에 의해서 구현될 수 있다. 방법 1600은 썸네일들의 레이아웃을 생성하기 위한 목적으로 시각적 객체들의 추가 속성들을 통합하는 보다 상세한 구현 예를 도시한 것이다. 방법 1600은 모자이크 레이아웃을 사용하여 디스플레이 될 복수의 시각적 객체들이 본 시스템 내에 저장되는 상태에서 시작할 수 있다. 방법 1600은 사용자 요청 또는 하나 이상의 시각적 객체들을 시각적 객체들의 세트에 추가하는 것과 같은 이벤트에 자동으로 응답하여 본 시스템에 의해서 구현될 수 있다.
블록 1605에서, 본 시스템은 시각적 객체들의 종횡비들을 결정한다. 블록 1610에서, 본 시스템은 그 종횡비들에 따라 시각적 객체들을 썸네일 크기들과 연관시킨다. 블록 1615에서, 본 시스템은 시각적 객체들 내에서 하나 이상의 시각적 피처들을 검출할 수 있다. 예를 들어, 본 시스템은 시각적 객체들의 컨텐츠를 분석하여 특정 배향(예를 들어, 수직, 수평, 대각), 컬러, 텍스처 등을 갖는 라인들과 같은 특정 피처들을 검출할 수 있다. 일 구성 예에서, 본 시스템은 시각적 객체들에 대한 객체 인식 수행의 일부로서 시각적 피처들을 검출할 수 있다. 본 시스템은 피처 검출, 매칭, 패턴 인식, 또는 다른 이미지 프로세싱 기술들을 사용하여 시각적 객체들에 나타나는 물리적 객체들의 이미지들을 식별할 수 있다.
블록 1620에서, 본 시스템은 시각적 객체들과 연관된 메타데이터를 분석할 수 있다. 본 시스템은 시각적 객체들과 연관된 메타데이터로부터 하나 이상의 속성을 결정할 수 있다. 예를 들어, 주어진 시각적 객체에 대해, 본 시스템은 특정 장치 또는 소셜 미디어 웹사이트를 통해 시각적 객체에 액세스하는 다른 사용자에 의해 시각적 객체가 시청된 횟수, 하나 이상의 소셜 미디어 웹사이트를 통해 시각적 객체가 공유된 횟수, 하나 이상의 소셜 미디어 웹사이트로부터의 시각적 객체에 대한 "좋아요" 또는 다른 긍정적인 감정 지표들의 수, 시각적 객체가 페이버릿으로 표시되거나 별표 등과 같은 감정 지표들을 통해 사용자(즉, 시각적 객체의 소유자)에 의해 높은 평가를 받았는지 여부를 결정할 수 있다.
블록 1625에서 시작되어, 본 시스템은 시각적 객체들에 대한 썸네일들을 디스플레이 하는데 사용될 레이아웃을 생성하기 시작한다. 블록 1625에서, 본 시스템은 레이아웃에 대한 새로운 시퀀스를 생성한다. 본 시스템은 레이아웃을 결정할 때 시각적 객체들의 시간적 순서 및 연관된 썸네일 크기들을 사용한다. 또한, 본 시스템은 블록 1615 및/또는 블록 1620을 참조하여 설명된 추가 속성들 중의 하나 이상의 것을 사용한다.
본 시스템은 블록 1610으로부터의 시각적 객체와 연관된 썸네일 크기들의 세트 중에서 레이아웃에서 사용하기 위한 시각적 객체에 대한 썸네일 크기를 선택한다. 일 예에서, 본 시스템은 시각적 객체에 대한 연관된 썸네일 크기들의 세트 중에서 썸네일 크기를 랜덤으로 선택한다. 다른 예에서는, 본 시스템이 블록 1615 및/또는 1620에서 결정된 추가 속성들 중의 하나 이상의 것을 이용하여, 해당 시각적 객체와 연관된 썸네일 크기들 중에서 그 시각적 객체에 대한 특정 썸네일 크기를 선택한다.
일 실시 예에서, 시각적 객체가 특정 업사이징 조건을 충족하는 것으로 결정한 것에 응답하여, 본 시스템은 그 시각적 객체와 연관된 썸네일 크기들 중에서 더 큰 썸네일 크기를 선택한다. 예를 들어, 시각적 객체가 검출된 시각적 피처들로부터 결정된 임계 세부사항의 양을 초과하는 세부사항의 양을 갖는 것으로 결정한 것에 응답하여, 본 시스템은 그 시각적 객체에 대한 연관된 썸네일 크기들의 세트 중에서 더 큰 썸네일 크기를 선택한다. 다른 예에서는, 예를 들어, 얼굴, 사람, 랜드스케이프 등의 시각적 객체 내의 특정 시각적 피처를 검출한 것에 응답하여, 본 시스템은 시각 객체에 대한 연관된 썸네일 크기들의 세트 중에서 더 큰 썸네일 크기를 선택한다.
다른 예에서는, 시각적 객체가 임계치를 만족하거나 초과하는(예를 들어 업 사이징 조건을 만족하는) 메타데이터 속성을 갖는 것으로 결정한 것에 응답하여, 본 시스템은 그 시각적 객체에 대한 연관된 썸네일 크기들의 세트 중에서 더 큰 썸네일 크기를 선택한다. 전술한 바와 같이, 본 시스템은 특정 장치 또는 소셜 미디어 웹사이트를 통해 시각적 객체에 액세스하는 다른 사용자에 의해 시각적 객체가 시청된 횟수, 하나 이상의 소셜 미디어 웹사이트를 통해 시각적 객체가 공유된 횟수, 하나 이상의 소셜 미디어 웹사이트로부터의 시각적 객체에 대한 "좋아요" 또는 다른 긍정적인 감정 지표들의 수, 시각적 객체가 페이버릿으로 표시되거나 별표 등과 같은 감정 지표들을 통해 사용자(즉, 시각적 객체의 소유자)에 의해 높은 평가를 받았는지 여부와 같은 하나 이상의 속성을 결정할 수 있다. 본 시스템은 이들 속성 중 하나 이상 또는 이들의 조합을 하나 이상의 조건과 비교할 수 있으며, 이 속성들이 조건을 만족시키는 것으로 결정한 것에 응답하여, 시각적 객체와 연관된 썸네일 크기들의 세트 중에서 더 큰 썸네일 크기를 선택할 수 있다.
일 실시 예에서, 본 시스템은 본 명세서에 개시된 다양한 속성들의 조합을 사용하여 시각적 객체에 대한 스코어를 결정할 수 있다. 본 시스템은 속성들의 상대적 중요성을 설정하는데 사용되는 각각의 속성들에 대하여 가중 팩터(weight factor)를 할당하고, 가중처리 된 속성들의 합으로 스코어를 계산할 수 있다. 업사이징 조건을 만족하는(즉 임계치를 초과하는) 스코어에 응답하여, 본 시스템은 그렇지 않은 경우보다 시각적 객체에 대한 더 큰 썸네일 크기를 선택할 수 있다. 예를 들어, 종횡비에 관계없이 각 시각적 객체가 1x1 썸네일 크기를 사용하여 표현될 수도 있다. 본 명세서에 설명된 바와 같은 조건을 만족하는 것에 응답하여, 본 시스템은 시각적 객체와 연관된, 다음으로 가장 큰 썸네일 크기를 선택할 수 있다.
다른 실시 예에서는, 복수의 조건들이 확립될 수 있으며, 이에 따라 제1(예를 들어, 최저) 임계치를 초과하는 시각적 객체의 스코어에 따라, 본 시스템이 그 시각적 객체에 대한 1x1 썸네일 크기로부터 다음으로 큰 썸네일 크기를 선택하게 될 수 있다. 예를 들어, 랜드스케이프 종횡비를 갖는 시각적 객체의 경우, 본 시스템은 2x1 썸네일 크기를 선택할 수 있다. 제1 임계치보다 높은 제2 임계치를 초과하는 시각적 객체의 스코어에 응답하여, 본 시스템은 다음으로 큰 썸네일 크기를 선택할 수 있다. 랜드스케이프 종횡비를 갖는 디지털 객체에 대한 이전 예를 참조하면, 본 시스템은 3x2 썸네일 크기를 선택하게 된다.
전술한 바와 같이, 시퀀스 생성의 일부로서, 본 시스템은 시각적 객체들에 대한 썸네일들을 생성한다. 본 시스템은 시간적 순서 및 연관된 썸네일 크기들에 따라 레이아웃에 배치하기 위해 시각적 객체가 선택되면, 시각적 객체에 대한 썸네일을 생성할 수 있다. 일 양태에서, 레이아웃의 시간적 순서는 가장 최근의 시각적 객체들에 대한 썸네일들이 상부에서 시작되어 좌측에서 우측으로 이동하도록 디스플레이 되는 역방향 시간적 순서일 수 있다. 본 시스템은 시퀀스를 형성하는 2개의 행에 대하여 하나씩 공간을 채워서 시퀀스를 생성할 수 있다. 다른 양태에서는, 순방향 시간적 순서가 사용될 수도 있다. 어떠한 경우이든, 시각적 객체들은 전술한 바와 같이 더 큰 썸네일 크기들을 사용함으로써 더 크게 부각되도록 할당될 수 있다. 또한, 도 5 내지 도 8을 참조하여 설명된 바와 같은 시퀀스의 빈 공간을 채우는 추가 규칙이 사용될 수도 있다. 또한, 본 시스템은 시퀀스의 빈 공간을 채우는데 필요할 수도 있는 시각적 객체에 대한 상이한 썸네일 크기들을 생성할 수도 있다.
썸네일들을 생성할 때, 본 시스템은 선택된 썸네일 크기를 사용하여, 폭 또는 높이의 확장 또는 감소와 관련된 시각적 객체의 왜곡 없이 각 썸네일을 생성한다. 또한, 필요한 경우 선택된 썸네일 크기에 기반하여 시각적 객체의 어느 부분을 크롭핑 할지 결정함에 있어서, 본 시스템은 여기에서 설명된 바와 같은 시각적 피처들의 검출에 기반하여 중요하지 않은 것으로 간주되는 부분들을 크롭핑한다. 이로 인해 시각적 피처들이 검출된 시각적 객체의 영역들이 시각적 객체의 최종 썸네일에 디스플레이 되고 크롭핑되지 않는 것이 보장된다.
블록 1630에서는, 블록 1625에서 형성된 새로운 시퀀스가, 존재하는 경우 바로 이전 또는 그 이상의 시퀀스와 비교된다. 블록 1630에서의 검사는 2개의 인접한 시퀀스가 동일하지 않음을 보장한다. 새로 생성된 시퀀스가 이전 생성된 시퀀스와 동일한 것으로 본 시스템이 결정한 것에 응답하여, 방법 1600은 블록 1635로 진행하며, 이 블록에서 본 시스템은 블록 1625에서 생성된 시퀀스를 삭제하고 블록 1625로 되돌아감으로써(loop back) 새로운 시퀀스를 형성한다. 블록 1635로부터 블록 1625로 되돌아가면서, 본 시스템은 시퀀스를 형성하기 위해 썸네일 크기 및/또는 시각적 객체 순서에 대한 상이한 선택들을 행한다.
새로운 시퀀스가 이전 시퀀스와 동일하지 않은 것으로 본 시스템이 결정한 것에 응답하여, 방법 1600은 블록 1640으로 계속된다. 블록 1640에서, 본 시스템은 배치할 추가 시각적 객체들이 존재하는지 여부를 결정한다. 긍정인 경우, 방법 1600은 블록 1625로 되돌아가서 프로세싱을 계속한다. 부정인 경우, 방법 1600은 블록 1645로 계속된다.
블록 1645에서, 본 시스템은 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖는지 여부를 결정한다. 긍정인 경우, 방법 1600은 종료될 수 있다. 부정인 경우, 방법 1600은 블록 1650으로 계속될 수 있으며, 이 블록에서는 마지막 시퀀스가 허용 가능한 시퀀스 배치로 재생성된다.
일 실시 예에서, 레이아웃을 생성할 때, 본 시스템은 디스플레이 될 시각적 객체들의 세트 또는 클러스터 내의 최신 시각적 객체로부터 시작될 수 있다. 나머지 시각적 객체들은 공간을 왼쪽에서 오른쪽으로 그리고 위쪽에서 아래쪽으로 채우면서 본 시스템에 의해서 하나씩 추가될 수 있다. 시각적 객체의 속성들이 하나 이상의 미리 결정된 조건들을 만족하는지 여부에 기반하여, 본 시스템은 시각적 객체에 대한 썸네일 크기가 증가되어야 하는지 여부를 결정한다. 본 시스템은 빈 공간 및 주어진 시각적 객체가 확립된 조건(들)을 만족하는지 여부에 따라 가능한 경우 더 큰 썸네일 크기들을 사용할 수 있다. 또한, 전술한 바와 같이, 주어진 레이아웃에 대하여, 빈 공간이 왼쪽에는 존재하지 않는다.
다른 실시 예에서, 썸네일 크기의 선택은 지정된 조건들이 만족되기만 한다면 랜덤화될 수 있다. 예를 들어, 썸네일 크기의 선택은, 그 썸네일 크기에 대한 충분한 빈 공간이 있고 처리되어서 상기 빈 공간을 채우기에 충분한 나머지 시각적 객체들이 존재하여 허용 가능한 배치를 갖는 마지막 시퀀스를 달성하기만 한다면 랜덤화될 수 있다.
또한, 본 명세서에서 설명된 레이아웃 생성 기술들은 동적으로 적용될 수 있다. 예를 들어, 모자이크 레이아웃을 사용하여 디스플레이 될 시각적 객체들의 세트에 새로운 시각적 객체가 추가될 경우, 레이아웃은 상기 새로 추가된 시각적 객체를 통합하기 위해 재평가되거나 재생성될 수 있다.
도 17a, 도 17b 및 도 17c는, 집합적으로, 시각적 객체들의 썸네일들을 디스플레이하기 위한 레이아웃을 생성하는 예시적인 방법 1700을 도시하는 흐름도들이다. 방법 1700은 도 2의 블록 215 및 도 16의 블록 1625의 일부로서 수행될 수 있다. 방법 1700은 썸네일 크기들을 선택하고 썸네일들을 생성함으로써 시각적 객체들의 썸네일들을 디스플레이하기 위한 레이아웃을 생성하는데 사용될 수 있다.
블록 1702에서, 본 시스템은 채워질 수 있는 현재의 빈 공간을 결정한다. 주어진 시퀀스에 대하여, 새로운 것이든 부분적으로 형성된 것이든, 본 시스템은 빈 공간이 있는 상단 행을 찾아낸다. 본 시스템은 또한 선택된 행의 가장 왼쪽 빈 공간, 예를 들어 1x1 빈 공간 블록에서 시작한다. 행에 더 이상의 빈 공간이 없다는 결정에 응답하여, 본 시스템은 경우에 따라 새로운 행 및/또는 새로운 시퀀스를 시작한다.
블록 1704에서, 본 시스템은 현재 행의 높이를 결정한다. 현재 행은 블록 1702에서 결정된 현재의 빈 공간을 포함하는 행이다. 현재 행의 높이는 1 또는 2일 수 있다. 본 시스템이 현재의 빈 공간의 왼쪽에 있는 모든 썸네일들이 2개의 행을 차지하는 것으로 결정하는 경우, 본 시스템은 현재 행 높이가 2인 것으로 결정한다. 본 시스템이 현재의 빈 공간의 왼쪽에 있는 모든 썸네일들이 2개의 행을 차지하지 않는 것으로 결정하는 경우, 본 시스템은 현재 행 높이가 1인 것으로 결정한다. 현재 행이 비어 있는 경우, 본 시스템은 높이가 2인 것으로 결정한다.
블록 1706에서, 본 시스템은 현재 행에서 빈 공간들의 개수를 결정한다. 설명의 편의를 위해, 각 행이 4개의 1x1 블록을 포함하는 것으로 가정하면, 남은 빈 공간들의 개수는 0 내지 4개이다. 전술한 바와 같이, 행에 빈 블록들이 없는 경우, 본 시스템은 4개의 빈 블록을 갖는 새로운 행을 시작한다. 블록 1708에서, 본 시스템은 프로세싱될 다음 시각적 객체를 "현재의 시각적 객체(current visual object)"로 선택한다. 특히, 본 시스템은, 썸네일 크기가 선택되어 선택된 썸네일 크기로 썸네일이 생성될 다음 시각적 객체를 선택한다. 도 17a, 도 17b 및 도 17c의 예에서, 본 시스템은 역방향 시간적 순서를 사용할 수 있다.
블록 1710에서, 본 시스템은 현재의 시각적 객체가 문서 또는 스크린샷인지 여부를 결정한다. 현재의 시각적 객체가 문서 또는 스크린샷인 경우, 방법 1700은 블록 1712로 계속되며, 상기 블록에서 본 시스템은 현재의 시각적 객체에 대한 1x1 썸네일 크기를 선택한다. 블록 1712 이후에, 방법 1700은 블록 1714로 계속된다.
블록 1714에서, 본 시스템은 현재의 시각적 객체에 대하여 선택된 썸네일 크기의 썸네일을 생성한다. 또한, 본 시스템은 레이아웃 내에서 생성된 썸네일에 위치를 할당한다. 예를 들어, 본 시스템은 생성되는 썸네일의 왼쪽 상단 모서리가 현재 행에 있는 현재 빈 공간의 왼쪽 상단 모서리에 배치되도록 위치를 할당한다.
블록 1716에서, 본 시스템은 프로세싱될 임의의 추가 시각적 객체들이 남아있는지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1702로 계속되어 프로세싱을 계속한다. 부정인 경우, 방법 1700은 종료될 수 있다.
현재의 시각적 객체가 문서 또는 스크린샷이 아닌 경우, 방법 1700은 블록 1710으로부터 블록 1718로 진행한다. 블록 1718에서, 본 시스템은 현재의 시각적 객체가 포트레이트, 랜드스케이프 또는 스퀘어의 종횡비를 갖는지 여부를 결정한다. 현재의 시각적 객체가 포트레이트 종횡비를 갖는다는 결정에 응답하여, 방법 1700은 블록 1720으로 계속된다. 현재의 시각적 객체가 랜드스케이프 종횡비를 갖는다는 결정에 응답하여, 방법 1700은 블록 1736으로 계속된다. 현재의 시각적 객체가 스퀘어 종횡비를 갖는다는 결정에 응답하여, 방법 1700은 블록 1760으로 진행한다.
블록 1720으로 진행하여, 현재의 시각적 객체가 포트레이트 종횡비를 갖는 경우, 본 시스템은 현재 행의 높이가 1인지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1722로 계속된다. 부정인 경우, 방법 1700은 블록 1724로 계속된다.
블록 1722에서, 본 시스템은 현재의 시각적 객체가 업사이징 조건을 만족하는지 여부 및 2x2 썸네일 크기에 맞는 충분한 빈 공간이 있는지 여부를 결정한다. 현재의 시각적 객체가 업사이징 조건을 만족하고 2x2 썸네일 크기에 맞는 충분한 빈 공간이 있는 경우, 방법 1700은 블록 1730으로 계속되며, 상기 블록에서 본 시스템은 2x2 썸네일 크기를 선택한다. 블록 1730 이후에, 방법 1700은 블록 1714로 계속되어 프로세싱을 계속한다. 현재의 시각적 객체가 업사이징 조건을 만족하지 못하거나 또는 시각적 개체가 업사이징 조건은 만족하지만 2x2 썸네일 크기에 맞는 충분한 빈 공간이 없는 것으로 본 시스템이 결정하는 경우, 방법 1700은 블록 1712로 계속되며, 상기 블록에서 1x1 썸네일 크기가 현재의 시각적 객체에 대해 선택된다. 블록 1712 이후에, 본 시스템은 상기와 같은 프로세싱을 계속할 수 있다.
현재의 시각적 객체가 포트레이트 종횡비를 갖고 행 높이가 1이 아닌 경우, 방법 1700은 블록 1720에서 블록 1724로 계속된다. 블록 1724에서, 본 시스템은 현재 행에 하나의 빈 공간이 있는지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1726으로 계속된다. 블록 1726에서, 본 시스템은 하나 이상의 확률을 사용하여 현재의 시각적 객체에 대한 썸네일 크기를 선택한다. 일 실시 예에서, 본 시스템은 1x1 썸네일 크기에 50% 확률을 할당하고, 1x2 썸네일 크기에 50% 확률을 할당할 수 있다. 본 시스템은 2개의 썸네일 크기 중에서 하나를 50%로 설정하는 선택 확률로 썸네일 크기를 선택한다. 블록 1726 이후에, 방법 1700은 블록 1714로 진행하여 프로세싱을 계속한다.
블록 1724에서 블록 1728로 계속되고, 현재 행이 하나 보다 많은 빈 공간을 가지는 경우, 본 시스템은 현재의 시각적 객체가 업사이징 조건을 만족하는지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1730으로 계속되며, 상기 블록에서 본 시스템은 현재의 시각적 객체에 대한 2x2 썸네일 크기를 선택한다. 블록 1730 이후에, 방법 1700은 블록 1714로 계속되어 상기한 바와 같은 프로세싱을 계속한다. 현재의 시각적 객체가 블록 1728에서 업사이징 조건을 만족하지 못하는 것으로 본 시스템이 결정하는 경우, 방법 1700은 블록 1732로 진행한다. 블록 1732에서, 현재 행이 2, 3, 또는 4개의 빈 공간을 갖는 경우, 본 시스템은 할당된 확률에 따라 현재의 시각적 객체에 대한 썸네일 크기를 선택한다. 일 실시 예에서, 본 시스템은 1x1 썸네일 크기에 40% 확률, 1x2 썸네일 크기에 40% 확률, 및 2x2 썸네일 크기에 20% 확률을 할당한다. 본 시스템은 할당된 확률들에 따라 1x1, 1x2, 또는 2x2 썸네일 크기를 선택한다. 블록 1732 이후에, 방법 1700은 블록 1714로 계속되어 프로세싱을 계속한다.
블록 1734로 진행하여, 현재의 시각적 객체가 랜드스케이프 종횡비를 갖는 것으로 본 시스템이 결정한 경우, 본 시스템은 현재 행의 행 높이가 1인지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1736으로 진행한다. 부정인 경우, 방법 1700은 블록 1742로 계속된다.
블록 1736에서, 현재 행 높이가 1인 것으로 본 시스템이 결정하는 경우, 본 시스템은 현재의 시각적 객체가 업사이징 조건을 만족하는지 여부 및 2x2 또는 3x2 썸네일 크기에 대한 충분한 빈 공간이 있는지 여부를 결정한다. 현재의 시각적 객체가 업사이징 조건을 만족하고 2x2 또는 3x2 썸네일 크기에 충분한 빈 공간이 있는 경우, 방법 1700은 블록 1738로 계속되며, 상기 블록에서 본 시스템은 현재의 시각적 객체에 대한 2x2 또는 3x2 썸네일 크기를 선택한다. 일 양태에서, 본 시스템은 빈 공간에 따라 2x2 썸네일 크기 또는 3x2 썸네일 크기를 선택할 수 있다. 예를 들어, 선택된 썸네일 크기에 맞는 충분한 빈 공간이 있는 경우, 본 시스템은 3x2 썸네일 크기를 선택한다. 그렇지 않은 경우, 본 시스템은 2x2 썸네일 크기를 선택한다. 다른 양태에서, 본 시스템은 2개의 썸네일 크기 각각에 확률을 할당하고, 이 확률을 이용하여 2x2 또는 3x2 썸네일 크기에 맞는 충분한 빈 공간이 있는 썸네일 크기를 선택할 수 있다. 블록 1738 이후에, 방법 1700은 블록 1714로 계속되어 프로세싱을 계속한다.
현재의 시각적 객체가 업사이징 조건을 만족하지 못하거나 또는 현재의 시각적 객체가 업사이징 조건은 만족하지만 2x2 또는 3x2 썸네일 크기에 맞는 충분한 빈 공간이 없는 것으로 본 시스템이 결정하는 경우, 방법 1700은 블록 1740으로 계속된다. 블록 1740에서, 본 시스템은 현재의 시각적 객체에 대한 1x1 썸네일 크기를 선택한다. 블록 1740 이후에, 방법 1700은 블록 1714로 계속되어 프로세싱을 계속한다.
블록 1742로 계속되어 현재의 시각적 객체의 종횡비가 랜드스케이프이고 행 높이가 2인 경우, 본 시스템은 빈 공간들의 개수가 1, 2, 또는 3 또는 4개인지 여부를 결정한다. 현재 행에서 사용 가능한 공간들의 개수가 1개인 것으로 본 시스템이 결정한 것에 응답하여, 방법 1700은 블록 1744로 계속된다. 현재 행에서 사용 가능한 공간들의 개수가 2개인 것으로 본 시스템이 결정한 것에 응답하여, 방법 1700은 블록 1746으로 계속된다. 현재 행에서 사용 가능한 공간들의 개수가 3개 또는 4개인 것으로 본 시스템이 결정한 것에 응답하여, 방법 1700은 블록 1752로 계속된다.
블록 1744에서, 사용 가능한 공간들의 개수가 1개인 경우, 본 시스템은 1개의 빈 공간의 경우에 할당된 확률들에 따라 썸네일 크기를 선택한다. 일 실시 예에서, 본 시스템은 1x1의 썸네일 크기에 50% 확률을 할당하고 2x1의 썸네일 크기에 50% 확률을 할당한다. 본 시스템은 할당된 확률들을 사용하여 썸네일 크기를 선택한다. 블록 1744 이후에, 방법 1700은 블록 1714로 진행하여 프로세싱을 계속한다.
블록 1746에서, 사용 가능한 공간들의 개수가 2개인 경우, 본 시스템은 현재의 시각적 객체가 업사이징 조건을 만족하는지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1748로 계속되며 이 블록에서 썸네일 크기가 2x2로 선택된다. 블록 1748 이후에, 방법 1700은 블록 1714로 진행하여 프로세싱을 계속한다. 현재의 시각적 객체가 업사이징 조건을 만족하지 못하는 경우, 방법 1700은 블록 1750으로 계속된다. 블록 1750에서, 본 시스템은 2개의 빈 공간의 경우에 대해 할당된 확률들에 따라 현재의 시각적 객체에 대한 썸네일 크기를 선택한다. 일 실시 예에서, 본 시스템은 1x1의 썸네일 크기에 40% 확률을 할당하고, 2x1의 썸네일 크기에 40% 확률을 할당하고, 2x2의 썸네일 크기에 20% 확률을 할당한다. 본 시스템은 할당된 확률들에 따라 썸네일 크기를 선택한다. 블록 1750 이후에, 방법 1700은 블록 1714로 진행하여 프로세싱을 계속한다.
블록 1752에서, 본 시스템이 3개 또는 4개의 빈 공간이 있는 것으로 결정하는 경우, 본 시스템은 현재의 시각적 객체가 업사이징 조건을 만족하는지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1756으로 계속되며, 이 블록에서 본 시스템은 현재의 시각적 객체에 대한 2x2 썸네일 크기 또는 3x2 썸네일 크기를 선택한다. 일 양태에서, 본 시스템은 빈 공간에 따라 2x2 썸네일 크기 또는 3x2 썸네일 크기를 선택할 수 있다. 일 양태에서, 본 시스템은 2개의 썸네일 크기 각각에 확률을 할당하고, 이 확률을 이용하여 썸네일 크기에 맞는 충분한 빈 공간이 있는 썸네일 크기를 선택할 수 있다. 블록 1752 이후에, 방법 1700은 블록 1714로 계속되어 프로세싱을 계속한다.
현재의 시각적 객체가 업사이징 조건을 만족하지 못하는 경우, 방법 1700은 블록 1752에서 블록 1754로 계속된다. 블록 1754에서, 본 시스템은 3개 또는 4개의 빈 공간의 경우에 대해 할당된 확률들에 따라 썸네일 크기를 선택한다. 일 실시 예에서, 본 시스템은 1x1의 썸네일 크기에 40% 확률을 할당하고, 2x1의 썸네일 크기에 40% 확률을 할당하고, 2x2의 썸네일 크기에 10% 확률을 할당하고, 3x2의 썸네일 크기에 10% 확률을 할당한다. 본 시스템은 할당된 확률들에 따라 썸네일 크기를 선택한다. 블록 1754 이후에, 방법 1700은 블록 1714로 진행하여 프로세싱을 계속한다.
블록 1760으로 진행하여, 현재의 시각적 객체가 스퀘어 종횡비를 갖는 것으로 본 시스템이 결정한 경우, 본 시스템은 현재 행의 행 높이가 1인지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1762로 진행한다. 부정인 경우, 방법 1700은 블록 1768로 계속된다.
블록 1762에서, 현재 행 높이가 1인 것으로 본 시스템이 결정한 경우, 본 시스템은 현재의 시각적 객체가 업사이징 조건을 만족하는지 여부 및 2x2 썸네일 크기에 대한 충분한 빈 공간이 있는지 여부를 결정한다. 현재의 시각적 객체가 업사이징 조건을 만족하고 2x2 썸네일 크기에 대한 충분한 빈 공간이 있는 경우, 방법 1700은 블록 1764로 계속되며, 이 블록에서 본 시스템은 현재의 시각적 객체에 대한 2x2 썸네일 크기를 선택한다. 블록 1764 이후에, 방법 1700은 블록 1714로 계속되어 프로세싱을 계속한다. 현재의 시각적 객체가 업사이징 조건을 만족하지 못하거나 또는 현재의 시각적 객체가 업사이징 조건은 만족하지만 2x2 썸네일 크기에 맞는 충분한 빈 공간이 없는 것으로 본 시스템이 결정하는 경우, 방법 1700은 블록 1762에서 블록 1766으로 진행한다. 블록 1766에서, 본 시스템은 현재의 시각적 객체에 대한 1x1 썸네일 크기를 선택한다. 블록 1766 이후에, 방법 1700은 블록 1714로 진행하여 프로세싱을 계속한다.
블록 1768로 계속되어, 행 높이가 2인 것으로 본 시스템이 결정한 경우, 본 시스템은 현재 행에 1개의 빈 공간이 있는지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1770으로 계속되며 이 블록에서 본 시스템은 현재의 시각적 객체에 대한 1x1 크기를 선택한다. 블록 1770 이후에, 방법 1700은 블록 1714로 계속되어 프로세싱을 계속한다. 본 시스템이 하나보다 많은 빈 공간이 있는 것으로 결정하는 경우, 방법 1700은 블록 1768에서 블록 1772로 계속된다.
블록 1772에서, 본 시스템은 현재의 시각적 객체가 업사이징 조건을 만족하는지 여부를 결정한다. 긍정인 경우, 방법 1700은 블록 1776으로 계속되며 이 블록에서 본 시스템은 현재의 시각적 객체에 대한 2x2 썸네일 크기를 선택한다. 현재의 시각적 객체가 업사이징 조건을 만족하지 못하는 경우, 방법 1700은 블록 1774로 계속되며 이 블록에서 본 시스템은 2개, 3개, 또는 4개의 빈 공간들에 대한 할당된 확률들에 따라 현재의 시각적 객체에 대한 썸네일 크기를 선택한다. 일 실시 예에서, 본 시스템은 1x1의 썸네일 크기에 50% 확률을 할당하고, 2x2의 썸네일 크기에 50% 확률을 할당한다. 본 시스템은 할당된 확률들을 사용하여 썸네일 크기를 선택한다. 블록 1774 이후에, 방법 1700은 블록 1714로 진행하여 프로세싱을 계속한다.
도 17a, 도 17b 및 도 17c는 본 개시에서 일반적으로 설명한 바와 같은 모자이크 레이아웃을 생성하는데 사용될 수 있는 예시적인 방법을 도시한 것이다. 도 17a, 도 17b 및 도 17c는 프로세싱 되는 시각적 객체가 하나 이상의 특정 업사이징 조건들을 만족하지 않는다면 더 작은 크기의 썸네일들을 선호한다. 도 17a, 도 17b 및 도 17c를 설명하는데 사용되는 다양한 확률들은 단지 설명의 목적을 위한 것이며, 그 자체로 제한하려는 것이 아님을 이해해야 한다. 그 확률들은 상향 또는 하향 조정될 수 있다.
본 명세서에서 사용되는 용어는 특정 실시 예들을 설명하기 위한 것이지, 제한하려는 것이 아니다. 그럼에도 불구하고, 본 명세서 전반에 걸쳐 적용되는 몇 가지 정의가 이제 제시될 것이다.
본 명세서에서 정의되는 단수 형태 "일" 및 "그"는, 문맥이 명백하게 달리 지시하지 않는다면, 복수 형태를 포함하는 것으로 의도된다.
본 명세서에서 정의되는 용어 "다른"은 적어도 두 번째 또는 그 이상을 의미한다.
본 명세서에 정의되는 용어 "적어도 하나", "하나 이상", 그리고 "및/또는"은 명시적으로 달리 언급되지 않는다면, 결합 동작 및 분리 동작 양쪽 모두인 개방형 표현이다. 예를 들어, "A, B 및 C 중 적어도 하나", "A, B 또는 C 중 적어도 하나", "A, B 및 C 중 하나 이상", "A, B 또는 C 중 하나 이상", 및 "A, B 및/또는 C"는 A 단독, B 단독, C 단독, A 및 B 모두, A 및 C 모두, B 및 C 모두, 또는 A, B 및 C 모두를 의미한다.
본 명세서에서 정의되는 용어 "자동으로"는 사용자 개입이 없는 것을 의미한다.
본 명세서에서 정의되는 용어 "컴퓨터 판독가능 저장 매체"는 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 그와 연결되어 사용하기 위한 프로그램 코드를 포함하거나 저장하는 저장 매체를 의미한다. 본 명세서에서 정의되는 "컴퓨터 판독가능 저장 매체"는 일시적인 전파 신호 그 자체가 아니다. 컴퓨터 판독가능 저장 매체는 전자 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치 또는 이들의 임의의 적절한 조합일 수 있으며, 이에 한정되지 않는다. 본 명세서에서 설명되는 메모리 요소들은 컴퓨터 판독가능 저장 매체의 예들이다. 컴퓨터 판독가능 저장 매체의 보다 구체적인 예들에 대한 비한정적인 리스트는 휴대용 컴퓨터 디스켓, 하드 디스크, RAM(random access memory), ROM(read-only memory), 소거 가능 프로그래머블 판독 전용 메모리(EPROM 또는 플래시 메모리), SRAM(Static Random Access Memory), 휴대용 CD-ROM(compact disc read-only memory), DVD(digital versatile disk), 메모리 스틱, 플로피 디스크 등을 포함할 수 있다.
본 명세서에 정의되는 용어 "커플링된"은 달리 지시되지 않는 한, 임의의 개재 요소없이 직접적으로 또는 하나 이상의 개재 요소와 간접적으로 연결됨을 의미한다. 2개의 요소가 통신 채널, 경로, 네트워크 또는 시스템을 통해 기계적으로, 전기적으로, 또는 통신적으로 연결될 수 있다.
본 명세서에 정의되는 용어 "실행 가능 동작" 또는 "동작"은 문맥이 달리 지시하지 않는 한, 데이터 프로세싱 시스템 또는 데이터 프로세싱 시스템 내의 프로세서에 의해 수행되는 태스크이다. 실행 가능 동작들의 예로는 "처리", "계산", "산출", "결정", "표시", "비교" 등을 포함하며, 이에 한정되지 않는다. 이와 관련하여, 동작들은 컴퓨터 시스템의 레지스터들 및/또는 메모리들 내의 물리적(전자) 양으로서 표현되는 데이터를 조작하여 컴퓨터 시스템 메모리들 및/또는 레지스터들 또는 다른 이러한 정보 저장, 전송 또는 디스플레이 장치들 내의 물리적 양들로서 유사하게 표현되는 다른 데이터로 변환하는 데이터 프로세싱 시스템, 예를 들어 컴퓨터 시스템의 액션들 및/또는 프로세스들을 지칭한다.
본 명세서에 정의되는 용어 "포함한다", "포함하는", "구성한다" 및/또는 "구성하는"은 명시된 특징, 정수, 단계, 동작, 요소 및/또는 구성 요소의 존재를 나타내지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 구성 요소 및/또는 이들의 그룹의 존재 또는 부가를 배제하지 않는다.
본 명세서에 정의되는 용어 "~하면"은 그 문맥에 따라 "~할 때" 또는 "~할 시에" 또는 "~에 응답하여"를 의미한다. 따라서, "그것이 결정되면" 또는 "[명시된 조건 또는 이벤트]가 검출되면"이라는 문구는 그 문맥에 따라 "결정할 시에" 또는 "결정된 것에 대한 응답으로" 또는 "[명시된 조건 또는 이벤트]를 검출할 시에" 또는 "[명시된 조건 또는 이벤트]를 검출한 것에 대한 응답으로" 또는 "[명시된 조건 또는 이벤트]를 검출한 것에 응답하여"를 의미하는 것으로 해석될 수 있다.
본 명세서에서 정의되는 용어 "일 실시 예", "실시 예", "일 구성 예", "구성 예" 또는 이와 유사한 언어는 그 실시 예 또는 구성 예와 관련하여 설명된 특정한 특징, 구조 또는 특성이 본 개시에서 설명된 적어도 하나의 실시 예 또는 구성 예에 포함됨을 의미한다. 따라서, 본 개시 전반에 걸쳐 "일 실시 예에서", "실시 예에서", "일 구성 예에서", "구성 예에서"와 같은 문구 및 이와 유사한 언어의 출현은 모두 동일한 실시 예 또는 구성 예를 지칭할 수 있지만, 반드시 그런 것은 아니다.
본 명세서에서 정의되는 용어 "출력"은 물리적 메모리 요소, 예를 들어 장치에 저장하고, 디스플레이 또는 다른 주변 출력 장치에 기록하고, 다른 시스템으로 전송 또는 송신하고, 내보내는 것 등을 의미한다.
본 명세서에서 정의되는 용어 "복수"는 2개 이상을 의미한다.
본 명세서에서 정의되는 용어 "프로세서"는 프로그램 코드에 포함된 명령들을 수행하도록 구성되는 적어도 하나의 하드웨어 회로를 의미한다. 하드웨어 회로는 집적 회로일 수 있다. 프로세서의 예로는 중앙 처리 장치(central processing unit, CPU), 어레이 프로세서, 벡터 프로세서, 디지털 신호 프로세서(digital signal processor, DSP), 필드 프로그래머블 게이트 어레이(field-programmable gate array, FPGA), 프로그래머블 로직 어레이(programmable logic array, PLA), 주문형 집적 회로(application specific integrated circuit, ASIC), 프로그래머블 로직 회로 및 제어기를 포함한다.
본 명세서에서 정의되는 용어 "실시간"은 사용자 또는 시스템이 특정 프로세스 또는 결정을 내리기에 충분히 즉각적으로 감지하거나, 프로세서가 일부 외부 프로세스에 따를 수 있게 하는 응답 처리 수준을 의미한다.
본 명세서에서 정의되는 용어 "~에 응답하여"는 동작 또는 이벤트에 용이하게 반응하거나 대처하는 것을 의미한다. 따라서, 제2 동작이 제 1 동작에 "응답하여" 수행되면, 제 1 동작의 발생과 제 2 동작의 발생 간에 인과 관계가 있다. 용어 "~에 반응하여"는 인과 관계를 나타낸다.
본 명세서에서 정의되는 용어 "사용자"는 인간을 의미한다.
제1, 제2 등의 용어는 본 명세서에서 다양한 요소를 설명하기 위해 사용될 수 있다. 달리 언급되지 않는 한 또는 그 문맥이 달리 명시하지 않는 한 이들 용어는 하나의 요소를 구별 짓기 위해서만 사용되는 것이므로, 이들 용어에 의해 제한되지 않아야 한다.
컴퓨터 프로그램 제품은 프로세서로 하여금 본 발명의 양태들을 수행하게 하기 위한 컴퓨터 판독가능 프로그램 명령들을 갖는 컴퓨터 판독가능 저장 매체(또는 매체들)를 포함할 수 있다. 본 개시에서, "프로그램 코드"라는 용어는 "컴퓨터 판독가능 프로그램 명령"이라는 용어와 상호 교환적으로 사용된다. 본 명세서에서 설명된 컴퓨터 판독가능 프로그램 명령들은 컴퓨터 판독가능 저장 매체로부터 반응적 컴퓨팅/프로세싱 장치들로 다운로드 되거나 또는 네트워크, 예를 들어 인터넷, LAN, WAN 및/또는 무선 네트워크를 통해 외부 컴퓨터 또는 외부 저장 장치로 다운로드 될 수 있다. 네트워크는 동 전송 케이블, 광 전송 섬유, 무선 전송 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 에지 서버를 비롯한 에지 장치를 포함할 수 있다. 각각의 컴퓨팅/프로세싱 장치 내의 네트워크 어댑터 카드 또는 네트워크 인터페이스는 네트워크로부터 컴퓨터 판독가능 프로그램 명령들을 수신하고, 각각의 컴퓨팅/프로세싱 장치 내의 컴퓨터 판독가능 저장 매체에 저장하기 위해 컴퓨터 판독가능 프로그램 명령들을 전송한다.
본 명세서에서 설명된 발명 구성에 대한 동작들을 수행하기 위한 컴퓨터 판독가능 프로그램 명령은 어셈블러 명령, ISA(instruction-set-architecture) 명령, 기계 명령, 기계 의존 명령, 마이크로코드, 펌웨어 명령, 또는 소스 코드 또는 객체 지향 프로그래밍 언어 및/또는 절차적 프로그래밍 언어를 비롯한 하나 이상의 프로그래밍 언어의 임의의 조합으로 기록된 오브젝트 코드일 수 있다. 컴퓨터 판독가능 프로그램 명령은 상태-설정 데이터를 명시할 수 있다. 컴퓨터 판독가능 프로그램 명령은 사용자의 컴퓨터 상에서 전체적으로 실행되거나, 독립형 소프트웨어 패키지로서 부분적으로 사용자의 컴퓨터 상에서 실행되거나, 부분적으로는 사용자의 컴퓨터 상에 그리고 부분적으로는 원격 컴퓨터 상에 또는 전체적으로 원격 컴퓨터 또는 서버 상에서 실행될 수도 있다. 후자의 시나리오에서, 원격 컴퓨터는 LAN 또는 WAN을 포함하는 임의의 유형의 네트워크를 통해 사용자의 컴퓨터에 접속될 수 있거나 또는 외부 컴퓨터에 접속될 수 있다(예를 들어, 인터넷 서비스 제공자(Internet Service Provider)를 사용하여 인터넷을 통해). 일부 경우들에 있어서, 예를 들어, 프로그래머블 로직 회로, FPGA 또는 PLA를 포함하는 전자 회로는, 본 명세서에서 설명된 발명 구성들의 양태들을 수행하도록, 전자 회로를 개인화 하는 컴퓨터 판독가능 프로그램 명령의 상태 정보를 이용함으로써 컴퓨터 판독가능 프로그램 명령을 실행할 수 있다.
본 발명 구성의 특정 양태들은 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 여기에 설명된다. 흐름도 및/또는 블록도들의 각 블록, 및 흐름도 및/또는 블록도들의 블록들의 조합은 컴퓨터 판독가능 프로그램 명령, 예를 들어, 프로그램 코드에 의해 구현될 수 있음을 이해할 것이다.
이들 컴퓨터 판독가능 프로그램 명령은 일반 목적 컴퓨터, 특수 목적 컴퓨터 또는 다른 프로그래밍 가능한 데이터 프로세싱 장치의 프로세서에 제공됨으로써, 컴퓨터 또는 다른 프로그래밍 가능한 데이터 프로세싱 장치의 프로세서를 통해 실행되는 명령들이 흐름도 및/또는 블록도 블록 또는 블록들에 지정된 기능들/동작들을 구현하도록 하는 머신을 생성할 수 있다. 이들 컴퓨터 판독가능 프로그램 명령은 또한 컴퓨터, 프로그래밍 가능한 데이터 프로세싱 장치 및/또는 다른 장치가 특정 방식으로 기능하도록 지시할 수 있는 컴퓨터 판독가능 저장 매체에 저장될 수 있으며, 내부에 명령들이 저장되는 이러한 컴퓨터 판독가능 저장 매체는 흐름도 및/또는 블록도 블록 또는 블록들에 지정된 동작들의 양태들을 구현하는 명령들을 포함하는 제조 물품을 포함한다.
또한, 컴퓨터 판독가능 프로그램 명령은 컴퓨터, 다른 프로그래밍 가능 데이터 프로세싱 장치 또는 다른 장치 상에 로딩됨으로써, 일련의 동작들이 컴퓨터, 다른 프로그래밍 가능 장치 또는 다른 디바이스 상에서 수행되어 컴퓨터 구현 프로세스를 생성하게 할 수 있으며, 이러한 컴퓨터, 다른 프로그래밍 장치, 또는 다른 디바이스 상에서 실행되는 명령들은 흐름도 및/또는 블록도 블록 또는 블록들에 지정된 기능들/동작들을 구현한다.
도면의 흐름도 및 블록도는 본 발명 구성의 다양한 양태들에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현예의 구조, 기능 및 동작을 도시한 것이다. 이와 관련하여, 흐름도 또는 블록도 내의 각 블록은 지정된 동작들을 구현하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 명령의 일부를 나타낼 수 있다. 일부 다른 구현 예들에서는, 블록들에서 언급된 동작들이 도면들에서 언급된 순서를 벗어나 발생할 수도 있다. 예를 들어, 연속적으로 도시된 두 개의 블록들이 실질적으로 동시에 수행될 수 있으며, 또는 관련된 기능에 따라 이 블록들이 때때로 역순으로 실행될 수도 있다. 또한, 블록도 및/또는 흐름도의 각각의 블록, 및 블록도 및/또는 흐름도의 블록들의 조합은 지정된 기능들 또는 동작들을 수행하거나 또는 특수 목적 하드웨어 및 컴퓨터 명령들의 조합들을 수행하는 특수 목적 하드웨어 기반 시스템에 의해 구현될 수 있음을 알 것이다.
설명의 단순화 및 명료성을 위해, 도면들에 도시된 요소들이 반드시 일정한 비율로 그려지지는 않는다. 예를 들어, 일부 요소들의 치수가 명확성을 위해 다른 요소들에 비해 과장될 수도 있다. 또한, 적절한 것으로 고려되는 경우, 대응하는 유사 또는 마찬가지의 특징들을 나타내기 위해 참조 번호가 도면들 사이에서 반복된다.
아래의 청구범위에서 발견될 수 있는 모든 수단 또는 단계와 기능 요소의 대응하는 구조, 재료, 동작 및 등가물은 구체적으로 청구된 다른 청구 요소들과 조합하여 기능을 수행하기 위한 임의의 구조, 재료 또는 동작을 포함하는 것으로 의도된다.
시각적 객체들의 썸네일을 제공하는 방법은, 프로세서를 사용하여 복수의 시각적 객체들에 대한 종횡비를 결정하는 단계와, 프로세서를 사용하여 시각적 객체의 종횡비에 기반하여 복수의 시각적 객체들 각각을 복수의 미리 결정된 썸네일 크기들로부터 선택된 썸네일 크기와 연관시키는 단계와, 프로세서를 사용하여 복수의 시각적 객체들 내에서 시각적 피처가 검출되는지 여부를 결정하는 단계를 포함할 수 있다. 이 방법은 프로세서를 사용하여 시각적 객체들의 시간적 순서, 시각적 피처의 검출, 및 시각적 객체들과 연관된 썸네일 크기들에 기반하여 복수의 시각적 객체들의 썸네일들을 디스플레이하기 위한 레이아웃을 생성하는 단계를 포함할 수 있다. 스크린과 프로세서를 사용하여, 썸네일들이 레이아웃에 따라 디스플레이 될 수 있다.
레이아웃을 생성하는 것은, 선택된 시각적 객체의 메타데이터에 따라 선택된 시각적 객체와 연관된 복수의 썸네일 크기들로부터, 레이아웃에 포함시키기 위해 선택된 시각적 객체에 대한 썸네일 크기를 선택하는 것을 포함할 수 있다.
일 양태에서, 검출된 시각적 피처를 포함하는 선택된 시각적 객체의 영역은, 레이아웃을 사용하여 디스플레이 되는 선택된 시각적 객체에 대한 썸네일 내에서 시각적으로 표현된다.
레이아웃을 생성하는 것은 검출된 시각적 피처에 따라 선택된 시각적 객체와 연관된 복수의 썸네일 크기들로부터, 레이아웃에 포함시키기 위해 선택된 시각적 객체에 대한 썸네일 크기를 선택하는 것을 포함할 수 있다.
레이아웃을 생성하는 것은 복수의 시각적 객체들로부터 모션 썸네일을 생성하는 것을 포함할 수 있다.
레이아웃은 각각의 인접한 시퀀스들의 쌍이 서로 다른, 복수의 시퀀스들로 구성되는 복수의 행들을 포함할 수 있다.
또한, 레이아웃을 생성하는 것은 레이아웃의 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖는지 여부를 결정하고, 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖지 않는다는 결정에 응답하여, 마지막 시퀀스를 재생성하는 것을 포함할 수 있다.
시각적 객체들의 썸네일들을 제공하기 위한 장치는 스크린 및 이 스크린에 커플링되는 프로세서를 포함한다. 프로세서는 복수의 시각적 객체들에 대한 종횡비를 결정하고, 시각적 객체의 종횡비에 기반하여 복수의 시각적 객체들 각각을, 복수의 미리 결정된 썸네일 크기로부터 선택된 썸네일 크기와 연관시키고, 복수의 시각적 객체들 내에서 시각적 피처가 검출되는지 여부를 결정하도록 구성될 수 있다. 또한, 프로세서는, 시각적 객체들의 시간적 순서, 시각적 피처의 검출 및 시각적 객체들과 연관된 썸네일 크기들에 따라 복수의 시각적 객체들의 썸네일들을 디스플레이하기 위한 레이아웃을 생성하도록 구성될 수 있다. 프로세서는 스크린을 사용하여 레이아웃에 따라 썸네일들을 디스플레이 할 수 있다.
일 양태에서, 프로세서는 선택된 시각적 객체의 메타데이터에 따라 선택된 시각적 객체와 연관된 복수의 썸네일 크기들로부터 레이아웃에 포함시키기 위해 선택된 시각적 객체에 대한 썸네일 크기의 선택을 통해 레이아웃을 생성하도록 구성된다.
다른 양태에서, 검출된 피처를 포함하는 선택된 시각적 객체의 영역은, 레이아웃을 사용하여 디스플레이 되는 선택된 시각적 객체에 대한 썸네일 내에서 시각적으로 표현된다.
다른 양태에서, 프로세서는 검출된 시각적 피처에 따라 선택된 시각적 객체와 연관된 복수의 썸네일 크기들로부터 레이아웃에 포함시키기 위해 선택된 시각적 객체에 대한 썸네일 크기의 선택을 통해 레이아웃을 생성하도록 구성된다.
또 다른 양태에서, 레이아웃 생성은 복수의 시각적 객체들로부터 모션 썸네일을 생성하도록 프로세서가 구성되는 것을 포함할 수 있다.
레이아웃은 각각의 인접한 시퀀스들의 쌍이 서로 다른, 복수의 시퀀스들로 구성되는 복수의 행들을 포함할 수 있다.
또 다른 양태에서, 레이아웃 생성은 레이아웃의 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖는지 여부를 결정하고, 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖지 않는다는 결정에 응답하여, 마지막 시퀀스를 재생성 하도록 프로세서가 구성되는 것을 포함할 수 있다.
컴퓨터 프로그램 제품은 시각적 객체들의 썸네일들을 제공하기 위한 프로그램 코드가 저장된 컴퓨터 판독가능 저장 매체를 포함한다. 프로그램 코드는 프로세서에 의해 동작들을 수행하도록 실행 가능하다. 이 동작들은 프로세서를 사용하여 복수의 시각적 객체들에 대한 종횡비를 결정하는 동작과, 프로세서를 사용하여 시각적 객체의 종횡비에 기반하여 복수의 시각적 객체들 각각을 복수의 미리 결정된 썸네일 크기들로부터 선택된 썸네일 크기와 연관시키는 동작과, 프로세서를 사용하여 복수의 시각적 객체들 내에서 시각적 피처가 검출되는지 여부를 결정하는 동작을 포함할 수 있다. 이 동작들은 프로세서를 사용하여 시각적 객체들의 시간적 순서, 시각적 피처의 검출, 및 시각적 객체들과 연관된 썸네일 크기들에 기반하여 복수의 시각적 객체들의 썸네일들을 디스플레이하기 위한 레이아웃을 생성하는 동작을 포함할 수 있다. 이 동작들은 스크린과 프로세서를 사용하여, 레이아웃에 따라 썸네일들을 디스플레이하는 동작을 포함할 수 있다.
레이아웃을 생성하는 것은, 선택된 시각적 객체의 메타데이터에 따라 선택된 시각적 객체와 연관된 복수의 썸네일 크기들로부터, 레이아웃에 포함시키기 위해 선택된 시각적 객체에 대한 썸네일 크기를 선택하는 것을 포함할 수 있다.
일 양태에서, 검출된 시각적 피처를 포함하는 선택된 시각적 객체의 영역은, 레이아웃을 사용하여 디스플레이 되는 선택된 시각적 객체에 대한 썸네일 내에서 시각적으로 표현된다.
레이아웃을 생성하는 것은 검출된 시각적 피처에 따라 선택된 시각적 객체와 연관된 복수의 썸네일 크기들로부터, 레이아웃에 포함시키기 위해 선택된 시각적 객체에 대한 썸네일 크기를 선택하는 것을 포함할 수 있다.
레이아웃을 생성하는 것은 복수의 시각적 객체들로부터 모션 썸네일을 생성하는 것을 포함할 수 있다.
다른 양태에서, 레이아웃은 각각의 인접한 시퀀스들의 쌍이 서로 다른, 복수의 시퀀스들로 구성되는 복수의 행들을 포함한다.
일부 실시 예들에서, 전자 장치를 동작시키기 위한 방법은 복수의 시각적 객체들 각각에 대한 종횡비를 결정하는 단계와, 종횡비에 기반하여 복수의 시각적 객체들 각각에 대한 썸네일 크기를 결정하는 단계와, 썸네일 크기에 기반하여 복수의 시각적 객체들의 썸네일들에 대한 레이아웃을 생성하는 단계와, 레이아웃에 따라 복수의 시각적 객체들의 썸네일들을 디스플레이하는 단계를 포함한다. 다른 실시 예들에서, 이 방법은 복수의 시각적 객체들 각각에 대한 메타데이터에 따라 복수의 시각적 객체들 각각과 연관된 복수의 미리 결정된 썸네일 크기들로부터, 레이아웃에 포함될 복수의 시각적 객체들 각각에 대한 썸네일 크기를 선택하는 단계를 포함한다. 다른 실시 예들에서, 이 방법은 복수의 시각적 객체들 각각의 시각적 피처에 따라 복수의 시각적 객체들 각각과 연관된 복수의 미리 결정된 썸네일 크기들로부터, 레이아웃에 포함될 복수의 시각적 객체들 각각에 대한 썸네일 크기를 선택하는 단계를 포함한다. 다른 실시 예들에서, 이 방법은 복수의 시각적 객체들 각각으로부터 모션 썸네일을 생성하는 것을 포함한다.
일부 실시 예들에서, 전자 장치는 스크린 및 이 스크린에 커플링된 프로세서를 포함하며, 이 프로세서는, 복수의 시각적 객체들 각각에 대한 종횡비를 결정하고, 종횡비에 기반하여 복수의 시각적 객체들 각각에 대한 썸네일 크기를 결정하고, 썸네일 크기에 기반하여 복수의 시각적 객체들의 썸네일들에 대한 레이아웃을 생성하도록 구성된다. 스크린은 레이아웃에 따라 복수의 시각적 객체들의 썸네일들을 디스플레이 하도록 구성된다. 다른 실시 예들에서, 프로세서는 복수의 시각적 객체들 각각에 대한 메타데이터에 따라 복수의 시각적 객체들 각각과 연관된 복수의 미리 결정된 썸네일 크기들로부터, 레이아웃에 포함될 복수의 시각적 객체들 각각에 대한 썸네일 크기를 선택하도록 구성된다. 다른 실시 예들에서, 프로세서는 복수의 시각적 객체들 각각의 시각적 피처에 따라 복수의 시각적 객체들 각각과 연관된 복수의 미리 결정된 썸네일 크기들로부터, 레이아웃에 포함될 복수의 시각적 객체들 각각에 대한 썸네일 크기를 선택하도록 구성된다. 다른 실시 예들에서, 프로세서는 복수의 시각적 객체들 각각으로부터 모션 썸네일을 생성하도록 구성된다. 다른 실시 예들에서, 프로세서는 레이아웃의 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖는지 여부를 결정하고, 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖지 않는다는 결정에 응답하여, 마지막 시퀀스를 재생성하도록 더 구성된다.
일부 실시 예들에서, 전자 장치에 저장되는 프로그램 코드를 갖는 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서, 이 프로그램 코드는, 복수의 시각적 객체들 각각에 대한 종횡비를 결정하는 동작과, 종횡비에 기반하여 복수의 시각적 객체들 각각에 대한 썸네일 크기를 결정하는 동작과, 썸네일 크기에 기반하여 복수의 시각적 객체들의 썸네일들에 대한 레이아웃을 생성하는 동작과, 레이아웃에 따라 복수의 시각적 객체들의 썸네일들을 디스플레이하는 동작을 포함하는 동작들을 수행하도록 프로세서에 의해 실행 가능하다. 다른 실시 예들에서, 프로그램 코드는 복수의 시각적 객체들 각각에 대한 메타데이터에 따라 복수의 시각적 객체들 각각과 연관된 복수의 미리 결정된 썸네일 크기들로부터, 레이아웃에 포함될 복수의 시각적 객체들 각각에 대한 썸네일 크기를 선택하는 동작을 포함한다. 다른 실시 예들에서, 프로그램 코드는 복수의 시각적 객체들 각각의 시각적 피처에 따라 복수의 시각적 객체들 각각과 연관된 복수의 미리 결정된 썸네일 크기들로부터, 레이아웃에 포함될 복수의 시각적 객체들 각각에 대한 썸네일 크기를 선택하는 동작을 포함한다. 다른 실시 예들에서, 프로그램 코드는 복수의 시각적 객체들 각각으로부터 모션 썸네일을 생성하는 동작을 포함한다.
일부 실시 예들에서, 시각적 피처를 포함하는 복수의 시각적 객체들 각각의 영역은 레이아웃을 사용하여 디스플레이 되는 복수의 시각적 객체들 각각에 대한 썸네일 내에서 시각적으로 표현된다. 다른 실시 예들에서, 레이아웃은 각각의 인접한 시퀀스들의 쌍이 서로 다른, 복수의 시퀀스들로 구성되는 복수의 행들을 포함한다.
본 명세서에 제공된 발명 구성들의 설명은 예시의 목적을 위한 것이지 완전한 것으로 의도되지 않으며, 본 개시된 형태 및 실시 예로 한정되지 않는다. 본 명세서에서 사용된 용어는 발명 구성의 원리, 시장에서 발견되는 기술에 대한 실제 적용 또는 기술적 개선을 설명하고 및/또는 당업자가 본 명세서에 개시된 실시 예들을 이해할 수 있도록 선택되었다. 전술한 본 발명 구성의 범위 및 사상을 벗어나지 않는 범위 내에서의 수정 및 변형이 당업자에게는 명백할 수 있다. 따라서, 전술한 개시 이외의 이러한 특징 및 구현의 범위를 나타내는 이하의 청구범위가 참조되어야 한다.

Claims (21)

  1. 전자 장치의 동작 방법에 있어서,
    각각의 복수의 시각적 객체(visual object)들에 대한 종횡비(aspect ratio)를 결정하는 과정과,
    상기 종횡비에 기반하여 복수의 미리 결정된 썸네일 크기들로부터 선택된 썸네일 크기들의 서브 세트와 각각의 상기 복수의 시각적 객체들을 연관시키는 과정과,
    상기 복수의 시각적 객체들 내의 시각적 피처(feature)들 및 상기 시각적 피처들의 배향(orientation)을 검출함으로써 이미지 처리를 수행하는 과정과,
    상기 복수의 시각적 객체들의 시간적 순서(chronological order), 각각의 상기 복수의 시각적 객체들과 연관된 상기 썸네일 크기들의 서브 세트에 기반하여 레이아웃을 결정하는 과정과,
    상기 시각적 피처들의 배향에 기반하여 상기 썸네일 크기들의 서브 세트로부터 상기 레이아웃에 포함되는 각각의 상기 복수의 시각적 객체들에 대한 썸네일 크기를 선택하는 과정과,
    상기 썸네일 크기에 기반하여 상기 복수의 시각적 객체들의 썸네일들을 생성하는 과정과,
    상기 레이아웃에 따라 상기 복수의 시각적 객체들의 상기 썸네일들을 디스플레이 하는 과정을 포함하는 방법.
  2. 제1항에 있어서,
    상기 썸네일 크기를 결정하는 과정은,
    각각의 상기 복수의 시각적 객체들에 대한 메타데이터에 따라 상기 썸네일 크기들의 서브 세트로부터 상기 레이아웃에 포함되는 각각의 상기 복수의 시각적 객체들에 대한 상기 썸네일 크기를 선택하는 과정을 포함하는 방법.
  3. 제1항에 있어서,
    상기 썸네일 크기를 결정하는 과정은,
    각각의 상기 복수의 시각적 객체들의 시각적 피처(visual feature)에 따라 상기 썸네일 크기들의 서브 세트로부터 상기 레이아웃에 포함되는 각각의 상기 복수의 시각적 객체들에 대한 상기 썸네일 크기를 선택하는 과정을 포함하는 방법.
  4. 제1항에 있어서,
    상기 썸네일들을 생성하는 과정은, 각각의 상기 복수의 시각적 객체들로부터 모션 썸네일(motion thumbnail)을 생성하는 과정을 더 포함하는 방법.
  5. 제1항에 있어서,
    각각의 상기 복수의 시각적 객체들의 영역은, 상기 레이아웃을 이용하여 디스플레이 되는 각각의 상기 복수의 시각적 객체들에 대한 썸네일 내에서 시각적으로 표현되는(visible) 방법.
  6. 제1항에 있어서,
    상기 레이아웃은, 각각의 인접한 시퀀스들의 쌍이 서로 다른 복수의 시퀀스들로 구성되는(organized) 복수의 행(row)들을 포함하는 방법.
  7. 제6항에 있어서,
    상기 레이아웃의 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖는지 여부를 결정하는 과정과,
    상기 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖지 않는다는 결정에 응답하여 상기 마지막 시퀀스를 재생성하는 과정을 더 포함하는 방법.
  8. 전자 장치에 있어서,
    스크린; 및
    상기 스크린에 커플링되는 적어도 하나의 프로세서를 포함하며,
    상기 적어도 하나의 프로세서는,
    각각의 복수의 시각적 객체(visual object)들에 대한 종횡비(aspect ratio)를 결정하고,
    상기 종횡비에 기반하여 복수의 미리 결정된 썸네일 크기들로부터 선택된 썸네일 크기 들의 서브 세트와 각각의 상기 복수의 시각적 객체들을 연관시키고,
    상기 복수의 시각적 객체들 내의 시각적 피처(feature)들 및 상기 시각적 피처들의 배향(orientation)을 검출함으로써 이미지 처리를 수행하고,
    상기 복수의 시각적 객체들의 시간적 순서(chronological order), 각각의 상기 복수의 시각적 객체들과 연관된 상기 썸네일 크기들의 서브 세트에 기반하여 레이아웃을 결정하고,
    상기 시각적 피처들의 배향에 기반하여 상기 썸네일 크기들의 서브 세트로부터 상기 레이아웃에 포함되는 각각의 상기 복수의 시각적 객체들에 대한 썸네일 크기를 선택하고,
    상기 썸네일 크기에 기반하여 상기 복수의 시각적 객체들의 썸네일들을 생성하고,,
    상기 레이아웃에 따라 상기 복수의 시각적 객체들의 상기 썸네일들을 디스플레이 하도록 구성되는 전자 장치.
  9. 제8항에 있어서,
    상기 적어도 하나의 프로세서는,
    각각의 상기 복수의 시각적 객체들에 대한 메타데이터에 따라 상기 썸네일 크기들의 서브 세트로부터 상기 레이아웃에 포함되는 각각의 상기 복수의 시각적 객체들에 대한 상기 썸네일 크기를 선택하도록 더 구성되는 전자 장치.
  10. 제8항에 있어서,
    상기 적어도 하나의 프로세서는,
    각각의 상기 복수의 시각적 객체들의 시각적 피처(visual feature)에 따라 상기 썸네일 크기들의 서브 세트로부터 상기 레이아웃에 포함되는 각각의 상기 복수의 시각적 객체들에 대한 상기 썸네일 크기를 선택하도록 더 구성되는 전자 장치.
  11. 제8항에 있어서,
    상기 적어도 하나의 프로세서는,
    각각의 상기 복수의 시각적 객체들로부터 모션 썸네일(motion thumbnail)을 생성하도록 더 구성되는 전자 장치.
  12. 제8항에 있어서,
    각각의 상기 복수의 시각적 객체들의 영역은, 상기 레이아웃을 이용하여 디스플레이 되는 각각의 상기 복수의 시각적 객체들에 대한 썸네일 내에서 시각적으로 표현되는(visible) 전자 장치.
  13. 제8항에 있어서,
    상기 레이아웃은, 각각의 인접한 시퀀스들의 쌍이 서로 다른 복수의 시퀀스들로 구성되는(organized) 복수의 행(row)들을 포함하는 전자 장치.
  14. 제13항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 레이아웃의 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖는지 여부를 결정하고, 상기 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖지 않는다는 결정에 응답하여 상기 마지막 시퀀스를 재생성하도록 더 구성되는 전자 장치.
  15. 컴퓨터 판독가능 저장 매체에 저장되고 프로세서에 의해 실행 가능한 프로그램 코드를 포함하는 컴퓨터 프로그램에 있어서,
    각각의 복수의 시각적 객체(visual object)들에 대한 종횡비(aspect ratio)를 결정하는 동작;
    상기 종횡비에 기반하여 복수의 미리 결정된 썸네일 크기들로부터 선택된 썸네일 크기들의 서브 세트와 각각의 상기 복수의 시각적 객체들을 연관시키는 동작;
    상기 복수의 시각적 객체들 내의 시각적 피처(feature)들 및 상기 시각적 피처들의 배향(orientation)을 검출함으로써 이미지 처리를 수행하는 동작;
    상기 복수의 시각적 객체들의 시간적 순서(chronological order), 각각의 상기 복수의 시각적 객체들과 연관된 상기 썸네일 크기들의 서브 세트에 기반하여 레이아웃을 결정하는 동작;
    상기 시각적 피처들의 배향에 기반하여 상기 썸네일 크기들의 서브 세트로부터 상기 레이아웃에 포함되는 각각의 상기 복수의 시각적 객체들에 대한 썸네일 크기를 선택하는 동작;
    상기 썸네일 크기에 기반하여 상기 복수의 시각적 객체들의 썸네일들을 생성하는 동작; 및
    상기 레이아웃에 따라 상기 복수의 시각적 객체들의 상기 썸네일들을 디스플레이하는 동작을 포함하는 동작들을 수행하도록 구성된 상기 프로그램 코드를 포함하는 컴퓨터 프로그램.
  16. 제15항에 있어서,
    상기 썸네일 크기를 결정하는 동작은,
    각각의 상기 복수의 시각적 객체들에 대한 메타데이터에 따라 상기 썸네일 크기들의 서브 세트로부터 상기 레이아웃에 포함되는 각각의 상기 복수의 시각적 객체들에 대한 상기 썸네일 크기를 선택하는 동작을 포함하는 컴퓨터 프로그램.
  17. 제15항에 있어서,
    상기 썸네일 크기를 결정하는 동작은,
    각각의 상기 복수의 시각적 객체들의 시각적 피처(visual feature)에 따라 상기 썸네일 크기들의 서브 세트로부터 상기 레이아웃에 포함되는 각각의 상기 복수의 시각적 객체들에 대한 상기 썸네일 크기를 선택하는 동작을 포함하는 컴퓨터 프로그램.
  18. 제15항에 있어서,
    상기 썸네일들을 생성하는 동작은,
    각각의 상기 복수의 시각적 객체들로부터 모션 썸네일(motion thumbnail)을 생성하는 동작을 더 포함하는 컴퓨터 프로그램.
  19. 제15항에 있어서,
    각각의 상기 복수의 시각적 객체들의 영역은, 상기 레이아웃을 이용하여 디스플레이 되는 각각의 상기 복수의 시각적 객체들에 대한 썸네일 내에서 시각적으로 표현되는(visible) 컴퓨터 프로그램.
  20. 제15항에 있어서,
    상기 레이아웃은, 각각의 인접한 시퀀스들의 쌍이 서로 다른 복수의 시퀀스들로 구성되는(organized) 복수의 행(row)들을 포함하는 컴퓨터 프로그램.
  21. 제20항에 있어서,
    상기 프로그램 코드는,
    상기 레이아웃의 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖는지 여부를 결정하는 동작; 및
    상기 마지막 시퀀스가 허용 가능한 시퀀스 배치를 갖지 않는다는 결정에 응답하여 상기 마지막 시퀀스를 재생성하는 동작들을 더 수행하도록 구성되는 컴퓨터 프로그램.
KR1020187024158A 2016-03-17 2017-03-10 컴퓨팅 장치를 이용한 객체 관리 및 시각화 KR102317013B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/073,095 US10198147B2 (en) 2016-03-17 2016-03-17 Object management and visualization using a computing device
US15/073,095 2016-03-17
PCT/KR2017/002643 WO2017160028A1 (en) 2016-03-17 2017-03-10 Object management and visualization using a computing device

Publications (2)

Publication Number Publication Date
KR20180117619A KR20180117619A (ko) 2018-10-29
KR102317013B1 true KR102317013B1 (ko) 2021-10-25

Family

ID=59850949

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187024158A KR102317013B1 (ko) 2016-03-17 2017-03-10 컴퓨팅 장치를 이용한 객체 관리 및 시각화

Country Status (5)

Country Link
US (1) US10198147B2 (ko)
EP (1) EP3408752B1 (ko)
KR (1) KR102317013B1 (ko)
CN (1) CN108780377B (ko)
WO (1) WO2017160028A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589184B1 (en) 2012-08-16 2017-03-07 Groupon, Inc. Method, apparatus, and computer program product for classification of documents
CN109063085B (zh) * 2018-07-26 2021-07-13 创新先进技术有限公司 缩略图生成方法和装置
US11314402B2 (en) * 2019-06-01 2022-04-26 Apple lnc. Displaying assets in multiple zoom levels of a media library
JP7379921B2 (ja) * 2019-08-09 2023-11-15 ブラザー工業株式会社 プログラム
CN113918766B (zh) * 2021-08-12 2023-10-13 荣耀终端有限公司 视频缩略图的显示方法、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150002527A1 (en) 2013-07-01 2015-01-01 Facebook, Inc. Flexible Image Layout
US20160063672A1 (en) 2014-08-29 2016-03-03 Fu Tai Hua Industry (Shenzhen) Co., Ltd. Electronic device and method for generating thumbnail picture

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4325075B2 (ja) * 2000-04-21 2009-09-02 ソニー株式会社 データオブジェクト管理装置
US8056013B2 (en) * 2005-05-13 2011-11-08 Hewlett-Packard Development Company, L.P. Method for arranging graphic assemblies
US8161377B2 (en) * 2005-03-01 2012-04-17 Hewlett-Packard Development Company, L.P. Arranging images on pages of an album
US7725837B2 (en) * 2005-03-31 2010-05-25 Microsoft Corporation Digital image browser
US20070209025A1 (en) 2006-01-25 2007-09-06 Microsoft Corporation User interface for viewing images
US7620267B2 (en) * 2006-04-28 2009-11-17 Hewlett-Packard Development Company, L.P. Collage generation with occlusion costing
US8078603B1 (en) * 2006-10-05 2011-12-13 Blinkx Uk Ltd Various methods and apparatuses for moving thumbnails
US8634674B2 (en) * 2007-09-11 2014-01-21 Vistaprint Schweiz Gmbh Dynamic sizing and positioning of multiple images
US8862986B2 (en) 2007-10-01 2014-10-14 Hewlett-Packard Development Company, L.P. Arranging graphic objects on a page with relative position based control
JP5033580B2 (ja) * 2007-10-31 2012-09-26 株式会社リコー 画像処理装置及び画像処理方法
JP2009193283A (ja) * 2008-02-14 2009-08-27 Fuji Xerox Co Ltd 文書画像処理装置、及び文書画像処理プログラム
US8009921B2 (en) * 2008-02-19 2011-08-30 Xerox Corporation Context dependent intelligent thumbnail images
JP5207940B2 (ja) * 2008-12-09 2013-06-12 キヤノン株式会社 画像選択装置及びその制御方法
JP5326910B2 (ja) * 2009-01-20 2013-10-30 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US9152292B2 (en) * 2009-02-05 2015-10-06 Hewlett-Packard Development Company, L.P. Image collage authoring
US9383916B2 (en) * 2009-09-30 2016-07-05 Microsoft Technology Licensing, Llc Dynamic image presentation
JP5489636B2 (ja) * 2009-10-19 2014-05-14 キヤノン株式会社 画像表示装置、画像表示方法及びプログラム
US8976198B2 (en) * 2009-10-22 2015-03-10 Collage.Com, Llc Method, system and computer program product for creating shape collages
US8863025B2 (en) 2010-08-26 2014-10-14 Dell Products L.P. System for enabling a user to view visual content on an information handling system
JP2012168790A (ja) 2011-02-15 2012-09-06 Brother Ind Ltd 表示プログラム、及び、表示装置
CN102650985B (zh) * 2011-02-25 2014-09-10 易搜比控股公司 一种显示画面的动态排版方法
KR101271539B1 (ko) * 2011-06-03 2013-06-05 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
US9269323B2 (en) 2011-10-28 2016-02-23 Microsoft Technology Licensing, Llc Image layout for a display
CN102622395B (zh) * 2011-12-20 2015-04-22 深信服网络科技(深圳)有限公司 虚拟化应用辅助访问网页的方法、服务器及客户端
US20130311940A1 (en) 2012-05-15 2013-11-21 Salvadore V. Ragusa System of Organizing Digital Images
US9396518B2 (en) 2012-05-15 2016-07-19 Salvadore Ragusa System of organizing digital images
US20140096029A1 (en) * 2012-09-28 2014-04-03 Interactive Memories, Inc. Method for Dynamic Bundling of Graphics Editing Tools presented to Clients engaged in Image-Based Project Creation through an Electronic Interface
US9514536B2 (en) 2012-10-10 2016-12-06 Broadbandtv, Corp. Intelligent video thumbnail selection and generation
KR101990089B1 (ko) * 2012-10-16 2019-06-17 삼성전자주식회사 썸네일 이미지를 생성하기 위한 방법 및 그 전자 장치
KR101414195B1 (ko) * 2012-11-26 2014-07-01 네이버 주식회사 복수의 아이템들을 공간 내에 자동으로 배치하는 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US9183215B2 (en) 2012-12-29 2015-11-10 Shutterstock, Inc. Mosaic display systems and methods for intelligent media search
US9996957B2 (en) 2012-12-30 2018-06-12 Shutterstock, Inc. Mosaic display system using open and closed rectangles for placing media files in continuous contact
KR102158098B1 (ko) 2013-01-07 2020-09-22 삼성전자주식회사 이미지 인식을 이용한 이미지 레이아웃 방법 및 장치
US9582610B2 (en) * 2013-03-15 2017-02-28 Microsoft Technology Licensing, Llc Visual post builder
US20160104052A1 (en) * 2014-10-10 2016-04-14 Qualcomm Incorporated Text-based thumbnail generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150002527A1 (en) 2013-07-01 2015-01-01 Facebook, Inc. Flexible Image Layout
US20160063672A1 (en) 2014-08-29 2016-03-03 Fu Tai Hua Industry (Shenzhen) Co., Ltd. Electronic device and method for generating thumbnail picture

Also Published As

Publication number Publication date
US10198147B2 (en) 2019-02-05
CN108780377A (zh) 2018-11-09
EP3408752B1 (en) 2021-08-04
KR20180117619A (ko) 2018-10-29
US20170269815A1 (en) 2017-09-21
CN108780377B (zh) 2021-07-20
WO2017160028A1 (en) 2017-09-21
EP3408752A1 (en) 2018-12-05
EP3408752A4 (en) 2019-02-20

Similar Documents

Publication Publication Date Title
KR102317013B1 (ko) 컴퓨팅 장치를 이용한 객체 관리 및 시각화
JP6479142B2 (ja) ユーザ介入なくレイアウトに従った画像識別及び編成
US11042690B2 (en) Adaptive column selection
US10620816B2 (en) System for displaying elements of a scrollable list
KR102025615B1 (ko) 전자 이미지 내 컨텐츠의 식별
US9582612B2 (en) Space constrained ordered list previews
JP6266656B2 (ja) 画像をサイズ変更するためのシステム及び方法
US20130249812A1 (en) Interactive visual representation of points of interest data
WO2016193679A1 (en) Method and system for visualizing or interacting with array data using limited-resolution display devices
TW201415347A (zh) 縮放螢幕畫面的方法、電子裝置及電腦程式產品
US11269950B2 (en) Analysis for framework assessment
US11966689B2 (en) Responsive user interface system
US11727080B2 (en) Weighted panels and panel group for responsive design system
CN106708478B (zh) 滚动视图显示方法及装置
US10534505B2 (en) Technique for preventing unnecessary overlap of user interfaces
EP2843624B1 (en) Image processing device, image processing device control method, program, and information storage medium
CN109885369B (zh) 图像联动方法及装置
CN110688185B (zh) 一种页面显示方法、装置及电子设备
CN112883210B (zh) 一种多媒体数据的筛选方法、装置、智能终端及存储介质
EP2808809A2 (en) Method and apparatus for interactive review of a dataset
US10402783B2 (en) Method of automatically re-organizing structured data in a reporting system based on screen size by executing computer-executable instructions stored on a non-transitory computer-readable medium
JP2015018542A (ja) 複数のデータセットの対話型レビューを行うための方法および装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant