KR20150043314A - 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과 - Google Patents

스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과 Download PDF

Info

Publication number
KR20150043314A
KR20150043314A KR1020157003476A KR20157003476A KR20150043314A KR 20150043314 A KR20150043314 A KR 20150043314A KR 1020157003476 A KR1020157003476 A KR 1020157003476A KR 20157003476 A KR20157003476 A KR 20157003476A KR 20150043314 A KR20150043314 A KR 20150043314A
Authority
KR
South Korea
Prior art keywords
scene
effect
transition
data
computer system
Prior art date
Application number
KR1020157003476A
Other languages
English (en)
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 KR20150043314A publication Critical patent/KR20150043314A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • 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/24Querying
    • G06F16/248Presentation of query results
    • 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/26Visual data mining; Browsing structured data
    • 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/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • G06F16/4393Multimedia presentations, e.g. slide shows, multimedia albums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • G06F16/444Spatial browsing, e.g. 2D maps, 3D or virtual spaces
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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
    • 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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Remote Sensing (AREA)
  • Geometry (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 명세서에는 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과에 관한 개념 및 기법이 설명된다. 본 명세서에 개시된 개념 및 기법에 따라, 컴퓨터 시스템은 시각화 컴포넌트를 실행할 수 있다. 컴퓨터 시스템은 스프레드시트 데이터의 시각화에 포함된 장면의 선택을 검출할 수 있다. 또한, 컴퓨터 시스템은 선택된 장면에 대한 효과를 생성할 수 있다. 일부 구현예에서, 컴퓨터 시스템은 다른 장면을 식별하고 장면 사이의 전환을 생성한다. 사용자 효과 애니메이션 및 전환 애니메이션을 출력할 수 있다.

Description

스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과{ANIMATION TRANSITIONS AND EFFECTS IN A SPREADSHEET APPLICATION}
스프레드시트 애플리케이션, 리포팅 애플리케이션 또는 다른 데이터 프레젠테이션 애플리케이션은 시각적 표현(visual representation)으로 데이터를 프레젠테이션하는 것을 지원할 수 있다. 데이터의 시각적 표현은 이차원 및/또는 삼차원 파이 차트, 선 그래프, 막대 그래프, 차트 등을 포함할 수 있다. 사용자는 데이터의 시각적 표현을 생성하여 데이터, 데이터 포인트 간의 관계, 흐름 등을 파악하려고 시도할 수 있다. 그러나, 일부 데이터는 이러한 접근법에 따라 그래프화 및/또는 차트화하지 못할 수 있다.
구체적으로, 일부 데이터는 지리적 및/또는 시간적 컴포넌트를 포함할 수 있다. 스프레드시트 애플리케이션은 차트, 그래프, 또는 다른 시각적 표현으로 이러한 데이터를 제시할 수 있으나, 이러한 유형의 정보의 디스플레이는 컬러 코드, 데이터 라벨, 또는 제시되는 데이터에 의미를 부여하지 않을 수 있는 다른 포맷으로 제한될 수 있다. 또한, 이러한 데이터의 프레젠테이션은 시각적으로 주의를 끄는 방식으로 데이터를 제공하지 못할 수 있고 이에 따라 뷰어가 이해하지 못할 수 있다.
본 명세서에는 이러한 그리고 다른 고려사항에 관한 설명이 제시된다.
본 명세서에는 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과에 관한 개념 및 기법이 설명된다. 본 명세서에 개시된 개념 및 기법에 따라, 컴퓨터 시스템은 시각화 컴포넌트(visualization component)를 실행할 수 있다. 시각화 컴포넌트는 스프레드시트 애플리케이션에 포함되거나 스프레드시트 데이터의 시각화를 제시하도록 구성될 수 있다. 본 명세서에 사용된 바와 같은 "시각화"는 지리적 콘텍스트를 제공할 수 있는 맵, 글로브(globe, 구체) 또는 다른 서피스(surface) 상에 시간에 대한 스프레드시트 데이터의 애니메이션화된 렌더링을 포함할 수 있다. 다양한 실시예에 따르면, 시각화는 하나 이상의 장면을 포함할 수 있다. 시각화는 적어도 부분적으로는 지리적 정보 및/또는 시간 값, 타임스탬프 및/또는 데이터에 포함되는 다른 시간 정보에 기초할 수 있다. 시각화는 지리적 정보 및/또는 데이터에 포함된 다른 위치 데이터에 기초하여 맵 또는 글로브 상의 대응하는 위치에 데이터를 보여주는 렌더링된 글로브 또는 맵을 포함할 수 있다.
추가로, 카메라 효과 및/또는 카메라 전환을 장면 및/또는 장면 사이에 추가하는 데 본 명세서에 기술된 개념 및 기법의 실시예가 사용될 수 있다. 본 명세서에 사용되는 "카메라"는 특정한 장면(들)에 대한 시점(viewpoint)에 대응하는 가상 카메라를 나타낼 수 있다. 시점, 경로, 방향 및/또는 카메라의 다른 특징이 연관된 효과 및 장면 시작 시각 및 종료 시각에 기초하여 판정될 수 있다. 장면에 대한 시작 시각 및 종료 시각은 사용자에 의해 특정되거나 선택될 수 있고, 또는 시각화 컴포넌트에 의해 결정될 수 있다. 또한, 시각화 컴포넌트는 장면에 적용할 효과에 대한 선택을 수신할 수 있다. 시각화 컴포넌트는 장면의 렌더링 중에 카메라를 움직이게 하는 장면에 대한 효과를 생성할 수 있다. 효과는 장면 중에 카메라의 중심점(center point)이나 다른 초점 주위의 또는 이를 지나는 카메라의 움직임을 포함할 수 있다.
또한, 시각화 컴포넌트는 장면 사이에 카메라를 움직이게 하는 장면 간 전환을 생성할 수 있다. 시각화 컴포넌트는 전환 기간을 수신하고, 시작 위치 및 종료 위치를 수신하며, 위치 간 경로를 결정할 수 있다. 또한, 시각화 컴포넌트는 전환 중에 카메라의 방향을 결정할 수 있다. 전환 및 효과는 비행 경로를 따르는 카메라의 이동 및/또는 카메라의 줌 레벨을 변경하는 것을 포함할 수 있다. 전환 및 효과는 시각화 컴포넌트에 의해 디스플레이될 수 있고, 또는 시각화 컴포넌트에 의해 다른 방식으로 출력될 수 있다.
일 특징에 따르면, 시각화 컴포넌트를 실행하는 컴퓨터 시스템은 스프레드시트 데이터를 수신한다. 스프레드시트 데이터는 시각화를 포함할 수 있고, 또는 시각화 컴포넌트 및/또는 다른 장치에 의해 시각화가 생성될 수 있다. 컴퓨터 시스템은, 예를 들면 시각화를 제시하는 사용자 인터페이스를 통해, 시각화의 장면에 대한 선택을 검출할 수 있다. 컴퓨터 시스템은 장면에 대한 효과를 생성할 수 있다. 효과는 알려진 또는 선택된 효과 유형, 효과 지속시간, 효과 속도, 및/또는 효과에 대한 카메라 거리에 기초하여 생성될 수 있다. 또한, 컴퓨터 시스템은 효과 애니메이션을 출력할 수 있다.
다른 특징에 따르면, 컴퓨터 시스템은 시각화에서 두 개의 장면을 식별할 수 있고, 장면 간의 전환을 생성할 수 있다. 컴퓨터 시스템은 알려지거나 선택된 전환 유형, 장면에 표시된 지리적 위치 사이의 거리, 전환 시간 또는 지속시간에 기초하여 전환을 생성할 수 있다. 또한, 컴퓨터 시스템은 전환 애니메이션을 출력할 수 있다. 일부 구현예에서, 컴퓨터 시스템은 사용자 인터페이스에 포함된 미리보기 스크린(preview screen)에 효과 애니메이션 및 전환 애니메이션을 출력한다.
전술한 발명의 대상은 컴퓨터 제어 장치, 컴퓨터 프로세서, 컴퓨팅 시스템 또는 컴퓨터 판독가능 저장 매체와 같은 제조 물품으로서 구현될 수 있다는 것을 이해해야 할 것이다. 이러한 그리고 다양한 다른 특징이 다음의 상세한 설명 및 연관된 도면의 검토에 의해 분명해질 것이다.
본 요약은 상세한 설명에서 이하에 기술되는 개념의 일부에 대한 간단한 소개이다. 본 요약은 청구된 발명의 대상의 주요 특징이나 핵심 특징을 식별시키기 위한 것이 아니며, 청구된 발명의 대상의 범주를 제한하는 데 사용하려는 것도 아니다. 또한, 청구된 발명의 대상은 본 명세서의 일부에 언급된 임의의 또는 모든 문제점을 해결하는 구현예에 제한되지 않는다.
도 1은 본 명세서에 기술된 다양한 실시예에 대한 예시적인 동작 환경을 나타내는 시스템 도이다.
도 2는 예시적인 실시예에 따라, 본 명세서에 기술된 시각화 컴포넌트의 추가 특징을 나타내는 블록도이다.
도 3은 예시적인 실시예에 따라, 스프레드시트 애플리케이션에서 애니메이션 효과 및 전환을 생성하는 방법의 특징을 나타내는 흐름도이다.
도 4는 예시적인 실시예에 따라, 스프레드시트 애플리케이션에서 애니메이션 효과를 생성하는 방법의 특징을 나타내는 흐름도이다.
도 5는 예시적인 실시예에 따라, 스프레드시트 애플리케이션에서 애니메이션 전환을 생성하는 방법의 특징을 나타내는 흐름도이다.
도 6은 예시적인 실시예에 따라, 애니메이션 효과를 구성하기 위한 본 명세서에 설명된 개념 및 기법의 추가 특징을 나타내는 선도(line diagram)이다.
도 7a 내지 7h는 일부 예시적인 실시예에 따라 수 개의 예시적인 애니메이션 효과 및 전환의 일부 특징을 나타내는 선도이다.
도 8a 및 8b는 일부 예시적인 실시예에 따라 스프레드시트 애플리케이션에서 애니메이션 전환 및 효과를 구성하고 출력하는 데 사용하기 위한 예시적인 UI를 나타내는 UI 도면이다.
도 9는 본 명세서에 제시된 실시예의 특징을 구현할 수 있는 컴퓨팅 시스템을 위한 예시적인 컴퓨터 하드웨어 및 소프트웨어 아키텍처를 나타내는 컴퓨터 아키텍처 도면이다.
도 10은 본 명세서에 제시된 실시예의 특징을 구현할 수 있는 분산형 컴퓨팅 환경을 나타내는 도면이다.
도 11은 본 명세서에 제시된 실시예의 특징을 구현할 수 있는 컴퓨터 시스템 아키텍처를 나타내는 컴퓨터 아키텍처 도면이다.
다음의 상세한 설명은 스프레드시트 애플리케이션의 애니메이션 전환 및 효과를 위한 개념 및 기법에 관한 것이다. 본 명세서에 설명된 개념 및 기법에 따라, 컴퓨터 시스템은 시각화 컴포넌트를 실행할 수 있다. 시각화 컴포넌트는 스프레드시트 데이터의 시각화를 포함하거나 이를 생성하는 데 사용할 수 있는 스프레드시트 데이터를 획득할 수 있다. 시각화는 하나 이상의 장면을 포함할 수 있고, 스프레드시트 데이터에 포함된 지리적 정보 및/또는 시간 정보에 기초하여 스프레드시트 데이터를 지리 및 시간 콘텍스트로 보여줄 수 있다. 시각화 컴포넌트는 장면에 카메라 효과를 추가하거나 둘 이상의 장면 사이에 카메라 전환을 추가하도록 구성될 수 있다. 효과는 장면 중에 카메라의 중심점 또는 다른 초점 주위로의 또는 이를 지나는 카메라의 움직임을 포함하고, 전환은 비행 경로를 따르는 카메라의 이동 및/또는 카메라의 줌 레벨의 변화를 포함할 수 있다.
시각화 컴포넌트는 예를 들면, 시각화를 제시하는 사용자 인터페이스를 통해, 시각화의 장면에 대한 선택을 검출하도록 구성될 수 있다. 시각화 컴포넌트는 알려지거나 선택된 효과 유형, 효과 지속시간, 효과 속도 및/또는 효과에 대한 카메라 거리에 적어도 부분적으로 기초하여 장면에 대한 효과를 생성하도록 구성될 수 있다. 또한, 시각화 컴포넌트는 시각화 시에 두 개의 장면을 식별하고 장면 사이의 전환을 생성하도록 구성될 수 있다. 시각화 컴포넌트는 알려지거나 선택된 전환 유형, 장면에 나타난 지리적 위치 사이의 거리 및 전환의 기간에 기초하여 전환을 생성하도록 구성될 수 있다. 시각화 컴포넌트는 효과 애니메이션 및 전환 애니메이션을 출력하도록 구성될 수 있다.
본 명세서에 기술된 발명의 대상이 컴퓨터 시스템 상의 운영체제 및 애플리케이션 프로그램의 실행과 함께 실행되는 프로그램 모듈에 대한 일반적인 맥락으로 제시되었으나, 관련 분야의 기술자는 다른 구현예가 다른 유형의 프로그램 모듈과 함께 수행될 수 있다는 것을 이해할 수 있을 것이다. 일반적으로, 프로그램 모듈은 루틴, 프로그램, 컴포넌트, 데이터 구조, 특정한 태스크를 수행하거나 특정한 추상화 데이터 유형을 구현하는 다른 유형의 구조를 포함한다. 또한, 관련 분야의 기술자는 본 명세서에 기술된 발명의 대상이 다른 컴퓨터 시스템 구성(핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반의 또는 프로그램가능한 가전 기기, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함함)과 함께 실현될 수 있다는 것을 이해할 수 있을 것이다.
다음의 상세한 설명에서, 특정한 구현예 또는 예시를 나타내며 본 명세서의 일부를 구성하는 첨부된 도면이 참조된다. 이제 도면을 참조하면, 수 개의 도면에 걸쳐 유사한 번호는 유사한 구성요소를 나타내고, 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과를 위한 컴퓨팅 시스템, 컴퓨터 판독가능 저장 매체 및 컴퓨터로 구현되는 방법이 제시될 것이다.
이제, 도 1을 참조하면, 본 명세서에 제시된 다양한 실시예를 위한 하나의 동작 환경(100)의 여러 특징이 설명될 것이다. 도 1에 도시된 동작 환경(100)은 통신 네트워크("네트워크")(104)와 함께 및/또는 네트워크의 일부로서 동작하는 컴퓨터 시스템(102)을 포함한다. 본 명세서에 기술된 개념 및 기법의 다양한 구현예에 따르면, 컴퓨터 시스템(102)의 기능은 하나 이상의 애플리케이션 서버, 웹 서버, 데이터 저장 시스템, 네트워크 애플리케이션, 전용 하드웨어 장치 및/또는 다른 서버 컴퓨터나 컴퓨팅 장치에 의해 제공될 수 있는 클라우드 기반 컴퓨팅 플랫폼에 의해 제공될 수 있다.
일부 다른 실시예에 따르면, 컴퓨터 시스템(102)은 사용자 컴퓨팅 장치(예, 태블릿 컴퓨팅 장치, 개인 컴퓨터("PC"), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 셀룰러 폰 또는 스마트폰, 다른 모바일 컴퓨팅 장치, 개인 디지털 보조기("PDA") 등)을 포함할 수 있다. 컴퓨터 시스템(102)의 일부 예시적인 아키텍처가 도 6 내지 도 8을 참조하여 이하에서 설명되고 기술된다. 본 명세서에 개시된 개념 및 기법을 설명하고 기술하기 위해, 컴퓨터 시스템(102)의 기능이 서버 컴퓨터에 의해 제공되는 것으로 본 명세서에 설명된다. 전술한 컴퓨터 시스템(102)의 전술한 대안적 실시예에 비추어 볼 때, 본 예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 것을 이해할 수 있을 것이다.
컴퓨터 시스템(102)은 운영체제(106) 및 하나 이상의 애플리케이션 프로그램(예를 들면, 스프레드시트 애플리케이션(108), 시각화 컴포넌트(110), 및/또는 다른 애플리케이션 프로그램)을 실행하도록 구성될 수 있다. 운영체제(106)는 컴퓨터 시스템(102)의 동작을 제어하는 컴퓨터 프로그램이다. 애플리케이션 프로그램은 스프레드시트 애플리케이션에서 시간 정보를 디스플레이하기 위해 본 명세서에 기술된 기능을 제공하도록 운영체제 위에서 실행하도록 구성되는 실행가능한 프로그램이다.
구체적으로, 스프레드시트 애플리케이션(108)은 스프레드시트와 같이 표로 나타낸 데이터 또는 다르게 구조화된 데이터를 생성, 처리, 저장 및/또는 상호작용하도록 구성될 수 있다. 본 명세서에 개시된 개념 및 기법의 일부 실시예에 따라, 스프레드시트 애플리케이션(108)의 기능은 워싱턴, 레드몬드에 소재한 마이크로소프트 사에서 입수할 수 있는 스프레드시트 애플리케이션의 마이크로소프트 엑셀 패밀리의 멤버에 의해 제공될 수 있다. 일부 다른 실시예에서, 스프레드시트 애플리케이션(108)의 기능이 데이터베이스 애플리케이션, 데이터 리포팅 애플리케이션, 데이터 프레젠테이션 애플리케이션 및 이들의 조합 등에 의해 제공될 수 있다.
일부 구현예에 따르면, 스프레드시트 애플리케이션(108)은 애플리케이션 서버 및/또는 웹 서버와 같은 컴퓨터 시스템(102)의 하나 이상의 서버 컴퓨터에 의해 실행될 수 있다. 따라서, 스프레드시트 애플리케이션(108)의 기능은 다른 컴퓨팅 장치에 의해 액세스되거나 컴퓨터 시스템(102)에서 액세스될 수 있다. 설명된 실시예에서, 스프레드시트 애플리케이션(108)의 기능은 사용자 컴퓨팅 장치(112)에 의해 액세스되거나 사용자 컴퓨팅 장치와 상호작용할 수 있다. 사용자 컴퓨팅 장치(112)의 기능은 예를 들면, 태블릿 컴퓨팅 장치, 스마트폰, 랩톱 컴퓨터, 데스크톱 컴퓨터, 다른 컴퓨팅 장치 및 이들의 조합 등에 의해 제공될 수 있다. 사용자 컴퓨팅 장치(112)는 예를 들면, 네트워크(104), 사적 네트워크, 직접 무선 또는 유선 네트워크, 인터넷 및/또는 이러한 그리고 다른 네트워크의 조합 및/또는 통신 링크와 같은 하나 이상의 링크나 네트워크를 통해 컴퓨터 시스템(102)과 통신할 수 있다.
도 1에 도시되지는 않았으나, 사용자 컴퓨팅 장치(112)는 하나 이상의 클라이언트 애플리케이션을 실행할 수 있다. 클라이언트 애플리케이션은 컴퓨터 시스템(102) 상에서 실행하는 스프레드시트 애플리케이션(108)을 액세스하기 위한 웹 브라우저 애플리케이션 및/또는 다른 애플리케이션을 포함할 수 있다. 일부 다른 실시예에서, 스프레드시트 애플리케이션(108)은 사용자 컴퓨팅 장치(112) 또는 본 명세서에 기술된 컴퓨터 시스템(102)의 기능을 포함할 수 있는 다른 장치 상에서 로컬로 실행될 수 있다. 스프레드시트 애플리케이션(108)은 하드웨어, 소프트웨어, 및/또는 이 둘의 조합으로서 구현될 수 있다. 또한, 스프레드시트 애플리케이션(108)은 사용자 컴퓨팅 장치(112), 컴퓨터 시스템(102) 및/또는 다른 컴퓨팅 플랫폼 상의 하나 이상의 애플리케이션 프로그램 모듈 및 다른 컴포넌트를 포함할 수 있다. 본 명세서에서 더욱 상세하게 설명될 것과 같이, 사용자 컴퓨팅 장치(112)는 하나 이상의 사용자 인터페이스("UI")(114)를 생성하여 사용자(116)에게 시간 정보를 제시할 수 있다.
다양한 실시예에 따르면, 스프레드시트 애플리케이션(108)은 스프레드시트 데이터(118)에 포함될 수 있는 표로 나타낸 데이터 또는 다르게 구조화된 데이터를 생성, 처리 및/또는 저장하도록 구성될 수 있다. 또한, 스프레드시트 데이터(118)는 데이터베이스의 테이블, 객체 스토어에 저장된 객체 등으로서 저장될 수 있다. 스프레드시트 애플리케이션(108)의 기능은 일반적으로 이해될 수 있기 때문에, 스프레드시트 애플리케이션(108)은 본 명세서에서 추가로 상세히 설명되지는 않을 것이다.
다양한 실시예에 따르면, 스프레드시트 데이터(118)가 로컬 또는 원격 데이터 소스(120)로부터 컴퓨터 시스템(102)에 의해 획득될 수 있다. 일부 실시예에서, 데이터 소스(120)는 컴퓨터 시스템(102)의 또는 컴퓨터 시스템(102)과 연관된 메모리, 디스크 드라이브 또는 다른 데이터 저장 구성요소를 포함할 수 있다. 도 1에 도시된 실시예와 같은 일부 다른 구현예에서, 데이터 저장소(120)는 네트워크 드라이브, 네트워크(104)의 일부로서 동작하거나 이와 통신 연결된 서버 컴퓨터, 데이터베이스나 다른 실제 또는 가상 데이터 저장 구성요소, 및/또는 다른 데이터 저장 장치를 포함할 수 있다. 이와 같이, 데이터 저장소(120)는 컴퓨터 시스템(102)에 대해 로컬이거나 원격인 데이터 저장 장치라면 어느 것이나 포함할 수 있다.
시각화 컴포넌트(110)는 컴퓨터 시스템(102)에 의해 실행되어 스프레드시트 애플리케이션에 시각적 정보를 디스플레이하기 위한 본 명세서에 기술된 기능을 제공할 수 있다. 구체적으로, 시각화 컴포넌트(110)는 스프레드시트 애플리케이션(108)으로부터 및/또는 데이터 소스(120)로부터 직접 스프레드시트 데이터를 획득하고, 스프레드시트 데이터(118)에 기초하여 스프레드시트 데이터(118)의 삼차원 시각화를 지리적 및/또는 시간적 콘텍스트로 생성하도록 구성될 수 있다. 일부 실시예에서, 시각화 컴포넌트(110)는 스프레드시트 애플리케이션(108)의 컴포넌트로서 구현될 수 있고, 일부 실시예에서는 시각화 컴포넌트(110)가 스프레드시트 애플리케이션과 분리된 컴포넌트로서 구현될 수 있다. 따라서, 스프레드시트 애플리케이션(108) 및 시각화 컴포넌트(110)가 컴퓨터 시스템(102)의 컴포넌트로서 설명되어 있으나, 이들 컴포넌트 각각 및 이들의 조합은 네트워크(104) 및/또는 컴퓨터 시스템(102) 상에서 동작하거나 이들과 통신 연결된 컴퓨터 시스템의 단독 장치 또는 컴포넌트로서 구현되거나 단독 장치 또는 컴포넌트 내에 구현될 수 있다. 따라서, 도시된 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니다.
일부 실시예에서, 시각화 컴포넌트(110)는 스프레드시트 애플리케이션(108)을 위한 플러그인이나 애드인(add-in)으로서 구현될 수 있다. 일부 다른 실시예에서, 시각화 컴포넌트(110)는 본 명세서에 기술된 기능을 제공할 수 있는 서비스 및/또는 애플리케이션 프로그래밍 인터페이스("API")의 세트를 포함할 수 있다. 따라서, 시각화 컴포넌트(110)는 하드웨어, 소프트웨어 또는 이들의 조합으로서 구현될 수 있다는 점을 이해해야 한다.
본 명세서에 개시된 개념 및 기법의 다양한 실시예에 따라, 시각화 컴포넌트(110)가 하나 이상의 지오코딩 서비스(geocoding service)(112)에 액세스하도록 구성될 수 있다. 지오코딩 서비스(122)는 스프레드시트 데이터(118)에 포함된 지리적 데이터를 지리적 정보에 매핑하도록 구성될 수 있다. 따라서, 예를 들면, 시각화 컴포넌트(110)는 예를 들어 거리 주소, 도시, 주, 우편번호 등과 같은 스프레드시트 데이터(118)에 포함된 지리적 데이터를 지오코딩 서비스(122)에 제공할 수 있다. 지오코딩 서비스(122)는 이러한 지리적 데이터를 경도 및 위도 정보 및/또는 다른 지오코딩된 위치 데이터에 매핑할 수 있다. 따라서, 지오코딩 서비스(122)는 반드시 그러한 것은 아니지만, 지오코딩 서비스(122)에 의해 노출된 하나 이상의 API를 통해 컴퓨터 시스템(102)에 의해 호출될 수 있다는 점을 이해할 수 있다. 또한, 지오코딩 서비스(122)는 반드시 그러한 것은 아니지만, 지오코딩된 위치 데이터에 대한 지리적 데이터의 매핑을 나타내는 지리적 매핑 데이터(124)를 컴퓨터 시스템(102)에 제공하도록 구성될 수 있다.
일부 다른 실시예에서, 시각적 컴포넌트(110)는 예를 들면, 네트워크(104), 인터넷, 다른 네트워크 및/또는 이들의 조합과 같은 하나 이상의 네트워크를 통해 지오코딩 서비스(122)에 액세스할 수 있다. 일부 다른 실시예에서, 지오코딩 서비스(122)는 컴퓨터 시스템(102) 상에 구현될 수 있다. 고려되는 실시예에서, 지오코딩 서비스(122)는 시각화 컴포넌트(110)의 컴포넌트로서 구현된다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 것을 이해해야 한다.
또한, 시각화 컴포넌트(110)는 맵 데이터(126)를 획득 및/또는 액세스하도록 구성될 수 있다. 맵 데이터(126)는 본 명세서에 기술된 바와 같은 삼차원 지리적 맵을 생성하기 위한 지리적 위치 및/또는 그래픽 데이터를 제공하는 데 사용될 수 있다. 시각화 컴포넌트(110)는 예를 들면, 맵 서버(128)와 같은 컴퓨팅 장치로부터 또는 컴퓨팅 장치에서 맵 데이터(126)를 획득하거나 액세스하도록 구성될 수 있다. 일부 실시예에서, 맵 서버(128)의 기능은 워싱턴, 레드몬드에 소재한 마이크로소프트 사로부터 입수할 수 있는 BING 검색 엔진과 같은 검색 엔진에 의해 실행되는 매핑 애플리케이션에 의해 제공될 수 있다. 맵 서버(128)의 기능은 추가적인 및/또는 다른 장치 및/또는 애플리케이션에 의해 제공될 수 있기 때문에, 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
컴퓨터 시스템(102)은 예를 들어, 네트워크(104)와 같은 하나 이상의 네트워크를 통해 맵 서버(128)에 액세스할 수 있다. 일부 실시예에서, 시각화 컴포넌트(110)는 맵 데이터(126)로부터 맵 타일(map tiles)에 액세스하고 맵 타일을 삼차원 구형 전기자(globe armature) 위에서 서로 연결하여 삼차원 지리적 글로브(globe)를 생성하도록 구성될 수 있다. 시각화 컴포넌트(110)는 지오코딩 서비스(122)로부터의 위도 및 경도 데이터와 같은 지오코딩된 위치 데이터를 사용하여 삼차원 지리적 글로브 상에 스프레드시트 데이터(118)에 포함된 데이터의 시각화를 하도록 구성될 수 있다. 이와 같이, 시각화 컴포넌트(110)의 다양한 실시예는 지리적 데이터의 디스플레이를 생성하도록 구성될 수 있다.
본 명세서에 사용된 "시각화"는 애니메이션, 장면 및/또는 복수의 장면의 투어(tour)를 포함할 수 있다. 애니메이션, 장면 및/또는 복수의 장면의 투어는 스프레드시트 데이터(118)와 연관된 지리적 위치의 글로브, 맵 또는 다른 서피스(surface) 상에 스프레드시트 데이터(118)를 나타낼 수 있다. 구체적으로, 스프레드시트 데이터(118)는 스프레드시트 데이터(118)에 포함되는 지리적 위치 데이터에 대응하거나 전술한 바와 같이 위치에 매핑된 포인트에서 글로브, 맵 또는 다른 서피스의 시각적 표현 상에 디스플레이될 수 있다. 또한, 시각화는 시간에 따른 데이터 변화를 보여줄 수 있다.
사용자(116)는 스프레드시트 애플리케이션(108) 및 시각화 컴포넌트(110)와 상호작용하여 사용자 컴퓨팅 장치(112)의 디스플레이를 통해 스프레드시트 데이터(118)의 시각화를 생성 및/또는 내비게이션 할 수 있다. 일부 실시예에서, 사용자(116)는 터치스크린, 키보드, 마우스, 게임 컨트롤러, 이들의 조합 등과 같은 사용자 컴퓨팅 장치(112)의 하나 이상의 입력 장치를 사용할 수 있다. UI(114)는 터치스크린, 모니터, 디스플레이, 다른 디스플레이 서피스 또는 장치, 이들의 조합 등에 제시될 수 있다.
또한, 시각화 컴포넌트(110)는 스프레드시트 애플리케이션에서 애니메이션 전환 및 효과를 위한 본 명세서에 설명된 기능을 제공하도록 컴퓨터 시스템(102)에 의해 실행될 수 있다. 구체적으로, 시각화 컴포넌트(110)는 전술한 바와 같이, 스프레드시트 데이터(118)를 획득하고 스프레드시트 데이터(118)의 시각화를 생성하도록 구성될 수 있다. 본 명세서에 기술된 개념 및 기법의 다양한 실시예에 따라, 시각화 컴포넌트(110)는 장면을 생성, 변경 및/또는 저장하기 위한 다양한 사용자 인터페이스를 생성 및/또는 제시하도록 구성될 수 있다. 구체적으로, 시각화 컴포넌트(110)는 복수의 장면의 시퀀스를 나타내기 위해 본 명세서에 사용되는, "투어" 내에 장면을 정렬하도록 구성될 수 있다.
투어의 장면은 본 명세서에서 "카메라"로서 지칭되는 시점(viewpoint) 또는 관점(perspective)으로부터 시각화 컴포넌트(110)에 의해 렌더링될 수 있다. 본 명세서에 기술된 장면에는 물리적 "카메라"가 존재하지 않으며, 이는 시각적 컴포넌트(110)에 의해 렌더링된다는 점을 이해하여야 한다. 따라서, 본 명세서에서 사용된 "카메라"는 가상 카메라와 연관된 시점을 나타낼 수 있다. 카메라의 다른 특징은 옵션, 사용자 설정, 이들의 조합 등에 의해 설정될 수 있다. 이러한 특징은 카메라의 위치, 카메라의 시야, 초점 거리 및/또는 카메라의 화각, 가시선(a line of sight) 및/또는 기울기, 왜곡(skew) 또는 다른 카메라의 방향, 카메라의 움직임 등을 포함할 수 있으나 이에 한정되는 것은 아니다. 따라서, 시각화 컴포넌트(110)는 실제 카메라를 이용하여 촬영되는 것과 같이 본 명세서에 설명된 장면을 생성하도록 구성될 수 있다.
나아가, 시각화 컴포넌트(110)의 다양한 실시예가 장면에서 다양한 카메라 효과를 적용 및/또는 변경하고 또는 장면 사이에 다양한 카메라 전환을 적용 및/또는 변경하도록 구성될 수 있다. 구체적으로 도 3 내지 8b를 참조하여, 본 명세서에 상세히 기술된 바와 같이, 시각화 컴포넌트(110)는 사용자 인터페이스에 투어를 제시할 수 있고 투어 내 장면의 선택을 검출할 수 있다. 시각화 컴포넌트(110)는 선택된 장면에 대한 하나 이상의 효과를 생성할 수 있다.
일부 실시예에서, 시각화 컴포넌트(110)는 효과 유형을 결정하고, 지속시간 및 속도와 같은 효과에 대한 타이밍을 결정하고, 렌더링된 데이터로부터 카메라 거리를 결정하고 효과 애니메이션을 생성함으로써 효과를 생성할 수 있다. 효과의 이러한 그리고 다른 특징이 사용자 또는 다른 엔티티에 의해 사용자 인터페이스와의 상호작용 통해 특정될 수 있고, 설정, 옵션 등에 의해 특정될 수 있으며, 또는 장면의 분석을 통해 시각화 컴포넌트(110)에 의해 판정될 수 있다. 효과는 궤도 효과(orbit effect), 정지 효과(stationary effect), 비행 효과(fly by effect), 8자 모양 효과(figure eight effect), 선 효과(line effect), 기타 효과 등을 포함할 수 있으나 이에 한정되는 것은 아니다.
또한, 효과는 원하는 속도 및/또는 크기(magnitude)를 나타내도록 맞춤화될 수 있다. 따라서 예를 들어, 사용자가 궤도 효과와 같은 효과의 크기를 증가시킬 수 있다. 그러한 예에서, 효과의 속도가 증가될 수 있고, 장면에서 효과가 반복될 수 있다. 일부 실시예에서, 효과와 연관된 보기 거리(viewing distance)(예, 궤도 효과와 연관된 반지름)가 시각화 컴포넌트(110)에 의해 자동으로 판정될 수 있고 또는 사용자나 다른 엔티티에 의해 특정될 수 있다. 선형 효과의 경우에, 효과의 크기의 증가는 보기 각도 및/또는 카메라가 이동하는 궤도를 증가시킬 수 있다. 따라서, 효과의 크기는 카메라의 속도에 영향을 줄 수 있고, 여기서 속도는 크기에 구속되며 바람직한 경우에 크기에 기초하여 자동으로 계산될 수 있다. 이러한 효과는 특히 도 4 및 도 6 내지 7E를 참조하여 이하에 보다 상세하게 설명되고 기술된다. 시각화 컴포넌트(110)는 선택된 효과(들), 타이밍 및 카메라 거리를 적용하여 효과 애니메이션을 생성할 수 있다.
또한, 시각화 컴포넌트(110)는 투어의 둘 이상의 장면 사이에 적용될 전환을 생성할 수 있다. 시각화 컴포넌트(110)는 전환 유형을 결정하고, 장면 사이의 거리를 판정하며, 전환 시간 또는 전환 기간을 결정하고 전환 애니메이션을 생성함으로써 전환을 적용할 수 있다. 또한, 시각화 컴포넌트(110)는 전환 기간을 수신하거나 전환 기간을 결정할 수 있다. 장면은 지리적 위치와 연관될 수 있기 때문에, 장면 사이의 거리를 판정하는 것은 장면과 연관된 지리적 위치 사이의 거리를 판정하는 것에 대응할 수 있다. 구체적으로, 시각화 컴포넌트(110)는 특정한 전환에 대해, 전환의 시작 시의 카메라의 시작 위치 및 전환 종료 시의 카메라의 종료 위치를 나타내는 정보를 수신할 수 있다. 시각화 컴포넌트(110)는 두 개의 위치 사이에서 결정되거나 수신된 지속시간 동안의 카메라의 경로 및 방향을 판정할 수 있다. 또한, 시각화 컴포넌트(110)는 투어의 장면 사이의 거리를 판정하고, 전환의 생성 시에 그 정보를 사용하기 위해 지리적 정보를 분석하도록 구성될 수 있다.
시각화 컴포넌트(110)는 사용자나 다른 엔티티와 사용자 인터페이스의 상호작용을 통해, 시각화 컴포넌트(110) 및/또는 사용자와 연관된 설정, 옵션 등을 통해, 및/또는 장면 분석을 통한 시각화 컴포넌트(110)에 의해 판정된 전환 기간을 결정하거나 수신함으로써 전환의 기간 및/또는 시간을 판정한다. 일부 다른 실시예에서, 시각화 컴포넌트는 반드시 그러한 것은 아니지만, 전환 기간의 선택 또는 표시를 수신한다. 전환은 컷 전환 유형(cut transition type), 크로스-페이드 전환 유형(cross-fade transition type), 선형 또는 직선 전환 유형(linear or direct transition type), 호, 점프 또는 곡선 전환 유형(arc, jump, or curved transition type), 줌아웃/줌인 전환 유형, 이들의 조합 등을 포함할 수 있으나 이에 한정되는 것은 아니다.
생성된 효과 및 전환은 시각화 컴포넌트(110)에 의해 시각화에 추가될 수 있다. 일부 실시예에서, 시각화 컴포넌트(110)는 미리보기 부분이나 스크린을 가진 사용자 인터페이스에서 장면, 투어 및/또는 특정한 전환 및/또는 효과의 미리보기를 제공할 수 있다. 따라서, 사용자 또는 다른 엔티티는 효과 및/또는 전환을 생성하거나 변경할 수 있고, 시각화 컴포넌트(110)를 통해 장면이나 투어를 미리보기할 수 있다. 일부 실시예에서, 사용자나 다른 엔티티는 전환의 기간을 설정할 수 있다. 전환 시간이 제로(0)로 감소하면, 시각화 컴포넌트(110)는 전환 유형을 컷 유형 전환으로 자동으로 변경하도록 구성될 수 있다. 마찬가지로, 컷 전환 유형의 지속시간이 제로(0)보다 큰 시간으로 증가하면, 시각화 컴포넌트는 다른 유형의 전환을 생성하고 또는 사용자나 다른 엔티티에게 상이한 전환 유형을 선택하라고 프롬프트하도록 구성될 수 있다. 일부 실시예에서, 전환은 종착지까지 효율적인 카메라 이동 및/또는 가장 효율적인 벡터 경로를 권장하도록 구성될 수 있다. 마찬가지로, 카메라는 전환에 의해 카메라가 최소로 회전을 하면서 최종 시점(final viewpoint)을 향하게 하도록 제어될 수 있다. 또한, 전환 및 효과 사이의 경로의 추가적인 평탄화(smoothing)가 적용될 수 있고, 이는 가파른 경사각(sharp angles)을 따라 이동하는 것과 대조적으로 둥근 곡선(round curve)을 따라 카메라를 이동시킬 수 있다. 본 명세서에 개시된 개념 및 기법의 이러한 그리고 다른 특징이 이하에서 더 상세하게 설명된다.
본 명세서에 개시된 개념 및 기법의 일부 실시예에서, "플라이 투(fly to)" 유형의 전환은 카메라가 다음 카메라 타깃을 향해 배치되도록 구성될 수 있기 때문에 카메라의 회전을 일으킬 수 있다. 때로는 이러한 유형의 모션(motion)이 바람직할 수 있으나, 때로는 이러한 유형의 모션이 바람직하지 않을 수 있다. 따라서, 캔트(cant)의 일부 실시예는 "무브 투(move to)" 전환을 포함하고, 여기서 카메라 하부에서의 글로브 이동(globe move)은 효율적 및/또는 가장 효율적인 방식으로 이루어질 수 있다. 예를 들어, 다음 장면(next scence)이 화각(view angle)에 비해 카메라 뒤에 위치하는 경우에, 카메라는 후방 및/또는 역방향으로 움직일 수 있고, 다음 장면이 전방이나 카메라 앞쪽에 있는 경우에는 카메라가 전방으로 이동된다. 또한, 카메라는 다음 타깃으로 가장 빠르고 가장 효율적인 경로를 취하기 위해 좌우로(side-to-side) 이동될 수 있다. 일부 실시예에서, "무브 투" 전환은 하나의 스팟에서 다른 스팟으로 최소의 회전을 하면서 카메라를 이동시키는 데 가장 효과적일 수 있기 때문에 가장 바람직할 수 있다. 일부 실시예에서, "무브 투" 전환은 호 모양(arc shape)을 가질 수 있고 또는 흐릿한 타일이 생성되는 것을 방지하기 위해 글로브에 비해 낮은 고도에서의 비행을 피할 수 있다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
일부 실시예에서, 선형 전환은 카메라가 선형 궤도로 이동하게 할 수 있다. 일부 실시예에 따르면, 사용자가 속도 및/또는 장면의 지속시간을 제어하기 때문에, 시각화 컴포넌트(110)는 카메라가 장면의 바람직한 시점 또는 대상(subject)에서 먼 위치에서 종료될 수 있음에 따라 카메라의 궤도의 길이를 조절할 수 있다. 다양한 실시예에 따르면, 제어 속도 및 장면 지속시간은 전환을 통해 카메라의 추가 루프를 생성할 수 있다. 일부 실시예에서, 시각화 컴포넌트는 효과의 정도를 제어하도록 선형 효과에 대한 속도 제어를 변경하거나 사용자로 하여금 변경하게 할 수 있으며, 즉 사용자가 속도를 제어하는 대신에 궤도의 길이를 제어하게 할 수 있다. 일부 실시예에서, 속도는 장면 지속시간 및 궤도의 길이나 크기에 기초하여 자동으로 판정될 수 있다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 1은 하나의 컴퓨터 시스템(102), 하나의 네트워크(104), 하나의 사용자 컴퓨팅 장치(112), 하나의 데이터 소스(120), 지오코딩 서비스(122)의 하나의 인스턴스 및 하나의 맵 서버(128)를 도시한다. 그러나, 동작 환경(100)의 일부 실시예는 복수의 컴퓨터 시스템(102), 복수의 네트워크(104), 복수의 사용자 컴퓨팅 장치(112), 복수의 데이터 소스(120), 지오코딩 서비스(122)의 복수의 인스턴스 및/또는 복수의 맵 서버(128)를 포함할 수 있다는 사실을 이해할 수 있을 것이다. 그리하여, 동작 환경의 도시된 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
지금부터 도 2를 참조하여, 하나의 예시적인 실시예에 따라 시각화 컴포넌트(110)의 추가적인 특징이 제시될 것이다. 구체적으로, 도 2는 일부 실시예에 따른 시각화 컴포넌트(110)의 아키텍처 및 서브컴포넌트에 관한 추가적인 세부사항을 제공한다. 시각화 컴포넌트(110)는 복수의 컴포넌트 및/또는 서브시스템을 포함할 수 있고, 이들은 시각화 컨트롤(200), 시각화 엔진(202), 스프레드시트 플러그인 코어(204) 및/또는 다른 컴포넌트 및/또는 서브시스템을 포함하나 이에 한정되는 것은 아니다.
시각화 컨트롤(200)은 데이터를 제시하고, 검색을 수행하며, 또는 검색 서비스를 수행하는 기능, 글로브의 표현을 시각화하거나 제시하는 글로브 컨트롤, 도시된 투어의 애니메이션 및/또는 비디오를 기록하는 비디오 레코딩 기능, 및 클라이언트를 포함할 수 있다. 시각화 엔진(202)은 복수의 장면, 이미지 및/또는 애니메이션 시퀀스를 포함하는 투어를 생성하는 기능, 시각화 공간에서 시간을 측정 및/또는 제시하는 기능, 본 명세서에 기술된 시각화 컴포넌트 기능을 제공하는 엔진 코어, 이차원 및/또는 삼차원 주석(annotation)을 생성 및/또는 렌더링하는 주석 기능, 공간 인덱싱 기능 및 카메라 기능을 포함할 수 있다. 시각화 엔진(202)은 또한 글로브를 나타내는 글로브 모델 및/또는 기능, 터치 및/또는 멀티 터치 커맨드를 입력으로 해석하는 시각화 레이어 기능, 맵 타일을 저장하는 타일 캐시, 시각화 공간의 레이어를 나타내거나 이와 상호작용하는 삼차원 그래픽 모듈, 및 생성되거나 렌더링된 삼차원 객체의 셰이딩(shading)을 제공하는 셰이더(shader)를 포함할 수 있다.
일부 실시예에서, 셰이더는 본 명세서에 기술된 데이터의 삼차원 지리적 시각화의 렌더링을 용이하게 하는 복수의 알고리즘을 포함하거나 구현할 수 있다. 예를 들어, 시각화 컴포넌트(110)는 복수의 유사하게 채색된 객체의 시각화를 명확하게 하는 어두운 분위기(dark aura) 효과를 구현할 수 있다. 어두운 분위기 효과는 시청자(예를 들면 사용자(116))로 하여금 삼차원 시각화 공간 내의 아이템을 구별하게 하는 시각적 처리(visual treatment)를 포함할 수 있다. 복수의 유사하게 채색된 컬럼이 삼차원 시각화 또는 뷰에 존재하는 경우에, 이러한 컬럼의 일부가 삼차원 뷰에서 다른 하나의 컬럼의 다음 및/또는 뒤에 존재할 수 있다. 따라서, 복수의 컬럼은 서로 그룹화된 것으로 보일 수 있고 또는 단일한 다각형과 같이 보일 수 있다. 본 명세서에 개시된 개념 및 기법의 일부 실시예에서, 어두운 분위기 효과가 컬럼의 하나 이상의 주위에 추가될 수 있고 이로써 하나 이상의 컬럼이 서로서로 도드라져 보이게 할 수 있다. 다른 시각적 효과도 가능하고 고려될 수 있기 때문에, 본 예시는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
다른 예에서, 시각화 컴포넌트(110)는 방대한 수의 임의의 삼차원 구성요소에 대한 비동시성 히트 테스트(asynchronous hit testing)를 위한 GPU 기반 프레임워크를 구현할 수 있다. 이는 "아웃 오브 채널" 컬러 정보를 삼차원 시각화(시청자에게 보이지 않을 수 있음)에서 렌더링된 객체의 픽셀에 추가하는 것을 포함할 수 있으나 객체를 식별시키는 정보를 포함할 수 있다. 사용자가 삼차원 시각화 내의 포인트를 탭 또는 클릭을 하거나 이와 상호작용을 하는 경우에, 선택된 픽셀에 의해 나타낸 객체의 ID(identity)가 삼차원 시각화를 재구성하거나 선택된 위치에서 렌더링된 객체를 판정하지 않고도 알려질 수 있다.
스프레드시트 플러그인 코어(204)는 워크북 상태 정보를 저장하는 기능을 포함할 수 있고, 또한 다양한 데이터 소스에 대해 질의를 생성 및/또는 실행하는 질의 엔진을 포함할 수 있다. 일부 실시예에서, 질의 엔진은 스프레드시트 데이터(118)에 저장된 데이터에 기초하여 질의를 생성하고 검색 엔진으로 질의를 제출하도록 구성될 수 있다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
또한, 시각화 컴포넌트(110)는 다양한 다른 컴포넌트 및/또는 시스템(예를 들면, 스프레드시트 프로그램 고유 플러그인 및 스프레드시트 프로그램 API(가령, 커맨드 객체 모델 ("COM") API 및 자바 API) 및/또는 펄(Perl), 애플 코코아 프레임워크(Apple Cocoa framework), 다양한 서버 및/또는 클라이언트 측 스크립트 실행 환경 등)을 포함할 수 있다. 또한, 시각화 컴포넌트(110)는 다양한 그래픽 플러그인 및/또는 예시된 DIRECTX API와 같은 API, 예시된 DIRECTX WRAPPER과 같은 API 콜 에뮬레이터, WPF(WINDOWS Presentation Foundation) 서브시스템, 이들의 조합 등을 포함할 수 있다. 시각화 컴포넌트(110)는 원하는 경우에, 예시된 VERTIPAQ 엔진과 같은 다른 데이터 제공자와 연관된 분석 엔진 및/또는 다른 데이터 제공자와 연관된 모듈을 포함할 수 있다. 시각화 컴포넌트(110)는 도 2에 도시되지는 않았으나 추가적인 및/또는 대안적인 기능을 포함할 수 있다는 점을 이해해야 한다. 그리하여, 도 2에 도시된 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
이제 도 3을 참조하여, 스프레드시트 애플리케이션에서 애니메이션 효과 및 전환을 생성하는 방법(300)의 특징이 상세하게 설명될 것이다. 본 명세서에 개시된 방법의 동작은 반드시 임의의 특정한 순서로 제시되어야 하는 것은 아니며 대안적인 순서로 동작의 일부 또는 전부를 수행하는 것이 가능하고 또한 고려될 수 있다는 점을 이해해야 할 것이다. 동작은 기술 및 설명을 쉽게 하기 위해 예시된 순서로 제시되었다. 첨부된 청구범위의 범주를 벗어나지 않은 범위에서 동작이 추가, 생략 및/또는 동시에 수행될 수 있다.
본 명세서에 개시된 예시적인 방법은 임의의 시점에 종료될 수 있으며, 각각이 (또는 집합적으로) 전부 수행될 필요는 없다. 본 명세서에 개시된 방법의 동작(및/또는 실질적으로 등가인 동작)의 일부 또는 전부가 본 명세서에 정의된 바와 같은 컴퓨터 저장 매체 상에 포함된 컴퓨터 판독가능 명령어의 실행에 의해 수행될 수 있다. 상세한 설명 및 청구범위에 사용된 "컴퓨터-판독가능 명령어"라는 용어 및 이들의 변형은 루틴, 애플리케이션, 애플리케이션 모듈, 프로그램 모듈, 프로그램, 컴포넌트, 데이터 구조, 알고리즘 등을 포함하기 위해 본 명세서에서 포괄적으로 사용된다. 컴퓨터 판독가능 명령어는 단일 프로세서 또는 멀티 프로세서 시스템, 미니컴퓨터, 메인프레임 컴퓨터, 개인 컴퓨터, 핸드헬드 컴퓨터 시스템, 마이크로프로세서 기반의 프로그램 가능한 가전 기기, 이들의 조합 등을 포함하는 다양한 시스템 구성에 구현될 수 있다.
따라서, 본 명세서에 기술된 로직 동작은 (1) 컴퓨팅 시스템상에서 실행되는 일련의 컴퓨터 구현 동작 또는 프로그램 모듈로서 및/또는 (2) 컴퓨팅 시스템 내에서 상호연결된 머신 로직 회로 또는 회로 모듈로서 구현되는 것으로 이해되어야 한다. 구현은 컴퓨팅 시스템의 성능 및 다른 필요조건에 의존하는 선택의 문제이다. 따라서, 본 명세서에서 기재된 로직 동작은 동작, 구조 장치, 액트, 또는 모듈로써 다양하게 지칭된다. 이들 동작, 구조 장치, 액트 및 모듈은 소프트웨어, 펌웨어, 전용 디지털 로직, 및 그들의 임의의 조합으로 구현될 수 있다.
본 개시내용의 개념을 설명 및 기술하기 위해, 본 명세서에 개시된 방법은 예를 들면, 시각화 컴포넌트(110)와 같은 하나 이상의 소프트웨어 모듈의 실행을 통해 컴퓨터 시스템(102)에 의해 수행되는 것으로 기술된다. 추가적인 및/또는 대안적인 장치 및/또는 네트워크 노드가 하나 이상의 모듈, 애플리케이션 및/또는 다른 소프트웨어(시각화 컴포넌트(110)를 포함하나 이에 한정되는 것은 아님)의 실행을 통해 본 명세서에 기술된 기능을 제공할 수 있다. 따라서, 설명된 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
방법(300)은 동작(302)에서 시작하고, 여기서 컴퓨터 시스템(102)은 스프레드시트 데이터(118)를 획득한다. 전술한 바와 같이, 스프레드시트 데이터(118)는 예를 들면, 스프레드시트 파일, 데이터베이스 애플리케이션 데이터, 및/또는 다른 유형의 정보와 같은 다양한 유형의 정보나 콘텐트를 포함할 수 있다. 고려되는 일 실시예에서, 스프레드시트 데이터(118)는 워싱턴, 레드몬드에 소재한 마이크로소프트 사에서 입수할 수 있는 스프레드시트 애플리케이션 소프트웨어 제품의 멤버에 의해 생성되는 파일과 같은 스프레드시트 파일에 대응한다. 다른 고려되는 스프레드시트 애플리케이션은 GOOGLE DOCS 프로그램 패밀리의 멤버, OPENOFFIC 프로그램 패밀리의 멤버, APPLE IWORK NUMBERS 프로그램 패밀리의 멤버 및/또는 다른 스프레드시트, 테이블 및/또는 데이터베이스 프로그램을 포함하나 이에 한정되는 것은 아니다. 스프레드시트 데이터(118)는 컴퓨터 시스템(102)과 연관된 데이터 저장 장치 또는 컴포넌트로부터 얻어질 수 있다. 컴퓨터 시스템(102)과 연관된 데이터 저장 장치 또는 컴포넌트의 일부 예가 도 9 내지 11을 참조하여 이하에서 더욱 상세하게 설명된다.
일부 다른 실시예에서, 스프레드시트 데이터(118)는 본 명세서에 기술된 데이터 소스(120)와 같은 원격 저장 장치 또는 소스에 저장되거나 이에 의해 호스팅될 수 있다. 따라서, 스프레드시트 데이터(118)는 데이터 소스(120)와의 통신을 통해 컴퓨터 시스템(102)에 의해 획득될 수 있다. 따라서, 스프레드시트 데이터(118)는 직접 연결, 하나 이상의 네트워크 및/또는 다른 노드, 장치 및/또는 장치 컴포넌트를 통해 임의의 실제 장치나 가상 장치로부터 획득될 수 있다.
도 3에 도시된 실시예에 따르면, 동작(302)에서 컴퓨터 시스템(102)에 의해 획득되는 스프레드시트 데이터(118)는 시각화를 포함할 수 있다. 따라서, 컴퓨터 시스템(102) 및/또는 다른 장치나 애플리케이션이 시각화를 생성하고 동작(302)에서 획득된 스프레드시트 데이터(118)로서 또는 스프레드시트 데이터에 시각화를 저장할 수 있다. 마찬가지로, 컴퓨터 시스템(102)은 사용자 컴퓨팅 장치(112)에 UI(114)를 생성하고 출력할 수 있고, 사용자 컴퓨팅 장치(112)는 사용자 컴퓨팅 장치(112)와 연관된 디스플레이에서 UI(114)를 제시할 수 있다. 따라서, 동작(302)은 또한 스프레드시트 데이터(118)를 수신하는 것 및 컴퓨터 시스템(102)에서 시각화를 생성하는 것을 포함할 수 있다는 것을 이해해야 할 것이다. 따라서, 본 명세서에 기술된 방법은 컴퓨터 시스템(102)에서 이루어지는 것으로 설명되고 기술되나, 사용자 입력은 컴퓨터 시스템(102)으로부터 멀리 떨어져 있는 사용자 컴퓨팅 장치(112) 및/또는 다른 장치나 시스템에서 실행되는 웹 브라우저 또는 다른 프로그램을 통해 이루어질 수 있다는 것을 이해해야 할 것이다.
또한, 본 명세서에 상세하게 설명되고 기술될 것과 같이, 시각화(스프레드시트 데이터(118)로서 또는 이와 함께 획득될 수 있고, 또는 동작(302)에서 획득되는 스프레드시트 데이터(118)에 기초하여 생성될 수 있음)는 하나 이상의 장면을 포함할 수 있다. "장면"은 단독으로 또는 함께 시각화에 대응할 수 있는 애니메이션 시퀀스를 포함할 수 있다. 예를 들어, 시각화의 제1 장면은 뉴욕 시와 같은 위치와 연관된 데이터 세트의 시각화를 포함할 수 있다. 따라서, 장면은 얼마 동안 뉴욕 시와 연관된 데이터를 보여주는 애니메이션화된 시퀀스를 포함할 수 있다. 다음 장면은 워싱턴 디시와 연관된 다른 데이터 세트의 시각화를 포함할 수 있다. 따라서, 장면은 복수의 장면의 시각화 및/또는 투어에 포함된 애니메이션 시퀀스를 포함할 수 있다는 것을 이해할 수 있다.
방법(300)은 동작(302)에서 동작(304)으로 진행하고, 여기서 컴퓨터 시스템(102)은 장면을 선택한다. 구체적으로, 컴퓨터 시스템(102)은 본 명세서에 기술된 스프레드시트 데이터(118)의 시각화에 포함된 장면을 선택할 수 있다. 일부 실시예에서, 컴퓨터 시스템(102)은 사용자나 사용자 컴퓨팅 장치(112)로부터의 입력에 기초하여 장면을 선택한다. 따라서, 예를 들면, 사용자는 장면과 연관된 전환 및 효과를 구성하도록 제1 장면을 선택할 수 있고, 이러한 선택은 동작(340)에서 컴퓨터 시스템(102)에 의해 검출될 수 있다. 일부 다른 실시예에서, 컴퓨터 시스템(102)은 동작(304)에서 장면을 생성할 수 있고, 생성된 장면이 자동으로 선택될 수 있다. 장면을 선택하는 예시적인 사용자 인터페이스가 도 8a를 참조하여 이하에서 보다 상세하게 설명되고 기술될 것이다.
방법(300)은 동작(304)에서 동작(306)으로 진행한다. 동작(306)에서, 컴퓨터 시스템(102)은 장면의 지속기간을 결정할 수 있다. 도 3에 명확하게 도시되지는 않았으나, 컴퓨터 시스템(102)은 장면에 대한 시작 시각 및 종료 시각의 선택을 획득하고 또는 장면의 지속시간을 특정하는 데이터를 수신할 수 있다. 또한, 컴퓨터 시스템(102)은 장면을 분석하고, 분석에 기초하여 장면의 지속시간을 결정할 수 있다. 일부 다른 실시예에서, 컴퓨터 시스템(102)은 예를 들면, 시작 시각 및 종료 시각을 특정하는 입력과 같은 입력을 수신함으로써 지속시간을 판정하고 있고, 이러한 입력은 하나 이상의 사용자 인터페이스 및/또는 사용자 입력을 통해 수신될 수 있으며, 또는 컴퓨터 시스템(102)에 의해 자동으로 결정될 수 있다. 장면의 지속시간이 추가적 및/또는 대안적인 방식으로 판정될 수 있기 때문에, 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
방법(300)은 동작(306)에서 동작(308)으로 진행하고, 여기서 컴퓨터 시스템(102)는 동작(304)에서 선택된 장면에 대한 효과를 생성한다. 이하에서 더욱 상세하게 설명되는 것과 같이, 구체적으로 도 4를 참조하면, 컴퓨터 시스템(102)은 동작(304)에서 선택된 장면에 대한 효과를 생성할 수 있다. 효과는 장면을 애니메이션화하는 카메라 효과를 포함할 수 있다. "카메라 효과"는 시각화를 애니메이션화하기 위해 시각화 내의 카메라 이동의 시뮬레이션을 포함할 수 있다. 따라서, 컴퓨터 시스템(102) 및/또는 시각화 컴포넌트(110)는 가상 카메라와 연관된 시점으로부터 시각화를 드로잉하도록 구성될 수 있다. 이와 같이, 본 명세서에서 사용된 "카메라"는 가상 카메라 위치와 같은 시점, 시야 및/또는 가시선(이를 따라 실제 카메라로 촬영되는 장면처럼 보이도록 가상화가 드로잉 및/또는 애니메이션화 됨)을 지칭할 수 있다. 동작(308)에서, 컴퓨터 시스템(102)은 또한 장면에 대한 하나 이상의 효과 및 장면에 대한 타이밍을 결정할 수 있고, 이는 동작(306)에서 판정된 장면의 지속시간에 적어도 부분적으로 기초할 수 있다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
방법(300)은 동작(308)에서 동작(310)으로 진행하고, 여기서 컴퓨터 시스템(102)은 다른 장면이 구성되어야 하는지를 판정한다. 본 명세서에 개시된 개념 및 기법의 다양한 실시예에 따라, 시각화는 복수의 장면을 포함할 수 있고, 효과에 추가하여, 컴퓨터 시스템(102)은 장면 간의 전환을 생성하도록 구성될 수 있다. 따라서, 컴퓨터 시스템(102)은 동작(310)에서 효과 및/또는 전환과 함께 구성되는 다른 장면이 존재하는 지를 판정할 수 있다. 방법(300)의 다양한 구현예에 따라, 동작(310)에서 이루어진 판정이 두 개의 장면 간의 전환을 구성하도록 적어도 한 번 긍정적으로(in the affirmative) 판정된다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
컴퓨터 시스템(102)이 동작(310)에서 다른 장면이 구성되어야 한다고 판정하는 경우에, 방법(300)은 동작(304)으로 복귀할 수 있고, 컴퓨터 시스템(102)은 구성을 위한 다른 장면을 선택할 수 있다. 따라서, 동작(304 내지 310)은 컴퓨터 시스템(102)에 의해 몇 번이라도 반복될 수 있다. 일부 실시예에서, 컴퓨터 시스템(102)이 동작(310)의 임의 반복 시에 다른 장면이 구성되지 않을 것이라고 판정할 때까지 컴퓨터 시스템(102)은 동작(304 내지 310)을 반복하도록 구성된다. 컴퓨터 시스템(102)이 동작(310)에서 다른 장면이 구성되지 않을 것이라고 판정하는 경우에, 방법(300)은 동작(312)으로 진행한다.
동작(312)에서, 컴퓨터 시스템(102)은 장면에 대한 하나 이상의 전환을 생성한다. 따라서, 컴퓨터 시스템(102)은 전술한 바와 같이, 동작(304)의 여러 번의 반복 시에 선택된 적어도 두 개의 장면 간의 전환을 생성할 수 있다. 전환은 본 명세서에 기술된 효과에 추가하여 또는 이를 대신하여 장면 사이에 애니메이션을 제공하도록 생성될 수 있다. 따라서, 뉴욕 시 및 워싱턴 디시에 대응하는 두 개의 장면에 대한 전술한 예에서, 컴퓨터 시스템(102)은 동작(312)에서 뉴욕 시 및 워싱턴 디시의 장면 간의 애니메이션화된 전환을 생성할 수 있다. 전환 생성에 대한 추가적인 세부사항이 도 5 내지 8b를 참조하여 이하에 제공된다.
방법(300)은 동작(312)에서 동작(314)으로 진행하고, 여기서 컴퓨터 시스템(102)은 동작(308 및 312)에서 생성된 효과 및 전환을 출력한다. 다양한 실시예에 따라, 컴퓨터 시스템(102)은 사용자 인터페이스(114) 및/또는 사용자 인터페이스(114)를 생성하는 명령어를 출력할 수 있다. 사용자 인터페이스(114)는 스프레드시트 데이터(118)의 시각화를 포함할 수 있다. 시각화는 적어도 두 개의 장면 및 적어도 두 개의 장면 간의 전환을 포함할 수 있다. 또한, 시각화는 일부 실시예에서, 시각화의 적어도 하나의 장면에 대한 효과를 포함할 수 있다. 방법(310)은 동작(314)에서 동작(316)으로 진행한다. 방법(300)은 동작(316)에서 종료한다.
이제, 도 4를 참조하면, 스프레드시트 애플리케이션에서 애니메이션 효과를 생성하는 방법(400)의 특징이 상세하게 기술될 것이다. 전술한 바와 같이, 방법(400)에 관하여 본 명세서에 기술된 기능은 반드시 그러한 것은 아니지만, 도 3에 도시된 방법(300)의 동작(306)에서 컴퓨터 시스템에 의해 수행될 수 있다.
방법(400)은 동작(402)에서 시작하고, 여기서 컴퓨터 시스템(102)은 도 3에도시된 방법(300)의 동작(304)에서 선택된 장면에 대한 효과를 결정한다. 전술한 바와 같이, "효과"는 장면 내 카메라 또는 다른 애니메이션 시점에 적용되는 애니메이션을 포함할 수 있다. 일부 예시적인 효과가 도 6 내지 7e에 관하여 이하에서 더 상세하게 설명되고 기술된다. 간략하게, 효과는 카메라 또는 다른 애니메이션 시점이 카메라의 중심점 또는 초점을 회전하는 궤도 효과(orbit effect), 카메라 또는 다른 애니메이션 시점이 정지 위치에서 중심점 또는 초점을 바라보는 정지 효과(stationary effect), 카메라와 카메라의 중심점 또는 초점 사이의 보기 벡터(viewing vector)에 수직인 경로를 따라 카메라가 이동하는 비행 효과(fly by effect), 카메라가 8자 모양으로 카메라의 중심점 또는 초점 주위를 이동하는 8자 모양 효과(figure eight effect), 카메라와 카메라의 중심점 또는 호점 사이의 보기 벡터에 수직인 경로를 따라 카메라가 앞뒤로 이동하는 선 효과(line effect), 기타 효과 및 이들의 조합 등을 포함할 수 있다.
동작(402)에서, 컴퓨터 시스템(102)은 장면에 적용될 효과를 식별할 수 있다. 구체적으로, 컴퓨터 시스템(102)은 효과를 결정하기 위한 옵션, 세팅 또는 다른 선호사항(preference)을 검출할 수 있다. 일부 실시예에서, 컴퓨터 시스템(102)은 효과를 선택하기 위한 사용자 입력을 검출할 수 있다. 따라서, 컴퓨터 시스템(102)은 동작(402)과 관련하여, 예를 들면 컴퓨터 시스템(102)과 연관된 사용자 인터페이스를 통해 사용자나 다른 엔티티에 의한 선택을 검출할 수 있다. 효과를 선택하는 데 사용될 수 있는 예시적인 사용자 인터페이스가 도 8a 및 8b를 참조하여 이하에 더 상세하게 설명되고 기술된다.
방법(400)은 동작(402)에서 동작(404)으로 진행하고, 여기서 컴퓨터 시스템(102)은 효과에 대한 타이밍을 판정한다. 본 명세서에 사용된 효과의 "타이밍"은 효과의 지속시간 및/또는 효과의 속도를 포함할 수 있다. 전술한 바와 같이, 효과의 타이밍은 효과가 적용되는 장면의 지속시간에 대응할 수 있다. 따라서, 컴퓨터 시스템(102)은 지속시간을 획득 또는 판정하거나, 예를 들면 장면의 시작 시각, 장면의 종료 시각 등과 같이, 컴퓨터 시스템(102)에 의해 결정되거나 수신된 다른 값에 기초하여 지속시간을 판정할 수 있다. 일부 다른 실시예에서, 효과의 지속시간은 장면의 지속시간에 대응하지 않을 수 있고, 따라서 특정한 장면에서 카메라에 적용된 효과가 장면의 일부에서 보일 수 있다. 본 명세서에 개시된 개념 및 기법의 다양한 실시예에서, 효과의 지속시간은 사용자 설정가능하거나 구성가능한 옵션일 수 있다. 지속시간은 도 8b에 도시된 것과 같이 사용자 인터페이스에 제공될 수 있고 그렇지 않으면 사용자나 다른 엔티티에 의해 설정될 수 있다. 따라서, 동작(404)에서, 컴퓨터 시스템(102)은 지속시간을 판정할 수 있고 또는 지속시간을 설정하기 위한 사용자나 다른 엔티티로부터의 입력을 검출할 수 있다.
마찬가지로, 효과의 속도는 애니메이션이 드로잉되는 카메라 또는 다른 시점에 적용되는 레이트(rate)에 대응할 수 있다. 따라서, 예를 들어 궤도 효과의 속도는 카메라가 장면의 초점 또는 중심점을 도는 속도나 레이트에 대응할 수 있다. 따라서, 컴퓨터 시스템(102)은 동작(404)에서, 효과의 속도를 판정하고, 또는 효과의 속도를 특정하는 사용자 입력을 검출할 수 있다. 효과의 속도 및/또는 지속시간이 추가적인 및/또는 대안적인 방식으로 결정될 수 있기 때문에, 이러한 예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
방법(400)은 동작(404)에서 동작(406)으로 진행하고, 여기서 컴퓨터 시스템(102)은 카메라 방향, 경로 및/또는 거리를 결정한다. 컴퓨터 시스템(102)은 카메라의 이러한 그리고 다른 특징을 본 명세서에 개시된 개념 및 기법의 다양한 실시예에 따라 자동으로 결정하도록 구성될 수 있다. 카메라 방향은 예를 들면, 카메라와 연관된 기울기(tilt), 피치(pitch), 요(yaw) 등과 같은 카메라와 연관된 보기 각도를 정의할 수 있다.
카메라 경로는 장면 중에 카메라기 이동하는 경로를 포함할 수 있으나 이에 한정되는 것은 아니다. 카메라 거리는 카메라(또는 애니메이션이 드로잉되는 다른 시점)가 장면의 중심점 또는 다른 초점을 보는 거리에 대응할 수 있다. 다양한 실시예에 따라, 카메라 거리는 디폴트 값일 수 있고, 사용자 선호사항 및/또는 환경 설정에 의해 설정될 수 있으며, 또는 프로그램 세팅에 의해 설정될 수 있다. 일부 다른 실시예에서, 카메라 거리는 특정한 장면에 기초하여 컴퓨터 시스템(102)에 의해 결정될 수 있다. 예를 들어, 컴퓨터 시스템(102)은 장면에서 보기 될 데이터 포인터 또는 데이터의 다른 표현, 카메라의 화각(angle of view), 카메라에 적용되는 효과, 이들의 조합 등을 식별할 수 있다.
일부 실시예에서, 컴퓨터 시스템(102)은 이러한 및/또는 다른 데이터에 기초하여 애니메이션화된 장면에 모든 데이터를 맞추는 것을 보장하는 데 사용될 카메라 거리를 계산할 수 있다. 카메라 거리의 일 예 및 카메라 거리가 설정될 수 있는 방식이 도 6을 참조하여 이하에 설명되고 기술된다. 카메라 거리는 설정, 사용자 입력 및/또는 전술한 분석에 의해 결정될 수 있으므로, 컴퓨터 시스템(102)은 다양한 방식으로 카메라 거리를 판정할 수 있고, 이에 따라 동작(406)은 카메라 거리를 결정하는 데 고려될 데이터를 획득하기 위한 추가 및/또는 대안적인 동작을 포함할 수 있다는 것을 이해할 수 있을 것이다.
방법(400)은 동작(406)에서 동작(408)으로 진행하고, 여기서 컴퓨터 시스템(102)은 동작(402 내지 406)에서 이루어진 판정에 기초하여 장면 애니메이션을 생성한다. 따라서, 컴퓨터 시스템(102)은 효과, 지속시간, 속도, 카메라 방향, 카메라 경로 및 장면에 대한 카메라 거리를 적용하고 애니메이션화 되는 장면에 대응하는 애니메이션 프레임을 출력할 수 있다. 동작(402)에서 판정된 효과가 정지 카메라 효과에 대응하는 경우에, 출력 애니메이션 프레임은, 반드시 그러한 것은 아니지만, 실질적으로 동일할 수 있다. 방법(400)은 동작(408)에서 동작(410)으로 진행한다. 방법(400)은 동작(410)에서 종료된다.
이제, 도 5를 참조하면, 스프레드시트 애플리케이션에서 애니메이션 전환을 생성하는 방법(500)이 상세하게 설명될 것이다. 전술한 바와 같이, 방법(500)에 관하여 본 명세서에 기술된 기능은 반드시 그러한 것은 아니지만, 도 3에 도시된 방법(300)의 동작(310)에서 컴퓨터 시스템(102)에 의해 수행될 수 있다.
방법(500)은 동작(502)에서 시작하고, 여기서 컴퓨터 시스템(102)은 도 3에 도시된 방법(300)에서 선택된 장면에 대한 전환 유형을 결정한다. 전술한 바와 같이, "전환 유형"은 장면의 카메라 또는 다른 애니메이션 시점이 본 명세서에서 "시작점"이라고 지칭되는 제1 장면과 연관된 위치로부터 "종료점"이라고 지칭되는 제2 장면과 연관된 위치로 이동함에 따라 카메라 또는 다른 애니메이션 시점에 적용되는 애니메이션을 포함할 수 있다. 일부 예시적인 전환 유형이 도 7f 내지 7h에 관하여 본 명세서에서 더 상세하게 설명되고 기술된다.
간략하게, 전환 유형은 카메라 또는 다른 애니메이션 시점이 제1 장면과 연관된 제1 시점에서 제2 장면과 연관된 제2 시점으로 즉시 이동하는 컷 전환 유형, 제1 시점에서 카메라가 페이드 아웃되거나 제1 시점의 뷰가 디졸브(dissolve)되고 제2 시점의 뷰에서 페이드 인되거나 디졸브되는 크로스-페이드 전환 유형, 카메라가 (데이터가 디스플레이되는 그라운드 또는 서피스에 대해) 일정한 고도의 비행 경로를 따라 제1 장면과 연관된 제1 시점에서 제2 장면과 연관된 제2 시점으로 이동하는 선형 또는 직선 전환 유형, 카메라가 제1 장면과 연관된 제1 시점에서 제2 장면과 연관된 제2 시점으로 항공기의 비행 경로를 모방할 수 있는 변화하는 고도의 곡선 비행 경로를 따라 이동하는 호, 점프 또는 곡선 전환 유형, 카메라가 제1 장면과 연관된 제1 시점에서 제2 장면으로 이동하거나 줌아웃하고 (제2 시점에서 제1 시점 및 제2 장면과 연관된 제3 시점이 모두 보일 수 있음) 이어서 최종적으로 제3 시점으로 이동하거나 줌아웃하는 줌아웃/줌인 전환 유형, 이들의 조합 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일부 실시예에서, 컴퓨터 시스템(102)은 두 개의 시점 사이의 거리에 기초하여 전환을 결정하는 스마트 전환 유형을 사용할 수 있다. 더 멀리 떨어진 거리에 대해, 호 또는 선형 전환 유형이 선택될 수 있고 한편, 더 가까운 거리에 대해 선형 또는 줌인/줌아웃 전환 유형이 선택될 수 있다. 다른 전환 유형이 고려될 수 있으며 컴퓨터 시스템(102)이 다양한 고려사항에 기초하여 전환 유형을 선택할 수 있기 때문에, 이러한 예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
동작(502)에서, 컴퓨터 시스템(102)은 다양한 방식으로 장면에 적용될 전환 유형을 식별할 수 있다. 구체적으로, 컴퓨터 시스템(102)은 전환 유형을 결정하기 위해 옵션, 설정 또는 다른 선호사항을 검출할 수 있다. 일부 실시예에서, 컴퓨터 시스템(102)은 전환 유형을 선택하기 위한 사용자 입력을 검출할 수 있다. 전환 유형을 선택하는 데 사용될 수 있는 예시적인 사용자 인터페이스가 도 8a 내지 8b를 참조하여 이하에서 더 상세하게 설명되고 기술된다.
방법(500)은 동작(502)에서 동작(504)으로 진행하고, 여기서 컴퓨터 시스템(102)은 동작(502)에서 결정된 전환 유형이 "컷" 전환 유형에 대응하는지를 판정한다. 전술한 바와 같이 "컷" 전환 유형은 카메라가 두 시점 사이에 애니메이션 없이 제1 시점에서 제2 시점으로 즉시 이동하는 전환을 포함할 수 있다. 따라서, 컷 전환은 실질적으로 장면 사이에 전환이 없는 것과 같을 수 있다.
컴퓨터 시스템(102)이 동작(504)에서 전환 유형이 "컷" 전환 유형이 아니라고 판정하면, 방법(500)은 동작(506)으로 진행한다. 동작(506)에서, 컴퓨터 시스템(102)은 동작(502)에서 판정된 전환 유형이 "페이드" 전환 유형에 대응하는지를 판정한다. 전술한 바와 같이 "페이드" 전환 유형은 제1 시점에서 뷰가 페이드 아웃되거나 디졸브되는 것 및 제2 시점에서 뷰가 페이드 인되거나 디졸브되는 것을 포함할 수 있다.
컴퓨터 시스템(102)이 동작(504)에서 전환 유형이 "페이드 전환 유형이 아니라고 판정하면, 방법(500)은 동작(508)으로 진행한다. 동작(508)에서, 컴퓨터 시스템(102)은 도 3을 참조하여 전술한 동작(304)의 복수의 반복 시에 선택된 장면 사이의 거리를 판정할 수 있다. 일부 실시예에서, 동작(508)에서 판정된 거리는 제1 장면과 제2 장면 각각과 연관된 지리적 위치 사이의 실제 거리에 대응할 수 있다. 본 명세서에 개시된 개념 및 기법의 다양한 구현예에 따라, 장면의 지리적 위치는 지오코딩 서비스(122)로부터 획득된 지리적 매핑 데이터 및/또는 다른 데이터에 관하여 계산된 데이터 포인트의 질량 중심 또는 중심점에 대응할 수 있다. 따라서, 뉴욕 시 및 워싱턴 디시에 대한 예에서, 각각 컴퓨터 시스템은 두 도시 간의 실제 지리적 거리(예를 들면, 229 마일)와 같게 거리를 결정할 수 있다. 장면 간 거리는 다른 방식으로 결정될 수 있기 때문에 전술한 예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
방법(500)은 동작(508)에서 동작(510)으로 진행하고, 여기서 컴퓨터 시스템(102)은 장면에 적용되는 전환의 기간을 판정한다. 지속시간은 애니메이션화될 전환의 기간으로서 정의될 수 있다. 지속시간은 사용자나 다른 소스로부터 지속시간을 수신함으로써 판정되거나, 선호사항 등에 기초하여 컴퓨터 시스템(102)에 의해 자동으로 결정될 수 있다. 따라서 예를 들면, 지속시간이 1초로 정의되는 경우에, 컴퓨터 시스템(102)은 1초 내에 전환을 애니메이션할 수 있다. 일부 실시예에 따라, 전환은 사용자 설정가능하거나 구성가능한 옵션 또는 설정에 기초하여 결정될 수 있다.
또한, 지속시간은 판정된 장면 사이의 거리에 기초하여 결정될 수 있다. 따라서, 예를 들면, 컴퓨터 시스템(102)은 전환 시에 애니메이션되는 카메라 이동에 대한 속도의 레이트를 판정하고 판정된 속도로 장면 사이의 거리를 나누기함으로써 지속시간을 결정하도록 구성될 수 있다. 지속시간을 설정하는 예시적인 사용자 인터페이스가 도 8b를 참조하여 이하에 설명되고 기술된다. 지속시간은 추가 및/또는 대안적인 방식으로 결정될 수 있기 때문에, 이러한 예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
방법(500)은 동작(510)에서 동작(512)으로 진행하고, 여기서 컴퓨터 시스템(102)은 전환 애니메이션을 생성한다. 구체적으로, 컴퓨터 시스템(102)은 동작(502 내지 510)에서 이루어진 결정에 기초하여 전환 애니메이션을 생성할 수 있다. 따라서, 컴퓨터 시스템(102)은 결정된 전환 유형, 결정된 장면 간 거리, 및 결정된 지속시간에 기초하여 전환 애니메이션을 생성할 수 있다. 컴퓨터 시스템(102)는 전환 애니메이션을 생성하고 시각화를 위해 애니메이션 프레임을 출력하거나 그 프레임을 이러한 및/또는 다른 용도를 위해 저장할 수 있다.
방법(500)은 동작(512)에서 동작(514)으로 진행한다. 또한, 방법(500)은 동작(504)에서 전환 유형이 컷 전환 유형에 대응한다는 판정에 응답하여 동작(514)으로 진행할 수 있다. 또한, 방법(500)은 전환 유형이 페이드 전환 유형에 대응한다는 판정에 응답하여 동작(514)으로 진행할 수 있다. 방법(500)은 동작(514)에서 종료한다.
이제 도 6으로 돌아가서, 스프레드시트 애플리케이션의 애니메이션 전환 및 효과를 위한 본 명세서에 개시된 개념 및 기법의 추가 특징이 기술될 것이다. 도 6은 예시 장면(600)에서의 카메라 배치를 나타내는 선도(line drawing)이다. 장면(600)은 설명을 위한 것이며 단지 본 명세서에 언급된 개념 및 기법의 다양한 특징을 설명하고 기술하기 위한 목적으로 제공된다. 따라서, 설명된 장면(600)은 어떠한 방식으로든 제한을 하려는 것이 아니다.
장면(600)에 나타낸 바와 같이, 카메라(602)가 도시된다. 카메라(602)는 장면(600)과 연관된 애니메이션이 표현되는 시점(viewpoint)에 대응할 수 있다. 따라서, 카메라(602)가 반드시 실제 카메라에 대응될 필요는 없다는 것을 이해할 수 있을 것이다. 카메라(602)는 가시선(604)을 따라 시점 또는 중심점(C)에 초점을 맞춘다. 전술한 바와 같이 중심점(C)은 장면(600)의 질량 중심 또는 초점에 대응하고 스프레드시트 데이터(118)에 기초하여 컴퓨터 시스템(102)에 의해 결정될 수 있다. 중심점(C)의 계산은 데이터 포인트(606)의 분포 및/또는 이들과 연관된 값에 기초하여 완료될 수 있다. 도 6에 도시된 바와 같이 데이터 포인트(606)는 컬럼으로 보일 수 있으나, 다른 형식의 표현이 고려될 수 있고 가능하다.
카메라(602)는 비행 경로(608)를 따라 이동할 수 있다. 도 6에 도시된 비행 경로(608)는 전술한 바와 같은 궤도 효과에 대응할 수 있다. 따라서, 카메라(602)는 데이터 포인트(606)가 디스플레이되는 "그라운드(ground)" 또는 다른 서피스 위의 고도(h)로 비행 경로(608)를 따라 중심점(C)을 돌 수 있다. 따라서, 도 6에 나타낸 궤도 효과 예에서, 중심점(C)이 비행 경로(608)의 고도(h)로 이동되었으면 비행 경로(608)는 중심점(C)으로부터의 카메라 거리와 동일한 반지름을 가질 수 있다는 점을 이해할 수 있을 것이다.
도 6에 도시된 바와 같이, 장면(600)은 또한 데이터 영역(610)을 포함할 수 있고, 이는 장면에 도시된 데이터의 경계(boundary)에 대응할 수 있다. 데이터 영역(610)은 또한 장면(600)의 가시 부분(예를 들면, 장면(600)을 애니메이션화하는 경우에 카메라(602)에 의해 바람직하게 캡처되는 장면(600)의 바운드)을 정의할 수 있다.
이제 도 7a 내지 7h를 참조하여, 본 명세서에 개시된 개념 및 기법의 다양한 실시예에 따라 일부 예시적인 효과 및 전환이 설명된다. 도 7a는 궤도 효과의 예를 나타낸다. 본 명세서 기술된 바와 같이, 궤도 효과는 특정한 장면에 나타낸 데이터에 대한 그라운드 및/또는 다른 서피스를 나타내는 데 사용되는 지리적 공간 데이터(geo-spatial data) 위에 배치된 원형 비행 경로(608)를 포함할 수 있다. 도 6에 설명된 바와 같이, 비행 경로(608)는 반드시 그러한 것은 아니지만, 고도(h)에서 그라운드 또는 다른 서피스에 대해 수직인 위치에 배치될 수 있다. 카메라(602)는 중심점(C)을 자신 초점에 유지시키면서 비행 경로(608)를 따라 중심점(C)을 돌 수 있다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 7b는 정지 카메라 효과를 나타낸다. 도시된 바와 같이 카메라(602)는 카메라 거리(d)로부터 가시선을 따라 중심점(C)에 초점을 맞출 수 있다. 도 7c는 비행 효과를 나타낸다. 도 7c에 도시된 바와 같이, 카메라(602)는 중심점(C)을 지나는 비행 경로(702)를 따라 비행할 수 있다. 다양한 실시예에 따르면, 카메라(602)는 뷰 라인(도 7c에 도시되지 않음)에 수직인 비행 경로(702)를 따라 이동할 수 있다. 비행 경로(702)는 카메라 거리에서 중심점(C)의 측면으로 오프셋 될 수 있고 중심점(C)의 바로 "위"를 비행할 수 있다는 점을 이해해야 할 것이며, 여기서 카메라 거리는 비행 경로(702)의 고도와 실질적으로 동일할 수 있다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 7d는 선 효과를 나타내며, 카메라(602)는 비행 경로(704)를 따라 두 개의 위치 사이의 앞뒤로 비행한다. 비행 경로(704)는 카메라 거리에서 중심점(C)의 측면으로 오프셋 될 수 있고 또는 중심점(C) 바로 "위"를 비행할 수 있으며, 카메라 거리는 비행 경로(704)의 고도와 실질적으로 동일할 수 있다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 7e는 8자 효과를 나타낸다. 카메라(602)는 중심점(C)에 초점을 맞추면서 비행 경로(706)를 따라 이동할 수 있다. 따라서, 카메라 거리는 8자 효과에서 변경될 수 있다는 점을 이해할 수 있을 것이다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 7f는 선형 또는 직선 전환 유형을 나타낸다. 전술한 바와 같이, 선형 또는 직선 전환에서, 카메라(602)가 하나의 장면에서 다음 장면으로 비행 경로(708)를 따라 이동한다. 따라서, 카메라(602)는 제1 장면 및/또는 중심점(C1)과 연관된 제1 시점(VP1)에서 제2 장면 및/또는 중심점(C2)과 연관된 제2 시점(VP2)으로 이동할 수 있다. 전술한 바와 같이, 그라운드(710)에 대한 카메라의 고도 및 이에 따른 비행 경로(708)의 고도가 일정할 수 있고, 도 7f에 도시된 고도(h)에 대응할 수 있다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 7g는 호, 점프 또는 곡선 전환 유형을 나타낸다. 전술한 바와 같은 호 전환에서 카메라는 하나의 장면에서 다음 장면으로 비행 경로(712)를 따라 이동한다. 따라서, 카메라(602)는 제1 장면 및/또는 중심점(C1)과 연관된 제1 시점(VP1)에서 제2 장면 및/또는 중심점(C2)과 연관된 제2 시점(VP2)으로 이동할 수 있다. 전술한 바와 같이, 그라운드(710)에 대한 카메라의 고도 및 이에 따른 비행 경로(712)의 고도가 제1 장면 및/또는 중심점(C1)과 연관된 제1 시점(VP1)에서의 고도(h1)에서 비행 경로(712)의 정점(714)에서의 고도(h2)로 높아질 수 있고, 이어서 제2 장면 및/또는 중심점(C2)과 연관된 제2 시점(VP2)에서 고도(h1)로 다시 낮아질 수 있다. 따라서, 호, 점프 또는 곡선 전환 유형은 반드시 그러한 것은 아니지만 두 개의 장면 사이에 항공기 비행을 시뮬레이션할 수 있다는 점을 이해할 수 있을 것이다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 7h는 줌인/줌아웃 전환 유형을 나타낸다. 전술한 바와 같이, 줌인/줌아웃 전환에서, 카메라(602)는 이동하거나 이동하지 않을 수 있다. 일부 실시예에서, 카메라(602)는 제1 장면 및/또는 중심점(C1)이 제2 줌 레벨(제1 시점(VP1) 및 제2 장면 및/또는 중심점(C2)과 연관된 제2 시점(VP2)이 모두 보임)로 보인다. 카메라(602)는 제1 가시선(716a)에서 제2 가시선(716b)으로 이동할 수 있고, 이어서 제2 장면 및/또는 중심점(C2)과 연관된 제2 시점(VP2)만이 보일 때까지 장면을 줌인할 수 있다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
이제 도 8a 및 8b를 참조하면, 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과를 위해 본 명세서에 개시된 개념 및 기법의 다양한 특징을 나타내는 UI 도가 예시된 다양한 실시예에 따라 설명될 것이다. 도 8a는 컴퓨터 시스템(102) 및/또는 사용자 컴퓨팅 장치(112)와 같은 장치에 의해 생성된 예시적인 스크린 디스플레이(800a)를 나타낸다. 일부 실시예에서, 스크린 디스플레이(800a)는 반드시 그러한 것은 아니지만, 도 1에 도시된 사용자 컴퓨팅 장치(112)에 의해 디스플레이된 UI(114)에 대응할 수 있다. 도 8a에 나타낸 UI 도는 고려되는 하나의 예시를 설명하기 위한 것이며, 따라서 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 8a에 도시된 것과 같이, 스크린 디스플레이(800a)는 본 명세서에 기술된 스프레드시트 데이터(118)와 같은 데이터의 삼차원 시각화의 투어와 연관된 장면을 보기하기 위한 투어 디스플레이 스크린(802)을 포함할 수 있다. 도시된 실시예에서, 스크린 디스플레이(800a)는 UI 컨트롤(804A-C)을 포함하고, 이러한 UI 컨트롤의 선택은 컴퓨터 시스템(102) 및/또는 사용자 컴퓨팅 장치(112)로 하여금 장면 속성 바(806)에서 장면과 연관된 다양한 옵션 및/또는 설정을 열도록 할 수 있다. 도 8a에 도시된 것과 같이, 사용자 또는 다른 엔티티는 손가락이나 손을 이용한 탭(tap)과 같은 터치 입력을 사용하여 UI 컨트롤(804A-C)을 선택할 수 있다. UI 컨트롤(804A-C)은 다른 사용자 입력 메커니즘 및/또는 장치를 사용하여 선택될 수 있기 때문에, 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
또한, 스크린 디스플레이(800a)는 투어에 표현된 스프레드시트 데이터(118)에 포함된 시간 데이터에 관하여 투어에 대응하는 애니메이션을 움직이게 하는 시간 컨트롤 윈도우(808)를 포함한다. 시간 컨트롤 윈도우(808)의 사용은 도 8b를 참조하여 이하에 추가적인 세부사항이 논의된다. 본 명세서 개시된 개념 및 기법의 실시예를 설명하고 기술하기 위해, 사용자 또는 다른 엔티티는 장면 1과 연관된 효과 및/또는 전환의 다양한 속성을 보기 및/또는 변경하도록 UI 컨트롤(804a)을 선택하는 것으로 가정한다. 전환이 투어의 장면 1에서 다음 장면으로 및/또는 장면 1 이전의 장면에서 장면 1로의 전환을 적용할 수 있다는 점을 도 3의 설명에서 이해할 수 있을 것이다. 따라서, 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 8b는 컴퓨터 시스템(102) 및/또는 사용자 컴퓨팅 장치(112)와 같은 장치에 의해 생성되는 예시적인 스크린 디스플레이(800b)를 나타낸다. 일부 실시예에서, 스크린 디스플레이(800b)는 반드시 그러한 것은 아니나, 도 1에 도시된 사용자 컴퓨팅 장치(112)에 의해 디스플레이되는 UI(114)에 대응할 수 있다. 전술한 바와 같이, 스크린 디스플레이(800b)는 반드시 그러한 것은 아니나, UI 컨트롤(804a) 상의 탭과 같은 장면 1과 연관된 설정을 조정하기 위한 커맨드 및/또는 입력을 검출하는 것에 응답하여 디스플레이될 수 있다. 스크린 디스플레이(800b)는 추가적 및/또는 대안적인 횟수로 나타낼 수 있기 때문에, 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
도 8b에 도시된 것과 같이, 스크린 디스플레이(800b)는 도 8a에 도시된 속성 바(806)를 포함할 수 있으나, 속성 바(806)는 장면 1과 연관된 다양한 설정 및/또는 속성을 디스플레이할 수 있다. 속성 바(806)는 속성 및/또는 설정이 디스플레이되는 장면의 표시자(indicator)(810)를 포함할 수 있다. 속성 바(806)는 또한 장면의 지속시간을 설정하기 위한 UI 컨트롤(812)을 포함할 수 있다. 따라서, UI 컨트롤(812)은 장면 1의 애니메이션에 대한 지속시간을 설정하는 데 사용될 수 있다. UI 컨트롤(812)은 2분 30초의 지속시간을 나타내는 것으로 도시되었으나, 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다. 또한, 도 4의 설명으로부터, UI 컨트롤(812)을 통한 지속시간 설정은 반드시 그러한 것은 아니나, 장면에 적용되는 효과의 지속시간에 대응할 수 있다는 점을 이해할 수 있다.
또한, 속성 바(806)는 두 개의 장면 간의 전환의 다양한 특징을 설정하기 위한 전환 메뉴(814)를 포함할 수 있다. 장면 1이 선택되고 및/또는 속성 바(806)에 디스플레이되고 있으므로, 전환 메뉴(814)를 통해 구성되는 전환은 장면 1과 장면 2 사이의 전환에 대응할 수 있다. 이러한 실시예는 설명을 위한 것이며, 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다. 전환 메뉴(814)는 전환 유형을 설정하기 위한 유형 컨트롤(type control, 816)을 포함할 수 있다. 컴퓨터 시스템(102)은 반드시 그러한 것은 아니나, 방법(500)의 동작(52)에 관하여 본 명세서에 설명된 기능을 수행하기 위한 유형 컨트롤(816)의 입력을 검출하도록 구성될 수 있다는 점을 이해할 수 있다.
또한, 전환 메뉴(814)는 전환 동안에 카메라 뷰 방향을 특정하는 카메라 방향 컨트롤(818)을 포함할 수 있다. 예시된 실시예에서, 카메라 방향 컨트롤(818)은 카메라가 전환 중에 다음 장면에 초점을 맞추어야 한다는 것을 나타낼 수 있는 "다음(next)"에 설정된 것으로 도시된다. 다양한 실시예에서, 카메라 방향은 "이전(previous)", "다음" 및/또는 "삽입(interpolate)"으로 설정되어 이전 장면, 다음 장면 및/또는 삽입되는 방향 각각에 초점을 맞출 수 있다. 따라서, 예시된 설정은 설명을 위한 것이며, 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
전환 메뉴(814)는 또한 전환의 기간을 설정하는 지속시간 컨트롤(820)을 포함한다. 예시된 실시예에서, 지속시간 컨트롤(820)은 "중간(medium)"으로 설정된 것으로 예시되고, 이는 전환의 기간이 중간 길이의 시간일 것이라는 것을 나타낼 수 있다. 중간 길이의 지속시간은 사용자나 프로그램 개발자에 의해 설정될 수 있고, 다양한 실시예에서 6초 및/또는 다른 시간에 대응할 수 있다. 다양한 실시예에 따르면, 지속시간이 "짧은(short)", "중간", "긴(long)" 및/또는 "커스텀(custom)"으로 설정될 수 있고, 이는 4초의 지속시간, 6초의 지속시간, 8초의 지속시간 및/또는 커스텀 지속시간에 각각 대응할 수 있다. 따라서, 예시된 설정은 설명을 위한 것이며, 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
또한, 속성 바(806)는 선택된 장면에 적용될 효과의 다양한 특징을 설정하기 위한 효과 메뉴(822)를 포함할 수 있다. 장면 1이 선택되고 및/또는 속성 바(806)에 디스플레이되고 있기 때문에, 효과 메뉴(822)를 통해 구성되는 효과는 장면 1에 적용되는 효과에 대응할 수 있다. 효과 메뉴(822)는 효과 유형을 설정하는 효과 유형 컨트롤(824)을 포함할 수 있다. 컴퓨터 시스템(102)은 반드시 그러한 것은 아니나, 방법(400)의 동작(402)에 관하여 본 명세서에 기술된 기능을 수행하기 위한 효과 유형 컨트롤(824)의 입력을 검출하도록 구성될 수 있다.
효과 유형 컨트롤(824)은 궤도 유형 효과를 디스플레이하는 것으로 나타낸다. 이러한 표시(indication)는 예시적인 것이라는 점을 이해할 수 있을 것이다. 구체적으로, 효과 유형 컨트롤(824)은 효과 없음, 궤도, 비행, 8자, 선 효과 및/또는 다른 효과를 포함하는 (제한되는 것은 아님)다른 효과 유형을 디스플레이할 수 있다. 또한, 효과 메뉴(822)는 효과 속도 컨트롤(826)을 디스플레이할 수 있다. 효과 속도 컨트롤은 효과 유형 컨트롤(824)에 도시된 효과의 속도를 설정하는 데 사용될 수 있다. 다양한 실시예에 따라, 컴퓨터 시스템(102)은 반드시 그러한 것은 아니나, 방법(400)의 동작(404)에 관하여 본 명세서에 기술된 기능을 수행하기 위한 효과 속도 컨트롤(826)의 입력을 검출하도록 구성될 수 있다.
효과 속도 컨트롤(826)은 일부 실시예에서, 유형 컨트롤(824)에서의 선택에 기초하여 팝퓰레이트될 수 있다. 구체적으로 효과 유형 컨트롤(824)의 "없음(none)" 옵션이 선택되면, 효과 속도 컨트롤(826)은 비어있을 수 있다(empty). "궤도" 옵션 또는 "8 자"옵션이 효과 유형 컨트롤(824)에서 선택되면, 효과 속도 컨트롤(826)은 짧은, 중간, 긴 및 커스텀 옵션을 팝퓰레이트할 수 있다. "비행" 옵션 또는 "선" 옵션이 효과 유형 컨트롤(824)에서 선택되면, 효과 속도 컨트롤(826)은 짧은, 중간, 긴 및 커스텀 옵션을 팝퓰레이트할 수 있다. 효과 속도 컨트롤(826)은 추가 및/또는 대안적 옵션을 팝퓰레이트할 수 있기 때문에, 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
스크린 디스플레이(800b)는 또한 도 8a에 도시된 시간 컨트롤 윈도우(808)를 포함한다. 시간 컨트롤 윈도우(808)는 장면 및/또는 투어를 통해 플레이 및/또는 스크럽(scrub)하는 데 사용될 수 있다. 컴퓨터 시스템(102)은 일부 실시예에서, 스크린 디스플레이(800b) 상의 장면 및/또는 투어의 이전 스크린(828)을 디스플레이하도록 구성될 수 있다. 시간 컨트롤 윈도우(808)는 이전 스크린(828)에 나타난 투어 또는 장면의 시간을 디스플레이할 수 있는 스크러버(scrubber) 컨트롤(830)을 포함할 수 있다. 시간 컨트롤 윈도우(808)는 추가 및/또는 대안적 컨트롤을 포함할 수 있다. 따라서 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니라는 점을 이해해야 한다.
본 명세서에 개시된 개념 및 기법의 다양한 실시예에 따라, 시각화 컴포넌트(110)는 투어의 생성 시에 간략한 플로우를 지원할 수 있다. 일부 실시예에서, 투어 및/또는 장면은 지오코딩이 시작되면 컴퓨터 시스템에 의해 자동으로 생성될 수 있다. 일부 실시예에 따르면, 지오코딩이 시작되기 전에, 글로브나 다른 디스플레이 서피스는 글로브 상에 어떠한 데이터도 보여줄 수 없다.
다양한 실시예에 따라, 컴퓨터 시스템(102)은 장면 및 투어를 생성함으로써 상태를 보존할 수 있다. 또한, 투어가 삭제될 수 있고, 일부의 경우에 마지막 투어가 삭제되면, 컴퓨터 시스템(102)은 스프레드시트 데이터(112)에서 메타데이터를 삭제할 수 있다. 따라서, 본 명세서 개시된 개념 및 기법의 실시예는 사용자에 의한 투어 및 장면의 관리를 가능하게 한다.
본 명세서에 개시된 개념 및 기법의 실시예에 따르면, 시각화 컴포넌트(110)는 장면의 지속시간에 걸쳐 데이터 시간을 애니메이션화하도록 구성될 수 있다. 사용자나 다른 엔티티는 데이터의 시작 시각 및 종료 시각을 선택하거나 특정할 수 있다. 장면의 지속시간은 데이터에 대응하는 장면이나 투어의 재생 중에 데이터 시간(data time)이 얼마나 빠르게 애니메이션화되는 지를 결정하는 데 사용될 수 있다. 일부의 경우에, 장면의 지속시간이 증가하면, 데이터 시간은 느리게 플레이될 수 있다. 마찬가지로, 데이터 시간의 재생 속도가 증가하면, 장면의 지속시간이 감소될 수 있다. 따라서, 두 개의 컨트롤, 재생 속도 및 지속시간은 일괄하여 데이터 시간의 재생 속도를 정의할 수 있다.
일부 실시예에 따라, 전환은 둘 이상의 장면 사이의 애니메이션에 대응할 수 있다. 전환은 유형 및 지속시간을 가질 수 있다. 카메라 경로, 연관된 회전, 각도, 속도, 가속도, 호의 높이 및/또는 전환과 연관된 카메라 움직임의 다른 특징이 시각화 컴포넌트(110)에 의해 자동으로 조정되고 계산될 수 있다. 알고리즘은 장면에서 데이터의 보기 각도 및/또는 프레이밍(framing) 등을 최적화하기 위해 전환 및/또는 효과 중에 카메라의 회전 수를 최소화하도록 맞춰질 수 있다. 일부 실시예에서, 전환이 투어의 각각의 장면에 할당될 수 있다. 일부 실시예에서, 전환은 제1 장면에 대해 비활성화될 수 있다.
효과가 활성화되고 자동으로 장면에 배정될 수 있다. 일부 예에서, 디폴트 효과가 정의될 수 있다. 사용자는 효과의 유형 및 효과가 적용되는 속도를 선택할 수 있다. 효과는 장면의 전체 지속시간 동안 유지될 수 있고 장면 지속시간에 매칭될 수 있다. 또한, 궤도 및 8자와 같은 루프 효과는 장면의 지속시간이 효과의 지속시간보다 긴 경우에 여러 번 반복될 수 있다. 선형 효과의 경우에, 시각화 컴포넌트(110)는 일부 효과에 대한 선형 궤적(trajectory)의 중앙에 장면의 초점을 배치하도록 구성될 수 있다. 일부 다른 효과의 경우에, 캡처 스폿(capture spot)은 카메라나 다른 시점이 경로를 따라 이동함에 따라 조정될 수 있다. 이동 라인 또는 궤도가 효과의 속도에 따라 짧아지거나 길어질 수 있고, 이는 사용자 또는 다른 엔티티에 의해 조정될 수 있다. 또한, 효과는 장면이 캡쳐되는 고도에 따라 변할 수 있다. 또한, 효과는 더 적은 회전이 장면 내에 적용되어 효과가 장면에 적용되도록 자동으로 방향을 변경할 수 있다.
도 9는 스프레드시트 애플리케이션에서 애니메이션 전환 및 효과를 위해 본 명세서에 기술된 소프트웨어 컴포넌트를 실행할 수 있는 장치에 대한 예시적인 컴퓨터 아키텍처(900)를 나타낸다. 따라서, 도 9에 도시된 컴퓨터 아키텍처(900)는 서버 컴퓨터, 모바일 폰, PDA, 스마트 폰, 데스트톱 컴퓨터, 넷북 컴퓨터, 태블릿 컴퓨터 및/또는 랩톱 컴퓨터에 대한 아키텍처를 나타낸다. 컴퓨터 아키텍처(900)는 본 명세서에 제시된 소프트웨어 컴포넌트의 임의의 특징을 실행하는 데 사용될 수 있다.
도 9에 도시된 컴퓨터 아키텍처(900)는 중앙 처리 유닛(902)("CPU"), 시스템 메모리(904)(랜덤 액세스 메모리("RAM") 및 리드 온리 메모리("ROM")(908)를 포함함) 및 메모리(904)를 CPU(902)에 연결하는 시스템 버스(910)를 포함한다. 시동 중에, 컴퓨터 아키텍처(900) 내 요소들 사이에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템이 상기 ROM(908)에 저장된다. 상기 컴퓨터 아키텍처(900)는 운영체제(106) 및 하나 이상의 애플리케이션 프로그램(스프레드시트 애플리케이션(108), 시각화 컴포넌트(110), 다른 애플리케이션 프로그램 등을 포함하나 이에 한정되는 것은 아님)을 저장하기 위한 대용량 저장 장치(912)를 더 포함한다. 상기 대용량 저장 장치(912)는, 바람직한 경우에, 스프레드시트 데이터(118), 지리적 매핑 데이터(124), 맵 데이터(126) 및/또는 본 명세서에 기술된 UI(114) 중 하나 이상에 대응하는 그래픽 데이터(도 9에 도시되지 않음)를 저장하도록 구성될 수 있다.
대용량 저장 장치(912)는 버스(910)에 연결된 대용량 저장 제어기(도시되지 않음)를 통해 CPU(902)로 연결된다. 상기 대용량 저장 장치(912) 및 이의 연관된 컴퓨터 판독형 매체는 컴퓨터 아키텍처(900)에 비휘발성 저장소를 제공한다. 본 명세서에 포함된 컴퓨터 판독형 매체에 대한 기재가 대용량 저장 장치, 가령, 하드 디스크 또는 CD-ROM 드라이브를 지칭하더라도, 해당 분야의 통상의 기술자라면 컴퓨터 판독형 매체는 컴퓨터 아키텍처(900)에 의해 액세스될 수 있는 임의의 이용 가능한 컴퓨터 저장 매체 또는 통신 매체일 수 있음을 알 것이다.
통신 매체는 변조된 데이터 신호, 가령, 반송파 또는 그 밖의 다른 전송 메커니즘으로 된 컴퓨터 판독형 명령어, 데이터 구조, 프로그램 모듈, 또는 그 밖의 다른 데이터를 포함하고, 임의의 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호에 정보를 인코딩하기 위한 방식으로 변경 또는 설정된 하나 이상의 특성을 갖는 신호를 의미한다. 비-제한적 예를 들면, 통신 매체는 유선 매체, 가령, 유선 네트워크 또는 직접 배선된 연결을 포함하고 무선 매체, 가령 음향, RF, 적외선 및 그 밖의 다른 무선 매체를 포함한다. 상기의 예시들 중 임의의 조합이 또한 컴퓨터 판독형 매체의 범위 내에 포함될 것이다.
비-제한적 예를 들면, 컴퓨터 저장 매체는 정보, 가령, 컴퓨터 판독형 명령어, 데이터 구조, 프로그램 모듈 또는 그 밖의 다른 데이터의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함할 수 있다. 컴퓨터 매체의 비-제한적 예를 들면, RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 그 밖의 다른 솔리드 스테이트 메모리 기법, CD-ROM, 디지털 다목적 디스크("DVD"), HD-DVD, BLU-RAY, 또는 그 밖의 다른 광학 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 그 밖의 다른 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터 아키텍처(900)에 의해 액세스될 수 있는 그 밖의 다른 임의의 매체를 포함한다. 청구 목적으로, "컴퓨터 저장 매체" 및 이의 변형 구문들은, 파(wave), 신호, 및/또는 그 밖의 다른 일시적(transitory) 및/또는 비유형적(intangible) 통신 매체 자체를 포함하지 않는다.
다양한 실시예에 따르면, 컴퓨터 아키텍처(900)는 네트워크, 가령, 네트워크(104)를 통한 원격 컴퓨터로의 논리적 연결을 이용해 네트워크 연결된 환경에서 동작할 수 있다. 상기 컴퓨터 아키텍처(900)는 버스(910)에 연결된 네트워크 인터페이스 유닛(914)을 통해 네트워크(104)로 연결될 수 있다. 또한 네트워크 인터페이스 유닛(914)은 그 밖의 다른 유형의 네트워크 및 원격 컴퓨터 시스템(가령, 사용자 컴퓨팅 장치(112), 데이터 소스(120), 지오코딩 서비스(122), 맵 서버(128) 및/또는 다른 시스템이나 장치)에 연결되도록 사용될 수 있다. 또한 상기 컴퓨터 아키텍처(900)는 복수의 다른 장치(가령, 키보드, 마우스, 또는 전자 스타일러스(도 9에 도시되지 않음))로부터의 입력을 수신 및 처리하기 위한 입/출력 제어기(916)를 포함할 수 있다. 마찬가지로, 상기 입/출력 제어기(916)는 디스플레이 스크린, 프린터, 또는 그 밖의 다른 유형의 출력 장치(도 9에 도시되지 않음)로 출력을 제공할 수 있다.
본 명세서에 기재된 소프트웨어 컴포넌트는 CPU(902)에 로딩되고 실행될 때, CPU(902) 및 전체 컴퓨터 아키텍처(900)를 범용 컴퓨팅 시스템에서 본 명세서에서 제공되는 기능을 용이하게 하도록 커스텀화된 특수 목적 컴퓨팅 시스템으로 변환시킬 수 있다. 상기 CPU(902)는 개별적으로 또는 집합적으로 임의의 개수의 상태를 가정할 수 있는 임의의 개수의 트랜지스터 또는 그 밖의 다른 이산 회로 요소로부터 구성될 수 있다. 더 구체적으로, CPU(902)는 본 명세서에 개시되는 소프트웨어 모듈 내에 포함되는 실행 가능 명령에 응답하여 유한 상태 머신으로서 동작할 수 있다. 이들 컴퓨터 실행 가능 명령은 CPU(902)가 상태들 간에 변환되는 방식을 특정하고 트랜지스터 또는 CPU(902)를 구성하는 그 밖의 다른 이산 하드웨어 요소를 변환함으로써 CPU(902)를 변환시킬 수 있다.
본 명세서에 제공되는 소프트웨어 모듈을 인코딩함으로써 또한 본 명세서에 제공된 컴퓨터 판독형 매체의 물리적 구조를 변환할 수 있다. 물리적 구조의 특정 변환은 본 명세서의 여러 다른 구현에서 다양한 요인들에 따라 달라질 수 있다. 이러한 요인들의 비-제한적 예시로는, 컴퓨터 판독형 매체를 구현하기 위해 사용되는 기술, 컴퓨터 판독형 매체가 주 저장장치인지 또는 보조 저장장치인지 여부 등이 있을 수 있다. 예를 들어, 컴퓨터 판독형 매체가 반도체 기반 메모리로서 구현되는 경우, 본 명세서에 개시된 소프트웨어는 반도체 메모리의 물리적 상태를 변환함으로써 컴퓨터 판독형 매체 상에 인코딩될 수 있다. 예를 들어, 소프트웨어는 트랜지스터의 상태, 커패시터, 또는 반도체 메모리를 구성하는 그 밖의 다른 이산 회로 요소를 변환시킬 수 있다. 또한 상기 소프트웨어는 이러한 구성요소의 물리적 상태를 변환시켜 여기에 데이터를 저장하도록 할 수 있다.
또 다른 예시로서, 본 명세서에 개시된 컴퓨터 판독형 매체는 자기 또는 광학 기술을 이용해 구현될 수 있다. 이러한 구현에서, 본 명세서에 제공된 소프트웨어는 소프트웨어가 인코딩될 때 자기 또는 광학 매체의 물리적 상태를 변환시킬 수 있다. 이들 변환은 주어진 자기 매체 내 특정 위치의 자기 특성을 변경하는 것을 포함할 수 있다. 또한 이들 변환은 이들 위치의 광학 특성을 변경하기 위해 주어진 광학 매체 내 물리적 특징 또는 특정 위치의 특성을 변경하는 것을 포함할 수 있다. 물리적 매체의 그 밖의 다른 변환이 본 명세서의 사상 및 범위 내에서 가능하며, 지금까지의 예시는 본 발명의 설명을 용이하게 하기 위해서 제공된 것에 불과하다.
상기의 내용과 관련하여, 본 명세서에 제공된 소프트웨어 구성요소를 저장 및 실행할 수 있도록 많은 유형의 물리적 변환이 컴퓨터 아키텍처(900)에서 이루어질 수 있다는 점을 이해할 수 있을 것이다. 컴퓨터 아키텍처(900)가 그 밖의 다른 유형의 컴퓨팅 장치, 가령, 핸드-헬드 컴퓨터, 임베디드 컴퓨터 시스템, 개인 디지털 보조기(PDA), 및 해당 분야에 알려진 그 밖의 다른 유형의 컴퓨팅 장치를 포함할 수 있음이 자명할 것이다. 또한 컴퓨터 아키텍처(900)가 도 9에 도시된 컴포넌트 모두를 포함하지 않거나, 도 9에 명시적으로 나타나지 않는 그 밖의 다른 컴포넌트를 포함하거나, 도 9에 나타난 것과 완전히 상이한 아키텍처를 사용할 수 있음이 역시 고려된다.
도 10은 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과를 위해 본 명세서에 기술된 소프트웨어 컴포넌트를 실행할 수 있는 예시적인 분산형 컴퓨팅 환경(1000)을 나타낸다. 따라서, 도 10에 도시된 분산형 컴퓨팅 환경(1000)은 컴퓨터 시스템(102)에 관하여 본 명세서에 기술된 기능을 제공하는 데 사용될 수 있다. 따라서, 분산형 컴퓨팅 환경(1000)은 본 명세서에 제시된 소프트웨어 컴포넌트의 임의의 특징을 실행하는 데 사용될 수 있다.
다양한 구현예에 따르면, 분산형 컴퓨팅 장치(1000)는 네트워크(1004)에서, 네트워크와 통신 연결되거나 네트워크의 일부로서 동작하는 컴퓨팅 환경(1002)을 포함한다. 또한, 네트워크(1004)는 다양한 액세스 네트워크를 포함할 수 있다. 다양한 구현예에 따르면, 네트워크(1004)의 기능이 도 1에 도시된 네트워크(104)에 의해 제공될 수 있다. 하나 이상의 클라이언트 장치(1006A-1006N)(이하에서 집합적 및/또는 포괄적으로 "클라이언트(1006)"라 함)는 네트워크(1004) 및/또는 다른 연결부(도 10에 도시되지 않음)를 통해 컴퓨팅 환경(1002)과 통신할 수 있다. 도시된 실시예에서, 클라이언트(1006)는 랩톱 컴퓨터, 데스크톱 컴퓨터 또는 다른 컴퓨팅 장치와 같은 컴퓨팅 장치(1006A), 슬레이트 또는 태블릿 컴퓨팅 장치("태블릿 컴퓨팅 장치")(1006B), 모바일 전화, 스마트폰 또는 다른 모바일 컴퓨팅 장치와 같은 모바일 컴퓨팅 장치(1006C), 서버 컴퓨터((1006D), 및/또는 다른 장치(1006N)를 포함한다. 임의의 수의 클라이언트(1006)가 컴퓨팅 환경(1002)과 통신할 수 있다. 클라이언트(1006)에 대한 두 개의 예시적인 컴퓨팅 아키텍처가 도 9 및 11을 참조하여 설명되고 기술된다. 예시된 클라이언트(1006) 및 본 명세서 예시되고 기술된 컴퓨팅 아키텍처는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니다.
도시된 실시예에서, 컴퓨팅 환경(1002)은 애플리케이션 서버(1008), 데이터 저장소(1010) 및 하나 이상의 네트워크 인터페이스(1012)를 포함한다. 다양한 구현예에서 애플리케이션 서버(1008)의 기능이 네트워크(1004)의 일부로서 또는 이와 통신 연결되어 실행되고 있는 하나 이상의 서버 컴퓨터에 의해 제공될 수 있다. 애플리케이션 서버(1008)는 다양한 서비스, 가상 머신, 포털 및/또는 다른 자원을 호스팅 할 수 있다. 도시된 실시예에서, 애플리케이션 서버(1008)는 애플리케이션이나 다른 기능을 호스팅하는 하나 이상의 가상 머신(1014)을 호스팅한다. 다양한 구현에에 따르면, 가상 머신(1014)은 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과를 위해 본 명세서에 기술된 기능을 제공하기 위한 하나 이상의 애플리케이션 및/또는 소프트웨어 모듈을 호스팅한다. 본 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니다. 애플리케이션 서버(1008)는 또한 하나 이상의 웹 포털, 링크 페이지, 웹 사이트 및/또는 다른 정보("웹 포털")(1016)를 호스팅하거나 제공한다.
다양한 실시예에 따르면, 또한 애플리케이션 서버(1008)는 하나 이상의 메일박스 서비스(1018) 및 하나 이상의 메시징 서비스(1020)를 포함한다. 메일박스 서비스(1018)는 전자 메일("email") 서비스를 포함할 수 있다. 메일박스 서비스(1018)는 또한 다양한 개인 정보 관리("PIM") 서비스(캘린더 서비스, 연락처 관리 서비스, 협업 서비스 및/또는 다른 서비스를 포함하나 이에 한정되는 것은 아님)를 포함할 수 있다. 메시징 서비스(1020)는 인스턴트 메시징 서비스, 채팅 서비스, 포럼 서비스 및/또는 다른 통신 서비스를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한 애플리케이션 서버(1008)는 하나 이상의 소셜 네트워킹 서비스(1022)를 포함할 수 있다. 소셜 네트워킹 서비스(1022)는 다양한 소셜 네트워킹 서비스를 포함하고, 이의 비 제한적인 예로는, 상태 업데이트, 인스턴트 메시지, 링크, 사진, 비디오 및/또는 다른 정보를 공유하거나 포스팅하는 서비스, 기사, 제품, 블로그 또는 다른 자원을 코멘팅하거나 디스플레이하는 서비스, 및/또는 기타 서비스가 포함된다. 일부 실시예에서, 소셜 네트워킹 서비스(1022)는 FACEBOOK 소셜 네트워킹 서비스, LINKEDIN 전문적 네트워킹 서비스, MYSPACE 소셜 네트워킹 서비스, FOURSQUARE 지리적 네트워킹 서비스, YAMMER 오피스 동료 네트워킹 서비스 등에 의해 제공되거나 이를 포함한다. 다른 실시예에서, 소셜 네트워킹 서비스(1022)는 소셜 네트워킹 제공자로 명시적으로 알려지거나 알려지지 않은 기타 서비스, 사이트 및/또는 제공자에 의해 제공된다. 예를 들어, 일부 웹 사이트는 다양한 활동 및/또는 콘텍스트(예를 들면, 출판 기사 읽기, 상품이나 서비스 코멘팅, 공개, 협업 게이밍 등) 중에 사용자로 하여금 이메일, 채팅 서비스, 및/또는 다른 수단과 상호작용하는 것을 가능하게 한다. 그러한 서비스의 예는 워싱턴 주 레드먼드에 소재한 마이크로소프트 사에서 입수할 수 있는 WINDOWS LIVE 서비스 및 XBOX LIVE 서비스가 있으나 이에 한정되는 것은 아니다. 다른 서비스도 가능하며 고려될 수 있다.
또한, 소셜 네트워킹 서비스(1022)는 코멘팅, 블로깅 및/또는 마이크로블로깅(microblogging) 서비스를 포함할 수 있다. 그러한 서비스의 비 제한적인 예로는, YELP 코멘팅 서비스, KUDZU 리뷰 서비스, OFFICETALK 엔터프라이즈 마이크로블로깅 서비스, TWITTER 메시징 서비스, GOOGLE BUZZ 서비스 및/또는 다른 서비스가 있다. 전술한 서비스에 대한 리스트는 한정적인 것이 아니며 다양한 추가 및/또는 대안적인 소셜 네트워킹 서비스(1022)가 간략한 설명을 위해 본 명세서에서 언급되지 않았다는 것을 이해해야 할 것이다. 따라서, 전술한 실시예는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니다.
도 10에 도시된 바와 같이, 애플리케이션 서버(1008)는 또한 다른 서비스, 애플리케이션, 포털 및/또는 다른 자원("다른 자원들")(1024)을 포함할 수 있다. 다른 자원(1024)은 지오코딩 서비스(122), 맵 서버(128), 데이터 소스(120) 및/또는 기타 서비스 및/또는 자원을 포함하나 이에 한정되는 것은 아니다. 컴퓨팅 환경(1002)은 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과를 위해 본 명세서에 기술된 개념 및 기법과 다양한 메일박스, 메시징, 소셜 네트워킹 및/또는 다른 서비스나 자원과의 통합을 제공할 수 있다. 예를 들어, 본 명세서에 기술된 개념 및 기법은 시각화를 소셜 네트워크 사용자, 메일 수신자, 메시지 수신자 등과 공유하는 것을 지원할 수 있다. 마찬가지로, 사용자 또는 다른 엔티티가 시각화 및/또는 스프레드시트 데이터(118)를 소셜 네트워킹 사용자, 친구, 접속자(connections), 메일 수신자, 시스템이나 장치, 이들의 조합 등과 공유할 수 있다.
전술한 바와 같이, 컴퓨팅 환경(1002)은 데이터 저장소(1010)를 포함할 수 있다. 다양한 구현예에 따르면, 데이터 저장소(10120)의 기능은 네트워크(1004) 상에 또는 이와 통신 연결되어 동작하는 하나 이상의 데이터베이스에 의해 제공된다. 데이터 저장소(1010)의 기능은 또한 컴퓨팅 환경(1002)을 위해 데이터를 호스팅하도록 구성된 하나 이상의 서버 컴퓨터에 의해 제공될 수 있다. 데이터 저장소(1010)는 하나 이상의 실제 또는 가상의 데이터스토어(1026A-1026N)(이하에서 집합적 및/또는 포괄적으로 "데이터스토어(1026)"라고 함)를 포함하거나, 호스팅하거나 제공한다. 데이터스토어(1026)는 애플리케이션 서버(1008) 및/또는 다른 데이터에 의해 사용되거나 생성되는 데이터를 호스팅하도록 구성된다. 도 10에 도시되지는 않았으나, 데이터스토어(1026)는 또한 운영체제(106), 스프레드시트 애플리케이션(108), 시각화 컴포넌트(110), 하나 이상의 UI(114)에 대응하는 그래픽 데이터, 스프레드시트 데이터(118), 지리적 매핑 데이터(124), 맵 데이터(126), 이들의 조합 등을 호스팅하거나 저장할 수 있다.
컴퓨팅 환경(1002)은 네트워크 인터페이스(1012)와 통신하거나 이에 의해 액세스될 수 있다. 네트워크 인터페이스(1012)는 둘 이상의 컴퓨팅 장치(클라이언트(1006) 및 애플리케이션 서버(1008)를 포함하나 이에 한정되는 것은 아님) 사이의 통신을 지원하는 다양한 유형의 네트워크 하드웨어 및 소프트웨어를 포함할 수 있다. 또한, 네트워크 인터페이스(1012)는 다른 유형의 네트워크 및/또는 컴퓨터 시스템에 연결하는 데 사용될 수 있다.
본 명세서에 기술된 분산형 컴퓨팅 환경(1000)은 임의의 수의 가상 컴퓨팅 자원 및/또는 본 명세서에 개시된 소프트웨어의 임의의 특징을 실행하도록 구성될 수 있는 다른 분산형 컴퓨팅 기능을 본 명세서에 기술된 소프트웨어 구성요소의 임의의 특징에 제공할 수 있다. 본 명세서에 기술된 개념 및 기법의 다양한 구현예에 따라, 분산형 컴퓨팅 환경(1000)은 본 명세서에 서비스로서 기술된 소프트웨어 기능을 클라이언트(1006)에게 제공한다. 클라이언트(1006)는 실제 또는 가상 머신(서버 컴퓨터, 웹 서버, 개인 컴퓨터, 모바일 컴퓨팅 장치, 스마트 폰, 및/또는 다른 장치를 포함하나 이에 한정되지는 않음)을 포함할 수 있다. 따라서, 본 명세서에 기술된 개념 및 기법의 다양한 실시예는 분산형 컴퓨팅 환경(1000)에 액세스하도록 구성된 임의의 장치로 하여금 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과를 위해 본 명세서에 기술된 기능을 사용할 수 있게 한다.
이제, 도 11을 참조하면, 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과를 위해 본 명세서에 기술된 다양한 소프트웨어 컴포넌트를 실행할 수 있는 컴퓨팅 장치를 위한 예시적인 컴퓨팅 장치 아키텍처(1100)가 제시된다. 컴퓨팅 장치 아키텍처(1100)는 적어도 부분적으로 폼 팩터(form factor), 무선 연결 및/또는 배터리 전원 동작로 인한 모바일 컴퓨팅을 용이하게 하는 컴퓨팅 장치에 적용될 수 있다. 일부 구현예에서, 컴퓨팅 장치는 모바일 전화, 태블릿 장치, 슬레이트 장치(slate device), 포털 비디오 게임 장치 등을 포함하나 이에 한정되지는 않는다. 또한, 컴퓨팅 장치 아키텍처(1100)는 도 10에 도시된 클라이언트(1106) 중 임의의 클라이언트에 적용될 수 있다. 또한, 컴퓨팅 장치 아키텍처(1100)의 특징은 전통적인 데스크톱 컴퓨터, 휴대용 컴퓨터(예, 랩톱, 노트북, 울트라-포털 및 넷북), 서버 컴퓨터 및 다른 컴퓨터 시스템(가령 도 9를 참조하여 본 명세서에 기술된 것)에 적용될 수 있다. 예를 들면, 이하에서 본 명세서에 개시된 단일 터치 및 멀티 터치 특징은 터치 활성화 트랙 패드 또는 터치 활성화 마우스와 같은 터치스크린이나 일부 다른 터치 활성화 장치(touch-enabled device)를 사용하는 데스크톱 컴퓨터에 적용될 수 있다.
도 11에 도시된 컴퓨팅 장치 아키텍처(1100)는 프로세서(1102), 메모리 컴포넌트(1104), 네트워크 연결 컴포넌트(1106), 센서 컴포넌트(1108), 입/출력 컴포넌트(1110) 및 전원 컴포넌트(1112)를 포함한다. 예시된 실시예에서, 프로세서(1102)는 메모리 컴포넌트(1104), 네트워크 연결 컴포넌트(1106), 센서 컴포넌트(1108), 입/출력(I/O) 컴포넌트(1110) 및 전원 컴포넌트(1112)와 연결된다. 도 11에 도시된 개별적인 컴포넌트 간에 연결이 도시되지 않았으나, 컴포넌트는 장치 기능(device functions)을 수행하기 위해 상호작용할 수 있다. 일부 실시예에서, 컴포넌트들은 하나 이상의 버스(도시되어 있지 않음)를 통해 통신하도록 구성된다.
프로세서(1102)는 본 명세서 기술된 다양한 기능을 수행하기 위해 데이터를 처리하고 하나 이상의 애플리케이션 프로그램의 컴퓨터 실행가능 명령어를 실행하며 컴퓨팅 장치 아키텍처(1100)의 다른 컴포넌트와 상호작용하도록 구성되는 중앙 처리 유닛("CPU")을 포함한다. 프로세서(1102)는 본 명세서에 제시된 소프트웨어 컴포넌트의 특징(특히, 적어도 부분적으로 터치 활성화 입력을 사용하는 것)을 실행하는 데 사용될 수 있다.
일부 실시예에서, 프로세서(1102)는 CPU에 의해 수행되는 동작(범용 과학 기술 컴퓨팅 애플리케이션 및 고 해상도 비디오(예, 1020p, 1080p 등), 비디오 게임, 삼차원 모델링 애플리케이션 등을 실행함으로써 수행되는 동작을 포함하나 이에 한정되는 것은 아님)을 가속화하도록 구성되는 그래픽 프로세싱 유닛("GPU")를 포함한다. 일부 실시예에서, 프로세서(1102)는 별개의 GPU(도시되지 않음)와 통신하도록 구성된다. 어떠한 경우에도, CPU 및 GPU는 코프로세싱 CPU/GPU 컴퓨팅 모델에 따라 구성될 수 있고, 애플리케이션의 순차적 부분(sequential part)은 CPU에서 실행되며, 계산 집약적 부분 부분은 GPU에 의해 가속화된다.
일부 실시예에서, 프로세서(1102)는 시스템 온 칩("SoC")이거나 본 명세서에서 이하에 설명되는 다른 컴포넌트 중 하나 이상의 컴포넌트와 함께 시스템 온 칩에 포함된다. 예를 들어, SoC는 프로세서(1102), GPU, 네트워크 연결 컴포넌트(1106) 중 하나 이상, 센서 컴포넌트(1108) 중 하나 이상을 포함할 수 있다. 일부 실시예에서, 프로세서(1102)는 패키지 온 패키지("PoP") 집적 회로 패키징 기술을 사용하여 부분적으로 제작된다. 또한, 프로세서(1102)는 단일 코어 또는 멀티 코더 프로세서일 수 있다.
프로세서(1102)는 영국 캠브리지에 소재한 ARM HOLDINGS의 라이센스를 이용할 수 있는 ARM 아키텍처에 따라 생성될 수 있다. 대안적으로, 프로세서(1102)는 x86 아키텍처(예를 들면, 캘리포니아, 마운틴 뷰에 소재한 인텔(INTEL) 사에서 입수할 수 있는 것) 및 다른 아키텍처에 따라 생성될 수 있다. 일부 실시예에서, 프로세서(1102)는 캘리포니아, 샌 디에고에 소재한 QUALCOMM에서 입수할 수 있는 SNAPDRAGON SoC, 캘리포니아, 산타 클라라에 소재한 NVIDIA에서 입수할 수 있는 TEGRA SoC, 대한민국, 서울에 소재한 삼성에서 입수할 수 있는 HUMMINGBIRD SoC, 텍사스 달라스에 소재한 TEXAS INSTRUMENTS에서 입수할 수 있는 오픈 멀티미디어 애플리케이션 플랫폼(“OMAP”) SoC 또는 전술한 SoC 중 임의의 SoC의 맞춤화 버전 또는 독점적 SoC이다.
메모리 컴포넌트(1104)는 랜덤 액세스 메모리("RAM")(1114) 및 리드 온리 메모리("ROM")(1116), 통합형 저장 메모리("통합형 저장소")(1118) 및 이동식 저장 메모리("이동식 저장소")(1120)를 포함한다. 일부 실시예에서, RAM(1114) 또는 이들의 일부, ROM(1116) 또는 이들의 일부 및/또는 RAM(1114) 및 ROM(1116)의 일부 조합이 프로세서(1102)에 통합된다. 일부 실시예에서, ROM(1116)은 펌웨어, 운영체제 또는 이들의 일부(가령, 운영체제 커널), 및/또는 통합형 저장소(1118)나 이동식 저장소(1120)로부터 운영체제 커널을 로딩하기 위한 부트로더(bootloader)를 저장하도록 구성된다.
통합형 저장소(1118)는 솔리드 스테이트 메모리, 하드 디스크 또는 솔리드 스테이트 메모리와 하드 디스크의 조합을 포함할 수 있다. 통합형 저장소(1118)는 프로세서(1102) 및 본 명세서에 기술된 다른 컴포넌트가 또한 연결될 수 있는 로직 보드에 납땜되거나 연결될 수 있다. 따라서, 통합형 저장소(1118)는 컴퓨팅 장치에 통합된다. 통합형 저장소(1118)는 운영체제 또는 이들의 일부, 애플리케이션 프로그램, 데이터 및 본 명세서에 기술된 다른 소프트웨어 컴포넌트를 저장하도록 구성된다.
이동식 저장소(1120)는 솔리드 스테이트 메모리, 하드 디스크 또는 솔리드 스테이트 메모리와 하드 디스크의 조합을 포함할 수 있다. 일부 실시예에서, 이동식 저장소(1120)는 통합형 저장소(1118)를 대신하여 제공된다. 다른 실시예에서, 이동식 저장소(1120)는 추가적인 선택형 저장소로서 제공된다. 일부 실시예에서, 이동식 저장소(1120)는 통합형 저장소(1118)와 논리적으로 결합되어 전체 이용가능한 저장소가 이용될 수 있도록 하고 사용자에게 통합형 저장소(1118) 및 이동식 저장소(1120)의 토탈 결합 용량으로서 보이게 한다.
이동식 저장소(1120)는 이동식 저장소(1120)가 삽입되고 고정되어 이동식 저장소(1120)가 컴퓨팅 장치의 다른 컴포넌트(가령, 프로세서(1102))와 통신할 수 있는 연결을 용이하게 하는 이동식 저장 메모리 슬롯(도시되지 않음) 또는 다른 메커니즘에 삽입되도록 구성된다. 이동식 저장소(1120)는 다양한 메모리 카드 포맷(PC 카드, CompactFlash 카드, 메모리 스틱, “SD(secure digital)”, miniSD, microSD, 유니버셜 통합형 회로 카드(“UICC”)(예, 가입자 ID 모듈("SIM") 또는 유니버셜 SIM("USIM")), 등록 포맷 등을 포함하나 이에 한정되는 것은 아님)으로 구현될 수 있다.
메모리 컴포넌트(1104)의 하나 이상이 운영체제를 저장할 수 있다는 점을 이해할 수 있을 것이다. 다양한 실시예에 따르면, 운영체제는 SYMBIAN LIMITED의 SYMBIAN OS, 워싱턴, 레드몬드에 소재한 마이크로소프트 사의 WINDOWS MOBILE OS, 마이크로소프트 사의 WINDOWS PHONE OS, 마이크로소프트 사의 WINDOWS, 캘리포니아, 파올로 알토에 소재한 휴렛 패커드 사의 PALM WEBOS, 캐나다 온타리오, 워털루에 소재한 Research In Motion Limited의 BLACKBERRY OS, 캘리포니아 쿠퍼티노에 소재한 애플 사의 IOS 및 캘리포니아, 마운틴 뷰에 소재한 구글 사의 ANDROID OS를 포함하나 이에 한정되는 것은 아니다. 다른 운영체제가 고려될 수 있다.
네트워크 연결 컴포넌트(1106)는 무선 광역 네트워크 컴포넌트(“WWAN component”)(1122), 무선 지역 네트워크 컴포넌트(“WLAN component”)(1124) 및 무선 개인 네트워크 컴포넌트(“WPAN component”)(1126)를 포함한다. 네트워크 연결 컴포넌트(1106)는 네트워크로/로부터의 통신을 용이하게 하며, WWAN, WLAN, 또는 WPAN일 수 있다. 단일 네트워크(1128)가 도시되었으나, 네트워크 연결 컴포넌트(1106)는 복수의 네트워크와의 동시 통신을 용이하게 할 수 있다. 예를 들어, 네트워크 연결 컴포넌트(1106)는 WWAN, WLAN, 또는 WPAN 중 하나 이상을 통해 복수의 네트워크와의 동시 통신을 용이하게 할 수 있다.
일부 실시예에서, 네트워크(1128)는 도 1 및 도 9, 도 10에 설명되고 기술된 네트워크(104) 및/또는 네트워크(1004)에 대응할 수 있다. 일부 실시예에서, 네트워크(1128)는 도 1 및 도 9를 참조하여 설명되고 기술된 네트워크(104) 및/또는 도 10에 설명되고 기술된 네트워크(1004)를 포함할 수 있다. 또 다른 실시예에서, 네트워크(1128)는 도 1 및 도 9를 참조하여 설명되고 기술된 네트워크(104) 및/또는 도 10에 설명되고 기술된 네트워크(1004)에 대한 액세스를 제공할 수 있다.
네트워크(1128)는 하나 이상의 모바일 통신 기술을 사용하여 음성 및/또는 데이터 서비스를 WWAN 컴포넌트(1122)를 통해 컴퓨팅 장치 아키텍처(1100)를 사용하는 컴퓨팅 장치에 제공하는 모바일 통신 네트워크와 같은 WWAN일 수 있다. 모바일 통신 기술은 모바일 통신을 위한 글로벌 시스템(“GSM”), 코드 분할 다중 접속(“CDMA”) ONE, CDMA2000, 유니버설 모바일 통신 시스템(“UMTS”), 롱 텀 에볼루션 (“LTE”), 및 극초단파 액세스를 위한 월드와이드 상호운용성(“WiMAX”)을 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 네트워크(1128)는 다양한 채널 액세스 기법(이는 전술한 표준(standards)에 의해 사용되거나 사용될 수 없음)을 사용할 수 있으며, 채널 액세스 기법은 시 분할 다중 접속(“TDMA”), 주파수 분할 다중 접속(“FDMA”), CDMA, 와이드밴드 CDMA(“W-CDMA”), 직교 주파수 분할 다중화(“OFDM”), 공간 분할 다중 접속(“SDMA”) 등을 포함하나 이에 한정되지는 않는다. 데이터 통신은 “GPRS”(General Packet Radio Service), “EDGE”(Enhanced Data rates for Global Evolution), “HSPA”(High-Speed Packet Access) 프로토콜 패밀리(“HSDPA”(High-Speed Downlink Packet Access), “EUL”(Enhanced Uplink)을 포함함) 또는 “HSUPA”(termed High-Speed Uplink Packet Access), “HSPA+”(Evolved HSPA), LTE 및 다양한 다른 현재 및 미래의 무선 데이터 액세스 표준을 포함하나 이에 한정되는 것은 아니다. 네트워크(1128)는 전술한 기법의 임의의 조합을 이용한 음성 및/또는 데이터 통신을 제공하도록 구성될 수 있다. 네트워크(1128)는 미래의 생성 기법에 따라 음성 및/또는 데이터 통신을 제공하도록 구성되거나 적응될 수 있다.
일부 실시예에서, WWAN 컴포넌트(1122)는 네트워크(1128)로의 이중 및 다중 모드 연결을 제공하도록 구성된다. 예를 들어, WWAN 컴포넌트(1122)는 네트워크(1128)로의 연결성을 제공하도록 구성될 수 있고, 여기서 네트워크(1128)는 GSM 및 UMTS 기법을 통해 또는 그러한 기법의 일부 다른 조합을 통해 서비스를 제공한다. 대안으로서, 복수의 WWAN 컴포넌트(1122)가 그러한 기능을 제공하고 또는 다른 비 호환형 기법(즉, 단일 WWAN 컴포넌트에 의해 지원될 수 없음)을 제공하는 데 사용될 수 있다. WWAN 컴포넌트(1122)는 복수의 네트워크(가령, UMTS 네트워크 및 LTE 네트워크)로의 유사한 연결을 제공할 수 있다.
네트워크(1128)는 하나 이상의 “IEEE”(Institute of Electrical and Electronic Engineers ) 802.11 표준(가령, IEEE 802.lla, 802.llb, 802.11g, 802.1ln) 및/또는 미래의 802.11 표준(본 명세서에서 집합적으로 WI-FI라 함)에 따라 동작하는 WLAN일 수 있다. 또한, 드래프트 802.11 표준이 고려된다. 일부 실시예에서, WLAN은 하나 이상의 무선 WI-FI 액세스 포인트를 사용하여 구현될 수 있다. 일부 실시예에서, 무선 WI-FI 액세스 포인트 중 하나 이상은 WI-FI 핫스팟의 기능을 하고 있는 WWAN에 대한 연결을 가진 다른 컴퓨팅 장치이다. WLAN(1124)는 WI-FI 액세스 포인트를 통해 네트워크(1128)에 연결하도록 구성된다. 그러한 연결은 다양한 암호화 기법(“WPA”(WI-FI Protected Access), WPA2, “WEP”(Wired Equivalent Privacy) 등을 포함하나 이에 한정되지는 않음)을 통해 보호될 수 있다.
네트워크(1128)는 (“IrDA”(Infrared Data Association), BLUETOOTH, “USB”(wireless Universal Serial Bus), Z-Wave, ZIGBEE 또는 일부 다른 단거리 무선 기법에 따라 동작하는 WPAN일 수 있다. 일부 실시예에서, WPAN 컴포넌트(1126)는 WPAN을 통한 주변회로, 컴퓨터 또는 다른 컴퓨팅 장치와 같은 다른 장치와의 통신을 용이하게 하도록 구성된다.
센서 컴포넌트(1108)는 자력계(1130), 주변 광 센서(1132), 근접 센서(1134), 가속도계(1136), 자이로스코프(1138), GPS 센서(1140)를 포함한다. 온도 센서 또는 충격 검출 센서와 같은 다른 센서(이에 한정되는 것은 아님)도 컴퓨팅 장치 아키텍처(1100)에 포함될 수 있음이 고려될 수 있다.
자력계(1130)는 자기장의 강도 및 방향을 측정하도록 구성된다. 일부 실시예에서, 자력계(1130)는 기본 방향(cardinal directions)(즉, 동, 서, 남, 북)을 포함하는 기준 프레임(refernce frame)에서의 정확한 방향을 사용자에게 제공하도록 메모리 컴포넌트(1104) 중 하나에 저장되는 컴파스 애플리케이션 프로그램으로 측정값을 제공한다. 유사한 측정값이 컴파스 컴포넌트를 포함하는 내비게이션 애플리케이션 프로그램으로 제공될 수 있다. 자력계(1130)에 의해 획득된 측정값의 다른 용법이 고려될 수 있다.
주변 광 센서(1132)는 주변 광을 측정하도록 구성된다. 일부 실시예에서, 주변 광 센서(1132)는 낮은 광 및 높은 광 환경을 보상하기 위해 디스플레이의 밝기(이하에 설명됨)를 자동으로 조절하도록 하나의 메모리 컴포넌트(1104) 내에 저장되는 애플리케이션 프로그램으로 측정값을 제공한다. 주변 광 센서(1132)에 의해 획득된 측정값의 다른 용법이 고려될 수 있다.
근접 센서(1134)는 직접적인 접촉 없이 컴퓨팅 장치에 근접한 객체 또는 물체의 존재를 검출하도록 구성된다. 일부 실시예에서, 근접 센서(1134)는 사용자 신체(가령, 사용자의 얼굴)의 존재를 검출하고 이러한 정보를 메모리 컴포넌트(1104) 중 하나에 저장된 애플리케이션 프로그램에 제공하며, 애플리케이션 프로그램은 근접성 정보를 사용하여 컴퓨팅 장치의 일부 기능을 활성화하거나 비활성화한다. 예를 들어, 전화 애플리케이션 프로그램은 근접성 정보를 수신하는 것에 응답하여 터치스크린(이하에 설명됨)을 자동으로 비활성화하여 사용자의 얼굴이 의도치 않게 통화(call)를 종료시키거나 통화 중에 전화 애플리케이션 프로그램 내의 다른 기능이 활성화/비활성화되게 하지 않도록 할 수 있다. 근접 센서(1134)에 의해 검출된 근접성의 다른 용법이 고려될 수 있다.
가속도계(1136)는 적절한 가속도를 측정하도록 구성된다. 일부 실시예에서, 가속도계(1136)로부터의 출력이 애플리케이션 프로그램에 의해 입력 메커니즘으로서 사용되어 애플리케이션 프로그램의 일부 기능을 제어한다. 예를 들어, 애플리케이션 프로그램은 캐릭터, 이들의 일부 또는 객체가 가속도계(1136)를 통해 수신된 입력에 응답하여 이동되거나 조정되는 비디오 게임일 수 있다. 일부 실시예에서, 가속도계(1136)로부터의 출력이 풍경 및 초상화 모드 사이의 스위칭, 좌표 가속도 계산 또는 오류 검출 시에 사용되도록 애플리케이션에 제공된다. 가속도계(1136)의 다른 용법이 고려될 수 있다.
자이로스코프(1138)는 방향을 측정 및 유지하도록 구성된다. 일부 실시예에서, 자이로스코프(1138)로부터의 출력이 애플리케이션 프로그램에 의해 애플리케이션 프로그램의 일부 기능을 제어하기 위한 입력 메커니즘으로서 사용된다. 예를 들어, 자이로스코프(1138)는 비디오 게임 애플리케이션 또는 일부 다른 애플리케이션의 삼차원 환경 내에서의 이동을 정확히 인식하는 데 사용될 수 있다. 일부 실시예에서, 애플리케이션 프로그램은 자이로스코프(1138) 및 가속도계(1136)로부터의 출력을 사용하여 애플리케이션 프로그램의 일부 기능에 대한 제어를 강화한다. 자이로스코프(1138)의 다른 용법이 고려될 수 있다.
GPS 센서(1140)는 위치 계산 시에 사용하기 위해 GPS 위성으로부터 신호를 수신하도록 구성된다. GPS 센서(1140)에 의해 계산된 위치는 위치 정보를 필요로 하거나 효과를 얻는 임의의 애플리케이션에 의해 사용될 수 있다. 예를 들어, GPS 센서(1140)에 의해 계산된 위치는 그 위치로부터 종착지로의 방향 또는 종착지로부터 그 위치로의 방향을 제공하기 위해 내비게이션 애플리케이션 프로그램에 의해 사용될 수 있다. 또한, GPS 센서(1140)는 위치 정보를 E911 서비스와 같은 외부 위치 기반 서비스에 제공하는 데 사용될 수 있다. GPS 센서(1140)는 위치 결정(location fix)을 할 시에 GPS 센서(1140)를 돕기 위해 네트워크 연결 컴포넌트(1106) 중 하나 이상을 사용하는 WI-FI, WIMAX 및/또는 셀룰러 삼각 측량 기법을 통해 생성된 위치 정보를 획득할 수 있다. GPS 센서(1140)는 또한 "A-GPS”(Assisted GPS) 시스템에서 사용될 수 있다.
I/O 컴포넌트(110)는 디스플레이(1142), 터치스크린(1144), 데이터 I/O 인터페이스 컴포넌트("데이터 I/O")(1146), 오디오 I/O 인터페이스 컴포넌트("오디오 I/O")(1148), 비디오 I/O 인터페이스 컴포넌트("비디오 I/O")(1150) 및 카메라(1152)를 포함한다. 일부 실시예에서, 디스플레이(1142) 및 터치스크린(1144)이 결합된다. 일부 실시예에서 데이터 I/O 인터페이스 컴포넌트(1146), 오디오 I/O 인터페이스 컴포넌트(1148), 비디오 I/O 인터페이스 컴포넌트(1150) 중 둘 이상이 결합된다. I/O 컴포넌트(1110)는 이하에 기술된 다양한 인터페이스를 지원하도록 구성되는 별개의 프로세서를 포함할 수 있거나, 프로세서(1102)에 빌트인 된 프로세싱 기능을 포함할 수 있다.
디스플레이(1142)는 시각적 폼(visual form)으로 정보를 제시하도록 구성되는 출력 장치이다. 구체적으로, 디스플레이(1142)는 그래픽 사용자 인터페이스("GUI") 구성요소, 텍스트, 이미지, 비디오, 통지, 가상 버튼, 가상 키보드, 메시징 데이터, 인터넷 콘텐트, 장치 상태, 시간, 날짜 캘린더 데이터, 선호사항, 맵 정보, 위치 정보 및 시각적 폼으로 제시될 수 있는 임의의 다른 정보를 제시할 수 있다. 일부 실시예에서, 디스플레이(1142)는 임의의 능동 또는 수동 매트릭스 기법 및 임의의 백라이팅 기법(사용되는 경우에)을 사용하는 액정 디스플레이("LCD")이다. 일부 실시예에서, 디스플레이(1142)는 유기 발광 다이오드("OLED") 디스플레이이다. 다른 디스플레이 유형이 고려될 수 있다.
터치스크린(1144)은 터치의 존재 및 위치를 검출하도록 구성된 입력 장치이다. 터치스크린(1144)은 저항성 터치스크린, 표면 음파 터치스크린, 적외선 터치스크린, 광학 이미징 터치스크린, 분산 신호 터치스크린, 음향 펄스 인식 터치스크린일 수 있고 또는 임의의 다른 터치스크린 기법을 사용할 수 있다. 일부 실시예에서, 터치스크린(1144)은 사용자가 하나 이상의 터치를 이용하여 디스플레이(1142)에 제시된 객체나 다른 정보와 상호작용하는 것을 가능하게 하는 투명 층으로서 디스플레이(1142)의 상부에 포함된다. 다른 실시예에서, 터치스크린(1144)은 디스플레이(1142)를 포함하지 않는 컴퓨팅 장치의 표면에 포함된 터치 패드이다. 예를 들어, 컴퓨팅 장치는 디스플레이(1142)의 상부에 포함된 터치스크린 및 디스플레이(1142)의 반대편 표면 상의 터치 패드를 가질 수 있다.
일부 실시예에서, 터치스크린(1144)은 단일 터치스크린이다. 다른 실시예에서, 터치스크린(1144)은 멀티 터치 터치스크린이다. 일부 실시예에서, 터치스크린(1144)은 별개의 터치, 단일 터치 제스처 및/또는 멀티 터치 제스처를 검출하도록 구성된다. 이러한 제스처들은 본 명세서에서 설명의 편의를 위해 집합적으로 제스처라고 한다. 복수의 제스처가 지금부터 설명될 것이다. 이러한 제스처는 설명을 위한 것이며 첨부된 청구범위의 범주를 제한하려는 것이 아님을 이해해야 할 것이다. 또한, 설명된 제스처, 추가 제스처 및/또는 대안적 제스처가 터치스크린(1144)과 함께 사용하기 위해 소프트웨어에 구현될 수 있다. 따라서, 개발자는 구체적인 애플리케이션 프로그램에 특정되는 제스처를 생성할 수 있다.
일부 실시예에서, 터치스크린(1144)은 사용자가 디스플레이(1142) 상에 제시된 아이템에 대해 터치스크린(114)을 한번 두드리는 탭 제스처를 지원한다. 탭 제스처는 사용자가 탭하는 것이 무엇이든 이를 열기 또는 론칭하는 것을 포함하는 (이에 제한되는 것은 아님) 다양한 이유로 사용될 수 있다. 일부 실시예에서, 터치스크린(1144)은 사용자가 디스플레이(1142)에 제시된 아이템에 대해 터치스크린(1144)을 두 번 두드리는 이중 탭 제스처를 지원한다. 이중 탭 제스처는 단계 별로 줌인 또는 줌아웃하는 것을 포함하는 (이에 제한되는 것은 아님) 다양한 이유로 사용될 수 있다. 일부 실시예에서, 터치스크린(1144)은 사용자가 터치스크린(1144)을 탭하고 적어도 사전 정의된 시간 동안 접촉을 유지하는 탭 앤 홀드 제스처(tap and hold gesture)를 지원한다. 탭 앤 홀드 제스처는 콘텍스트 특정 메뉴 열기를 포함하는 (이에 제한되는 것은 아님) 다양한 이유로 사용될 수 있다.
일부 실시예에서, 터치스크린(1144)은 사용자가 터치스크린(1144) 상에 손가락을 올리고 터치스크린(1144) 상에서 손가락을 움직이는 동안 터치스크린(1144)과의 접촉을 유지하는 팬 제스처(pan gesture)를 지원한다. 팬 제스처는 제어된 레이트로 스크린, 이미지 또는 메뉴를 통과하여 움직이는 것을 포함하는(이에 제한되는 것은 아님) 다양한 이유로 사용될 수 있다. 또한, 복수의 손가락 팬이 고려된다. 일부 실시예에서, 터치스크린(1144)은 사용자가 스크린이 움직이기를 원하는 방향으로 손가락을 훔치는(swipe) 플리크 제스처(flick gesture)를 지원한다. 플리크 제스처는 메뉴 또는 페이지를 수직이나 수평으로 스크롤링하는 것을 포함하는(이에 제한되는 것은 아님) 다양한 이유로 사용될 수 있다. 일부 실시예에서, 터치스크린(1144)은 사용자가 터치스크린(1144) 상에서 두 개의 손가락(가령, 엄지 및 검지)으로 꼬집기 동작을 하거나 두 개의 손가락을 벌리는 핀치 앤 스트레치 제스처(pinch and stretch gesture)를 지원한다. 핀치 앤 스트레치 제스처는 웹사이트, 맵 또는 사진을 점진적으로 줌인하거나 줌아웃하는 것을 포함하는(이에 제한되는 것은 아님) 다양한 이유로 사용될 수 있다.
전술한 제스처는 제스처를 수행하기 위해 하나 이상의 손가ㄹㄱ을 사용하하는 것에 관하여 기술되었으나, 다른 부속 부분(가령, 발가락(toe)) 또는 객체(가령 스타일러스)가 터치스크린(1144)과 상호작용하는 데 사용될 수 있다. 따라서, 전술한 제스처는 설명을 위한 것이며 어떠한 방식으로든 제한을 하려는 것이 아니다.
데이터 I/O 인터페이스 컴포넌트(1146)는 컴퓨팅 장치로의 데이터의 입력 및 컴퓨팅 장치로부터의 데이터의 출력을 용이하게 하도록 구성된다. 일부 실시예에서, 데이터 I/O 인터페이스 컴포넌트(1146)는 예를 들면, 동기화 동작을 위해, 컴퓨팅 장치와 컴퓨터 시스템 사이의 유선 연결을 제공하도록 구성되는 커넥터를 포함한다. 커넥터는 독점적 커넥터 또는 USB, micro-USB, mini-USB 등과 같은 표준화된 커넥터일 수 있다. 일부 실시예에서, 커넥터는 컴퓨팅 장치를 다른 장치(가령, 도킹 스테이션, 디지털 음악 플레이어와 같은 오디오 장치 또는 비디오 장치)와 도킹시키기 위한 독 커넥터(dock connector)이다.
오디오 I/O 인터페이스 컴포넌트(1148)는 오디오 입력 및/또는 출력 기능을 컴퓨팅 장치에 제공하도록 구성된다. 일부 실시예에서, 오디오 I/O 인터페이스 컴포넌트(1148)는 오디오 신호를 수집하도록 구성되는 마이크로폰을 포함한다. 일부 실시예에서, 오디오 I/O 인터페이스 컴포넌트(1148)는 헤드폰이나 다른 외부 스피커에 대한 연결을 제공하도록 구성되는 헤드폰 잭을 포함한다. 일부 실시예에서, 오디오 인터페이스 컴포넌트(1148)는 오디오 신호의 출력을 위한 스피커를 포함한다. 일부 실시예에서, 오디오 I/O 인터페이스 컴포넌트(1148)는 광학 오디오 케이블 출력(optical audio cable out)을 포함한다.
비디오 I/O 인터페이스 컴포넌트(1150)는 비디오 입력 및/또는 출력 기능을 컴퓨팅 장치에 제공하도록 구성된다. 일부 실시예에서, 비디오 I/O 인터페이스 컴포넌트(1150)는 다른 장치(가령, DVD 또는 BLURAY 플레이어와 같은 비디오 미디어 플레이어)로부터의 입력으로서 비디오를 수신하거나 다른 장치(가령, 모니터, 텔레비전 또는 일부 다른 외부 디스플레이)로의 출력으로서 비디오를 송신하도록 구성된 비디오 커넥터를 포함한다. 일부 실시예에서, 비디오 I/O 인터페이스 컴포넌트(1150)는 "HDMI"(High-Definition Multimedia Interface), mini-HDMI, micro-HDMI, DisplayPort 또는 입/출력 비디오 콘텐트에 대한 독점적 커넥터를 포함한다. 일부 실시예에서, 비디오 인터페이스 컴포넌트(1150) 또는 이의 일부가 오디오 I/O 인터페이스 컴포넌트(1148) 또는 이의 일부와 결합된다.
카메라(1152)는 스틸 이미지 및/또는 비디오를 캡처하도록 구성될 수 있다. 카메라(1152)는 “CCD”(charge coupled device) 또는 “CMOS”(complementary metal oxide semiconductor) 이미지 센서를 사용하여 이미지를 캡처할 수 있다. 일부 실시예에서, 카메라(1152)는 낮은 광 환경에서 사진 촬영을 하는 것을 돕는 플래시를 포함한다. 카메라(1152)에 대한 설정은 하드웨어 또는 소프트웨어 버튼으로서 구현될 수 있다.
도시되지는 않았지만, 하나 이상의 하드웨어 버튼이 컴퓨팅 장치 아키텍처(1100)에 포함될 수도 있다. 하드웨어 버튼은 컴퓨팅 장치의 일부 동작적 특징을 제어하는 데 사용될 수 있다. 하드웨어 버튼은 전용 버튼 또는 다중 용도 버튼일 수 있다. 하드웨어 버튼은 기계식이거나 센서 기반일 수 있다.
도시된 전원 컴포넌트(1112)는 하나 이상의 배터리(1154)를 포함하고, 이는 배터리 게이지(1156)에 연결될 수 있다. 배터리(1154)는 충전가능한 것이거나 일회용일 수 있다. 충전가능한 배터리 유형의 비 제한적인 예로는, 리튬 폴리머, 리튬 이온, 니켈 카드뮴 및 니켈 메탈 하이브리드가 있다. 각각의 배터리(1154)는 하나 이상의 전지(cell)로 구성될 수 있다.
배터리 게이지(1156)는 전류, 전압 및 온도와 같은 배터리 파라미터를 측정하도록 구성될 수 있다. 일부 실시예에서, 배터리 게이지(1156)는 배터리의 방전 레이트, 온도, 수명 및 소정의 에러 퍼센트 내에서 잔여 수명을 예측하기 위한 다른 인자의 영향(effect)을 측정하도록 구성된다. 일부 실시예에서, 배터리 게이지(1156)는 측정값을 사용하여 사용자에게 유용한 전원 관리 데이터를 제시하도록 구성된 애플리케이션 프로그램으로 측정값을 제공한다. 전력 관리 데이터는 배터리 사용 퍼센트, 잔여 배터리 퍼센트, 배터리 조건, 잔여 시간, 잔여 용량(가령, 와트시 단위로), 전류 요구량(current draw) 및 전압 중 하나 이상을 포함할 수 있다.
전원 컴포넌트(1112)는 또한 전원 커넥터(이는 전술한 I/O 컴포넌트(1110) 중하나 이상과 결합될 수 있음)를 포함할 수 있다. 전원 컴포넌트(1112)는 전원 I/O 컴포넌트(1144)를 통해 외부 전원 시스템 또는 충전 장치와 상호작용할 수 있다.
전술한 내용을 기초로 하여, 스크립트 파일 의존관계 및 로드 시점을 관리하기 위한 기술이 본 명세서에 개시되었음을 알 것이다. 본 명세서에 제공되는 발명이 컴퓨터 구조 특징, 방법적 및 변환적 동작, 특정 컴퓨팅 기계류, 및 컴퓨터 판독형 매체에 특정된 언어로 기재되었지만, 이하의 특허청구범위에서 정의된 발명이 본 명세서에 기재된 특정 특징부, 동작, 또는 매체에 반드시 한정되는 것은 아니다. 오히려, 특정 특징부, 동작 및 매체는 특허청구범위를 구현하는 예시적 형태로서 개시된다.
앞서 기재된 사항은 단지 예시에 불과하며 제한하는 것으로 해석되어서는 안 된다. 도시 및 기재된 예시적 실시예 및 적용을 따르지 않고, 이하의 특허청구범위에서 제공되는 본 발명의 진정한 사상 및 범위 내에서, 본 명세서에 기재된 사항의 다양한 수정 및 변경이 이루어질 수 있다.

Claims (10)

  1. 스프레드시트 애플리케이션에서 애니메이션을 생성하는 컴퓨터로 구현되는 방법으로서,
    시각화 컴포넌트(visulization component)를 실행하는 컴퓨터 시스템에서, 스프레드시트 데이터의 시각화에 포함된 장면의 선택을 검출하는 단계와,
    상기 컴퓨터 시스템에 의해, 상기 장면의 시작 시각 및 상기 장면의 종료 시각에 기초하여 상기 장면의 지속시간(duration)을 판정하는 단계와,
    상기 컴퓨터 시스템에 의해, 상기 장면이 렌더링되는 시점(viewpoint)에서 상기 장면의 렌더링 중에 적용되는 시각적 효과를 포함하는 효과의 선택을 수신하는 단계와,
    상기 컴퓨터 시스템에 의해, 상기 지속시간에 기초한 장면 및 상기 장면에 대한 효과를 생성하는 단계와,
    상기 컴퓨터 시스템에 의해, 상기 장면에 적용되는 상기 효과에 대응하는 효과 애니메이션을 출력하는 단계
    를 포함하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 효과를 생성하는 단계는,
    상기 장면에 대한 효과 유형(effect type)을 결정하는 단계와,
    상기 효과의 지속시간 및 상기 효과의 속도 또는 크기를 결정하는 단계와,
    상기 효과 유형 및 상기 장면의 상기 지속시간 및 상기 시점의 배치(positioning)에 기초하여 상기 효과 애니메이션을 생성하는 단계
    를 포함하는 컴퓨터로 구현되는 방법.
  3. 제2항에 있어서,
    상기 효과를 생성하는 단계는, 상기 효과에 대해 카메라 거리를 판정하는 단계를 더 포함하고,
    상기 카메라 거리는 상기 효과 애니메이션에 대한 시점 및 상기 장면에 포함된 데이터의 중심점(center point) 사이의 거리를 포함하는
    컴퓨터로 구현되는 방법.
  4. 제3항에 있어서,
    상기 효과 유형은 궤도 효과(orbit effect), 8자 효과(figure eight effect), 앞뒤 이동 효과(back and forth effect), 선 효과(line effect) 및 정지 효과(stationary effect)를 포함하는 그룹에서 선택되는
    컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    상기 시각화에 포함되는 추가 장면을 식별하는 단계와,
    상기 장면 및 상기 추가 장면 사이의 전환을 생성하는 단계와,
    상기 장면 및 상기 추가 장면에 적용되는 전환에 대응하는 전환 애니메이션을 출력하는 단계
    를 더 포함하는 컴퓨터로 구현되는 방법.
  6. 제5항에 있어서,
    상기 전환을 생성하는 단계는,
    상기 전환에 대한 전환 유형을 판정하는 단계와,
    상기 장면에 대응하는 시작 위치 및 상기 추가 장면에 대응하는 종료 위치 사이의 거리를 판정하는 단계와,
    상기 전환의 기간을 판정하는 단계와,
    상기 전환 유형, 상기 거리 및 상기 기간에 기초하여 상기 전환 애니메이션을 생성하는 단계
    를 더 포함하는 컴퓨터로 구현되는 방법.

  7. 컴퓨터 판독가능 명령어가 저장된 컴퓨터 저장 매체로서,
    상기 컴퓨터 판독가능 명령어는 컴퓨터에 의해 실행되는 경우에 상기 컴퓨터로 하여금,
    스프레드시트 데이터의 시각화에 포함된 장면 및 추가 장면의 표현(representation) 및 컨트롤을 포함하는 사용자 인터페이스를 생성하는 단계 - 상기 컨트롤은, 효과 유형, 상기 장면의 시작 시각 및 상기 장면의 종료 시각에 기초한 상기 효과의 지속시간, 상기 효과의 속도 또는 상기 효과의 크기, 상기 장면 및 상기 추가 장면 사이의 전환에 대한 전환 유형 및 상기 전환의 기간을 특정함 - 와,
    상기 장면에 대응하는 표현 중 하나의 선택을 검출하는 단계와,
    상기 시작 시각 및 상기 종료 시각에 기초하여 상기 장면의 지속시간을 판정하는 단계와,
    상기 사용자 인터페이스를 통해 수신된 선택에 기초하여, 선택된 장면에 적용될 효과를 식별하는 단계 - 상기 효과는 상기 장면이 렌더링되는 시점에서 상기 장면을 렌더링하는 동안 적용되고 상기 효과 유형에 기초한 시각적 효과, 상기 효과의 지속시간 및 상기 효과의 속도 또는 크기를 포함함 - 와,
    상기 시각화에 포함된 추가 장면을 식별하는 단계와,
    상기 장면 및 상기 추가 장면 사이의 전환을 생성하는 단계 - 상기 전환은 상기 전환 유형 및 상기 지속시간에 기초함 - 와,
    효과 애니메이션 및 전환 애니메이션을 출력하는 단계
    를 수행하게 하는 컴퓨터 저장 매체.
  8. 제7항에 있어서,
    상기 전환 유형은 컷 전환 유형(cut transition type), 페이드 전환 유형(fade transition type), 선형 전환 유형(linear transition type), 호 전환 유형(arc transition type) 및 줌인-줌아웃 전환 유형(zoom-in/zoom-out transition type)을 포함하는 그룹에서 선택된 하나의 효과를 포함하는
    컴퓨터 저장 매체.
  9. 제7항에 있어서,
    상기 효과 유형은 궤도 효과, 8자 효과, 앞뒤 이동 효과, 선 효과 및 정지 효과를 포함하는 그룹에서 선택되는
    컴퓨터 저장 매체.
  10. 제7항에 있어서,
    상기 효과 애니메이션 및 상기 전환 애니메이션을 출력하는 단계는,
    상기 효과 애니메이션 및 상기 전환 애니메이션을 포함하는 시각화의 미리보기(preview)를 생성하는 단계와,
    상기 사용자 인터페이스에서 상기 미리보기를 제시하는 단계
    를 포함하는 컴퓨터 저장 매체.
KR1020157003476A 2012-08-10 2013-08-09 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과 KR20150043314A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261681851P 2012-08-10 2012-08-10
US61/681,851 2012-08-10
US13/835,721 2013-03-15
US13/835,721 US20140043340A1 (en) 2012-08-10 2013-03-15 Animation Transitions and Effects in a Spreadsheet Application
PCT/US2013/054237 WO2014026069A1 (en) 2012-08-10 2013-08-09 Animation transitions and effects in a spreadsheet application

Publications (1)

Publication Number Publication Date
KR20150043314A true KR20150043314A (ko) 2015-04-22

Family

ID=50065859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157003476A KR20150043314A (ko) 2012-08-10 2013-08-09 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과

Country Status (6)

Country Link
US (10) US20140046923A1 (ko)
EP (7) EP2883164B1 (ko)
JP (1) JP2015534662A (ko)
KR (1) KR20150043314A (ko)
CN (8) CN107967109A (ko)
WO (8) WO2014025947A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160127515A (ko) * 2015-04-27 2016-11-04 삼성전자주식회사 사용자 인터페이스 표시 방법 및 그 전자 장치

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150143262A1 (en) * 2006-06-15 2015-05-21 Social Commenting, Llc System and method for viewers to comment on television programs for display on remote websites using mobile applications
WO2013023063A1 (en) 2011-08-09 2013-02-14 Path 36 Llc Digital media editing
US9721321B1 (en) * 2012-04-12 2017-08-01 Farshad Nayeri Automated interactive dynamic audio/visual performance with integrated data assembly system and methods
US9164673B2 (en) * 2012-07-16 2015-10-20 Microsoft Technology Licensing, Llc Location-dependent drag and drop UI
US20140046923A1 (en) 2012-08-10 2014-02-13 Microsoft Corporation Generating queries based upon data points in a spreadsheet application
US10409900B2 (en) * 2013-02-11 2019-09-10 Ipquants Limited Method and system for displaying and searching information in an electronic document
US10467554B2 (en) 2013-03-14 2019-11-05 Lyft, Inc. System for connecting a driver and a rider
JP2014183559A (ja) * 2013-03-21 2014-09-29 Casio Comput Co Ltd 報知制御装置、報知制御方法及びプログラム
USD743981S1 (en) * 2013-05-14 2015-11-24 Life Technologies Corporation Display screen with graphical user interface for automated sample incubator
US20140372217A1 (en) * 2013-06-13 2014-12-18 International Business Machines Corporation Optimal zoom indicators for map search results
US10775971B2 (en) 2013-06-28 2020-09-15 Successfactors, Inc. Pinch gestures in a tile-based user interface
US20150007087A1 (en) * 2013-06-28 2015-01-01 Silicon Graphics International Corp. Rotation and translation of graphical scenes using virtual track ball
US9542724B1 (en) * 2013-07-09 2017-01-10 Google Inc. Systems and methods for stroke rendering on digital maps
US9116931B2 (en) * 2013-07-12 2015-08-25 Logic9S, Llc Integrated, configurable, analytical, temporal, visual electronic plan system
US9026897B2 (en) * 2013-07-12 2015-05-05 Logic9S, Llc Integrated, configurable, sensitivity, analytical, temporal, visual electronic plan system
EP2840512B1 (en) * 2013-08-21 2015-10-21 Ontoforce NV A data processing system for adaptive visualisation of faceted search results
US20150058774A1 (en) * 2013-08-22 2015-02-26 Intuit Inc. Gesture-based visualization of financial data
USD770493S1 (en) * 2014-02-27 2016-11-01 Robert Bosch Gmbh Display screen with a graphical user interface
USD786900S1 (en) * 2014-03-31 2017-05-16 EMC IP Holding Company LLC Display screen with a graphical user interface
USD786899S1 (en) * 2014-03-31 2017-05-16 EMC IP Holding Company LLC Display screen with graphical user interface
WO2015157474A1 (en) * 2014-04-08 2015-10-15 Norris Forbes Holten 3Rd Virtual keyboard text entry method optimized for ergonomic thumb typing
KR101565499B1 (ko) * 2014-04-16 2015-11-03 주식회사 인포리언스 데이터 처리 장치, 데이터 처리 프로그램 및 기록매체
US9495767B2 (en) 2014-05-15 2016-11-15 Google Inc. Indexed uniform styles for stroke rendering
JP6435659B2 (ja) * 2014-06-25 2018-12-12 カシオ計算機株式会社 画像処理装置、アニメーション生成方法及びプログラム
US10216809B1 (en) * 2014-07-07 2019-02-26 Microstrategy Incorporated Mobile explorer
US20160026377A1 (en) * 2014-07-22 2016-01-28 Posiba, Inc. System and method for collecting, curating, aggregating, and displaying metrics data from and to stakeholders in the charitable sector
WO2016018039A1 (en) 2014-07-31 2016-02-04 Samsung Electronics Co., Ltd. Apparatus and method for providing information
WO2016029349A1 (en) * 2014-08-26 2016-03-03 Honeywell International Inc. Annotating three-dimensional displays
US10430382B2 (en) 2014-10-14 2019-10-01 Microsoft Technology Licensing, Llc Data visualization architecture
US10127331B2 (en) * 2014-12-15 2018-11-13 The Boeing Company 3D models utilizing 3D markers to indicate engineering requirements
US10025561B2 (en) * 2015-02-03 2018-07-17 Solvebot, Inc. Automated software application generation and deployment
USD814494S1 (en) * 2015-03-02 2018-04-03 Norse Networks, Inc. Computer display panel with an icon image of a live electronic threat intelligence visualization interface
WO2016157951A1 (ja) * 2015-03-31 2016-10-06 ソニー株式会社 表示制御装置、表示制御方法および記録媒体
US10691323B2 (en) 2015-04-10 2020-06-23 Apple Inc. Column fit document traversal for reader application
US9881399B2 (en) 2015-04-15 2018-01-30 Microsoft Technology Licensing, Llc. Custom map configuration
USD810775S1 (en) 2015-04-21 2018-02-20 Norse Networks, Inc. Computer display panel with a graphical live electronic threat intelligence visualization interface
US10049473B2 (en) * 2015-04-27 2018-08-14 Splunk Inc Systems and methods for providing for third party visualizations
US9520002B1 (en) 2015-06-24 2016-12-13 Microsoft Technology Licensing, Llc Virtual place-located anchor
AU2015404416C1 (en) * 2015-07-31 2021-03-25 Ent. Services Development Corporation Lp Translate data structure to video frame structure
US10290147B2 (en) 2015-08-11 2019-05-14 Microsoft Technology Licensing, Llc Using perspective to visualize data
US10082937B2 (en) * 2015-09-11 2018-09-25 International Business Machines Corporation Intelligent rendering of webpages
US10785310B1 (en) * 2015-09-30 2020-09-22 Open Text Corporation Method and system implementing dynamic and/or adaptive user interfaces
US9990350B2 (en) 2015-11-02 2018-06-05 Microsoft Technology Licensing, Llc Videos associated with cells in spreadsheets
US9934215B2 (en) 2015-11-02 2018-04-03 Microsoft Technology Licensing, Llc Generating sound files and transcriptions for use in spreadsheet applications
US9696967B2 (en) * 2015-11-09 2017-07-04 Microsoft Technology Licensing, Llc Generation of an application from data
US10304247B2 (en) 2015-12-09 2019-05-28 Microsoft Technology Licensing, Llc Third party holographic portal
US10109319B2 (en) 2016-01-08 2018-10-23 Gopro, Inc. Digital media editing
US10109086B1 (en) 2016-01-25 2018-10-23 Google Llc Animated transitions between graphs
US10083537B1 (en) * 2016-02-04 2018-09-25 Gopro, Inc. Systems and methods for adding a moving visual element to a video
US10181208B2 (en) 2016-02-10 2019-01-15 Microsoft Technology Licensing, Llc Custom heatmaps
US10347017B2 (en) * 2016-02-12 2019-07-09 Microsoft Technology Licensing, Llc Interactive controls that are collapsible and expandable and sequences for chart visualization optimizations
US10748312B2 (en) 2016-02-12 2020-08-18 Microsoft Technology Licensing, Llc Tagging utilizations for selectively preserving chart elements during visualization optimizations
US10074201B1 (en) * 2016-04-19 2018-09-11 Polaris Wirless, Inc. System and method for coordinating session replay of spatiotemporal data and presentation of a graphical representation of said data
US9990747B1 (en) 2016-04-19 2018-06-05 Polaris Wireless, Inc. System and method for selecting and highlighting elements of a graphical representation of data with respect to one or more variables
US10013783B1 (en) 2016-04-19 2018-07-03 Polaris Wireless, Inc. System and method for graphical representation of spatial data
CN105704675A (zh) * 2016-04-29 2016-06-22 链景科技有限公司 一种景区信息的处理方法及装置
US10958614B2 (en) 2016-05-26 2021-03-23 International Business Machines Corporation Co-references for messages to avoid confusion in social networking systems
US11550455B2 (en) * 2016-06-07 2023-01-10 Palo Alto Research Center Incorporated Localized visual graph filters for complex graph queries
US11201981B1 (en) 2016-06-20 2021-12-14 Pipbin, Inc. System for notification of user accessibility of curated location-dependent content in an augmented estate
US10805696B1 (en) 2016-06-20 2020-10-13 Pipbin, Inc. System for recording and targeting tagged content of user interest
US10638256B1 (en) 2016-06-20 2020-04-28 Pipbin, Inc. System for distribution and display of mobile targeted augmented reality content
US11044393B1 (en) 2016-06-20 2021-06-22 Pipbin, Inc. System for curation and display of location-dependent augmented reality content in an augmented estate system
US10334134B1 (en) 2016-06-20 2019-06-25 Maximillian John Suiter Augmented real estate with location and chattel tagging system and apparatus for virtual diary, scrapbooking, game play, messaging, canvasing, advertising and social interaction
US11785161B1 (en) 2016-06-20 2023-10-10 Pipbin, Inc. System for user accessibility of tagged curated augmented reality content
US11876941B1 (en) 2016-06-20 2024-01-16 Pipbin, Inc. Clickable augmented reality content manager, system, and network
US11663235B2 (en) 2016-09-22 2023-05-30 Autodesk, Inc. Techniques for mixed-initiative visualization of data
US20180081885A1 (en) * 2016-09-22 2018-03-22 Autodesk, Inc. Handoff support in asynchronous analysis tasks using knowledge transfer graphs
US10242079B2 (en) 2016-11-07 2019-03-26 Tableau Software, Inc. Optimizing execution of data transformation flows
US11853529B2 (en) 2016-11-07 2023-12-26 Tableau Software, Inc. User interface to prepare and curate data for subsequent analysis
US10885057B2 (en) 2016-11-07 2021-01-05 Tableau Software, Inc. Correlated incremental loading of multiple data sets for an interactive data prep application
US11630688B2 (en) * 2017-02-02 2023-04-18 Samsung Electronics Co., Ltd. Method and apparatus for managing content across applications
US20180268614A1 (en) * 2017-03-16 2018-09-20 General Electric Company Systems and methods for aligning pmi object on a model
US9769616B1 (en) 2017-04-04 2017-09-19 Lyft, Inc. Geohash-related location predictions
USD820870S1 (en) * 2017-04-17 2018-06-19 Google Llc Display screen with graphical user interface
USD820871S1 (en) * 2017-04-17 2018-06-19 Google Llc Display screen with graphical user interface
US10223447B2 (en) 2017-08-02 2019-03-05 Spotify Ab Playlist trailer
US20190057547A1 (en) * 2017-08-16 2019-02-21 II James A. Abraham System and Method for Imaging a Mouth in Real Time During a Dental Procedure
CN108845850A (zh) * 2017-08-21 2018-11-20 中云开源数据技术(上海)有限公司 一种离散数据的可视化方法及系统
GB2566295B (en) * 2017-09-07 2022-06-22 Spherica Systems Ltd System and methods utilizing dataset management user interface
US10460492B2 (en) * 2017-09-13 2019-10-29 Canon Kabushiki Kaisha Method, system and apparatus for navigating a virtual camera using a navigation device
US10394691B1 (en) 2017-10-05 2019-08-27 Tableau Software, Inc. Resolution of data flow errors using the lineage of detected error conditions
JP7031228B2 (ja) * 2017-10-26 2022-03-08 株式会社リコー プログラム、画像表示方法、画像表示システム、情報処理装置
US10349223B1 (en) 2017-12-14 2019-07-09 Lyft, Inc. Initiating transportation requests
US10956681B2 (en) 2018-01-30 2021-03-23 Google Llc Creating apps from natural language descriptions
CN117499686A (zh) * 2018-04-05 2024-02-02 Vid拓展公司 用于全向视频的视点元数据
US10902684B2 (en) * 2018-05-18 2021-01-26 Microsoft Technology Licensing, Llc Multiple users dynamically editing a scene in a three-dimensional immersive environment
USD886860S1 (en) 2018-05-21 2020-06-09 Spherica Systems Limited Display screen with computer graphical user interface
USD886858S1 (en) 2018-05-21 2020-06-09 Spherica Systems Limited Display screen with computer graphical user interface
WO2019231178A1 (ko) * 2018-06-01 2019-12-05 엘지전자 주식회사 복수의 뷰포인트들에 대한 메타데이터를 송수신하는 방법 및 장치
US10732828B2 (en) * 2018-06-28 2020-08-04 Sap Se Gestures used in a user interface for navigating analytic data
WO2020009341A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 동적 뷰포인트의 좌표계에 대한 메타데이터를 송수신하는 방법 및 장치
EP3823274A4 (en) * 2018-07-13 2022-03-30 LG Electronics Inc. METHOD AND DEVICE FOR TRANSMITTING AND RECEIVING METADATA ON A DYNAMIC POINT COORDINATE SYSTEM
US11386112B2 (en) * 2018-08-08 2022-07-12 Microsoft Technology Licensing, Llc Visualization platform for reusable data chunks
EP3635528A1 (en) 2018-08-21 2020-04-15 Google LLC Dynamically generated interface transitions
JP7199522B2 (ja) * 2018-10-09 2023-01-05 タブロー ソフトウェア,インコーポレイテッド インタラクティブなデータプレップアプリケーションのための複数のデータセットの相関増分ロード
US10691304B1 (en) 2018-10-22 2020-06-23 Tableau Software, Inc. Data preparation user interface with conglomerate heterogeneous process flow elements
US11250032B1 (en) 2018-10-22 2022-02-15 Tableau Software, Inc. Data preparation user interface with conditional remapping of data values
US20200142572A1 (en) * 2018-11-07 2020-05-07 Adobe Inc. Generating interactive, digital data narrative animations by dynamically analyzing underlying linked datasets
US11093708B2 (en) * 2018-12-13 2021-08-17 Software Ag Adaptive human to machine interaction using machine learning
CN109819158B (zh) * 2018-12-20 2021-05-18 西北工业大学 基于光场成像的视频稳像方法
CN109857570A (zh) * 2018-12-29 2019-06-07 航天信息股份有限公司 业务系统的标准化数据类微模块
EP3906465A4 (en) * 2019-01-04 2022-10-05 Proofpoint, Inc. DETECTION OF STICK AND OTHER TYPES OF USER ACTIVITY IN A COMPUTER ENVIRONMENT
CN109741397B (zh) * 2019-01-04 2022-06-07 京东方科技集团股份有限公司 图片标记方法、装置、计算机设备及可读存储介质
CN109783596B (zh) * 2019-01-15 2021-02-23 苏州工业园区测绘地理信息有限公司 一种基于Angular组件的ArcGIS地图配置预览方法
IT201900001209A1 (it) * 2019-01-28 2020-07-28 White3 S R L Sistema software di integrazione visuale di sorgenti eterogenee basato su rappresentazione Nebulare-Fisico-Topologica di un sistema complesso
CN109977122A (zh) * 2019-04-01 2019-07-05 西安电子科技大学 表格对象检索方法、装置、系统、计算机设备和存储介质
CN110209267A (zh) * 2019-04-24 2019-09-06 薄涛 终端、服务器以及虚拟场景调整方法、介质
US11061525B2 (en) 2019-05-16 2021-07-13 Microsoft Technology Licensing, Llc Digital map calendar user interface
US11120407B2 (en) 2019-05-16 2021-09-14 Microsoft Technology Licensing, Llc Real time collaboration in calendar
US11151104B2 (en) * 2019-05-16 2021-10-19 Microsoft Technology Licensing, Llc Time systems as data
US11645628B2 (en) 2019-05-16 2023-05-09 Microsoft Technology Licensing, Llc Translation of time between calendar systems
US11017772B1 (en) * 2019-05-30 2021-05-25 Josh.Ai, Inc. Natural language programming
US11163441B2 (en) * 2019-06-14 2021-11-02 Sap Se Micro-radial chart graphical user interface
CN110377893A (zh) * 2019-07-12 2019-10-25 中国轻工业长沙工程有限公司 Excel透视表结合VBA一键生成材料表的方法
US11366826B2 (en) * 2019-09-05 2022-06-21 International Business Machines Corporation Customizing data visualizations according to user activity
CN110795458B (zh) * 2019-10-08 2022-04-15 北京百分点科技集团股份有限公司 交互式数据分析方法、装置、电子设备和计算机可读存储介质
US11100097B1 (en) 2019-11-12 2021-08-24 Tableau Software, Inc. Visually defining multi-row table calculations in a data preparation application
US11074460B1 (en) * 2020-04-02 2021-07-27 Security Systems, L.L.C. Graphical management system for interactive environment monitoring
US11455074B2 (en) * 2020-04-17 2022-09-27 Occipital, Inc. System and user interface for viewing and interacting with three-dimensional scenes
US20210383075A1 (en) * 2020-06-05 2021-12-09 International Business Machines Corporation Intelligent leading multi-round interactive automated information system
US11205294B1 (en) 2020-08-11 2021-12-21 International Business Machines Corporation Computer-implemented optimization of animation speed and spatial aspects of visualized temporal data
US11523063B2 (en) * 2021-03-25 2022-12-06 Microsoft Technology Licensing, Llc Systems and methods for placing annotations in an augmented reality environment using a center-locked interface
US11514405B1 (en) 2021-05-14 2022-11-29 Microsoft Technology Licensing, Llc Map calendar graphical user interface with dynamic time mold functionality
US11681424B2 (en) 2021-05-14 2023-06-20 Microsoft Technology Licensing, Llc Map calendar graphical user interface with content-variable view levels
US11694400B2 (en) * 2021-06-03 2023-07-04 Shopify Inc. Systems and methods for supplementing digital media with three-dimensional (3D) models
US11720240B1 (en) * 2021-06-20 2023-08-08 Tableau Software, LLC Visual autocompletion for geospatial queries

Family Cites Families (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4041467A (en) * 1975-11-28 1977-08-09 Xerox Corporation Transcriber system for the automatic generation and editing of text from shorthand machine outlines
US5418942A (en) * 1989-07-06 1995-05-23 Krawchuk; Kenneth V. System and method for storing and managing information
US5526478A (en) * 1994-06-30 1996-06-11 Silicon Graphics, Inc. Three dimensional model with three dimensional pointers and multimedia functions linked to the pointers
US5923848A (en) * 1996-05-31 1999-07-13 Microsoft Corporation System and method for resolving names in an electronic messaging environment
US5977978A (en) 1996-11-13 1999-11-02 Platinum Technology Ip, Inc. Interactive authoring of 3D scenes and movies
US6256651B1 (en) * 1997-06-20 2001-07-03 Raja Tuli Time management workflow software
US6256649B1 (en) 1998-06-17 2001-07-03 Xerox Corporation Animated spreadsheet for dynamic display of constraint graphs
US6587969B1 (en) * 1998-06-22 2003-07-01 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server
US6360332B1 (en) * 1998-06-22 2002-03-19 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server
US6707454B1 (en) 1999-07-01 2004-03-16 Lucent Technologies Inc. Systems and methods for visualizing multi-dimensional data in spreadsheets and other data structures
US8397177B2 (en) 1999-07-22 2013-03-12 Tavusi Data Solutions Llc Graphic-information flow method and system for visually analyzing patterns and relationships
US6501469B1 (en) 1999-11-30 2002-12-31 International Business Machines Corp. Arrangement of information to allow three-dimensional navigation through information displays with indication of intended starting point
US7057612B2 (en) 2000-01-12 2006-06-06 Balfour Technologies Llc Method and system for a four-dimensional temporal visualization data browser
US6995768B2 (en) 2000-05-10 2006-02-07 Cognos Incorporated Interactive business data visualization system
US6904392B1 (en) * 2000-10-13 2005-06-07 Dassault Systemes Annotation management
US7117430B2 (en) * 2001-02-27 2006-10-03 Microsoft Corporation Spreadsheet error checker
WO2002095502A1 (en) 2001-05-21 2002-11-28 Dongjin Semichem Co., Ltd. Resist remover composition
CA2355401A1 (en) 2001-08-01 2003-02-01 Gerald Choi Virtual tour
US7093240B1 (en) * 2001-12-20 2006-08-15 Unisys Corporation Efficient timing chart creation and manipulation
US6822570B2 (en) 2001-12-20 2004-11-23 Calypso Medical Technologies, Inc. System for spatially adjustable excitation of leadless miniature marker
US7039899B1 (en) * 2002-03-27 2006-05-02 Oracle International Corporation System and method for automatically generating a script for testing software
US7370883B2 (en) 2002-06-03 2008-05-13 Intelligent Mechatronic Systems, Inc. Three dimensional occupant position sensor
US7039240B2 (en) 2002-08-09 2006-05-02 Xerox Corporation Document image decoding systems and methods using modified stack algorithm
WO2004055646A2 (en) * 2002-12-13 2004-07-01 Gene Codes Forensics, Inc. Method for profiling and identifying persons by using data samples
CA2509264A1 (en) * 2002-12-17 2004-07-08 Terastat, Inc. Method and system for dynamic visualization of multi-dimensional data
US20040152056A1 (en) * 2003-01-31 2004-08-05 Lamb Cynthia Lee Method and apparatus for simulating a clinical trial
US7573480B2 (en) 2003-05-01 2009-08-11 Sony Corporation System and method for capturing facial and body motion
US7333113B2 (en) 2003-03-13 2008-02-19 Sony Corporation Mobile motion capture cameras
JP2004301554A (ja) 2003-03-28 2004-10-28 Canon Inc 電位測定装置及び画像形成装置
US7246309B2 (en) * 2003-04-23 2007-07-17 Electronic Data Systems Corporation Validating one or more data blocks in a computer-implemented document derived from another computer-implemented document
US7358972B2 (en) 2003-05-01 2008-04-15 Sony Corporation System and method for capturing facial and body motion
JP3977303B2 (ja) 2003-08-21 2007-09-19 シャープ株式会社 位置検出システム、位置検出システムにおける発信装置および受信装置
US7127672B1 (en) * 2003-08-22 2006-10-24 Microsoft Corporation Creating and managing structured data in an electronic spreadsheet
US6990637B2 (en) 2003-10-23 2006-01-24 Microsoft Corporation Graphical user interface for 3-dimensional view of a data collection based on an attribute of the data
AU2004298635B2 (en) * 2003-12-18 2008-02-28 1626628 Ontario Limited System, apparatus and method for mapping
EP1563799B2 (de) 2004-02-11 2012-11-28 BrainLAB AG Verstellbare Markeranordnung
US7546286B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Offline multi-table data editing and storage
US7225189B1 (en) * 2004-02-19 2007-05-29 Microsoft Corporation Data source write back and offline data editing and storage in a spreadsheet
US20080288889A1 (en) 2004-02-20 2008-11-20 Herbert Dennis Hunt Data visualization application
CN103398719B (zh) * 2004-03-23 2017-04-12 咕果公司 数字地图描绘系统
CN101014831B (zh) 2004-03-23 2013-08-21 咕果公司 数字地图描绘系统
EP1612697A1 (en) * 2004-06-28 2006-01-04 Dassault Systèmes A graphical method for navigating in a database of modelled objects
JP5328149B2 (ja) 2004-07-09 2013-10-30 テジック コミュニケーションズ インコーポレイテッド あいまいなキャラクタの明確化
US20060013486A1 (en) * 2004-07-13 2006-01-19 Burns Peter D Identification of acquisition devices from digital images
US7415481B2 (en) * 2004-09-30 2008-08-19 Microsoft Corporation Method and implementation for referencing of dynamic data within spreadsheet formulas
US7289227B2 (en) 2004-10-01 2007-10-30 Nomos Corporation System and tracker for tracking an object, and related methods
US20060112123A1 (en) 2004-11-24 2006-05-25 Macnica, Inc. Spreadsheet user-interfaced business data visualization and publishing system
US20060156135A1 (en) 2004-12-16 2006-07-13 Marek Sikora Tabbed form with error indicators
KR20070095407A (ko) 2005-01-26 2007-09-28 벤틀리 키네틱스 인코포레이티드 운동동작의 분석 및 지도를 위한 방법 및 시스템
GB0502891D0 (en) 2005-02-12 2005-03-16 Next Device Ltd User interfaces
JP4715278B2 (ja) 2005-04-11 2011-07-06 ソニー株式会社 情報処理装置および情報処理方法、プログラム格納媒体、プログラム、並びに提供装置
EP1736903A2 (en) 2005-06-20 2006-12-27 Oculus Info Inc. System and method for visualizing contextual-numerical data of source document as corresponding transformed documents
US7933929B1 (en) 2005-06-27 2011-04-26 Google Inc. Network link for providing dynamic data layer in a geographic information system
WO2007002800A2 (en) * 2005-06-28 2007-01-04 Metacarta, Inc. User interface for geographic search
US7627812B2 (en) * 2005-10-27 2009-12-01 Microsoft Corporation Variable formatting of cells
US20070132767A1 (en) 2005-11-30 2007-06-14 William Wright System and method for generating stories in time and space and for analysis of story patterns in an integrated visual representation on a user interface
US7571151B1 (en) 2005-12-15 2009-08-04 Gneiss Software, Inc. Data analysis tool for analyzing data stored in multiple text files
US8402093B2 (en) * 2005-12-22 2013-03-19 Microsoft Corporation Workflow and in-context e-mail recipient handling
EP1979844B1 (en) 2006-01-30 2014-11-12 Fasttac, Inc. A portable dataport device and method for retrieving, inter-relating, annotating and managing electronic documents at a point of need
US7810021B2 (en) 2006-02-24 2010-10-05 Paxson Dana W Apparatus and method for creating literary macramés
US8560946B2 (en) 2006-03-22 2013-10-15 Vistracks, Inc. Timeline visualizations linked with other visualizations of data in a thin client
CN101166327B (zh) 2006-03-31 2011-12-14 捷讯研究有限公司 用于动态标记可视显示地图中的地图对象的方法和装置
US20070229538A1 (en) 2006-03-31 2007-10-04 Research In Motion Limited Methods and apparatus for dynamically labeling map objects in visually displayed maps of mobile communication devices
US8368722B1 (en) 2006-04-18 2013-02-05 Google Inc. Cartographic display of content through dynamic, interactive user interface elements
US20080010273A1 (en) 2006-06-12 2008-01-10 Metacarta, Inc. Systems and methods for hierarchical organization and presentation of geographic search results
US7831928B1 (en) 2006-06-22 2010-11-09 Digg, Inc. Content visualization
US20080033641A1 (en) 2006-07-25 2008-02-07 Medalia Michael J Method of generating a three-dimensional interactive tour of a geographic location
US20080077597A1 (en) 2006-08-24 2008-03-27 Lance Butler Systems and methods for photograph mapping
US7925982B2 (en) 2006-09-01 2011-04-12 Cheryl Parker System and method of overlaying and integrating data with geographic mapping applications
US20080126537A1 (en) 2006-11-23 2008-05-29 Jan Engehausen Method for automatic definition and assembly of composite portal applications
US8898701B2 (en) 2006-12-29 2014-11-25 Verizon Patent And Licensing Inc. Method and system for providing attribute browsing of video assets
US7840031B2 (en) 2007-01-12 2010-11-23 International Business Machines Corporation Tracking a range of body movement based on 3D captured image streams of a user
US7797356B2 (en) * 2007-02-02 2010-09-14 Microsoft Corporation Dynamically detecting exceptions based on data changes
US7737979B2 (en) 2007-02-12 2010-06-15 Microsoft Corporation Animated transitions for data visualization
US20080215959A1 (en) 2007-02-28 2008-09-04 Lection David B Method and system for generating a media stream in a media spreadsheet
US8584013B1 (en) * 2007-03-20 2013-11-12 Google Inc. Temporal layers for presenting personalization markers on imagery
US7869938B2 (en) 2007-03-29 2011-01-11 Alpine Electronics, Inc Method and apparatus for displaying simplified map image for navigation system
US9665529B1 (en) * 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US8024656B2 (en) 2007-03-30 2011-09-20 International Business Machines Corporation Data analysis using facet attributes
US8924843B1 (en) 2007-04-30 2014-12-30 Hewlett-Packard Development Company, L.P. Visualizing a plurality of times series in corresponding cell-based lines of a display region
US8866815B2 (en) 2007-05-23 2014-10-21 Oracle International Corporation Automated treemap configuration
TWI574212B (zh) 2007-05-24 2017-03-11 Map tourism information management method
US7895177B2 (en) * 2007-05-29 2011-02-22 Yahoo! Inc. Enabling searching of user ratings and reviews using user profile location, and social networks
US8006194B2 (en) * 2007-08-06 2011-08-23 Apple Inc. Associating an object with a relevant data source
US20090040186A1 (en) 2007-08-07 2009-02-12 Esenther Alan W Method and System for Displaying Multiple Synchronized Images
US7936913B2 (en) * 2007-08-07 2011-05-03 Nextslide Imaging Llc Network image review in clinical hematology
US20090096812A1 (en) 2007-10-12 2009-04-16 Business Objects, S.A. Apparatus and method for morphing data visualizations
CN101425063B (zh) 2007-11-01 2012-08-08 国际商业机器公司 多维度数据集的显示及浏览的方法及设备
US20090132967A1 (en) 2007-11-16 2009-05-21 Microsoft Corporation Linked-media narrative learning system
US8081186B2 (en) 2007-11-16 2011-12-20 Microsoft Corporation Spatial exploration field of view preview mechanism
US8584044B2 (en) 2007-11-16 2013-11-12 Microsoft Corporation Localized thumbnail preview of related content during spatial browsing
US8890874B2 (en) 2007-12-14 2014-11-18 Microsoft Corporation Changing visual content communication
US8095434B1 (en) 2007-12-17 2012-01-10 Zillow, Inc. Automatically performing varying levels of summarization of geographic data points in response to a user's selection of zoom level
US7962486B2 (en) * 2008-01-10 2011-06-14 International Business Machines Corporation Method and system for discovery and modification of data cluster and synonyms
US8072448B2 (en) 2008-01-15 2011-12-06 Google Inc. Three-dimensional annotations for street view data
US7857212B1 (en) 2008-02-14 2010-12-28 Capital One Financial Corporation Method and system for authorizing card account transactions by geographic region
US20100167256A1 (en) 2008-02-14 2010-07-01 Douglas Michael Blash System and method for global historical database
US8719314B2 (en) 2008-03-13 2014-05-06 International Business Machines Corporation Faceted search on assets packaged according to the reusable asset specification (RAS)
US8199166B2 (en) * 2008-03-14 2012-06-12 Schlumberger Technology Corporation Visualization techniques for oilfield operations
GB0805924D0 (en) 2008-04-02 2008-05-07 Hibbert Ralph Animation Storyboard creation system
AU2009238481B2 (en) * 2008-04-22 2014-01-30 Exxonmobil Upstream Research Company Functional-based knowledge analysis in a 2D and 3D visual environment
US7475344B1 (en) * 2008-05-04 2009-01-06 International Business Machines Corporation Genders-usage assistant for composition of electronic documents, emails, or letters
US8347204B2 (en) * 2008-05-05 2013-01-01 Norm Rosner Method and system for data analysis
US20090307618A1 (en) * 2008-06-05 2009-12-10 Microsoft Corporation Annotate at multiple levels
US20090307607A1 (en) * 2008-06-10 2009-12-10 Microsoft Corporation Digital Notes
US8145990B2 (en) * 2008-06-19 2012-03-27 Sap France Systems and methods to dynamically recognize a database member identifier entered into a spreadsheet cell
US8077918B2 (en) * 2008-08-28 2011-12-13 Google, Inc. Architectures and methods for creating and representing time-dependent imagery
US8429194B2 (en) 2008-09-15 2013-04-23 Palantir Technologies, Inc. Document-based workflows
US20100083184A1 (en) * 2008-09-30 2010-04-01 Apple Inc. Selective grouping and manipulation of chart components
US20100088619A1 (en) 2008-10-02 2010-04-08 Ralf Rath Interactive visualisation design time
US7880484B2 (en) * 2008-11-10 2011-02-01 Saudi Arabian Oil Company Method and apparatus for estimating the condition of a coating on an underground pipeline
US20100134484A1 (en) * 2008-12-01 2010-06-03 Microsoft Corporation Three dimensional journaling environment
CA2646117A1 (en) 2008-12-02 2010-06-02 Oculus Info Inc. System and method for visualizing connected temporal and spatial information as an integrated visual representation on a user interface
US8576218B2 (en) 2008-12-18 2013-11-05 Microsoft Corporation Bi-directional update of a grid and associated visualizations
US8433998B2 (en) * 2009-01-16 2013-04-30 International Business Machines Corporation Tool and method for annotating an event map, and collaborating using the annotated event map
US7870496B1 (en) 2009-01-29 2011-01-11 Jahanzeb Ahmed Sherwani System using touchscreen user interface of a mobile device to remotely control a host computer
US20100194778A1 (en) 2009-01-30 2010-08-05 Microsoft Corporation Projecting data dimensions on a visualization data set
SG163456A1 (en) 2009-01-31 2010-08-30 Soh Eng Lee Dynamic multidimensional knowledge clustering, management and representation system
US20100306128A1 (en) * 2009-02-27 2010-12-02 Huron Consulting Group Securities' value monitor program
US8988437B2 (en) 2009-03-20 2015-03-24 Microsoft Technology Licensing, Llc Chaining animations
US8462153B2 (en) * 2009-04-24 2013-06-11 Schlumberger Technology Corporation Presenting textual and graphic information to annotate objects displayed by 3D visualization software
CN101877015B (zh) 2009-04-28 2015-09-09 西安航空动力控制有限责任公司 零件加工的三维标注方法
US20100318512A1 (en) 2009-06-16 2010-12-16 Ludwig Lester F Advanced geographic information system (gis) providing modeling, decision support, visualization, sonification, web interface, risk management, sensitivity analysis, sensor telemetry, field video, and field audio
US8788574B2 (en) 2009-06-19 2014-07-22 Microsoft Corporation Data-driven visualization of pseudo-infinite scenes
US8224304B2 (en) * 2009-08-04 2012-07-17 Qualcomm Incorporated Systems and methods for disambiguating entries in a contacts list database implemented on a mobile device
BR112012002767A2 (pt) * 2009-08-14 2018-12-11 Telogis Inc métodos para exibir informações relativas a pluralidade de ativos geograficamente relacionados, para separar agrupamento de ativos e para agrupar ativos
US20110066933A1 (en) 2009-09-02 2011-03-17 Ludwig Lester F Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization
US8601402B1 (en) 2009-09-29 2013-12-03 Rockwell Collins, Inc. System for and method of interfacing with a three dimensional display
US8471732B2 (en) 2009-12-14 2013-06-25 Robert Bosch Gmbh Method for re-using photorealistic 3D landmarks for nonphotorealistic 3D maps
US8947435B2 (en) * 2009-12-18 2015-02-03 Samsung Electronics Co., Ltd. Host apparatus connected to image forming apparatus and information displaying method thereof
US9384308B2 (en) * 2010-01-05 2016-07-05 Bentley Systems, Inc. Multi-dimensional artifact assemblage for infrastructure and other assets with interface node mediators
US8260775B2 (en) 2010-01-12 2012-09-04 Microsoft Corporation Geotemporal search
US8502836B2 (en) 2010-02-26 2013-08-06 Research In Motion Limited Unified visual presenter
US8799812B2 (en) 2010-04-29 2014-08-05 Cheryl Parker System and method for geographic based data visualization and extraction
US20110285727A1 (en) 2010-05-24 2011-11-24 Microsoft Corporation Animation transition engine
US8352883B2 (en) 2010-07-08 2013-01-08 Alexey Kashik Analysis of complex data objects and multiple parameter systems
US8319772B2 (en) 2010-07-23 2012-11-27 Microsoft Corporation 3D layering of map metadata
US20120042282A1 (en) 2010-08-12 2012-02-16 Microsoft Corporation Presenting Suggested Items for Use in Navigating within a Virtual Space
US9141641B2 (en) 2010-10-28 2015-09-22 Sap Se Aggregating based on hierarchy and scaling input
US8700655B2 (en) * 2010-11-08 2014-04-15 At&T Intellectual Property I, L.P. Systems, methods, and computer program products for location salience modeling for multimodal search
US9298687B2 (en) * 2010-11-29 2016-03-29 Red Hat, Inc. Automatic spreadsheet formula output validation
US9032314B2 (en) * 2010-12-01 2015-05-12 Microsoft Technology Licensing, Llc Proposing visual display components for processing data
US9881257B2 (en) 2010-12-29 2018-01-30 Tickr, Inc. Multi-dimensional visualization of temporal information
EP2472461A1 (en) 2010-12-30 2012-07-04 Tata Consultancy Services Ltd. Configurable catalog builder system
US8819152B2 (en) * 2011-01-25 2014-08-26 Kristy Joi Downing Email addressee verification systems and methods for the same
US10409892B2 (en) * 2011-01-26 2019-09-10 Microsoft Technology Licensing, Llc Formatting data by example
US20120236201A1 (en) 2011-01-27 2012-09-20 In The Telling, Inc. Digital asset management, authoring, and presentation techniques
US20120218254A1 (en) 2011-02-28 2012-08-30 Microsoft Corporation Data visualization design and view systems and methods
US9007302B1 (en) 2011-11-11 2015-04-14 Benjamin D. Bandt-Horn Device and user interface for visualizing, navigating, and manipulating hierarchically structured information on host electronic devices
US8806322B2 (en) * 2011-11-28 2014-08-12 Google Inc. System and method for obtaining a structured address by geocoding unstructured address information
US8812947B1 (en) * 2011-12-08 2014-08-19 Google Inc. Ranking graphical visualizations of a data set according to data attributes
US9071520B2 (en) 2012-01-08 2015-06-30 International Business Machines Corporation Spatial representation of temporal value distributions
CN102609507A (zh) 2012-02-03 2012-07-25 浙江工业大学 基于Web的数据可视化系统
US8892123B2 (en) 2012-03-07 2014-11-18 Microsoft Corporation Identifying meeting attendees using information from devices
CN102629271B (zh) 2012-03-13 2013-12-04 北京工商大学 一种基于堆叠树图的复杂数据可视化方法及设备
US9015591B2 (en) 2012-06-13 2015-04-21 Microsoft Technology Licensing, Llc Dynamic visualization generation and implementation
US20140007017A1 (en) 2012-06-27 2014-01-02 Marinexplore Inc. Systems and methods for interacting with spatio-temporal information
US9395875B2 (en) * 2012-06-27 2016-07-19 Ebay, Inc. Systems, methods, and computer program products for navigating through a virtual/augmented reality
US20140026088A1 (en) 2012-07-17 2014-01-23 Sap Ag Data Interface Integrating Temporal and Geographic Information
US8966356B1 (en) * 2012-07-19 2015-02-24 Google Inc. Providing views of three-dimensional (3D) object data models
US20140028674A1 (en) 2012-07-24 2014-01-30 Ahmed Medo Eldin System and methods for three-dimensional representation, viewing, and sharing of digital content
US20140046923A1 (en) 2012-08-10 2014-02-13 Microsoft Corporation Generating queries based upon data points in a spreadsheet application
US20140188402A1 (en) * 2013-01-03 2014-07-03 Dexcom, Inc. Outlier detection for analyte sensors
US20140380244A1 (en) 2013-06-21 2014-12-25 Barnesandnoble.Com Llc Visual table of contents for touch sensitive devices
US20150169694A1 (en) 2013-12-16 2015-06-18 Co Everywhere, Inc. Systems and methods for detecting geographically delineated content incongruities
US20150172396A1 (en) 2013-12-16 2015-06-18 Co Everywhere, Inc. Systems and methods for enriching geographically delineated content
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9454785B1 (en) 2015-07-30 2016-09-27 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160127515A (ko) * 2015-04-27 2016-11-04 삼성전자주식회사 사용자 인터페이스 표시 방법 및 그 전자 장치

Also Published As

Publication number Publication date
EP2883212A1 (en) 2015-06-17
US20140047313A1 (en) 2014-02-13
US20140047328A1 (en) 2014-02-13
CN104520851A (zh) 2015-04-15
US20140043325A1 (en) 2014-02-13
WO2014026069A1 (en) 2014-02-13
CN107967109A (zh) 2018-04-27
US20140046923A1 (en) 2014-02-13
EP2883166A1 (en) 2015-06-17
EP2883165A1 (en) 2015-06-17
EP2883160A1 (en) 2015-06-17
EP2883164B1 (en) 2020-02-26
EP2883162A1 (en) 2015-06-17
US20160196674A1 (en) 2016-07-07
US20140043340A1 (en) 2014-02-13
US10008015B2 (en) 2018-06-26
CN104541270A (zh) 2015-04-22
US20150346992A1 (en) 2015-12-03
EP2883167A1 (en) 2015-06-17
CN104520852A (zh) 2015-04-15
WO2014026070A1 (en) 2014-02-13
WO2014025947A1 (en) 2014-02-13
US20140047312A1 (en) 2014-02-13
JP2015534662A (ja) 2015-12-03
CN104520854A (zh) 2015-04-15
US9996953B2 (en) 2018-06-12
CN104541271A (zh) 2015-04-22
US20140047381A1 (en) 2014-02-13
US9317963B2 (en) 2016-04-19
WO2014026066A1 (en) 2014-02-13
CN104541271B (zh) 2019-11-29
WO2014025948A1 (en) 2014-02-13
US20140047385A1 (en) 2014-02-13
CN104541272A (zh) 2015-04-22
CN104541270B (zh) 2018-11-30
EP2883164A1 (en) 2015-06-17
CN104520853A (zh) 2015-04-15
US9881396B2 (en) 2018-01-30
WO2014026068A1 (en) 2014-02-13
WO2014026071A1 (en) 2014-02-13
WO2014026067A1 (en) 2014-02-13

Similar Documents

Publication Publication Date Title
KR20150043314A (ko) 스프레드시트 애플리케이션에서의 애니메이션 전환 및 효과
US10896284B2 (en) Transforming data to create layouts
US9183658B2 (en) Animation creation and management in presentation application programs
JP6215328B2 (ja) 添付ノートを有する対話型スライドプレゼンテーションのための読取りモード
US10521251B2 (en) Hosting application experiences within storage service viewers
US9972134B2 (en) Adaptive smoothing based on user focus on a target object
US10108737B2 (en) Presenting data driven forms
EP2592599B1 (en) Animation creation and management in presentation application programs

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination