KR20210144650A - 디지털 지도에서 이미지 보기 - Google Patents

디지털 지도에서 이미지 보기 Download PDF

Info

Publication number
KR20210144650A
KR20210144650A KR1020217006325A KR20217006325A KR20210144650A KR 20210144650 A KR20210144650 A KR 20210144650A KR 1020217006325 A KR1020217006325 A KR 1020217006325A KR 20217006325 A KR20217006325 A KR 20217006325A KR 20210144650 A KR20210144650 A KR 20210144650A
Authority
KR
South Korea
Prior art keywords
images
image
user interface
map
input
Prior art date
Application number
KR1020217006325A
Other languages
English (en)
Other versions
KR102465282B1 (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 KR20210144650A publication Critical patent/KR20210144650A/ko
Application granted granted Critical
Publication of KR102465282B1 publication Critical patent/KR102465282B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/54Browsing; Visualisation therefor
    • 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]
    • 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/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/04842Selection of displayed objects or displayed text elements
    • 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
    • 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/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

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)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 명세서에 설명된 구현은 지도 부분 및 그리드 부분을 포함하는 사용자 인터페이스를 디스플레이하기 위한 방법, 장치 및 컴퓨터 판독 가능 매체에 관한 것이다. 방법은 디지털 지도의 제1 영역과 매칭하는 제1 이미지 세트를 식별하는 단계; 디지털 지도의 제1 영역에 대응하는 지도 부분 및 제1 이미지 세트를 포함하는 그리드 부분을 포함하는 사용자 인터페이스가 디스플레이되게 하는 단계를 포함한다. 방법은 디지털 지도의 제2 영역을 나타내는 사용자 입력을 수신하는 단계를 더 포함한다. 방법은 디지털 지도의 제2 영역과 매칭하는 제2 이미지 세트를 식별하는 단계; 사용자 인터페이스를 업데이트하여, 업데이트된 사용자 인터페이스의 지도 부분이 디지털 지도의 제2 영역에 대응하고, 업데이트된 사용자 인터페이스의 그리드 부분이 제2 이미지 세트의 이미지를 포함하도록 한다.

Description

디지털 지도에서 이미지 보기
본 명세서는 디지털 지도에서 이미지 보기에 관한 것이다.
스마트 폰 또는 기타 디지털 카메라와 같은 장치 사용자는 라이브러리에 많은 사진과 비디오를 캡처하고 저장한다. 사용자는 이러한 라이브러리를 사용하여 생일, 결혼식, 휴가, 여행 등과 같은 다양한 이벤트를 회상하기 위해 사진과 비디오를 볼 수 있다. 사진을 보는 한 가지 방법은 사용자가 다른 장소로 쉽게 이동하여 그곳에서 찍은 사진을 볼 수 있도록 지도에서 보는 것이다.
본 명세서에 제공된 배경 설명은 일반적으로 본 개시 내용의 맥락을 제시하기 위한 것이다. 이 배경 섹션에 설명된 한도 내에서 현재 지명된 발명자의 워크분만 아니라 출원 당시에 선행 기술로 달리 자격이 없을 수 있는 설명의 양태는 명시적이거나 묵시적으로 본 개시에 대한 이전 기술로 인정되지 않는다.
본 명세서에 설명된 구현은 지도 부분 및 그리드 부분을 포함하는 사용자 인터페이스를 디스플레이하기 위한 방법, 장치 및 컴퓨터 판독 가능 매체에 관한 것이다. 일부 구현에서, 사용자 인터페이스는 분할 화면 인터페이스일 수 있다.
일부 구현에서, 컴퓨터로 구현되는 방법은 제1 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제1 영역과 매칭하는 제1 이미지 세트를 식별하는 단계를 포함한다. 방법은 디지털 지도의 제1 영역에 대응하는 지도 부분 및 제1 이미지 세트의 하나 이상의 이미지를 포함하는 그리드 부분을 포함하는 사용자 인터페이스가 디스플레이되게 하는 단계를 더 포함한다. 방법은 제1 영역과 상이한 디지털 지도의 제2 영역을 나타내는 사용자 입력을 수신하는 단계를 더 포함한다. 방법은 이미지의 제2 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제2 영역과 매칭하는 이미지의 제2 세트를 식별하는 단계를 더 포함하며, 여기서 제1 세트 및 제2 세트는 상이한 세트이다. 방법은 사용자 인터페이스를 업데이트하는 단계를 더 포함하며, 여기서, 업데이트 후, 업데이트된 사용자 인터페이스의 지도 부분은 디지털 지도의 제2 영역에 대응하고 업데이트된 사용자 인터페이스의 그리드 부분은 제2 이미지 세트의 하나 이상의 이미지를 포함한다.
일부 구현에서, 사용자 입력을 수신하는 것은 팬 입력, 줌인 입력 또는 줌아웃 입력 중 하나를 수신하는 것을 포함할 수 있다. 일부 구현에서, 사용자 인터페이스의 지도 부분은 사용자 인터페이스의 그리드 부분에도 포함되는 제1 이미지 세트의 특정 이미지를 포함하는 이미지 미리보기를 포함할 수 있다. 일부 구현에서, 이미지 미리보기는 특정 이미지와 관련된 위치에 대한 지도 부분의 위치에 고정된다.
일부 구현에서, 방법은 사용자 인터페이스의 그리드 부분을 참조하여 스크롤 입력을 수신하는 단계를 포함할 수 있으며, 스크롤 입력은 방향을 나타낸다. 상기 방법은 스크롤 입력을 수신하는 것에 응답하여, 사용자 인터페이스의 그리드 부분을 업데이트하고, 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 그리드 부분과 동기적으로 업데이트되게 하는 단계를 포함할 수 있으며, 여기서 상이한 이미지는 사용자 인터페이스의 업데이트된 그리드 부분에 있다.
일부 구현에서, 사용자 인터페이스의 지도 부분은 디지털 지도의 제1 영역의 각각의 위치에 디스플레이된 복수의 블롭을 더 포함할 수 있으며, 각각의 블롭은 각각의 위치와 연관된 제1 이미지 세트의 하나 이상의 이미지에 대응한다. 일부 구현들에서, 방법은 사용자 인터페이스의 지도 부분에서 탭 입력을 수신하는 단계를 더 포함할 수 있으며, 탭 입력은 복수의 블롭 중 특정 블롭의 선택을 나타낸다. 방법은 탭 입력을 수신하는 것에 응답하여, 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 업데이트되도록 한다. 상이한 이미지는 특정 블롭에 대응하는 하나 이상의 이미지로부터 이미지일 수 있다. 방법은 사용자 인터페이스의 그리드 부분이 지도 부분과 동기적으로 업데이트되도록하는 단계를 더 포함할 수 있으며, 업데이트된 그리드 부분은 상이한 이미지를 포함한다.
일부 구현에서, 제1 이미지 세트의 각 이미지는 각각의 타임스탬프와 연관될 수 있다. 방법은 이미지 미리보기의 특정 이미지와 연관된 타임스탬프와 임계 시간 차이 내에 있는 타임스탬프와 연관된 이미지를 식별하고, 식별된 이미지 중 하나 이상에 대한 각각의 아이콘을 표시하는 단계를 더 포함할 수 있다. 각각의 아이콘은 식별된 이미지의 대응하는 이미지와 연관된 디지털 지도의 제1 영역의 위치에 표시될 수 있다.
일부 구현은 지도 부분 및 그리드 부분을 포함하는 사용자 인터페이스를 디스플레이하기 위한 컴퓨팅 장치와 관련된다. 일부 구현에서, 컴퓨팅 장치는 프로세서 및 저장된 명령어와 함께 프로세서에 연결된 메모리를 포함할 수 있다. 프로세서에 의해 실행되는 명령어는 프로세서로 하여금 동작들을 수행하도록 하며, 동작들은, 제1 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제1 영역과 매칭하는 제1 이미지 세트를 식별하는 동작; 디지털 지도의 제1 영역에 대응하는 지도 부분 및 제1 이미지 세트의 하나 이상의 이미지를 포함하는 그리드 부분을 포함하는 사용자 인터페이스가 디스플레이되게 하는 동작; 제1 영역과는 상이한 디지털 지도의 제2 영역을 나타내는 사용자 입력을 수신하는 동작; 제2 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제2 영역과 매칭하는 제2 이미지 세트를 식별하는 동작 -제1 세트 및 제2 세트는 상이한 세트임-; 그리고 사용자 인터페이스를 업데이트하는 동작을 포함하며, 상기 업데이트 이후에, 업데이트된 사용자 인터페이스의 지도 부분은 디지털 지도의 제2 영역에 대응하고, 업데이트된 사용자 인터페이스의 그리드 부분은 제2 이미지 세트의 하나 이상의 이미지를 포함할 수 있다.
일부 구현에서, 상기 동작들은, 사용자 인터페이스의 그리드 부분을 참조하여 스크롤 입력을 수신하는 동작 -스크롤 입력은 방향을 나타냄-; 그리고 스크롤 입력을 수신하는 것에 응답하여, 사용자 인터페이스의 그리드 부분을 업데이트하고 그리고 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 업데이트되도록 하는 동작을 더 포함하며, 상이한 이미지는 사용자 인터페이스의 업데이트된 그리드 부분에 있다.
일부 구현에서, 사용자 인터페이스의 지도 부분은 디지털 지도의 제1 영역의 각각의 위치에 디스플레이된 복수의 블롭(blob)을 포함하는 히트맵을 더 포함할 수 있다. 각각의 블롭은 각각의 위치와 연관된 제1 이미지 세트 내의 하나 이상의 이미지에 대응한다.
일부 구현에서, 상기 동작들은, 사용자 인터페이스의 지도 부분에서 탭 입력을 수신하는 동작을 더 포함할 수 있으며, 상기 탭 입력은 복수의 블롭 중 특정 블롭의 선택을 나타낸다. 상기 동작들은 탭 입력을 수신하는 것에 응답하여, 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 업데이트되도록 하는 동작을 더 포함할 수 있다. 상이한 이미지는 특정 블롭에 대응하는 하나 이상의 이미지로부터의 이미지이다. 상기 동작들은 사용자 인터페이스의 그리드 부분이 업데이트되도록 하는 동작을 더 포함할 수 있으며, 업데이트된 그리드 부분은 상이한 이미지를 포함한다.
일부 구현에서, 제1 이미지 세트의 각 이미지는 각각의 타임스탬프와 연관될 수 있다. 일부 구현에서, 상기 동작들은, 이미지 미리보기의 특정 이미지와 연관된 타임스탬프와 임계 시간 차이 내에 있는 타임스탬프와 연관된 이미지를 식별하는 동작; 그리고 식별된 이미지 중 하나 이상에 대한 각각의 아이콘을 디스플레이하는 동작을 더 포함할 수 있으며, 각각의 아이콘은 식별된 이미지 중 해당 이미지와 연관된 디지털 지도의 제1 영역의 위치에 디스플레이된다.
일부 구현은 프로세서에 의해 실행될 때 프로세서로 하여금 동작들을 수행하게 하는 명령어가 저장된 비-일시적 컴퓨터 판독 가능 매체에 관한 것이며, 상기 동작들은, 제1 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제1 영역과 매칭하는 제1 이미지 세트를 식별하는 동작; 디지털 지도의 제1 영역에 대응하는 지도 부분 및 제1 이미지 세트의 하나 이상의 이미지를 포함하는 그리드 부분을 포함하는 사용자 인터페이스가 디스플레이되게 하는 동작; 제1 영역과는 상이한 디지털 지도의 제2 영역을 나타내는 사용자 입력을 수신하는 동작; 제2 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제2 영역과 매칭하는 제2 이미지 세트를 식별하는 동작 -제1 세트 및 제2 세트는 상이한 세트임-; 그리고 사용자 인터페이스를 업데이트하는 동작을 포함하며, 상기 업데이트 이후에, 업데이트된 사용자 인터페이스의 지도 부분은 디지털 지도의 제2 영역에 대응하고, 업데이트된 사용자 인터페이스의 그리드 부분은 제2 이미지 세트의 하나 이상의 이미지를 포함한다. 일부 구현에서, 사용자 입력을 수신하는 동작은 팬 입력, 줌인 입력 또는 줌아웃 입력 중 하나를 수신하는 것을 포함할 수 있다.
일부 구현에서, 사용자 인터페이스의 지도 부분은 제1 이미지 세트에 특정 이미지를 포함하는 이미지 미리보기를 포함할 수 있다. 일부 구현에서, 이미지 미리보기는 특정 이미지와 연관된 위치에 대한 지도 부분의 위치에 고정될 수 있다.
일부 구현에서, 상기 동작들은, 사용자 인터페이스의 그리드 부분을 참조하여 스크롤 입력을 수신하는 동작 -스크롤 입력은 방향을 나타냄-; 그리고 스크롤 입력을 수신하는 것에 응답하여, 사용자 인터페이스의 그리드 부분을 업데이트하고 그리고 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 그리드 부분과 동기적으로 업데이트되도록 하는 동작을 더 포함할 수 있으며, 상이한 이미지는 사용자 인터페이스의 업데이트된 그리드 부분에 있다.
일부 구현에서, 사용자 인터페이스의 지도 부분은 디지털 지도의 제1 영역의 각각의 위치에 디스플레이되는 복수의 블롭을 더 포함할 수 있다. 각각의 블롭은 각각의 위치와 연관된 제1 이미지 세트의 하나 이상의 이미지에 대응할 수 있다.
일부 구현에서, 동작들은 사용자 인터페이스의 지도 부분에서 탭 입력을 수신하는 것을 더 포함할 수 있으며, 탭 입력은 복수의 블롭 중 특정 블롭의 선택을 표시한다. 상기 동작들은, 사용자 인터페이스의 지도 부분에서 탭 입력을 수신하는 동작을 더 포함할 수 있으며, 상기 탭 입력은 복수의 블롭 중 특정 블롭의 선택을 나타낸다. 동작들은 탭 입력을 수신하는 것에 응답하여, 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 업데이트되게 하는 동작을 더 포함할 수 있으며, 상이한 이미지는 특정 블롭에 대응하는 하나 이상의 이미지로부터의 이미지이다. 동작들은 사용자 인터페이스의 그리드 부분이 지도 부분과 동기화되어 업데이트되게 하는 동작을 더 포함할 수 있으며, 업데이트된 그리드 부분은 상이한 이미지를 포함한다.
일부 구현에서, 동작들은 이미지 미리보기의 특정 이미지와 연관된 타임스탬프와 임계 시간 차이 내에 있는 타임스탬프와 연관된 이미지를 식별하는 동작; 그리고 식별된 이미지 중 하나 이상에 대한 각각의 아이콘을 디스플레이하는 동작을 더 포함할 수 있으며, 각각의 아이콘은 식별된 이미지 중 해당 이미지와 연관된 디지털 지도의 제1 영역의 위치에 디스플레이된다.
도 1은 본 명세서에 설명된 하나 이상의 구현에 사용될 수 있는 예시적인 네트워크 환경의 블록도이다.
도 2는 일부 구현에 따른 예시적인 방법을 예시하는 흐름도이다.
도 3은 일부 구현에 따른 예시적인 사용자 인터페이스를 도시한다.
도 4a-4c는 각각 일부 구현에 따른 예시적인 사용자 인터페이스를 도시한다.
도 5는 여기에 설명된 하나 이상의 구현을 위해 사용될 수 있는 예시적인 장치의 블록도이다.
본 개시는 디지털 지도를 포함하는 지도 부분 및 사용자의 이미지 라이브러리로부터의 하나 이상의 이미지를 포함하는 그리드 부분이 제공되는 대화형 분할 화면 사용자 인터페이스에 관한 것이다. 지도 부분은 시각화, 예를 들면, 다양한 위치와 관련된 사용자 이미지 라이브러리의 이미지 수를 나타내는 다양한 모양 및/또는 색상의 블롭이 포함된 히트맵을 포함한다.
사용자 인터페이스는 사용자가 지도 부분을 참조하여 입력을 제공함으로써 디지털 지도의 특정 위치로 이동하기 위해 이동, 확대/축소 등과 같은 동작(작업)을 수행할 수 있도록 한다. 이러한 동작에 응답하여, 그리드 부분은 지도 부분의 지리적 영역에 대응하는 이미지를 표시(디스플레이)하도록 업데이트된다. 사용자 인터페이스는 또한 사용자가 그리드 부분을 스크롤하여 상이한 이미지를 볼 수 있도록하며, 이에 응답하여 지도 부분이 이미지 미리보기(image preview)를 표시하도록 업데이트된다. 일부 구현에서, 지도 부분과 그리드 부분은 동기적으로 업데이트된다. 일부 구현에서, 지도 부분은 또한 특정 기간, 예를 들어 하루 동안 촬영된 사진에 대한 아이콘을 포함한다. 사용자는 아이콘을 탭하여 그날의 이미지를 볼 수 있다.
사용자 인터페이스의 동기(동기적인, 동기화) 업데이트는 사용자의 이미지 라이브러리에 있는 이미지와 관련된 위치 색인(인덱스)을 생성하고 데이터베이스에 저장함으로써 가능하다. 또한, 메모리 내 캐싱은 히트맵을 포함하는 사용자 인터페이스의 생성에 활용될 수 있다. 설명된 구현은 위치 및/또는 이미지와 관련된 타임스탬프별로 이미지를 탐색할 수 있는 직관적이고 편리한 사용자 인터페이스를 제공한다. 사용자가 예를 들어 터치 또는 음성 입력에 의해 특정 위치와 관련된 이미지를 직접 볼 수 있도록 함으로써, 사용자가 타이핑한 입력을 입력하는 데 필요한 계산 리소스(자원)가 보존된다. 예를 들어, 지도를 'San Francisco(샌프란시스코)'로 이동(내비게이팅)하는 것과 관련된 계산 부하는 타이핑된 입력 '샌프란시스코'을 수신하는 것과 관련된 것보다 낮을 수 있다.
도 1은 본 명세서에 설명된 일부 구현에서 사용될 수 있는 예시적인 네트워크 환경(100)의 블록도를 도시한다. 일부 구현에서, 네트워크 환경(100)은 하나 이상의 서버 시스템, 예를 들어 도 1의 예의 서버 시스템(102)을 포함한다. 서버 시스템(102)은 예를 들어 네트워크(130)와 통신할 수 있다. 서버 시스템(102)은 서버 장치(104) 및 데이터베이스(106) 또는 다른 저장 장치를 포함할 수 있다. 일부 구현에서, 서버 장치(104)는 이미지 관리 애플리케이션(156b) 및 디지털 지도 애플리케이션(158b)을 제공할 수 있다. 도 1 및 나머지 도면에서, 참조 번호 뒤의 문자, 예를 들어 "156a"는 특정 참조 번호를 갖는 요소에 대한 참조를 나타낸다. 다음 문자가 없는 텍스트의 참조 번호(예: "156")는 해당 참조 번호를 포함하는 요소의 실시 예에 대한 일반적인 참조를 나타낸다.
네트워크 환경(100)은 또한 네트워크(130)를 통해 서로 및/또는 서버 시스템(102)과 통신할 수 있는 하나 이상의 클라이언트 장치, 예를 들어 클라이언트 장치(120, 122, 124, 126)를 포함할 수 있다. 네트워크(130)는 인터넷, 근거리 통신망(LAN), 무선 네트워크, 스위치 또는 허브 연결 중 하나 이상을 포함하는 임의의 유형의 통신 네트워크일 수 있다. 일부 구현에서, 네트워크(130)는 예를 들어 피어-투-피어(P2P) 무선 프로토콜(예를 들어, 블루투스®, Wi-Fi 다이렉트 등) 등을 사용하는 장치 간의 피어-투-피어 통신을 포함할 수 있다. 2 개의 클라이언트 장치(120 및 122) 사이의 피어-투-피어 통신의 한 예는 화살표(132)로 표시된다.
쉽게 설명할 수 있도록, 도 1은 서버 시스템(102), 서버 장치(104), 데이터베이스(106)에 대한 하나의 블록을 나타내고, 클라이언트 장치(120, 122, 124 및 126)에 대한 4 개의 블록을 나타낸다. 블록(102, 104, 106)은 다중 시스템, 서버 장치 및 네트워크 데이터베이스를 나타낼 수 있으며, 블록은 도시된 것과 다른 구성으로 제공될 수 있다. 예를 들어, 서버 시스템(102)은 네트워크(130)를 통해 다른 서버 시스템과 통신할 수 있는 다중 서버 시스템을 나타낼 수 있다. 일부 구현에서, 서버 시스템(102)은 예를 들어 클라우드 호스팅 서버를 포함할 수 있다. 일부 예에서, 데이터베이스(106) 및/또는 다른 저장 장치는 서버 장치(104)와 분리되고 네트워크(130)를 통해 서버 장치(104) 및 다른 서버 시스템과 통신할 수 있는 서버 시스템 블록(들)에 제공될 수 있다.
또한 클라이언트 장치의 수에는 제한이 없다. 각 클라이언트 장치는 데스크톱 컴퓨터, 랩톱 컴퓨터, 휴대용 또는 모바일 장치, 휴대폰, 스마트 폰, 태블릿 컴퓨터, 텔레비전, TV 셋톱 박스 또는 엔터테인먼트 장치, 웨어러블 장치(예: 디스플레이 안경 또는 고글, 손목 시계, 헤드셋, 완장, 보석류 등), PDA(Personal Digital Assistant), 미디어 플레이어, 게임 장치 등과 같은 모든 유형의 전자 장치가 될 수 있다. 일부 클라이언트 장치는 데이터베이스(106) 또는 다른 저장소(스토리지)와 유사한 로컬 데이터베이스를 가질 수도 있다. 일부 구현에서, 네트워크 환경(100)은 도시된 모든 컴포넌트를 갖지 않을 수 있고 및/또는 여기에 설명된 것 대신에 또는 이에 추가하여 다른 유형의 요소를 포함하는 다른 요소를 가질 수 있다.
다양한 구현에서, 최종 사용자(U1, U2, U3 및 U4)는 각각의 클라이언트 장치(120, 122, 124 및 126)를 사용하여 서버 시스템(102) 및/또는 서로 통신할 수 있다. 일부 예에서, 사용자(U1, U2, U3 및 U4)는 각각의 클라이언트 장치 및/또는 서버 시스템(102)에서 실행되는 애플리케이션을 통해 및/또는 네트워크 서비스, 예를 들어, 소셜 네트워크 서비스 또는 서버 시스템 (102)에서 구현되는 다른 유형의 네트워크 서비스를 통해 서로 상호 작용할 수 있다. 예를 들어, 각각의 클라이언트 장치(120, 122, 124 및 126)는 하나 이상의 서버 시스템, 예를 들어 서버 시스템(102)과 데이터를 주고 받을 수 있다.
일부 구현에서, 서버 시스템(102)은 각 클라이언트 장치가 서버 시스템(102) 및/또는 네트워크 서비스에 업로드된 통신된 콘텐츠 또는 공유된 콘텐츠를 수신할 수 있도록 적절한 데이터를 클라이언트 장치에 제공할 수 있다. 일부 예에서, 사용자(U1-U4)는 오디오 또는 비디오 회의, 오디오, 비디오 또는 텍스트 채팅, 또는 기타 통신 모드 또는 애플리케이션을 통해 상호 작용할 수 있다.
서버 시스템(102)에 의해 구현되는 네트워크 서비스는 사용자가 다양한 통신을 수행하고, 링크 및 연결을 형성하고, 이미지, 텍스트, 비디오, 오디오 및 기타 유형의 콘텐츠와 같은 공유 콘텐츠를 업로드 및 게시하고 및/또는 다른 기능을 수행 할 수 있는 시스템을 포함할 수 있다. 예를 들면, 클라이언트 장치는 클라이언트 장치로 전송 또는 스트리밍되고 서버 및/또는 네트워크 서비스를 통해 다른 클라이언트 장치에서(또는 다른 클라이언트 장치에서 직접) 발생하거나 서버 시스템 및/또는 네트워크 서비스에서 발생하는 콘텐츠 포스트(게시물)과 같은 수신된 데이터를 표시할 수 있다. 일부 구현에서, 클라이언트 장치는 예를 들어 전술한 바와 같이 클라이언트 장치 간의 피어-투-피어 통신을 사용하여 서로 직접 통신할 수 있다. 일부 구현에서, "사용자"는 시스템 또는 네트워크와 인터페이스하는 사람뿐만 아니라 하나 이상의 프로그램 또는 가상 엔티티를 포함할 수 있다.
일부 구현에서, 클라이언트 장치(120, 122, 124 및/또는 126) 중 임의의 것은 하나 이상의 애플리케이션을 제공할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 클라이언트 장치(120)는 이미지 관리 애플리케이션(156a) 및 디지털 지도 애플리케이션(158a)을 제공할 수 있다. 클라이언트 장치(122-126)는 유사한 애플리케이션을 제공할 수도 있다. 이미지 관리 애플리케이션(156a)은 클라이언트 장치(120)의 하드웨어 및/또는 소프트웨어를 사용하여 구현될 수 있다. 다른 구현에서, 이미지 관리 애플리케이션(156a)은 예를 들어 임의의 클라이언트 장치(120-124)에서 실행되는 독립형 클라이언트 애플리케이션일 수 있거나, 서버 시스템(102)에 제공된 이미지 관리 애플리케이션(156b)과 함께 작동할 수 있다. 이미지 관리 애플리케이션(156a)은 이미지 및/또는 동영상(비디오)과 관련된 다양한 기능을 제공할 수 있다. 예를 들어, 이러한 기능에는 카메라를 사용하여 이미지 또는 비디오를 캡처하는 것, 이미지 또는 동영상을 분석하여 하나 이상의 태그를 연결하는 것, 이미지 또는 비디오를 수정하는 것, 라이브러리 또는 데이터베이스에 이미지 또는 비디오를 저장하는 것, 이미지 또는 비디오 등을 볼 수 있는 사용자 인터페이스를 제공하는 것 중 하나 이상이 포함될 수 있다.
일부 구현에서, 이미지 관리 애플리케이션(156)은 사용자가 이미지 및/또는 비디오를 저장하는 라이브러리 또는 데이터베이스를 관리하는 것을 가능하게 할 수 있다. 예를 들어, 사용자는 클라이언트 장치(예를 들어, 클라이언트 장치 120-126 중 임의의 것)에서 이미지 애플리케이션(156a)의 백업 기능을 사용하여 클라이언트 장치의 로컬 이미지 또는 비디오를 서버 장치(예: 서버 장치 104)에 백업할 수 있다. 예를 들어, 사용자는 백업할 하나 이상의 이미지 또는 비디오를 수동으로 선택하거나 백업할 이미지 또는 비디오를 식별하는 백업 설정을 지정할 수 있다. 이미지 또는 비디오를 서버 장치로 백업하는 것은, 예를 들어 서버 장치(104)상의 이미지 애플리케이션(156b)과 협력하여, 서버에 의한 저장을 위해 이미지 또는 비디오를 서버로 전송하는 것을 포함할 수 있다.
일부 구현에서, 클라이언트 장치(120) 및/또는 클라이언트 장치(122-126)는 디지털 지도 애플리케이션(158a)을 포함할 수 있다. 디지털 지도 애플리케이션(158a)은 클라이언트 장치(120)의 하드웨어 및/또는 소프트웨어를 사용하여 구현될 수 있다. 다른 구현에서, 디지털 지도 애플리케이션(158a)은 예를 들어 임의의 클라이언트 장치(120-124)에서 실행되는 독립형 클라이언트 애플리케이션일 수 있거나, 서버 시스템(102)에 제공된 디지털 지도 애플리케이션(158b)과 함께 작동할 수 있다. 디지털 지도 애플리케이션(158a)은 디지털 지도와 관련된 다양한 기능을 제공할 수 있다. 예를 들어, 그러한 기능은, 다른 확대/축소 레벨과 다른보기(예: 위성보기, 내비게이션보기 등)에서 세계의 디지털 지도를 디스플레이하는 것, 사용자가 이동 또는 확대/축소와 같은 동작을 통해 지도의 다른 위치로 이동할 수 있도록 하는 것, 사용자가 지도에서 위치를 북마크할 수 있도록 하는 것, 다른 애플리케이션을 위한 애플리케이션 프로그래밍 인터페이스(API)을 제공하는 것(예: 다른 애플리케이션이 디지털 지도를 표시하고 디지털 지도와의 상호 작용을 가능하게 하는 것 등) 중에서 하나 이상을 포함할 수 있다. 디지털 지도 애플리케이션(158a)은 데이터, 예를 들어 지도 정보를 클라이언트 장치(120)에 로컬로 저장할 수 있고 및/또는 서버 장치(104)로부터 정보를 검색할 수 있다. 일부 구현에서, 디지털 지도 애플리케이션(158a)은 클라이언트 장치(120)에 디지털 지도의 일부를 캐시할 수 있다.
다른 구현에서, 클라이언트 장치(120)는 예를 들어 캘린더, 주소록, 이메일, 웹 브라우저, 쇼핑, 교통 수단(예: 택시, 기차, 항공사 예약 등), 엔터테인먼트(예: 음악 플레이어, 비디오 플레이어, 게임 애플리케이션 등), 소셜 네트워킹(예: 메시징 또는 채팅, 오디오/비디오 통화, 이미지/비디오 공유 등) 등과 같은 다양한 유형의 기능을 제공하는 애플리케이션일 수 있는 다른(기타) 애플리케이션(154)을 포함 할 수 있다. 일부 구현에서, 다른 애플리케이션(154) 중 하나 이상은 클라이언트 장치(120)에서 실행되는 독립형 애플리케이션일 수 있다. 일부 구현에서, 하나 이상의 다른 애플리케이션(154)은 다른 애플리케이션(154)의 데이터 및/또는 기능을 제공하는 서버 시스템, 예를 들어 서버 시스템(102)에 액세스할 수 있다.
클라이언트 장치(120, 122, 124 및/또는 126)의 사용자 인터페이스는 이미지, 비디오, 데이터 및 기타 콘텐츠는 물론 통신, 개인 정보 설정, 알림 및 기타 데이터를 포함한 사용자 콘텐츠 및 기타 콘텐츠를 표시할 수 있다. 이러한 사용자 인터페이스는 클라이언트 장치의 소프트웨어, 서버 장치의 소프트웨어 및/또는 서버 장치(104)에서 실행되는 클라이언트 소프트웨어 및 서버 소프트웨어의 조합(예를 들어, 서버 시스템(102)과 통신하는 애플리케이션 소프트웨어 또는 클라이언트 소프트웨어)을 사용하여 표시(디스플레이)될 수 있다. 사용자 인터페이스는 클라이언트 장치 또는 서버 장치의 디스플레이 장치(예: 터치스크린 또는 기타 디스플레이 스크린, 프로젝터 등)에 의해 표시될 수 있다. 일부 구현에서, 서버 시스템에서 실행되는 애플리케이션 프로그램은 클라이언트 장치에서 사용자 입력을 수신하고 클라이언트 장치에서 시각 데이터, 오디오 데이터 등과 같은 데이터를 출력하기 위해 클라이언트 장치와 통신할 수 있다.
여기에 설명된 특징의 다른 구현은 임의의 유형의 시스템 및/또는 서비스를 사용할 수 있다. 예를 들어, 다른 네트워크 서비스(예: 인터넷에 연결됨)가 소셜 네트워킹 서비스 대신 또는 추가로 사용될 수 있다. 모든 유형의 전자 장치는 여기에 설명된 기능을 사용할 수 있다. 일부 구현은 컴퓨터 네트워크로부터 단절되거나 간헐적으로 연결된 하나 이상의 클라이언트 또는 서버 장치에서 여기에 설명된 하나 이상의 특징을 제공할 수 있다. 일부 예들에서, 디스플레이 장치를 포함하거나 이에 연결된 클라이언트 장치는 예를 들어, 통신 네트워크를 통해 이전에 수신된 클라이언트 장치에 로컬인 저장 장치에 저장된 콘텐츠 게시물(포스트)을 디스플레이할 수 있다.
본 명세서에서 언급되는 이미지는 하나 이상의 픽셀 값(예를 들어, 색상 값, 밝기 값 등)을 갖는 픽셀을 갖는 디지털 이미지를 포함할 수 있다. 이미지는 스틸(정지) 이미지(예: 스틸 사진, 단일 프레임이 있는 이미지 등), 동적 이미지(예: 애니메이션, 애니메이션 GIF, 이미지의 일부가 모션을 포함하고 다른 부분이 정적 인 시네마 그래프 등) 또는 비디오(예: 이미지 시퀀스 또는 오디오를 포함 할 수 있는 이미지 프레임)일 수 있다. 이 문서의 나머지 부분에서는 이미지를 정적 이미지라고 하지만 여기에 설명된 기술은 동적 이미지, 비디오 등에 적용할 수 있음을 이해할 수 있다. 예를 들어, 여기에 설명된 구현은 정지 이미지(예를 들어, 사진 또는 상이한 이미지), 비디오 또는 동적 이미지와 함께 사용될 수 있다.
도 2는 일부 구현에 따른 예시적인 방법(200)을 예시하는 흐름도이다. 일부 구현에서, 방법(200)은 예를 들어 도 1에 도시된 바와 같이 서버 시스템(102)상에서 구현될 수 있다. 일부 구현에서, 방법(200)의 일부 또는 전부는 도 1에 도시된 바와 같이 하나 이상의 클라이언트 장치(120, 122, 124 또는 126), 하나 이상의 서버 장치 및/또는 서버 장치 및 클라이언트 장치 모두에서 구현될 수 있다. 설명된 예에서, 구현 시스템은 하나 이상의 디지털 프로세서 또는 처리 회로( "프로세서") 및 하나 이상의 저장 장치(예를 들어, 데이터베이스(106) 또는 다른 저장 장치)를 포함한다. 일부 구현에서, 하나 이상의 서버 및/또는 클라이언트의 다른 컴포넌트는 방법(200)의 다른 블록 또는 다른 부분을 수행할 수 있다. 일부 예에서, 제1 장치는 방법(200)의 블록을 수행하는 것으로 설명된다. 일부 구현은 결과 또는 데이터를 제1 장치로 전송할 수 있는 하나 이상의 다른 장치(예를 들어, 다른 클라이언트 장치 또는 서버 장치)에 의해 수행되는 방법(200)의 하나 이상의 블록을 가질 수 있다.
일부 구현에서, 방법(200) 또는 방법의 일부는 시스템에 의해 자동으로 시작될 수 있다. 일부 구현에서, 구현 시스템은 제1 장치이다. 예를 들어, 방법(또는 그 일부)은 주기적으로 수행되거나 하나 이상의 특정 이벤트 또는 조건(예: 유휴 상태에 들어가는 클라이언트 장치, 백업되지 않은 동영상의 임계 값, 클라이언트 장치에 캡처되거나 저장되는 새로운 비디오, 방법(200)의 마지막 수행 이후 만료된 미리 결정된 기간, 및/또는 방법에서 읽은 설정에서 지정할 수 있는 하나 이상의 다른 조건)에 따라 수행될 수 있다.
방법(200)은 블록(202)에서 시작할 수 있다. 블록(202)에서, 방법(200)의 구현에서 사용자 데이터를 사용하기 위해 사용자 동의(예를 들어, 사용자 허가)가 획득되었는지가 체크된다. 예를 들어, 사용자 데이터는 클라이언트 장치 (예: 임의의 클라이언트 장치 120-126)에 저장된 이미지 또는 비디오(동영상), 사용자가 저장하거나 액세스한 비디오(예: 클라이언트 장치 사용), 이미지 메타데이터, 이미지 관리 애플리케이션 사용과 관련된 사용자 데이터, 사용자 기본 설정(선호) 등을 포함할 수 있다. 여기에 설명된 방법의 하나 이상의 블록은 일부 구현에서 이러한 사용자 데이터를 사용할 수 있다.
사용자 데이터가 방법(200)에서 사용될 수 있는 관련 사용자로부터 사용자 동의가 획득된 경우, 블록 204에서, 본 명세서의 방법의 블록은 이들 블록에 대해 설명된 사용자 데이터의 가능한 사용으로 구현될 수 있다고 결정되고, 방법은 블록(212)으로 계속된다. 사용자 동의가 획득되지 않은 경우, 블록(206)에서 블록이 사용자 데이터의 사용없이 구현되어야 한다고 결정되고, 방법은 블록(212)으로 계속된다. 일부 구현에서, 사용자 동의를 얻지 못한 경우, 블록은 사용자 데이터를 사용하지 않고 합성 데이터 및/또는 일반 또는 공개적으로 액세스 가능하고 공개적으로 사용 가능한 데이터로 구현된다. 일부 구현에서, 사용자 동의가 획득되지 않은 경우, 방법(200)이 수행되지 않는다.
블록(212)에서, 제1 이미지 세트가 식별된다. 일부 구현에서, 제1 이미지 세트는 디지털 지도의 제1 영역과 매칭하는 제1 이미지 세트 내의 각 이미지와 연관된 각각의 위치에 기초하여 식별될 수 있다. 다른 구현에서, 제1 영역은 사용자의 이미지 라이브러리에 있는 이미지와 관련된 모든 위치가 포함되도록 축소된 영역, 사용자의 이미지 라이브러리에서 최근 이미지가 캡처된 위치를 포함하는 영역 또는 사용자의 이미지 라이브러리에서 가장 많은 수의 이미지와 관련된 영역으로 자동 선택될 수 있다.
제1 이미지 세트는 사용자의 이미지 라이브러리(예를 들어 이미지 관리 애플리케이션(156)을 사용한 관리)로부터 선택될 수 있다. 이미지 라이브러리의 이미지는 지리 정보, 예를 들어 각각의 위치와 연관될 수 있다. 일부 구현에서, 이미지는 이미지 생성 또는 캡처의 타임스탬프, 이미지가 마지막으로 편집된 시기를 나타내는 타임스탬프 등과 같은 다른 메타데이터와 연관될 수 있다.
예를 들어, 이미지의 위치는 온보드(on-board) 센서로부터 획득되거나 이미지를 캡처한 장치와 통신하는 위치 메타데이터(예를 들어, 위도 및 경도)에 기초하여 결정될 수 있다. 다른 예에서, 이미지에 대한 위치는 이미지를 캡처한 장치에 의해 검출된 무선 신호의 삼각 측량에 기초하여 결정될 수 있다. 다른 예에서, 이미지의 위치는 이미지에서 하나 이상의 객체를 검출하기 위해 객체 검출 기술을 적용하고, 랜드 마크를 식별하기 위해 객체 인식을 수행하고, 디지털 지도 또는 기타 저장소에서 랜드마크와 관련된 위치를 이미지에 할당함으로써 결정될 수 있다. 예를 들어 이미지에 묘사된 객체가 "Eiffel Tower(에펠 탑)"인 경우 해당 위치 좌표(다른 구현에서, 사용자가 허용하는 경우 다른 출처(예: 사용자의 캘린더, 사용자의 위치 기록 등)의 데이터)를 이미지에 할당할 수 있다. 일부 구현에서, 이미지가 위치와 연관되지 않은 경우, 위치는 시간상 매우 가까운(예를 들어, 몇 초 또는 몇 분 이내) 타임스탬프를 가진 상이한 이미지의 위치와 동일하다고 결정될 수 있다.
일부 구현에서, 각 이미지에 대한 이미지 식별자 및 이미지와 관련된 위치를 포함하는 이미지 데이터베이스가 유지될 수 있다. 이미지 데이터베이스는 클라이언트 장치(클라이언트 장치(120)) 및/또는 서버 시스템(예를 들어, 서버 시스템(104))에 저장될 수 있다. 일부 구현에서, 인덱스는 위치 데이터에 기초하여 이미지 데이터베이스에 유지될 수 있다. 이러한 인덱스는 데이터베이스의 빠른 조회를 가능하게 하여 디지털 지도의 영역에 기초하여 이미지를 식별할 수 있다. 일부 구현에서, 인덱스는 이미지 관리 애플리케이션이 사용 중일 때 메모리에 저장되어 서로 다른 지도 영역에 대응하는 이미지의 빠른 검색을 가능하게 한다. 일부 구현에서, 쿼드-트리(quad-tree) 구조는 예를 들어, 검색의 상이한 단계(stages)에서 영역을 4 개의 사분면으로 세분함으로써 빠른 검색(lookup)을 가능하게 하기 위해 인덱스에 사용될 수 있다. 예를 들어, 쿼드-트리 구조의 검색(룩업)은 지도 부분에 표시되는 지도(맵 뷰포트(map viewport))의 영역을 기반으로 수행될 수 있다.
일부 구현에서, 제1 이미지 세트는 디지털 지도의 제1 영역과 매칭하는 연관된 지리 정보를 갖는 사용자의 이미지 라이브러리의 이미지를 포함할 수 있다. 예를 들어, 디지털 지도의 제1 영역은 영역을 정의하는 위도 및 경도 값의 세트로 표시될 수 있다. 디지털 지도의 제1 영역과 매칭하는 이미지는, 이미지와 연관된 위치에 기초하여, 제1 이미지 세트의 각 이미지가 제1 영역 내에 있도록 식별될 수 있다. 일부 구현에서, 사용자의 이미지 라이브러리는 클라이언트 장치(120) 및/또는 서버 시스템(102)(예를 들어, 데이터베이스(106) 또는 다른 저장 장치에)에 저장될 수 있다. 일부 구현에서, 서버 시스템(102)은 두 장치가 동일한 이미지 세트를 포함하도록 클라이언트 장치(120)와 동기화될 수 있다. 이러한 구현에서, 제1 이미지 세트는 방법(200)이 클라이언트 장치(120)에서 수행되는지, 서버 장치(104)에서 수행되는지, 또는 조합에서 수행되는지에 관계없이 위치 기준과 매칭하는 사용자 라이브러리의 이미지를 포함할 수 있다.
일부 구현에서, 예를 들어, 클라이언트 장치(120)가 더 적은 저장 용량을 갖는 경우, 사용자의 이미지 라이브러리의 일부만이 클라이언트 장치(120)에 저장될 수 있다. 일부 구현에서, 방법(200)이 클라이언트 장치(120)에서 수행될 때, 제1 이미지 세트는 클라이언트 장치(120)에 국부적으로 저장된 이미지로부터 선택될 수 있고 서버 시스템(102)에 저장된 이미지는 쿼리되지(queried) 않는다. 예를 들어, 이러한 선택은 클라이언트 장치(120)가 오프라인이거나(예를 들어, 네트워크(130)로부터 분리됨) 저속 연결을 가질 때 수행될 수 있다.
일부 구현에서, 예를 들어, 클라이언트 장치(120)가 네트워크(130)를 통해 서버 시스템(102)에 연결되고 네트워크 연결이 이러한 쿼리를 수행하고 이미지를 검색하기에 충분한 고속 연결인 경우, 제1 이미지 세트는 클라이언트 장치(120) 및 서버 시스템(102)에 저장된 이미지를 포함하도록 선택될 수 있다. 일부 구현에서, 예를 들어, 클라이언트 장치(120)가 어떤 이미지도 로컬로 저장하지 않을 때, 제1 이미지 세트의 선택은 서버 시스템(102)에서 전적으로 수행될 수 있다.
일부 구현에서, 제1 이미지 세트를 식별하는 것은 제1 영역과 매칭하는 일부 이미지가 제1 이미지 세트로부터 제외되도록 수행될 수 있다. 예를 들어, 그러한 이미지에는 청구서/영수증, 문서, 신문 기사, 스크린 샷, 밈(meme) 이미지 등의 이미지 및 기타 이러한 이미지가 포함될 수 있다. 다른 예에서, 그러한 이미지는 품질 임계 값을 충족하지 않는 이미지, 예를 들어 흐릿한 이미지, 어두운 이미지(예를 들어, 모두 검은색 또는 거의 검은색 이미지) 등을 포함할 수 있다. 다른 예에서, 사용자의 이미지 라이브러리에서 상이한 이미지의 중복 또는 거의 중복으로 검출된 이미지는 제1 이미지 세트에서 제외될 수 있다. 이미지 유형(예: 영수증, 문서, 기사, 스크린 샷 등), 이미지의 품질 및/또는 이미지가 중복인지 여부의 표시자(indicator)는 이미지와 관련하여, 예를 들어 데이터베이스(106) 또는 서버 시스템(102) 또는 클라이언트 장치(120)의 다른 저장 장치 또는 클라이언트 장치(120)에 저장될 수 있고, 제1 이미지 세트의 선택에 사용될 수 있다.
블록(212) 다음에 블록(214)가 올 수 있다.
블록(214)에서, 사용자 인터페이스가 예를 들어 클라이언트 장치(120)에 표시(디스플레이)되게 한다. 사용자 인터페이스는 디지털 지도의 제1 영역에 대응하는 지도 부분 및 제1 이미지 세트의 하나 이상의 이미지를 포함하는 그리드 부분을 포함한다. 일부 구현에서, 이미지는 이미지와 연관된 생성 타임스탬프에 기초하여, 예를 들어 역 시간 순서로 그리드 부분에 구성될 수 있다.
예를 들어, 지도 부분은 사용자 인터페이스의 상단에 표시(디스플레이)되고 그리드 부분은 사용자 인터페이스의 하단에 표시(디스플레이)될 수 있다. 일부 구현에서, 사용자 인터페이스는 또한 제1 이미지 세트에 이미지의 카운트(개수)를 포함할 수 있다.
일부 구현에서, 사용자 인터페이스의 지도 부분은 예를 들어 타운/도시 이름, 거리 또는 다른 특징과 같은 지도 특징을 포함하는 디지털 지도를 포함할 수 있다. 일부 구현에서, 사용자 인터페이스의 지도 부분은 이미지 미리보기를 더 포함할 수 있다. 이미지 미리보기는 사용자 인터페이스의 그리드 부분에도 포함된 제1 이미지 세트의 특정 이미지를 포함할 수 있다. 일부 구현에서, 이미지 미리보기는 선택 가능한 사용자 인터페이스 요소로 작동할 수 있다. 예를 들어, 사용자는 이미지 미리보기를 탭하여 예를 들어 전체 화면 모드에서 해당 이미지를 볼 수 있다.
일부 구현에서, 이미지 미리보기는 특정 이미지와 연관된 위치에 대한 지도 부분의 위치에 고정(anchored)될 수 있다. 예를 들어 특정 이미지가 에펠 탑의 파리에서 촬영된 경우 이미지 미리보기가 에펠 탑의 위도와 경도에 대한 지도 부분에 고정될 수 있다. 일부 구현에서, 이미지 미리보기는 삼각형 모양에 의해 지도 부분의 위치에 고정된 것으로 도시된 원 모양의 사용자 인터페이스 요소일 수 있다. 이 컨텍스트에서 앵커링(고정)(Anchoring)은 이미지와 관련된 위치를 사용자에게 표시하는 역할을 할 수 있다. 일부 구현에서, 이미지 미리보기의 이미지는 그리드 부분의 제1 이미지(예를 들어, 디지털 지도의 제1 영역과 매칭하는 가장 최근 이미지)일 수 있다.
일부 구현에서, 사용자 인터페이스의 지도 부분은 히트맵(heatmap)을 더 포함할 수 있다. 일부 구현에서, 히트맵은 디지털 지도의 상이한 위치에 대응하는 이미지의 수에 기초하여 형성된 복수의 블롭(blob)을 포함할 수 있다. 각 블롭은 디지털 지도의 제1 영역의 각 위치에 표시(디스플레이)될 수 있다. 복수의 블롭으로 형성된 히트맵은 디지털 지도의 제1 영역에서 상이한 위치와 연관된 제1 이미지 세트 내의 이미지 수의 시각적 표시를 제공할 수 있다. 일부 구현에서, 블롭의 크기는 블롭이 대응하는 다수의 이미지에 기초할 수 있다.
일부 구현에서, 각 블롭의 색상은 그 위치에 대응하는 제1 이미지 세트의 이미지 수에 기초할 수 있다. 예를 들어, 색상 스펙트럼(예를 들어, 빨간색에서 보라색으로)은 서로 다른(상이한) 위치에 대한 상대적인 이미지 수를 나타내는 데 사용될 수 있다. 동일한(또는 디지털 지도의 확대/축소 레벨에 따라 가까운 위치)에 연관된 많은 수의 사진은 따뜻한 색상(예: 빨간색, 주황색)의 블롭으로 표시될 수 있지만, 동일한(또는 가까운) 위치와 관련된 더 적은 수의 사진은 더 차가운 색상의 블롭(예: 보라색)으로 표시될 수 있다.
히트맵은 복수의 블롭을 포함할 수 있으며, 그라디언트 색상, 블러(blur) 등과 같은 기술은 블롭이 교차하는 경계 영역에 적용된다. 일부 구현에서, 제1 이미지 세트의 이미지는 다른 위치에 대응하는 버킷(bucket)으로 그룹화될 수 있고 버킷의 이미지 수에 기초하여 값이 각 버킷에 할당될 수 있다. 블롭을 렌더링하기 위해, 상기 값은 스무딩(smoothed)되고, 히트맵의 색상 그라데이션으로 매핑될 수 있다.
일부 구현에서, 색상 스펙트럼의 일부 색상은 블롭 색상으로 사용되는 것에서 제외될 수 있다. 예를 들어, 이러한 색상은 디지털 지도의 기본 영역(예: 제1 영역)을 기반으로 선택될 수 있으며, 예를 들어, 지도 영역이 파란색 음영으로 표시되는 오션(ocean) 또는 기타 수역(water bodies)을 포함한 경우 파란색이 히트 맵에서 사용되지 않을 수 있다. 일부 구현에서, 히트맵은 디지털 지도 위에 오버레이로 드로잉(drawn)될 수 있다.
일부 구현에서, 제1 이미지 세트의 이미지는 예를 들어 이미지가 캡처된 시간을 나타내는 각각의 타임스탬프와 연관될 수 있다. 일부 구현에서, 이미지 미리보기의 특정 이미지와 연관된 타임스탬프와 임계 시간 차이 내에 있는 타임스탬프와 연관된 이미지가 식별될 수 있다. 식별된 이미지들 중 해당 이미지와 연관된 디지털 지도의 제1 영역의 위치에서 식별된 이미지 중 하나 이상에 대해 각각의 아이콘이 디스플레이될 수 있다. 아이콘은 예를 들어 히트맵의 블롭에서 눈에 띄는 고유한 색상(예: 검정, 흰색 등)의 점(dot)일 수 있다.
예를 들어, 임계 시간 차이는 식별된 이미지가 이미지 미리보기에 있는 특정 이미지와 동일한 달력 일(calendar day)의 이미지가 되도록 선택될 수 있다. 다른 예에서, 식별된 이미지가 동일한 에피소드로부터 발생하도록 임계 시간 차이가 선택될 수 있다.
일부 구현에서, 사용자 인터페이스는 사용자에 의해 구성될 수 있다. 예를 들어, 기본 보기(default view)에서 지도 부분과 그리드 부분은 동일한 크기일 수 있으며, 예를 들어 각각 사용 가능한 디스플레이 공간의 약 절반을 차지한다. 사용자는 예를 들어 지도 부분을 확대하거나 그리드 부분을 확대하기 위해 부분의 크기를 조정하기 위해 제스처(예를 들어, 드래그 제스처)를 수행할 수 있다. 제스처에 응답하여, 해당 영역이 확대될 수 있으며, 예를 들어, 제1 이미지 세트로부터의 추가 이미지를 포함하는 이미지 그리드의 추가 행(rows)이 그리드 부분에 표시될 수 있고, 지도 부분의 더 큰 버전이 표시될 수 있다.
일부 구현에서, 사용자 인터페이스의 그리드 부분은 가장 최근 에피소드의 가장 최근 이미지가 먼저 표시되도록 시간순으로(예를 들어 역순으로) 배열된 복수의 에피소드로 분할된 제1 이미지 세트의 하나 이상의 이미지를 표시할 수 있다.
예를 들어, 제1 세트에 50 개의 이미지가 포함되어 있는데 그 중 20 개는 첫날(예: 2020 년 2 월 1 일)에 촬영되었고, 30 개는 이전에 찍은 이미지(예: 2019 년 12 월 31 일)인 경우, 사용자 인터페이스는 제1 텍스트 라벨(예를 들어 "2020 년 2 월 1 일"(또는 "February 2020") 이후 처음 20개의 이미지가 포함됨), 제2 텍스트 라벨(예를 들어 "2019 년 12 월 31 일"(또는 December 2019) 이후 30 개의 이미지가 표시됨)을 포함할 수 있다.
일부 구현에서, 제1 이미지 세트의 이미지는 각각 대응하는 기간을 갖는 복수의 에피소드로 분할될 수 있다. 예를 들면, 제1 영역이 국립 공원에 해당하고, 사용자의 이미지 라이브러리에 사용자가 국립 공원을 방문한 여러 기간의 이미지가있는 경우, 각 에피소드는 국립 공원의 특정 방문에 해당할 수 있다. 다른 컨텍스트에서, 에피소드는 서로 다른 기간에 해당 할 수 있(예: 에피소드 당 1 일, 에피소드 당 1 주, 기간 내 위치 당 에피소드 1 개 등). 제1 이미지 세트를 에피소드로 나누고(예를 들어, 시간 및/또는 날짜 경계에 기초하여) 해당 텍스트 라벨을 표시하면 그리드 부분의 사용자 탐색(내비게이션)이 용이해질 수 있다. 또한, 사용자 허가에 따라, 텍스트 라벨은 이미지가 속한 에피소드에 관한 추가 컨텍스트 정보(예를 들어 "Anita's birthday", "Fall 2019 Trip to Yosemite" 등)를 포함할 수 있다. 블록 214 다음에 블록 216이 이어질 수 있다.
블록(216)에서, 디지털 지도의 제2 영역을 나타내는 사용자 입력이 수신된다. 예를 들어, 사용자 입력은 팬 입력, 확대 입력 또는 축소 입력으로 수신될 수 있다. 사용자 입력은 터치스크린과 같은 클라이언트 장치(120)의 적절한 입력 메커니즘을 통해, 제스처 감지를 통해(예: 클라이언트 장치(120)에서 레이더 센서 사용), 사용자가 음성 입력 등으로 특정 사용자 인터페이스 요소를 선택함으로써 수신될 수 있다. 예를 들어, 사용자는 터치스크린에서 드래그 동작을 수행하여 팬 입력을 제공하거나 핀치 제스처를 사용하여 축소 입력을 제공할 수 있다. 사용자 입력(예: 드래그 입력 또는 핀치 제스처에 포함된 거리)을 기반으로 지도의 제2 영역이 식별된다. 일부 구현들에서, 사용자 입력은 예를 들어 "Show my pictures from Los Angeles(로스 앤젤레스에서의 내 사진 보여주기)"와 같은 음성 입력일 수 있고, 사용자 입력에 의해 표시된 제2 영역은 제1 영역과 분리될 수 있다. 블록 216 다음에 블록 218이 올 수 있다.
블록(218)에서, 디지털 지도의 제2 영역과 매칭하는 제2 이미지 세트는 블록(212)과 유사하게 제2 이미지 세트와 연관된 지리 정보에 기초하여 식별된다. 예를 들어, 제2 영역이 제1 영역보다 크고 제1 영역을 포함하는 경우(예를 들어, 입력이 축소 입력인 경우), 제2 이미지 세트는 제1 세트의 모든 이미지 및 추가 이미지를 포함할 수 있다. 다른 예에서, 제2 영역이 제1 영역(예를 들어, 줌인 입력에 의해 표시되는 제1 영역의 서브-영역)보다 작으면, 제2 이미지 세트는 제1 이미지 세트의 서브세트일 수 있다. 다른 예에서, 제1 영역과 제2 영역이 부분적으로 중첩(오버레이)되는 경우(예: 입력이 팬 입력임), 제2 이미지 세트는 디지털 지도의 중첩 부분에 대응하는 제1 세트로부터의 하나 이상의 이미지 및 하나 이상의 상이한 이미지를 포함할 수 있다. 상이한 구현에서, 상이한 지도 영역을 나타내는 사용자 입력, 예를 들어 팬 및/또는 줌 입력의 조합이 수신될 수 있고, 대응하는 이미지 세트가 식별될 수 있다. 블록 218 다음에 블록 220이 이어질 수 있다.
블록 220에서, 사용자 인터페이스가 업데이트된다. 일부 구현에서, 사용자 인터페이스를 업데이트한 후, 사용자 인터페이스의 지도 부분은 디지털 지도의 제2 영역(사용자 입력에 의해 표시됨)에 대응하고, 사용자 인터페이스의 그리드 부분은 제2 이미지 세트의 하나 이상의 이미지를 포함한다. 해당 이미지 미리보기가 사용자 인터페이스에 표시될 수도 있다. 또한 사용자 인터페이스의 지도 부분에 있는 히트맵도 업데이트된다. 블록 220 다음에 블록 222가 이어질 수 있다.
블록 222에서, 추가 사용자 입력이 수신된다. 블록 222 다음에 블록 224가 올 수 있다.
블록 224에서, 추가 사용자 입력의 유형이 결정된다. 예를 들어, 추가 사용자 입력은 팬 입력, 확대 입력, 축소 입력 또는 사용자 인터페이스의 지도 부분에 표시되는 디지털 지도 영역의 변화를 나타내는 기타 입력으로 결정될 수 있다. 추가 사용자 입력이 디지털 지도의 영역의 변화를 나타낼 때, 블록(224) 다음에 블록(218)이 이어지며, 여기서 해당 이미지 세트가 식별된다.
대안적으로, 추가 사용자 입력은 사용자 인터페이스의 그리드 부분을 참조하여 수신된 스크롤 입력 또는 사용자 인터페이스의 지도 부분을 참조하여 수신된 탭 입력으로 결정될 수 있다. 추가 사용자 입력이 스크롤 입력인 것으로 결정되면, 블록 224 다음에 블록 226이 이어진다. 추가 사용자 입력이 탭 입력인 것으로 결정되면, 블록 224 다음에 블록 228이 이어진다.
블록 226에서, 그리드 부분 및 지도 부분은 스크롤 입력에 기초하여 업데이트된다. 예를 들면, 스크롤 입력은 사용자 인터페이스의 그리드 부분에 있는 클라이언트 장치의 터치스크린상에서 사용자에 의해 수행되는 스크롤 제스처로서 수신될 수 있다. 다른 예에서, 스크롤 입력은 예를 들어 "show me more(더 많이 보여줘)", "show me older images(이전 이미지 보여줘)", "show me newer images(최신 이미지 보여줘)" 등과 같은 음성 입력일 수 있다. 스크롤 입력은 방향을 나타낼 수 있다. 예를 들어, 그리드 부분의 이미지가 시간순으로 구성되는 경우 스크롤 입력은 이전 이미지 또는 최신 이미지의 방향으로 스크롤됨을 나타낼 수 있다.
스크롤 입력에 표시된 방향에 따라, 사용자 인터페이스의 그리드 부분은 그리드 부분의 이미지가 시간순으로 구성될 때 이미지 세트(예: 블록 220의 수행 후 업데이트된 사용자 인터페이스에 표시되는 제2 이미지 세트)의 추가 이미지, 예를 들어 이전 또는 최신 이미지를 표시하도록 업데이트된다. 그리드 부분에 대한 업데이트는 스크롤의 강도 또는 레벨에 더 기초할 수 있다. 예를 들면, 긴 스크롤 제스처는 전체 그리드 부분이 다른 이미지(예: 다른 기간 또는 에피소드에 해당)로 대체되도록 할 수 있는 반면, 짧은 스크롤 제스처는 예를 들어 다른 이미지의 단일 행(예: 동일한 기간/에피소드 또는 시간순으로 인접한 기간/에피소드에 해당)과 같은 적은 수의 다른 이미지만 표시 할 수 있다.
또한, 일부 구현에서, 사용자 인터페이스의 지도 부분은 상이한 이미지를 포함하도록 이미지 미리보기를 수정하도록 업데이트될 수 있다. 이미지 미리보기에 포함된 상이한 이미지는 업데이트된 그리드 부분의 이미지일 수 있다. 일부 구현에서, 지도 부분은 업데이트된 그리드 부분 및 지도 부분의 업데이트된 이미지 미리보기가 실질적으로 동시에 사용자 인터페이스에 표시되도록 그리드 부분과 동기적으로 업데이트될 수 있다. 이러한 방식으로 사용자 인터페이스의 동기 업데이트를 통해 사용자는 일관된 사용자 인터페이스를 볼 수 있으며, 여기서 지도 부분의 이미지 미리보기는 항상 사용자 인터페이스의 그리드 부분에 해당한다. 지도 부분에 표시되는 디지털 지도의 영역은 스크롤 입력에 따라 변경되지 않으며, 이는 그리드 부분이 지도 부분에 표시되는 디지털 지도의 영역에 해당하는 이미지로 제한되기 때문이다. 즉, 그리드 부분의 모든 이미지는 지도 부분에 표시된 영역 내에 있는 위치와 연결된다. 블록 226 다음에 블록 222가 올 수 있다.
블록 224에서 추가 사용자 입력이 탭 입력인 것으로 결정되면, 블록 224 다음에 블록 228이 이어진다. 탭 입력은 사용자 인터페이스의 지도 부분에 있는 복수의 블롭의 특정 블롭을 나타낼 수 있다. 특정 블롭에 기초하여, 사용자 인터페이스의 지도 부분은 상이한 이미지를 포함하도록 이미지 미리보기를 수정하도록 업데이트될 수 있다. 특정 블롭에 해당하는 하나 이상의 이미지에서 상이한 이미지가 선택된다. 사용자 인터페이스의 그리드 부분은 또한 상이한 이미지를 포함하도록 업데이트될 수 있다. 예를 들어, 상이한 이미지가 탭 입력 이전에 표시된 이미지 미리보기의 이미지와 다른 기간 또는 에피소드의 이미지인 경우 그리드 부분이 업데이트되어 다른 기간 또는 에피소드의 이미지를 포함한다. 일부 구현에서, 그리드 부분은 수정된 이미지 미리보기 및 업데이트된 그리드 부분이 실질적으로 동시에 사용자 인터페이스에 표시되도록 지도 부분과 동기적으로 업데이트될 수 있다. 이러한 방식으로 사용자 인터페이스의 동기 업데이트를 통해 사용자는 일관된 사용자 인터페이스를 볼 수 있으며, 여기서 지도 부분의 이미지 미리보기는 항상 사용자 인터페이스의 그리드 부분에 해당한다. 블록 228 다음에 블록 222가 올 수 있다.
방법(200)의 다양한 블록이 결합되거나, 다중 블록으로 분할되거나, 병렬로 수행될 수 있다. 예를 들어, 블록(212 및 214)은 병렬로 수행될 수 있으며, 예를 들어, 제1 이미지 세트가 식별되는 동안 지도 부분이 렌더링될 수 있고 히트맵이 지도 부분의 상단에 렌더링될 수 있다. 예를 들어, 블록 218 및 220은 병렬로 수행될 수 있다.
일부 구현에서, 방법(200)의 다양한 블록은 도 2에 도시된 것과 다른 순서로 수행될 수 있고 및/또는 일부 블록은 수행되지 않을 수 있다. 예를 들어, 블록(212-214)은 제1 영역에 대응하는 제1 이미지 세트를 갖는 사용자 인터페이스를 디스플레이하기 위해 수행될 수 있고, 블록(222-224)은 예를 들어, 사용자 입력의 유형을 결정하고 블록 226(사용자 입력이 스크롤 입력인 경우), 블록 228(사용자 입력이 탭 입력인 경우), 또는 블록 218-220(사용자 입력이 다른 입력인 경우(예: 이동, 확대, 축소 또는 기타 입력))을 수행하기 위해 다음에 수행될 수 있다. 이 예에서, 블록(216)은 수행되지 않을 수 있다.
방법(200) 또는 그 일부는 추가 입력을 사용하여 여러 번 반복될 수 있다. 예를 들어, 블록(218-228)의 상이한 시퀀스는 상이한 유형의 입력을 제공함으로써, 지도 부분의 지도의 상이한 부분 및 그리드 부분의 이미지 라이브러리의 해당 이미지를 사용자가 볼 수 있도록 임의의 횟수만큼 반복될 수 있다.
분할 화면(split-screen) 보기에서 지도 부분과 그리드 부분이 있는 사용자 인터페이스는 이미지 라이브러리에서 이미지를 보는 동안 사용자 지리 공간 컨텍스트를 제공한다. 사용자는 (이동, 확대/축소 또는 기타 입력을 통해) 디지털 지도의 다른 지역을 탐색하고 다른 지역의 다른 위치에서 찍은 사진 수를 나타내는 히트맵을 볼 수 있다. 사용자는 개별 위치(예: 도시 블록)를 확대하여 해당 위치에서 찍은 사진을 볼 수 있다. 사용자는 그리드를 스크롤하여 시간이 지남에 따라 동일한 지역에서 찍은 사진을 볼 수 있다. 따라서, 사용자 인터페이스는 풍부한 정보 콘텐츠(사용자 이미지 라이브러리의 히트맵 오버레이가 있는 디지털 지도)를 제공하고 사용자가 이미지 라이브러리를 볼 수 있는 쉬운 상호 작용을 가능하게 하는 동시에 각 이미지에 대한 공간적 컨텍스트를 제공한다.
사용자 인터페이스의 지도 부분은 사용자가 위치 필터를 설정할 수 있는 입력 메커니즘을 제공하는 반면, 그리드 부분은 사용자가 특정 기간이나 에피소드를 선택할 수 있는 입력 메커니즘을 제공한다. 분할 화면 사용자 인터페이스는 이미지를 필터링하기 위해 입력을 제공해야 하는 사용자 부담을 줄여준다. 예를 들어 "Show my photos from Yosemite taken in summer 2016(2016 년 여름에 요세미티에서 찍은 내 사진 보여줘)"와 같은 검색어를 입력하는 대신 사용자는 요세미티 국립 공원에 해당하는 디지털 지도의 지역을 선택하고 2016년 여름까지 스크롤하기만 하면된다. 또한 사용자 인터페이스를 통해 사용자는 디지털 지도에서 해당 지역을 선택하기만 하면 위치 이름을 기억하지 못하는 경우에도 특정 위치의 이미지를 볼 수 있다.
사용자는 여러 가지 방법으로 분할 화면 사용자 인터페이스에 액세스할 수 있다. 예를 들어, 사용자는 특정 카테고리(범주)의 위치(예: "국립 공원", "해변", "산" 등)를 선택하거나 검색하여 해당 범주의 다른 위치에서 찍은 사진이 있는 디지털 지도를 볼 수 있다. 다른 예에서, 사용자는 특정 객체(예: "테니스 코트", "하이킹 장비" 등)를 선택하거나 검색하고 다른 위치에서 찍은 객체를 묘사하는 이미지를 볼 수 있다. 또 다른 예에서, 사용자가 이미지 라이브러리의 이미지에 묘사된 사람(예: "나", "밥", "앨리스" 등)과 관련된 이름을 가진 경우, 사용자는 다양한 위치에서 찍은 그 사람의 이미지를 볼 수 있다. 예를 들어, 사용자는 자신이 방문한 여러 장소를 회상하기 위해 세계지도에서 자신의 이미지(예: 사용자를 묘사하는 셀카 또는 기타 이미지)를 볼 수 있다.
일부 구현에서, 사용자 인터페이스는 사용자가 이미지 미리보기 및/또는 그리드 부분에 디스플레이되는 이미지를 추가로 필터링할 수 있게 할 수 있다. 예를 들어, 사용자는 특정 영역(지역)과 매칭하고 즐겨 찾기로 식별되거나, 다른 사용자와 공유되거나, 프린트(인쇄물)로 주문되거나, 다른 기준을 충족하는 이미지를 보도록 선택할 수 있다.
일부 구현에서, 사용자 인터페이스는 지도 부분이 선택된 기간으로부터의 이미지를 묘사하도록 사용자가 특정 기간 또는 에피소드를 선택하도록 허용할 수 있다. 예를 들어, 사용자는 에피소드 "3 days in Arizona(애리조나 3 일)"을 선택하여 해당 이미지를 볼 수 있다. 일부 구현에서, 아이콘은 기간으로부터 각각의 이미지에 대한 지도 부분에 표시될 수 있다. 또한, 일부 구현에서, 아이콘은 사용자가 이동한 경로 및 특정 에피소드 동안 사용자가 멈춘 장소를 지도 부분에서 볼 수 있도록 (예: 색상, 숫자 등 사용하여) 표시될 수 있다. 일부 구현에서, (사용자의 이미지 라이브러리 내의 이미지와 연관된 위치에 기초하여 검출된) 기간 동안 사용자에 의해 취해진 경로를 나타내는 선 또는 화살표가 지도 부분에 표시될 수 있다.
방법(200)은 몇 가지 기술적 장점을 제공할 수 있다. 분할 화면 사용자 인터페이스는 사용자가 동일한 사용자 인터페이스에서 위치 및 시간별로 이미지 라이브러리의 이미지를 볼 수 있도록 한다. 사용자 인터페이스는 사용자가 그리드 사용자 인터페이스를 스크롤하여 특정 이미지를 검색할 때(예: 사용자가 검색을 통해 찾을 수 없는 경우) 발생하는 계산 부하를 줄인다. 라이브러리의 크기에 따라 이미지 라이브러리를 스크롤할 때의 계산 부하가 클 수 있다. 많은 수의 이미지를 로드하려면 상당한 메모리와 컴퓨팅 성능이 필요할 수 있으며 메모리가 부족한 장치에서는 어려울 수 있다. 반면에 라이브러리 보기를 특정 영역(예: 사용자가 이미지를 캡처한 것을 기억하는 위치)으로 좁혀서, 사용자가 특정 이미지를 찾기 위해 표시해야하는 이미지 수가 줄어들어 계산 부하가 줄어든다. 또한, 디지털 지도의 특정 영역을 선택하는 데 필요한 입력 수가 훨씬 적을 수 있기 때문에 여러 스크롤 입력(예: 수백 개의 스크롤 입력)을 처리할 때 발생하는 계산 부하가 줄어든다.
또한 사용자의 이미지 라이브러리에 있는 이미지와 관련된 위치 색인(인덱스)을 포함하는 데이터베이스를 생성, 저장 및 활용함으로써, 히트맵을 생성하고 표시하는 계산 부하는 개별 이미지에 대한 이미지 메타데이터를 읽어 히트맵을 생성하는 경우보다 낮을 수 있다.
도 3은 일부 구현에 따른 예시적인 사용자 인터페이스(300)를 도시한다. 사용자 인터페이스(300)는 지도 부분(302) 및 그리드 부분(304)을 포함한다. 도 3에 도시된 바와 같이, 그리드 부분은 이미지 그리드에 배열된 이미지(306a-306f)를 포함한다. 이미지(306a-306f)는 각각 같은 날에 대응하는 타임스탬프와 연관될 수 있다. 일부 구현에서, 이미지(306-306f)는 각각의 타임스탬프에 기초하여, 예를 들어 역 시간순으로 정렬될 수 있으므로, 이미지(306a)는 이미지(306b)보다 더 최근의 타임스탬프와 연관되고, 이미지(306b)는 이미지(306c)보다 더 최근의 타임스탬프와 연관되는 등의 방식으로 정렬될 수 있다. 사용자 인터페이스(300)는 또한 그리드(이미지 306a-306f)의 이미지에 대한 시간 기간을 나타내는 텍스트 라벨(310)("Today(오늘)")을 포함한다.
도 3에 도시된 바와 같이, 지도 부분(302)은 디지털 지도의 제1 영역, 예를 들어 도 3의 예에서 샌프란시스코 베이 영역(San Francisco bay area) 및 주변 영역의 일부를 묘사한다. 사용자의 이미지 라이브러리에는 도 3의 이미지 "41,043 장(41,043 photos)"(312)으로 표시된 것처럼 제1 영역 내의 위치와 관련된 41,043 개의 이미지가 포함되어 있다.
지도 부분(302)은 이미지 미리보기(308)를 더 포함한다. 이미지 미리보기(308)는 그리드 부분(304)의 이미지(306a)에 대응한다. 이미지 미리보기(308)는 아이콘(314)으로 표시된 바와 같이 이미지(306a)와 연관된 위치에 고정(anchored)된다. 지도 부분(302)은 또한 예를 들어 디지털 지도 위에 오버레이로서 포함된 히트맵(316)을 포함한다. 다른 위치에 있는 히트맵의 다른 음영은 각 위치에 해당하는 사용자 이미지 라이브러리의 이미지 수를 시각적으로 표시한다.
사용자 인터페이스(300)는 사용자 입력을 수신하도록 구성된다. 예를 들어, 사용자는 지도 부분(302)에 대한 터치 또는 제스처 입력, 예를 들어 팬, 확대 또는 축소 입력을 제공할 수 있다. 사용자 입력에 응답하여, 도 2를 참조하여 전술한 바와 같이 지도 부분(302)이 업데이트된다. 다른 예에서, 사용자는 그리드 부분(304)에 대한 터치 또는 제스처 입력, 예를 들어 스크롤링 입력을 제공할 수 있다. 이에 응답하여, 그리드 부분(304)은, 예를 들어 도 2를 참조하여 전술한 바와 같이 하나 이상의 이미지(306a-306f)를 사용자의 라이브러리에 있는 상이한 이미지로 교체하기 위해 업데이트된다. 사용자는 사용자 인터페이스를 업데이트하기 위해 음성 또는 기타 양식을 통해 입력을 제공할 수도 있다.
사용자 인터페이스(300)는 재구성 가능할 수 있다. 예를 들어, 사용자는 그리드 부분의 크기를 증가시키기 위한 입력을 제공할 수 있다. 이에 응답하여, 이미지 그리드의 더 많은 행이 더 작은 지도 부분과 함께 표시될 수 있다. 다른 예에서, 사용자는 지도 부분의 크기를 증가시키기 위한 입력을 제공할 수 있다. 이에 응답하여, 이미지 그리드의 더 적은 행이 표시되거나 그리드가 완전히 숨겨질 수 있다.
도 4a는 일부 구현에 따른 예시적인 사용자 인터페이스(400)를 도시한다. 사용자 인터페이스(400)는 지도 부분(402) 및 그리드 부분(404)을 포함한다. 도 4에 도시된 바와 같이, 그리드 부분은 이미지 그리드에 배열된 이미지(406a-406f)를 포함한다. 이미지(406a-406f)는 각각 같은 날(2019 년 8 월 4 일)에 대응하는 타임스탬프와 연관될 수 있다. 사용자 인터페이스(400)는 또한 그리드(이미지 406a-406e)의 이미지에 대한 기간을 나타내는 텍스트 라벨(410)("August 4, 2019(2019 년 8 월 4 일)")을 포함한다.
도 4a에 도시된 바와 같이, 지도 부분(402)은 히트맵 오버레이가 있는 디지털 지도의 제1 영역을 묘사한다. 사용자의 이미지 라이브러리는 도 4a에서 이미지 "529 장(529 photos)"(412)의 개수로 표시된 바와 같이 제1 영역 내의 위치와 관련된 529 개의 이미지를 포함한다.
지도 부분(402)은 이미지 미리보기(408)를 더 포함한다. 이미지 미리보기(408)는 그리드 부분(404)의 이미지(406b)에 대응한다. 이미지 미리보기(408)는 아이콘(414a)으로 표시된 바와 같이 이미지(406b)와 연관된 위치에 고정된다. 알 수 있는 바와 같이, 같은 날의 사용자 라이브러리의 다른(상이한) 이미지와 연관된 제1 영역 내의 위치는 추가 아이콘(414b 및 414c)에 의해 지도 부분(402)에 표시된다. 단순화를 위해, 같은 날의 다른(상이한) 이미지에 대응하는 지도 부분(402)의 다른 아이콘은 도 4a에서 라벨링되지 않는다.
도 4b는 사용자가 도 4a의 지도 부분(402)에서 탭 입력 선택 아이콘(414b)을 제공한 후에 디스플레이되는 사용자 인터페이스(420)를 예시한다. 명확성을 위해, 일부 참조 번호는 도 4b에서 생략된다. 도 4b에 도시된 바와 같이, 탭 입력에 응답하여, 이미지 미리보기(408)는 이미지(406b)를 이미지(406d)로 대체하도록 수정되고 이제 아이콘(414b)에 대응하는 위치에 고정된다. 또한, 그리드 부분은 이미지(406a-406c)를 제거하고 이미지(406g-406i)를 보여주기 위해 업데이트된다. 따라서, 그리드 부분(404)은 지도 부분(402)과 동기적으로 업데이트된다. 도 4b는 그리드의 다른 행을 도시하지만, 예를 들어, 사용자가 이미지 미리보기에서 사용중인 이미지에서 인접한 이미지에 해당하는 아이콘을 선택할 때 그리드 부분이 동일하게 유지될 수 있다.
도 4c는 사용자가 도 4b의 그리드 부분(404)에 스크롤 입력을 제공한 후에 디스플레이되는 사용자 인터페이스(430)를 예시한다. 명확성을 위해, 일부 참조 번호는 도 4c에서 생략된다. 도 4c에 도시된 바와 같이, 스크롤 입력에 응답하여, 그리드 부분은 이미지(406d-406f)를 제거하고 이미지(406j-406l)를 보여주기 위해 업데이트된다. 그리드를 업데이트한 후 이미지 406g-406i는 그리드의 제1 행을 차지한다. 이미지 미리보기(408)는 이미지(406d)를 이제 아이콘(414c)에 대응하는 위치에 고정된 이미지(406g)로 대체하도록 수정된다. 따라서, 지도 부분(402)은 그리드 부분(404)과 동기적으로 업데이트된다.
전술한 설명은 도 4a 내지 도 4b의 사용자 인터페이스 업데이트를 위한 탭 입력 및 도 4b 내지 도 4c의 사용자 인터페이스 업데이트를 위한 스크롤 입력을 지칭하지만, 사용자는 임의의 방식으로 스크롤 또는 탭 입력을 수행할 수 있으며, 예를 들어 사용자는 해당 이미지의 미리보기를 얻기 위해 지도 부분(402)에서 임의의 아이콘을 탭할 수 있고, 그리드 부분(404)을 스크롤하여 지도 부분(402)에 묘사된 영역에 대응하는 그들의 라이브러리로부터 다른 이미지를 볼 수 있음을 이해할 수 있을 것이다.
또한, 사용자는 디지털 지도의 다른 영역을 선택하기 위해 팬 입력, 확대 입력, 축소 입력 또는 기타 입력을 제공할 수 있다. 이러한 입력에 응답하여, 지도 부분(402)은 해당 영역에 대한 히트맵을 포함하는 대응 영역을 디스플레이하도록 업데이트된다. 이미지 미리보기도 업데이트되어 해당 지역의 이미지를 표시한다. 또한, 그리드 부분(404)은 선택된 영역에 대응하는 사용자의 이미지 라이브러리에 이미지를 표시하도록 업데이트된다.
도 5는 본 명세서에 설명된 하나 이상의 특징을 구현하는 데 사용될 수 있는 예시적인 장치(500)의 블록도이다. 일 예에서, 장치(500)는 클라이언트 장치, 예를 들어 도 1에 도시된 임의의 클라이언트 장치(120-126)를 구현하는 데 사용될 수 있다. 대안적으로, 장치(500)는 서버 장치, 예를 들어 서버 장치(104)를 구현할 수 있다. 일부 구현에서, 장치(500)는 클라이언트 장치, 서버 장치, 또는 클라이언트 및 서버 장치 모두를 구현하는 데 사용될 수 있다. 장치(500)는 임의의 적절한 컴퓨터 시스템, 서버, 또는 전술한 바와 같은 다른 전자 또는 하드웨어 장치일 수 있다.
여기에 설명된 하나 이상의 방법은 임의의 유형의 컴퓨팅 장치, 웹 브라우저에서 실행되는 프로그램, 모바일 컴퓨팅 장치(예: 휴대 전화, 스마트 폰, 태블릿 컴퓨터, 웨어러블 기기(손목 시계, 완장, 보석, 모자, 가상 현실 고글 또는 안경, 증강 현실 고글 또는 안경, 헤드 마운트 디스플레이 등), 노트북 컴퓨터 등)에서 실행되는 모바일 애플리케이션( "앱")에서 실행될 수 있는 독립형 프로그램에서 실행될 수 있다. 일례에서, 클라이언트/서버 아키텍처가 사용될 수 있으며, 예를 들어, 모바일 컴퓨팅 장치(클라이언트 장치로서)가 사용자 입력 데이터를 서버 장치로 전송하고 서버로부터 출력을 위한(예: 디스플레이를 위한) 최종 출력 데이터를 수신한다. 다른 예에서, 모든 계산은 모바일 컴퓨팅 장치의 모바일 앱(및/또는 다른 앱) 내에서 수행될 수 있다. 다른 예에서, 계산은 모바일 컴퓨팅 장치와 하나 이상의 서버 장치간에 분할될 수 있다.
일부 구현에서, 장치(디바이스)(500)는 프로세서(502), 메모리(504) 및 입력/출력(I/O) 인터페이스(506)를 포함한다. 프로세서(502)는 프로그램 코드를 실행하고 장치(500)의 기본 동작을 제어하기 위한 하나 이상의 프로세서 및/또는 처리 회로일 수 있다. "프로세서"는 데이터, 신호 또는 기타 정보를 처리하는 적절한 하드웨어 시스템, 메커니즘 또는 컴포넌트를 포함한다. 프로세서는, 하나 이상의 코어(예: 단일 코어, 듀얼 코어 또는 다중 코어 구성), 다중 처리 장치(예: 다중 프로세서 구성), 그래픽 처리 장치(GPU), FPGA(Field-Programmable Gate Array), ASIC (application-specific integrated circuit), CPLD(complex programmable logic device), 기능 달성을 위한 전용 회로, 신경망 모델 기반 처리를 구현하는 특수 목적 프로세서, 신경 회로, 행렬 계산(예: 행렬 곱셈) 또는 기타 시스템에 최적화된 프로세서를 갖는 범용 CPU(중앙 처리 장치)가 있는 시스템을 포함할 수 있다. 일부 구현에서, 프로세서(502)는 신경망 처리를 구현하는 하나 이상의 코-프로세서(co-processors)를 포함할 수 있다. 일부 구현에서, 프로세서(502)는 확률적 출력을 생성하기 위해 데이터를 처리하는 프로세서일 수 있으며, 예를 들어, 프로세서(502)에 의해 생성된 출력은 부정확할 수 있거나 예상 출력으로부터의 범위 내에서 정확할 수 있다. 처리(프로세싱)는 특정 지리적 위치로 제한되거나 일시적인 제한이 있을 필요가 없다. 예를 들어, 프로세서는 "실시간", "오프라인", "배치(batch) 모드" 등의 기능을 수행할 수 있다. 처리의 일부는 상이한(또는 동일한) 처리 시스템에 의해 상이한 시간 및 상이한 위치에서 수행될 수 있다. 컴퓨터는 메모리와 통신하는 모든 프로세서일 수 있다.
메모리(504)는 일반적으로 프로세서(502)에 의한 액세스를 위해 장치(500)에 제공되며, RAM(Random Access Memory), ROM(Read-Only Memory), EEPROM(Electrical Erasable Read-Only Memory), 플래시 메모리 등과 같은 임의의 적절한 프로세서 판독 가능 저장 매체가 될 수 있으며, 이는 프로세서(502)와 분리되어 있고 및/또는 그와 통합된다. 메모리(504)는 운영 체제(508), 이미지 관리 애플리케이션(510)(예를 들어, 이는 도 1의 이미지 관리 애플리케이션(156)과 동일할 수 있음), 기타(다른) 애플리케이션(512) 및 애플리케이션 데이터(514)를 포함하여, 프로세서(502)에 의해 서버 장치(500)에서 작동하는 소프트웨어를 저장할 수 있다. 다른 애플리케이션(512)은 데이터 디스플레이 엔진, 웹 호스팅 엔진, 디지털 지도 애플리케이션, 이미지 디스플레이 엔진, 알림 엔진, 소셜 네트워킹 엔진 등과 같은 애플리케이션을 포함할 수 있다. 일부 구현에서, 이미지 관리 애플리케이션(510)은 프로세서(502)가 본 명세서에 설명된 기능, 예를 들어 도 2의 방법의 일부 또는 전부를 수행할 수 있게 하는 명령어를 포함할 수 있다.
다른 애플리케이션(512)은 예를 들어 디지털 지도 애플리케이션, 이미지 편집 애플리케이션, 미디어 디스플레이 애플리케이션, 통신 애플리케이션, 웹 호스팅 엔진 또는 애플리케이션, 미디어 공유 애플리케이션 등을 포함할 수 있다. 여기에 개시된 하나 이상의 방법은 여러 환경 및 플랫폼에서 작동할 수 있으며, 예를 들어 임의의 유형의 컴퓨팅 장치에서 실행될 수 있는 독립형 컴퓨터 프로그램, 웹 페이지를 갖는 웹 애플리케이션, 모바일 컴퓨팅 장치 등에서 실행되는 모바일 애플리케이션("앱")으로 작동할 수 있다.
메모리(504) 내의 임의의 소프트웨어는 대안적으로 임의의 다른 적절한 저장 위치 또는 컴퓨터 판독 가능 매체에 저장될 수 있다. 또한, 메모리(504)(및/또는 다른 연결된 저장 장치(들))는 하나 이상의 메시지, 하나 이상의 분류법, 전자 백과 사전, 사전, 디지털 맵, 시소러스, 지식 기반, 메시지 데이터, 문법, 사용자 선호도 및/또는 여기에 설명된 특징에 사용되는 기타 명령어 및 데이터를 저장할 수 있다. 메모리(504) 및 임의의 다른 유형의 저장소(스토리지)(자기 디스크, 광 디스크, 자기 테이프 또는 기타 유형의 매체)는 "스토리지" 또는 "스토리지 장치"로 간주될 수 있다.
I/O 인터페이스(506)는 서버 장치(500)를 다른 시스템 및 장치와 인터페이스할 수 있는 기능을 제공할 수 있다. 인터페이스 장치는 장치(500)의 일부로 포함될 수 있거나 분리되어 장치(500)와 통신할 수 있다. 예를 들어, 네트워크 통신 장치, 저장 장치(예를 들어, 메모리 및/또는 데이터베이스(106)) 및 입력/출력 장치는 I/O 인터페이스(506)를 통해 통신할 수 있다. 일부 구현에서, I/O 인터페이스는 입력 장치(키보드, 포인팅 장치, 터치 스크린, 마이크, 카메라, 스캐너, 센서 등) 및/또는 출력 장치(디스플레이 장치, 스피커 장치, 프린터, 모터 등)와 같은 인터페이스 장치에 연결될 수 있다.
I/O 인터페이스(506)에 연결할 수 있는 인터페이스 장치의 일부 예는 본 명세서에 설명된 바와 같이 출력 애플리케이션의 콘텐츠, 예를 들어 이미지, 비디오 및/또는 사용자 인터페이스를 표시하는 데 사용될 수 있는 하나 이상의 디스플레이 장치(520)를 포함할 수 있다. 디스플레이 장치(520)는 로컬 연결(예를 들어, 디스플레이 버스) 및/또는 네트워크 연결을 통해 장치(500)에 연결될 수 있으며 임의의 적절한 디스플레이 장치일 수 있다. 디스플레이 장치(520)는 LCD, LED 또는 플라즈마 디스플레이 스크린, CRT, 텔레비전, 모니터, 터치스크린, 3-D 디스플레이 스크린, 또는 다른 시각적 디스플레이 장치와 같은 임의의 적절한 디스플레이 장치를 포함할 수 있다. 디스플레이 장치(520)는 또한 입력 장치, 예를 들어 터치스크린 입력 장치로서 작용할 수 있다. 예를 들어, 디스플레이 장치(520)는 모바일 장치에 제공된 평면 디스플레이 스크린, 안경 또는 헤드셋 장치에 제공된 다중 디스플레이 스크린, 또는 컴퓨터 장치용 모니터 스크린일 수 있다.
I/O 인터페이스(506)는 다른 입력 및 출력 장치와 인터페이스할 수 있다. 일부 예에는 이미지를 캡처하거나 제스처를 감지할 수 있는 하나 이상의 카메라가 포함된다. 일부 구현은 사운드 캡처용 마이크로폰(예: 캡처된 이미지, 음성 명령 등의 일부로), 제스처 감지용 레이더 또는 기타 센서, 사운드 출력용 오디오 스피커 장치 또는 기타 입력 및 출력 장치를 제공할 수 있다.
설명의 편의를 위해, 도 5는 프로세서(502), 메모리(504), I/O 인터페이스(506) 및 소프트웨어 블록(508, 510 및 512) 각각에 대한 하나의 블록을 도시한다. 이러한 블록은 하나 이상의 프로세서 또는 처리 회로, 운영 체제, 메모리, I/O 인터페이스, 애플리케이션 및/또는 소프트웨어 모듈을 나타낼 수 있다. 다른 구현에서, 장치(500)는 도시된 모든 컴포넌트를 갖지 않을 수 있고 및/또는 여기에 도시된 것 대신에 또는 이에 추가하여 다른 유형의 요소를 포함하는 다른 요소를 가질 수 있다. 일부 컴포넌트는 본 명세서의 일부 구현에서 설명된 바와 같이 블록 및 동작을 수행하는 것으로 설명되지만, 환경(100), 장치(500), 유사한 시스템, 또는 그러한 시스템과 관련된 프로세서 또는 임의의 적절한 프로세서의 컴포넌트의 조합 또는 임의의 적절한 컴포넌트는 설명된 블록 및 동작을 수행할 수 있다.
여기에 설명된 방법은 컴퓨터에서 실행될 수 있는 컴퓨터 프로그램 명령어 또는 코드에 의해 구현될 수 있다. 예를 들면, 코드는 하나 이상의 디지털 프로세서(예: 마이크로프로세서 또는 기타 처리 회로)에 의해 구현될 수 있으며, 반도체 또는 솔리드 스테이트 메모리, 자기 테이프, 이동식 컴퓨터 디스켓, RAM(Random Access Memory), ROM(read-only memory), 플래시 메모리, RMD(rigid magnetic disk), 광 디스크, 솔리드 스테이트 메모리 드라이브 등을 포함하는, 자기, 광학, 전자기 또는 반도체 저장 매체와 같은, 비-일시적 컴퓨터 판독 가능 매체(예: 저장 매체)를 포함하는 컴퓨터 프로그램 제품에 저장될 수 있다. 프로그램 명령어는 또한 예를 들어 서버(예를 들어, 분산 시스템 및/또는 클라우드 컴퓨팅 시스템)로부터 전달되는 SaaS(Software as a Service)의 형태로 전자 신호에 포함되어 제공될 수 있다. 또는 하나 이상의 방법이 하드웨어(로직 게이트 등) 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 하드웨어의 예는 프로그래밍 가능 프로세서(예: FPGA(Field-Programmable Gate Array), 복합 프로그래밍 가능 논리 장치), 범용 프로세서, 그래픽 프로세서, ASIC(Application Specific Integrated Circuits) 등일 수 있다. 하나 이상의 방법은 시스템에서 실행되는 애플리케이션의 일부 또는 컴포넌트로 수행되거나 다른 애플리케이션 및 운영 체제와 함께 실행되는 애플리케이션이나 소프트웨어로 수행될 수 있다.
설명이 특정 구현에 대해 설명되었지만, 이러한 특정 구현은 단지 예시적이며 제한적이지 않다. 예에서 예시된 개념은 다른 예 및 구현에 적용될 수 있다.
여기에 설명된 특정 구현이 사용자에 대한 개인 정보(예: 사용자 데이터, 사용자의 소셜 네트워크에 대한 정보, 위치에서의 사용자 위치 및 시간, 사용자의 생체 정보, 사용자의 활동 및 인구 통계 정보)를 수집하거나 사용할 수 있는 상황에서, 사용자에게는 정보 수집 여부, 개인 정보 저장 여부, 개인 정보 사용 여부 및 사용자에 대한 정보 수집, 저장 및 사용 방법을 제어할 수 있는 하나 이상의 기회가 제공된다. 즉, 여기에 설명된 시스템 및 방법은 관련 사용자로부터 명시적인 승인을 받으면 사용자 개인 정보를 수집, 저장 및/또는 사용한다.
예를 들어, 사용자는 프로그램 또는 기능이 특정 사용자 또는 프로그램 또는 기능과 관련된 다른 사용자에 대한 사용자 정보를 수집하는지 여부를 제어할 수 있다. 개인 정보를 수집할 각 사용자에게는 해당 사용자와 관련된 정보 수집에 대한 제어를 허용하고 정보 수집 여부 및 정보의 수집 부분에 대한 권한 또는 권한을 제공하는 하나 이상의 옵션이 제공된다. 예를 들어, 사용자는 통신 네트워크를 통해 이러한 제어 옵션을 하나 이상 제공받을 수 있다. 또한 특정 데이터는 저장 또는 사용되기 전에 하나 이상의 방식으로 처리되어 개인 식별 정보가 제거될 수 있다. 예를 들어, 사용자의 신원은 개인 식별 정보가 결정되지 않도록 처리될 수 있다. 다른 예로서, 사용자 장치의 지리적 위치는 사용자의 특정 위치를 결정할 수 없도록 더 큰 지역으로 일반화될 수 있다.
본 개시에 설명된 기능 블록, 동작, 특징, 방법, 장치 및 시스템은 당업자에게 알려진 바와 같이 시스템, 장치 및 기능 블록의 상이한 조합으로 통합되거나 분할될 수 있음을 주목한다. 특정 구현의 루틴을 구현하기 위해 임의의 적절한 프로그래밍 언어 및 프로그래밍 기술이 사용될 수 있다. 절차적 또는 객체 지향과 같은 다양한 프로그래밍 기법이 사용될 수 있다. 루틴은 단일 처리 장치 또는 다중 프로세서에서 실행될 수 있다. 단계, 작업 또는 계산이 특정 순서로 표시될 수 있지만 순서는 다른 특정 구현에서 변경될 수 있다. 일부 구현에서, 본 명세서에서 순차적으로 도시된 복수의 단계 또는 동작이 동시에 수행될 수 있다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    제1 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제1 영역과 매칭하는 제1 이미지 세트를 식별하는 단계;
    디지털 지도의 제1 영역에 대응하는 지도 부분 및 제1 이미지 세트의 하나 이상의 이미지를 포함하는 그리드 부분을 포함하는 사용자 인터페이스가 디스플레이되게 하는 단계;
    제1 영역과는 상이한 디지털 지도의 제2 영역을 나타내는 사용자 입력을 수신하는 단계;
    제2 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제2 영역과 매칭하는 제2 이미지 세트를 식별하는 단계 -제1 세트 및 제2 세트는 상이한 세트임-; 그리고
    사용자 인터페이스를 업데이트하는 단계를 포함하며,
    상기 업데이트 이후에, 업데이트된 사용자 인터페이스의 지도 부분은 디지털 지도의 제2 영역에 대응하고, 업데이트된 사용자 인터페이스의 그리드 부분은 제2 이미지 세트의 하나 이상의 이미지를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서, 상기 사용자 입력을 수신하는 단계는 팬 입력, 줌인 입력 또는 줌아웃 입력 중 하나를 수신하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    사용자 인터페이스의 지도 부분은 이미지 미리보기를 포함하고, 이미지 미리보기는 사용자 인터페이스의 그리드 부분에도 포함된 제1 이미지 세트의 특정 이미지를 포함하고, 이미지 미리보기는 특정 이미지와 연관된 위치에 대한 지도 부분의 위치에 고정(anchored)되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제3항에 있어서, 상기 방법은,
    사용자 인터페이스의 그리드 부분을 참조하여 스크롤 입력을 수신하는 단계 -스크롤 입력은 방향을 나타냄-; 그리고
    스크롤 입력을 수신하는 것에 응답하여, 사용자 인터페이스의 그리드 부분을 업데이트하고 그리고 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 그리드 부분과 동기적으로 업데이트되도록 하는 단계를 더 포함하며, 상이한 이미지는 사용자 인터페이스의 업데이트된 그리드 부분에 있는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제3항에 있어서,
    사용자 인터페이스의 지도 부분은 디지털 지도의 제1 영역의 각각의 위치에 디스플레이된 복수의 블롭(blob)을 더 포함하고, 각각의 블롭은 각각의 위치와 연관된 제1 이미지 세트 내의 하나 이상의 이미지에 대응하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제5항에 있어서, 상기 방법은,
    사용자 인터페이스의 지도 부분에서 탭 입력을 수신하는 단계 -상기 탭 입력은 복수의 블롭 중 특정 블롭의 선택을 나타냄-;
    탭 입력을 수신하는 것에 응답하여, 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 업데이트되게 하는 단계 -상이한 이미지는 특정 블롭에 대응하는 하나 이상의 이미지로부터의 이미지이며-; 그리고
    사용자 인터페이스의 그리드 부분이 지도 부분과 동기화되어 업데이트되게 하는 단계를 더 포함하며, 업데이트된 그리드 부분은 상이한 이미지를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제3항에 있어서, 제1 이미지 세트의 각 이미지는 각각의 타임스탬프와 연관되며, 상기 방법은,
    이미지 미리보기의 특정 이미지와 연관된 타임스탬프와 임계 시간 차이 내에 있는 타임스탬프와 연관된 이미지를 식별하는 단계; 그리고
    식별된 이미지 중 하나 이상에 대한 각각의 아이콘을 디스플레이하는 단계를 더 포함하며, 각각의 아이콘은 식별된 이미지 중 해당 이미지와 연관된 디지털 지도의 제1 영역의 위치에 디스플레이되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 컴퓨팅 장치로서,
    프로세서; 그리고
    프로세서에 연결되고, 그리고 프로세서에 의해 실행될 때 프로세서로 하여금 동작들을 수행하게 하는 명령어가 저장된 메모리를 포함하며, 상기 동작들은,
    제1 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제1 영역과 매칭하는 제1 이미지 세트를 식별하는 동작;
    디지털 지도의 제1 영역에 대응하는 지도 부분 및 제1 이미지 세트의 하나 이상의 이미지를 포함하는 그리드 부분을 포함하는 사용자 인터페이스가 디스플레이되게 하는 동작;
    제1 영역과는 상이한 디지털 지도의 제2 영역을 나타내는 사용자 입력을 수신하는 동작;
    제2 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제2 영역과 매칭하는 제2 이미지 세트를 식별하는 동작 -제1 세트 및 제2 세트는 상이한 세트임-; 그리고
    사용자 인터페이스를 업데이트하는 동작을 포함하며,
    상기 업데이트 이후에, 업데이트된 사용자 인터페이스의 지도 부분은 디지털 지도의 제2 영역에 대응하고, 업데이트된 사용자 인터페이스의 그리드 부분은 제2 이미지 세트의 하나 이상의 이미지를 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  9. 제8항에 있어서, 상기 사용자 인터페이스의 지도 부분은 상기 사용자 인터페이스의 그리드 부분에도 포함되는 상기 제1 이미지 세트 내의 특정 이미지를 포함하는 이미지 미리보기를 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  10. 제9항에 있어서, 상기 동작들은,
    사용자 인터페이스의 그리드 부분을 참조하여 스크롤 입력을 수신하는 동작 -스크롤 입력은 방향을 나타냄-; 그리고
    스크롤 입력을 수신하는 것에 응답하여,
    사용자 인터페이스의 그리드 부분을 업데이트하고 그리고 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 업데이트되도록 하는 동작을 더 포함하며, 상이한 이미지는 사용자 인터페이스의 업데이트된 그리드 부분에 있는 것을 특징으로 하는 컴퓨팅 장치.
  11. 제9항에 있어서,
    사용자 인터페이스의 지도 부분은 디지털 지도의 제1 영역의 각각의 위치에 디스플레이된 복수의 블롭(blob)을 포함하는 히트맵을 포함하고, 각각의 블롭은 각각의 위치와 연관된 제1 이미지 세트 내의 하나 이상의 이미지에 대응하는 것을 특징으로 하는 컴퓨팅 장치.
  12. 제11항에 있어서, 상기 동작들은,
    사용자 인터페이스의 지도 부분에서 탭 입력을 수신하는 동작 -상기 탭 입력은 복수의 블롭 중 특정 블롭의 선택을 나타냄-;
    탭 입력을 수신하는 것에 응답하여, 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 업데이트되도록 하는 동작 -상이한 이미지는 특정 블롭에 대응하는 하나 이상의 이미지로부터의 이미지임-; 그리고
    사용자 인터페이스의 그리드 부분이 업데이트되도록 하는 동작을 더 포함하며, 업데이트된 그리드 부분은 상이한 이미지를 포함하는 것을 특징으로 하는 컴퓨팅 장치.
  13. 제9항에 있어서, 제1 이미지 세트의 각 이미지는 각각의 타임스탬프와 연관되고, 상기 동작들은,
    이미지 미리보기의 특정 이미지와 연관된 타임스탬프와 임계 시간 차이 내에 있는 타임스탬프와 연관된 이미지를 식별하는 동작; 그리고
    식별된 이미지 중 하나 이상에 대한 각각의 아이콘을 디스플레이하는 동작을 더 포함하며, 각각의 아이콘은 식별된 이미지 중 해당 이미지와 연관된 디지털 지도의 제1 영역의 위치에 디스플레이되는 것을 특징으로 하는 컴퓨팅 장치.
  14. 프로세서에 의해 실행될 때 프로세서로 하여금 동작들을 수행하게 하는 명령어가 저장된 비-일시적 컴퓨터 판독 가능 매체로서, 상기 동작들은,
    제1 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제1 영역과 매칭하는 제1 이미지 세트를 식별하는 동작;
    디지털 지도의 제1 영역에 대응하는 지도 부분 및 제1 이미지 세트의 하나 이상의 이미지를 포함하는 그리드 부분을 포함하는 사용자 인터페이스가 디스플레이되게 하는 동작;
    제1 영역과는 상이한 디지털 지도의 제2 영역을 나타내는 사용자 입력을 수신하는 동작;
    제2 이미지 세트와 연관된 지리 정보에 기초하여 디지털 지도의 제2 영역과 매칭하는 제2 이미지 세트를 식별하는 동작 -제1 세트 및 제2 세트는 상이한 세트임-; 그리고
    사용자 인터페이스를 업데이트하는 동작을 포함하며,
    상기 업데이트 이후에, 업데이트된 사용자 인터페이스의 지도 부분은 디지털 지도의 제2 영역에 대응하고, 업데이트된 사용자 인터페이스의 그리드 부분은 제2 이미지 세트의 하나 이상의 이미지를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  15. 제14항에 있어서, 상기 사용자 입력을 수신하는 동작은 팬 입력, 줌인 입력 또는 줌아웃 입력 중 하나를 수신하는 동작을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  16. 제14항에 있어서, 사용자 인터페이스의 지도 부분은 제1 이미지 세트에 특정 이미지를 포함하는 이미지 미리보기를 포함하고, 이미지 미리보기는 특정 이미지와 연관된 위치에 대한 지도 부분의 위치에 고정되는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  17. 제16항에 있어서, 상기 동작들은,
    사용자 인터페이스의 그리드 부분을 참조하여 스크롤 입력을 수신하는 동작 -스크롤 입력은 방향을 나타냄-; 그리고
    스크롤 입력을 수신하는 것에 응답하여, 사용자 인터페이스의 그리드 부분을 업데이트하고 그리고 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 그리드 부분과 동기적으로 업데이트되도록 하는 동작을 더 포함하며, 상이한 이미지는 사용자 인터페이스의 업데이트된 그리드 부분에 있는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  18. 제16항에 있어서, 사용자 인터페이스의 지도 부분은 디지털 지도의 제1 영역의 각각의 위치에 디스플레이된 복수의 블롭(blob)을 더 포함하고, 각각의 블롭은 각각의 위치와 연관된 제1 이미지 세트 내의 하나 이상의 이미지에 대응하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  19. 제18항에 있어서, 상기 동작들은,
    사용자 인터페이스의 지도 부분에서 탭 입력을 수신하는 동작 -상기 탭 입력은 복수의 블롭 중 특정 블롭의 선택을 나타냄-;
    탭 입력을 수신하는 것에 응답하여, 상이한 이미지를 포함하도록 이미지 미리보기를 수정하기 위해 사용자 인터페이스의 지도 부분이 업데이트되게 하는 동작 -상이한 이미지는 특정 블롭에 대응하는 하나 이상의 이미지로부터의 이미지이며-; 그리고
    사용자 인터페이스의 그리드 부분이 지도 부분과 동기화되어 업데이트되게 하는 동작을 더 포함하며, 업데이트된 그리드 부분은 상이한 이미지를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  20. 제16항에 있어서, 상기 동작들은,
    이미지 미리보기의 특정 이미지와 연관된 타임스탬프와 임계 시간 차이 내에 있는 타임스탬프와 연관된 이미지를 식별하는 동작; 그리고
    식별된 이미지 중 하나 이상에 대한 각각의 아이콘을 디스플레이하는 동작을 더 포함하며, 각각의 아이콘은 식별된 이미지 중 해당 이미지와 연관된 디지털 지도의 제1 영역의 위치에 디스플레이되는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
KR1020217006325A 2020-05-17 2020-08-25 디지털 지도에서 이미지 보기 KR102465282B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/876,056 2020-05-17
US16/876,056 US11635867B2 (en) 2020-05-17 2020-05-17 Viewing images on a digital map
PCT/US2020/047854 WO2021236141A1 (en) 2020-05-17 2020-08-25 Viewing images on a digital map

Publications (2)

Publication Number Publication Date
KR20210144650A true KR20210144650A (ko) 2021-11-30
KR102465282B1 KR102465282B1 (ko) 2022-11-09

Family

ID=72422288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217006325A KR102465282B1 (ko) 2020-05-17 2020-08-25 디지털 지도에서 이미지 보기

Country Status (6)

Country Link
US (1) US11635867B2 (ko)
EP (1) EP4154126A1 (ko)
JP (1) JP7203960B2 (ko)
KR (1) KR102465282B1 (ko)
CN (1) CN114041171A (ko)
WO (1) WO2021236141A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021061601A1 (en) * 2019-09-27 2021-04-01 Raitonsa Dynamics Llc Method and device for generating a map from a photo set
CN112015845B (zh) * 2020-09-29 2024-02-06 北京百度网讯科技有限公司 地图检索测试的方法、装置、设备以及存储介质
USD963694S1 (en) * 2021-08-04 2022-09-13 Hangzhou Ruisheng Software Co., Ltd. Display screen with graphical user interface
US11887364B2 (en) * 2022-04-07 2024-01-30 Anthony M. Brunetti Systems and methods for mapping project sites using ground and aerial imagery

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090002656A (ko) * 2007-07-02 2009-01-09 삼성전자주식회사 사진 파일 제공 장치 및 방법
JP2010182008A (ja) * 2009-02-04 2010-08-19 Nikon Corp 画像表示プログラム、および画像表示装置
KR20120020010A (ko) * 2010-08-27 2012-03-07 삼성전자주식회사 컨텐츠 표시 방법 및 그 장치
KR20200010509A (ko) * 2017-09-19 2020-01-30 구글 엘엘씨 시간 근접성 기반 지도 사용자 상호작용

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3787939B2 (ja) * 1997-02-27 2006-06-21 コニカミノルタホールディングス株式会社 立体映像表示装置
JPH10285515A (ja) 1997-04-10 1998-10-23 Minolta Co Ltd 画像記録再生システム
US20040220965A1 (en) * 2003-04-30 2004-11-04 Michael Harville Indexed database structures and methods for searching path-enhanced multimedia
US9436945B2 (en) 2005-02-01 2016-09-06 Redfin Corporation Interactive map-based search and advertising
US7424147B2 (en) * 2005-05-12 2008-09-09 Hewlett-Packard Development Company, L.P. Method and system for image border color selection
JP2007219615A (ja) 2006-02-14 2007-08-30 Sony Corp 検索装置、検索方法、プログラム
KR101396829B1 (ko) * 2007-09-18 2014-05-21 삼성전자주식회사 복수개의 이미지를 이용한 슬라이드 쇼 제공 방법
US8669994B2 (en) * 2008-11-15 2014-03-11 New Bis Safe Luxco S.A R.L Data visualization methods
US20110219422A1 (en) * 2009-02-23 2011-09-08 Method Solutions Llc System and method for displaying a density of objects in a social network application
JP5478269B2 (ja) 2010-01-13 2014-04-23 オリンパスイメージング株式会社 画像表示装置および画像表示処理プログラム
US20120213404A1 (en) * 2011-02-18 2012-08-23 Google Inc. Automatic event recognition and cross-user photo clustering
US8996305B2 (en) * 2012-06-07 2015-03-31 Yahoo! Inc. System and method for discovering photograph hotspots
US20140040774A1 (en) * 2012-08-01 2014-02-06 Google Inc. Sharing photos in a social network system
US20150213001A1 (en) * 2012-08-20 2015-07-30 Ron Levy Systems and Methods for Collection-Based Multimedia Data Packaging and Display
US20150187098A1 (en) * 2012-09-14 2015-07-02 Google Inc. Method and apparatus for unobtrusively changing imagery supplementing a map display
US9298705B2 (en) * 2012-10-23 2016-03-29 Google Inc. Associating a photo with a geographic place
US9507483B2 (en) * 2012-11-14 2016-11-29 Facebook, Inc. Photographs with location or time information
US9047847B2 (en) * 2013-02-05 2015-06-02 Facebook, Inc. Displaying clusters of media items on a map using representative media items
US20150066941A1 (en) * 2013-08-30 2015-03-05 U-Me Holdings LLC Photo cataloging, storage and retrieval using relationships between people
US10126913B1 (en) * 2013-11-05 2018-11-13 Google Llc Interactive digital map including context-based photographic imagery
US20170039264A1 (en) * 2015-08-04 2017-02-09 Google Inc. Area modeling by geographic photo label analysis
US10817546B2 (en) 2016-09-15 2020-10-27 Adobe Inc. Labelling of aggregated geolocation tags in a digital mapping system
US10896234B2 (en) * 2018-03-29 2021-01-19 Palantir Technologies Inc. Interactive geographical map
US11450039B2 (en) * 2019-06-27 2022-09-20 Purdue Research Foundation Visualization of spatial distributions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090002656A (ko) * 2007-07-02 2009-01-09 삼성전자주식회사 사진 파일 제공 장치 및 방법
JP2010182008A (ja) * 2009-02-04 2010-08-19 Nikon Corp 画像表示プログラム、および画像表示装置
KR20120020010A (ko) * 2010-08-27 2012-03-07 삼성전자주식회사 컨텐츠 표시 방법 및 그 장치
KR20200010509A (ko) * 2017-09-19 2020-01-30 구글 엘엘씨 시간 근접성 기반 지도 사용자 상호작용

Also Published As

Publication number Publication date
JP7203960B2 (ja) 2023-01-13
WO2021236141A1 (en) 2021-11-25
JP2022537470A (ja) 2022-08-26
EP4154126A1 (en) 2023-03-29
US20210357083A1 (en) 2021-11-18
CN114041171A (zh) 2022-02-11
US11635867B2 (en) 2023-04-25
KR102465282B1 (ko) 2022-11-09

Similar Documents

Publication Publication Date Title
KR102465282B1 (ko) 디지털 지도에서 이미지 보기
US11209442B2 (en) Image selection suggestions
US10062133B1 (en) Image retrieval for computing devices
US8990727B2 (en) Fisheye-based presentation of information for mobile devices
CN111010882A (zh) 在基于地图的社交媒体平台上的位置隐私关联
US20170293673A1 (en) Applying geo-tags to digital media captured without location information
US20140040774A1 (en) Sharing photos in a social network system
US11775139B2 (en) Image selection suggestions
CN112930517A (zh) 具有同步建议元素的选择界面
JP2023052127A (ja) 動的キーボードインターフェース内にアニメーション画像を配置するための方法およびシステム
US8862995B1 (en) Automatically creating a movie from geo located content using earth
US11783521B2 (en) Automatic generation of people groups and image-based creations
US20240070189A1 (en) Device messages provided in displayed image compilations based on user content
Shiratori et al. PLUM: A photograph browser with a layout-upon-maps algorithm

Legal Events

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