KR101783488B1 - 가변 컨텐츠 경로의 스크러빙 - Google Patents

가변 컨텐츠 경로의 스크러빙 Download PDF

Info

Publication number
KR101783488B1
KR101783488B1 KR1020117028938A KR20117028938A KR101783488B1 KR 101783488 B1 KR101783488 B1 KR 101783488B1 KR 1020117028938 A KR1020117028938 A KR 1020117028938A KR 20117028938 A KR20117028938 A KR 20117028938A KR 101783488 B1 KR101783488 B1 KR 101783488B1
Authority
KR
South Korea
Prior art keywords
point
data
path
scrub
data path
Prior art date
Application number
KR1020117028938A
Other languages
English (en)
Other versions
KR20120030406A (ko
Inventor
빌리 피 첸
이얄 오펙
마이클 에프 코헨
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20120030406A publication Critical patent/KR20120030406A/ko
Application granted granted Critical
Publication of KR101783488B1 publication Critical patent/KR101783488B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)

Abstract

각종 실시예는 컨텐츠에서 가변 경로를 스크러빙하기 위한 기술을 제공한다. 예이지만 한정이 아닌 것으로서, 스크러빙은 스크러브 경로를 규정하는 사용자 입력을 수신하는 것 및 스크러브 경로에 기초하여 컨텐츠를 통해 데이터 경로를 네비게이션하는 것을 포함할 수 있다. 일부 실시예에 따라, 데이터 경로는 컨텐츠를 통해 하나 이상의 미리 정의된 경로(예를 들어, 주행 경로)를 포함할 수 있다. 상기 기술 중 하나 이상은 데이터 경로에서의 변동을 설명하고 데이터 경로를 따라 스크러브 경로와 네비게이션 사이의 인접성을 유지하는 방법을 제공할 수 있다. 일부 실시예에 있어서, 데이터 경로는 데이터 경로를 따라 네비게이션에 응답하여 제공될 수 있는 하나 이상의 타입의 데이터 경로 컨텐츠와 관련될 수 있다.

Description

가변 컨텐츠 경로의 스크러빙{SCRUBBING VARIABLE CONTENT PATHS}
일부 애플리케이션은 사용자가 컨텐츠를 통해 아이콘 또는 다른 그래픽 표현을 이동시킴으로써 사용자 인터페이스 상에 표시된 맵과 같은 컨텐츠를 네비게이션하게 해줄 수 있다. 그러나, 이런 애플리케이션은 통상 컨텐츠 특징(content features)에서 종종 직면하게 되는 변동에 응답하는 것을 곤란하게 할 수 있는 매우 단순한 네비게이션 기술을 제공한다. 예를 들어, 맵 상의 경로를 네비게이션하기 위해, 사용자 네비게이션은 통상 네비게이션이 경로 상에 남아있도록 하기 위해 경로와의 통신을 유지해야 한다. 사용자 네비게이션이 경로와의 통신을 유지하지 못하면, 네비게이션은 작동하지 않거나 바람직하지 못한 방식으로 경로를 변경할 수 있다.
이 요약은 상세한 설명에서 추가로 후술되는 개념들의 선택을 단순화된 형태로 소개하기 위해 제공된다. 이 요약은 청구된 내용의 주요 요소 및 본질적인 특징을 식별하도록 의도되거나 청구된 내용의 범위를 제한하는데 사용되도록 의도되지 않는다.
각종 실시예는 컨텐츠에서 가변 경로를 스크러빙하기 위한 기술을 제공한다. 예이지만 한정은 아닌 것으로서, 스크러빙은 스크러브 경로를 규정하는 사용자 입력을 수신하는 것 및 스크러브 경로에 기초하여 컨텐츠를 통해 데이터 경로를 네비게이션하는 것을 포함할 수 있다. 일부 실시예에 따라, 데이터 경로는 컨텐츠를 통해 하나 이상의 미리 정의된 경로(예를 들어, 주행 경로)를 포함할 수 있다. 상기 기술 중 하나 이상은 데이터 경로에서의 변동을 설명하고 데이터 경로를 따라 스크러브 경로와 네비게이션 사이의 인접성을 유지하는 방법을 제공할 수 있다. 일부 실시예에 있어서, 데이터 경로는 데이터 경로를 따라 네비게이션에 응답하여 제공될 수 있는 하나 이상의 타입의 데이터 경로 컨텐츠와 관련될 수 있다.
동일 번호는 동일 특징을 지칭하도록 도면의 도처에서 사용된다.
도 1은 본 발명의 원리가 하나 이상의 실시예에 따라 사용될 수 있는 동작 환경을 예시한다.
도 2는 하나 이상의 실시예에 따라 스크러브 경로와 데이터 경로 네비게이션 사이의 인접성을 유지하는 방법의 예를 예시한다.
도 3은 하나 이상의 실시예에 따라 스크러브 경로와 데이터 경로 네비게이션 사이의 인접성을 유지하는 방법의 예를 예시한다.
도 4는 하나 이상의 실시예에 따른 사용자 인터페이스의 예를 예시한다.
도 5는 하나 이상의 실시예에 따른 방법에서의 단계를 설명하는 흐름도이다.
도 6은 하나 이상의 실시예에 따른 방법에서의 단계를 설명하는 흐름도이다.
도 7은 하나 이상의 실시예에 따른 방법에서의 단계를 설명하는 흐름도이다.
도 8은 하나 이상의 실시예에 따른 방법에서의 단계를 설명하는 흐름도이다.
도 9는 하나 이상의 실시예에 따른 방법에서의 단계를 설명하는 흐름도이다.
도 10은 하나 이상의 실시예에 따른 시스템의 블록도이다.
개요
각종 실시예는 컨텐츠에서 가변 경로를 스크러빙하기 위한 기술을 제공한다. 예이지만 한정은 아닌 것으로서, 스크러빙은 스크러브 경로를 규정하는 사용자 입력을 수신하는 것 및 스크러브 경로에 기초하여 컨텐츠를 통해 데이터 경로를 네비게이션하는 것을 포함할 수 있다. 일부 실시예에 따라, 데이터 경로는 컨텐츠를 통해 하나 이상의 미리 정의된 경로(예를 들어, 주행 경로)를 포함할 수 있다. 예를 들어, 사용자가 사용자 인터페이스 상에 표시된 맵을 통해 주행 경로를 네비게이션하고자 하는 실시예를 고려하자. 일부 실시예에 따라, 주행 경로는 데이터 경로로서 간주될 수 있으며, 시애틀에서 새크라멘토까지와 같은 한쪽 지점에서 다른 쪽 지점까지의 미리 정의된 드라이빙 경로에 대응할 수 있다.
주행 경로를 네비게이션하기 위해, 사용자는 원하는 주행 경로의 근사를 제공하기 위해 맵 내에서 커서(예를 들어, 마우스 또는 다른 입력 장치를 통해)를 드래깅할 수 있다. 커서가 맵을 통해 취하는 경로는 스크러브 경로로 간주될 수 있다. 스크러브 경로가 주행 경로(예를 들어, 일반적인 드라이빙 방향에 관하여)에 근접할 수 있을지라도, 스크러브 경로는 고속도로 입출 루프, 우회로, 공사 우회로 등과 같은 주행 경로에서 하나 이상의 변동을 반드시 설명할 필요는 없다. 일부 실시예에 따라, 여기서 논의된 기술은 데이터 경로(예를 들어, 주행 경로)에서의 변동을 설명하며 데이터 경로 및 스크러브 경로를 따르는 네비게이션 사이의 인접성을 유지하는 방법을 제공할 수 있다.
하나 이상의 실시예에 있어서, 데이터 경로는 텍스트 컨텐츠, 광고, 사진, 비디오 컨텐츠, 오디오 컨텐츠, 하이퍼링크, 드라이빙 방향, 데이터 값 등과 같은 하나 이상의 타입의 데이터 경로 컨텐츠와 관련될 수 있다. 앞서 논의된 맵의 예를 사용하여, 데이터 경로 컨텐츠의 일예는 주행 경로를 따라 캡처된 비디오 컨텐츠를 포함할 수 있다. 따라서, 일부 실시예에 따라, 여기서 논의된 기술은 비디오 컨텐츠가 스크러브 경로의 사용자 표시에 응답하여 표시되게 할 수 있다.
일부 실시예에 있어서, 데이터 경로 컨텐츠는 하나 이상의 사용자 선호도와 같은 사용자 지정 파라미터에 기초하여 검색 및/또는 필터링될 수도 있다. 예를 들어, 사용자는 해산물 레스토랑과 같은 특정 컨텐츠에 대한 선호도를 지적할 수 있다. 그런 예의 시나리오에서, 해산물 레스토랑과 관련된 데이터 경로 컨텐츠는 스크러브 경로의 사용자 표시에 응답하여 사용자에게 제공될 수 있다.
예시적 실시예가 맵 내에서 스크러빙 및 네비게이션을 참조하여 여기서 논의될지라도, 이는 단지 예를 위한 것이다. 여기서 논의된 기술이 청구된 실시예의 정신 및 범위로부터 벗어나지 않고 여러 가지 상이한 종류의 네비게이션 가능 컨텐츠 및 상이한 구현 시나리오에 사용될 수 있다는 것이 이해되어야 한다. 적당한 네비게이션 가능 컨텐츠 및/또는 구현 시나리오의 예는 3차원 모델(예를 들어, 컴퓨터 지원 설계(CAD) 모델), 가상 현실 환경, 비디오 게임 환경 등 뿐만 아니라 하나 이상의 상이한 데이터 파라미터(예를 들어, 온도, 압력, 및/또는 고차원 공간으로의 맵핑)를 나타내는 2차원 곡선도 포함할 수 있다.
뒤따르는 논의에서, "동작 환경"이라는 명칭의 단락은 각종 실시예가 사용될 수 있는 하나의 환경만을 기재한다. 이것에 이어, "스크러빙 기술의 예"라는 명칭의 단락은 하나 이상의 실시예에 따라 하나 이상의 데이터 경로와 하나 이상의 스크러브 경로 사이의 인접성을 유지하는 방법의 예를 설명한다. 다음에, "사용자 인터페이스의 예"라는 명칭의 단락은 하나 이상의 실시예에 따라 사용자 인터페이스의 예를 설명한다. 이것에 이어, "방법의 예"라는 명칭의 단락은 하나 이상의 실시예에 따른 방법의 예를 설명한다. "시스템의 예"라는 명칭의 단락은 하나 이상의 실시예를 구현하는데 사용될 수 있는 시스템의 예를 제공하고 설명한다.
동작 환경
도 1은 동작 환경 하나 이상의 실시예에 따른 동작 환경을 전체적으로 100으로 예시한다. 환경(100)은 하나 이상의 프로세서(104) 및 하나 이상의 컴퓨터 판독 가능 저장 매체(106)를 갖는 컴퓨팅 장치(102)를 포함한다. 컴퓨터 판독 가능 저장 매체(106)는 통상 예이지만 한정이 아닌 것으로서 컴퓨팅 장치와 관련되는 휘발성과 비휘발성 메모리 및/또는 저장 매체의 모든 형태를 포함할 수 있다. 그런 매체는 ROM, RAM, 플래시 메모리, 하드 디스크, 이동식 매체 등을 포함할 수 있다. 컴퓨팅 장치의 하나의 구체 예는 도 10에 도시되고 후술된다.
또한, 컴퓨팅 장치(102)는 다양한 종류의 네비게이션 가능 컨텐츠에 액세스, 표시, 및/또는 상호작용하도록 동작가능할 수 있는 다른 애플리케이션뿐만 아니라 웹 브라우저(108)도 포함한다. 다른 애플리케이션의 예는 네비게이션(예를 들어, GPS) 애플리케이션, 메디컬 애플리케이션, 그래픽스 애플리케이션 등을 포함한다. 또한, 웹 브라우저(108)는 데이터 경로 컨텐츠(110)와 같은 데이터 경로 컨텐츠의 하나 이상의 인스턴스(instance)를 제공하도록(예를 들어, 표시하도록) 동작가능할 수 있다. 상술되고 후술되는 각종 기술을 구현할 수 있는 스크러버 모듈(112)이 컴퓨팅 장치(102) 상에 포함된다. 스크러버 모듈(112)이 웹 브라우저(108)(또는 다른 애플리케이션)로부터 분리된 것으로 예시될지라도, 일부 실시예에 있어서, 웹 브라우저(108)(또는 다른 애플리케이션)가 여기서 논의된 기술 중 하나 이상을 구현하도록 구성될 수 있는 것이 이해되어야 한다.
컴퓨팅 장치(102)는 네트워크(114)를 통해 하나 이상의 원격 자원과 액세스하도록 구성된다. 네트워크(114)는 인터넷, 광역 네트워크, 근거리 통신망 등과 같은 어떤 적당한 유선 및/또는 무선 네트워크를 포함할 수 있다. 원격 자원의 일예는 네비게이션 가능 컨텐츠 및/또는 데이터 경로 컨텐츠와 같은 여러가지 상이한 종류의 컨텐츠를 제공하도록 액세스될 수 있는 원격 자원(116)이다. 또한, 원격 자원(116)은 여기서 논의된 가변 컨텐츠 경로를 스크러빙하기 위한 기술 중 하나 이상을 수행하도록 구성될 수 있다. 예를 들어, 원격 자원(116)은 여기서 논의된 하나 이상의 기술을 수행하기 위해 컴퓨팅 장치(102)에 의해 액세스될 수 있는 웹 기반 알고리즘 및/또는 웹 기반 서비스를 호스팅할 수 있다. 또한, 로컬 자원은 상술한 실시예와 관련하여 사용될 수 있다.
컴퓨팅 장치(102)는, 예이지만 한정이 아닌 것으로서, 데스크탑 컴퓨터, 휴대용 컴퓨터, 개인 휴대 정보 단말기(PDA) 등의 핸드헬드 컴퓨터, 휴대 전화 등과 같은 어떤 적당한 컴퓨팅 장치로 구체화될 수 있다. 하나 이상의 실시예에 따라, 컴퓨팅 장치(102)는 터치 입력을 수신하도록 구성되는 장치로 구체화될 수 있다. 터치 입력을 수신하도록 구성되는 장치의 예는 이동 장치, 태블릿 PC, 터치스크린 키오스크 등을 포함한다. 또한, 여기서 논의된 기술 중 하나 이상은 장애인이 스타일러스, 부속물, 음성 입력 등을 통한 것과 같은 컨텐츠와 상호작용하게 하도록 사용될 수 있다. 따라서, 일부 실시예에 따라, 여기서 논의된 기술은 컨텐츠 경로의 스크러빙을 터치 입력을 통해, 예를 들어 손가락 또는 다른 부속물(appendage)을 통해 가능하게 할 수 있다.
동작 환경의 예를 고려하여, 이제 가변 컨텐츠 경로를 스크러빙하기 위한 스크러빙 기술의 예의 논의를 고려하자.
예시적인 스크러빙 기술
도 2는 하나 이상의 실시예에 따라 데이터 경로 네비게이션과 스크러브 경로 사이의 인접성을 유지하는 예시적인 방법을 도시한다. 데이터 경로(202) 및 스크러브 경로(204)가 200에 예시된다. 일부 실시예에 따라, 스크러브 경로(204)는 다양한 사용자 입력 기술 또는 장치를 사용하여 스크러브 포인트(206)를 드래깅함으로써, 예를 들어 마우스, 터치 입력, 오디오 입력 등으로 커서를 드래깅함으로써 생성될 수 있다. 일부 실시예에 있어서, 스크러브 포인트(206)를 드래깅하는 것은 데이터 경로(202)를 따르는 데이터 포인트(208)가 네비게이션되게 할 수 있다. 앞서 논의된 바와 같이, 일부 실시예에 있어서, 데이터 경로(202)는 주행 경로, 도로, 하이웨이 등과 같은 이전에 정의된 경로에 대응할 수 있다. 또한, 앞서 논의된 바와 같이, 데이터 경로(202)는 다양한 데이터 경로 컨텐츠 중 하나 이상과 관련될 수 있고, 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션은 데이터 경로 컨텐츠의 하나 이상의 인스턴스가 제공되게 할 수 있다.
실시예의 일부 예에 있어서, 데이터 경로 네비게이션에서의 스크러브 포인트와 데이터 포인트 사이의 관계는 모델, 예를 들어 스크러브 포인트를 데이터 포인트에 연결하는 가상 스프링(이하 "스프링")과 같은 물리 기반 모델을 사용하여 확립될 수 있다. 스프링은 물리 기반 데이터 모듈, 실행가능 컴퓨터 코드, 및/또는 어떤 다른 표현으로 구체화 및/또는 구현될 수 있다.
실시예의 이런 특정 예에 있어서, 스크러브 포인트(206)와 데이터 포인트(208) 사이의 관계는 스프링(210)으로서 개략적으로 표현된다. 하나 이상의 실시예에 따라, 스크러브 포인트(206)와 데이터 포인트(208) 사이의 인접성은 스프링(210)과 관련된 텐션(tension)의 함수로서 판단될 수 있다. 스프링(210) 상의 텐션은 뉴톤, 파운드 등과 같은 어떤 적절한 단위를 사용하여 정량화될 수 있다.
현재의 예에 계속해서, 스크러브 포인트(206)의 이동에 응답하여 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션이 212에서 예시된다. 일부 구현 예에 있어서, 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션은 스크러브 포인트(206)의 이동과 대략 동일한 속도로 발생할 수 있다. 일부 실시예에 따라, 스크러브 포인트(206)의 이동 속도는 사용자가 커서를 드래깅하며 그리고/또는 일부 다른 적당한 입력 수단을 제공하는 속도에 대응할 수 있다.
또한, 스프링(210)의 신장에 의해 예시된 바와 같이, 스프링(210) 상의 스프링 텐션의 증가가 312에서 예시된다. 일부 실시예에 따라, 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션과 스크러브 경로(204) 사이의 인접성이 유지되게 할 수 있는 임계 스프링 텐션이 지정될 수 있다. 예를 들어, 스프링(210) 상의 텐션이 임계 텐션 이하일 때, 스크러브 포인트에 인접한 데이터 포인트가 고려될 수 있고 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션은 직접 네비게이션 모드로 진행될 수 있다. 일부 실시예에 있어서, 직접 네비게이션 모드는 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션이 스크러브 포인트(206)와 대략 동일한 속도로 발생되게 한다. 다른 예로서, 스프링(210) 상의 텐션이 임계 텐션보다 높을 때, 스크러브 포인트에 인접하지 않는 데이터 포인트가 고려될 수 있고 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션은 간접 네비게이션 모드로 진행될 수 있다. 일부 실시예에 있어서, 간접 네비게이션 모드에서, 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션은 스프링(210) 상의 텐션이 임계 텐션과 같거나 더 작아질 때까지 가속된다.
스크러브 포인트(206)의 다른 이동에 응답하여 데이터 경로(202)를 따르는 데이터 포인트(208)의 다른 네비게이션이 214에서 예시된다. 이 구현 예에서, 스프링(210) 상의 텐션은 임계 텐션을 초과하고, 가속 경로(216)(파선으로 표시되는)는 직접 네비게이션 모드로부터 간접 네비게이션 모드로 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션에서의 스위치를 표시한다. 하나 이상의 실시예에 있어서, 네비게이션 모드에서의 스위치는 임계 텐션을 초과하는 것과 같은 스프링 텐션의 변화에 응답하여 발생할 수 있다. 현재의 예에서, 간접 네비게이션 모드로의 스위치는 텐션이 임계 텐션과 같거나 더 작아지도록 스프링(210) 상의 텐션이 감소될 때까지 데이터 포인트(208)가 데이터 경로(202)를 따라 가속되게 한다.
일부 실시예에 따라, 간접 네비게이션 모드에서의 데이터 경로(202)를 따르는 데이터 포인트(208)의 가속은 데이터 경로 컨텐츠의 프리젠테이션에서 변경을 초래할 수 있다. 예를 들어, 간접 네비게이션 모드는 일부 데이터 경로 컨텐츠, 예를 들어 가속 경로(216)를 따라 발생되는 데이터 경로 컨텐츠가 생략되게 할 수 있다. 다른 예에서, 간접 네비게이션 모드는 비디오 컨텐츠와 같은 데이터 경로 컨텐츠가 재생 속도로 증가되게 할 수 있다. 일부 실시예에 따라, 재생 속도의 증가는 데이터 포인트(208)의 네비게이션이 직접 네비게이션 모드로 리턴될 때까지 계속될 수 있으며, 그 시점에서 비디오 컨텐츠의 재생은 정규(예를 들어, 실시간) 재생 속도로 리턴될 수 있다.
일부 실시예에 있어서, 간접 네비게이션 모드에서의 데이터 경로(202)를 따르는 데이터 포인트(208)의 가속은 스프링(210) 상의 텐션에 기초하여 판단될 수 있다. 예를 들어, 스프링(210) 상의 텐션이 크면 클수록, 데이터 포인트(208)의 가속이 더 커지며, 그 반대도 또한 같다.
218에서, 스프링(210) 상의 텐션은 임계 텐션 내로 감소되었고 데이터 경로(202)를 따르는 데이터 포인트(208)의 네비게이션은 직접 네비게이션 모드로 리턴되었다. 일부 실시예에 따라, 직접 네비게이션 모드로의 리턴은 데이터 포인트(208)와 스크러브 포인트(206) 사이의 인접성을 나타낸다.
도 3은 하나 이상의 실시예에 따라 데이터 경로 네비게이션과 스크러브 경로 사이의 인접성을 유지하는 방법의 다른 예를 예시한다. 데이터 경로(302) 및 스크러브 경로(304)가 300에서 예시된다. 데이터 경로(302)는 데이터 경로(302) 상에 데이터 포인트(308)의 이전 위치를 나타내는 데이터 포인트 위치(306)를 포함한다. 스크러브 경로(304)는 스크러브 경로 상에 스크러브 포인트(312)의 이전 위치를 나타내는 스크러브 포인트 위치(310)를 포함한다.
일부 실시예에 따라, 스크러브 포인트는 스크러브 포인트를 데이터 포인트에 부속시키는 물리 기반 스트링과 같은 어떤 적당한 메커니즘을 사용하여 데이터 경로를 따르는 데이터 포인트를 드래깅할 수 있다. 따라서, 이 특정 예에서, 스크러브 포인트(312)가 이동됨에 따라(예를 들어, 사용자 입력에 응답하여), 스트링은 데이터 경로(302)를 따라 데이터 포인트(308)를 드래깅한다. 일부 실시예에 있어서, 스트링은 데이터 포인트(308)가 스크러브 포인트(312)의 일정 거리 내에 머물게 한다.
일부 실시예에 있어서, 데이터 경로(302)를 따르는 네비게이션은 포인트 투 포인트 거리 및 실제 경로 거리가 특징일 수 있다. 포인트 투 포인트 거리는 데이터 경로(302) 그 자체에 관계없이 2개의 데이터 포인트 위치 사이의 거리를 지칭한다. 실제 경로 거리는 데이터 경로(302)가 2개의 위치 사이에서 이어지면 2개의 데이터 포인트 위치 사이의 거리를 지칭한다. 예를 들어, 예시에서는 데이터 포인트 위치(306)와 데이터 포인트(308) 사이의 포인트 투 포인트 거리(314) 및 실제 경로 거리(316)가 도시되어 있다. 이 특정 예에서, 포인트 투 포인트 거리(314)는 실제 경로 거리(316)와 대략 같다. 일부 실시예에 따라, 포인트 투 포인트 거리가 실제 경로 거리와 대략 같을 때, 스크러브 포인트(312)에 인접한 데이터 포인트(308)가 고려될 수 있고 데이터 경로를 따르는 데이터 포인트의 네비게이션이 직접 네비게이션 모드에서 발생될 수 있다.
318에서, 스크러브 포인트(312)는 스크러브 경로(304) 상의 새로운 위치로 이동되고 데이터 포인트(308)는 데이터 경로(302) 상의 새로운 위치로 이동된다. 앞서 논의된 바와 같이, 데이터 포인트(308)는 스크러브 포인트(312)의 일정 거리 내에서 데이터 포인트(308)를 유지하는 스트링을 통해 스크러브 포인트(312)에 부속될 수 있다.
일부 실시예에 따라, 데이터 포인트가 스크러브 포인트의 일정 거리 내에서 유지될 때(예를 들어, 스트링을 통해), 데이터 포인트는 스크러브 포인트의 일정 거리 내에 있도록 데이터 경로의 구역 사이에서 때때로 점프할 수 있다. 318에서 예시된 예에서, 데이터 포인트(308)는 이전 데이터 포인트 위치(320)로부터 그 현재의 위치로 점프하고 데이터 경로(302)의 루프(322)를 건너뛴다.
또한, 318에서 데이터 포인트(308)의 새로운 위치와 이전 데이터 포인트 위치(320) 사이의 포인트 투 포인트 거리(324) 및 실제 경로 거리(326)(파선으로 예시되는)가 예시된다. 이 특정 예에서, 데이터 포인트(308)가 데이터 경로(302) 상의 위치를 점프해서 루프(322)를 건너뛰므로, 실제 경로 거리(326)는 포인트 투 포인트 거리(324)보다 더 크다. 일부 실시예에 따라, 임계 차이는 실제 경로 거리와 포인트 투 포인트 거리 사이에 지정될 수 있다. 실제 경로 거리와 포인트 투 포인트 거리 사이의 차이가 임계 차이를 초과하면, 스크러브 포인트에 인접하지 않은 데이터 포인트가 고려되며, 데이터 경로 상의 데이터 포인트의 네비게이션은 직접 네비게이션 모드로부터 간접 네비게이션 모드로 이행될 수 있다.
현재의 예에서, 실제 경로 거리(326)와 포인트 투 포인트 거리(324) 사이의 거리가 임계 차이를 초과하고, 데이터 포인트(308)의 네비게이션이 간접 네비게이션 모드로 이행된다. 일부 실시예에 따라, 직접 네비게이션 모드로부터 간접 네비게이션 모드로의 이행은 데이터 경로(302)와 관련된 데이터 경로 컨텐츠의 프리젠테이션에서 변경을 발생시킬 수 있다. 예를 들어, 일부 데이터 경로 컨텐츠가 건너뛰게 될 수 있으며 그리고/또는 일부 데이터 경로 컨텐츠의 재생 속도가 가속될 수 있다.
328에서, 스크러브 포인트(312)는 스크러브 경로(304) 상의 새로운 위치로 다시 이동되고 데이터 포인트(308)는 데이터 경로(302) 상의 새로운 위치로 다시 이동된다. 또한, 포인트 투 포인트 거리(330) 및 실제 경로 거리(332)가 328에서 예시된다. 이 예에서, 실제 경로 거리(332)와 포인트 투 포인트 거리(330) 사이의 차이는 임계 차이 내로 리턴되므로, 데이터 경로(302)를 따르는 데이터 포인트(308)의 네비게이션은 직접 네비게이션 모드로 리턴된다. 일부 실시예에 따라, 직접 네비게이션 모드로의 리턴은 데이터 경로 컨텐츠의 프리젠테이션이 한쪽 모드로부터 다른 쪽 모드로 이행되게 할 수 있다. 예를 들어, 간접 네비게이션 모드로의 이행에 응답하여 가속된 비디어 컨텐츠 재생은 정규 재생 속도로 리턴될 수 있다.
하나 이상의 실시예에 따른 예시적 사용자 인터페이스를 설명했지만, 하나 이상의 실시예에 따른 예시적 사용자 인터페이스 논의를 이제 고려하자.
예시적 사용자 인터페이스
도 4는 하나 이상의 실시예에 따른 예시적 사용자 인터페이스(400)를 도시한다. 사용자 인터페이스(400)는 예만을 위해 웹 브라우저 인터페이스로 예시되며, 어떤 적당한 사용자 인터페이스 및/또는 애플리케이션은 청구된 실시예의 정신 및 범위로부터 벗어나지 않고 이용될 수 있다.
사용자 인터페이스(400)는 네비게이션 영역(402) 및 컨텐츠 영역(404)을 포함한다. 일부 실시예에 따라, 네비게이션 영역(402)은 네비게이션 가능 컨텐츠를 표시하고 네비게이션 가능 컨텐츠에 관한 입력을 수신하도록 구성된다. 이 특정 예에서, 네비게이션 가능 컨텐츠는 네비게이션 가능 맵을 포함한다. 이것이 예만을 위한 것일지라도, 적당한 네비게이션 가능 컨텐츠의 다른 예가 상술된다.
네비게이션 영역(402)은 스크러브 경로(406) 및 데이터 경로(408)를 포함한다. 앞서 논의된 바와 같이 그리고 일부 실시예에 따라, 스크러브 경로(406)는 네비게이션 영역(402)에 걸쳐 드래깅하는 사용자의 손가락 또는 마우스와 같은 사용자 입력에 응답하여 네비게이션 영역(402)에 생성될 수 있다. 스크러브 경로(406)를 생성시키는 것에 응답하여, 네비게이션은 데이터 경로(408)를 따라 발생할 수 있다. 하나 이상의 실시예에 따라, 데이터 경로(408)는 미리 결정된 주행 경로에 대응할 수 있다.
일부 실시예에 따라, 데이터 경로(408)의 네비게이션은 직접 네비게이션 모드 및/또는 간접 네비게이션 모드에 따라 진행할 수 있다. 예를 들어, 네비게이션 구역(410 및 412)(파선으로 둘러싸인)에서, 데이터 경로(408)는 스크러브 경로(406)에 인접한다. 따라서, 일부 실시예에 있어서, 네비게이션 구역(410 및 412)에서의 데이터 경로(408)의 네비게이션은 직접 네비게이션 모드에 따라 진행할 수 있다. 일부 실시예에 더하여, 네비게이션 구역(414)(파선으로 둘러싸여지는)에서, 데이터 경로(408)는 스크러브 경로(406)에 인접하지 않는다. 따라서, 네비게이션 구역(414)에서의 데이터 경로(408)의 네비게이션은 간접 네비게이션 모드에 따라 진행할 수 있다. 앞서 논의된 바와 같이, 데이터 경로(408)의 네비게이션은 여기서 논의된 기술 중 하나 이상에 따라 직접 네비게이션 모드와 간접 네비게이션 모드 사이에서 이행될 수 있다.
데이터 경로(408)의 네비게이션은 데이터 경로(408)와 관련된 데이터 경로 컨텐츠가 제공되게 할 수 있다. 데이터 경로 컨텐츠의 적당한 예는 상술되어 있다. 일부 실시예에 따라, 데이터 경로 컨텐츠는 컨텐츠 영역(404)에서 제공될 수 있다. 컨텐츠 영역(404)은 어떤 적당한 종류의 데이터 경로 컨텐츠를 제공하도록 구성될 수 있다. 이 특정 예에서, 컨텐츠 영역(404)은 데이터 경로(408)의 네비게이션에 응답하여 데이터 경로(408)와 관련된 비디오 컨텐츠를 제공한다.
사용자 인터페이스(400)에 포함된 시각적 요소의 배치는 예만을 위한 것이고, 시각적 요소의 어떤 적당한 배치는 청구된 내용의 정신 및 범위로부터 벗어나지 않고 이용될 수 있는 것이 이해되어야 한다.
예시적인 방법
도 5는 하나 이상의 실시예에 따른 방법을 설명하는 흐름도이다. 상기 방법은 어떤 적당한 하드웨어, 소프트웨어, 펌웨어, 또는 그 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예에 있어서, 상기 방법은 네비게이션 가능 컨텐츠를 스크러빙하기 위해 실행하거나 실행가능한(예를 들어, 웹 브라우저(108)(또는 다른 애플리케이션) 및/또는 스크러버 모듈(112)) 소프트웨어에 의해 구현될 수 있다.
단계 500은 스크러브 포인트의 이동의 표시를 수신한다. 일부 실시예에 따라, 스크러브 포인트의 이동은 사용자 입력에 대한 하나 이상의 적당한 기술을 통해 스크러브 포인트의 사용자 조작에 응답할 수 있다. 단계 502는 데이터 포인트가 직접 네비게이션 모드에서 데이터 경로를 네비게이션하게 한다. 앞서 논의된 바와 같이, 일부 실시예에 있어서 데이터 경로의 네비게이션은 스크러브 포인트의 이동에 응답할 수 있다.
단계 504는 데이터 포인트가 스크러브 포인트에 인접하는지를 판단한다. 데이터 포인트가 스크러브 포인트에 인접하면("예"), 상기 방법은 단계 502로 리턴된다. 한편, 데이터 포인트가 스크러브 포인트에 인접하지 않으면("아니오"), 단계 506은 데이터 포인트가 간접 네비게이션 모드에서 데이터 경로를 네비게이션하게 한다. 일부 실시예에 따라, 상기 방법은 데이터 포인트가 스크러브 포인트와의 인접성을 달성했는지 또는 데이터 포인트가 간접 네비게이션 모드에서 계속 네비게이션할 수 있는지를 판단하기 위해 단계 504로 리턴될 수 있다. 데이터 포인트가 스크러브 포인트에 인접하는지를 판단하는 예시적 방법이 위와 아래에서 논의된다.
도 6은 하나 이상의 실시예에 따른 방법을 설명하는 흐름도이다. 상기 방법은 어떤 적당한 하드웨어, 소프트웨어, 펌웨어, 또는 그 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예에 있어서, 상기 방법은 데이터 포인트가 데이터 경로 네비게이션에서 스크러브 포인트에 인접하는지를 판단하기 위해 실행하거나 실행가능(예를 들어, 웹 브라우저(108)(또는 다른 애플리케이션) 및/또는 스크러버 모듈(112)) 소프트웨어에 의해 구현될 수 있다.
단계 600은 데이터 포인트를 스크러브 포인트에 접속한다. 예를 들어, 그리고 앞서 논의된 바와 같이, 가상 스프링은 데이터 포인트와 스크러브 포인트 사이의 가상 접속을 생성하는데 사용될 수 있다. 단계 602는 스크러브 포인트의 이동의 표시를 수신한다. 단계 604는 데이터 포인트가 직접 네비게이션 모드에서 데이터 경로를 네비게이션하게 한다. 단계 606은 데이터 포인트와 스크러브 포인트 사이의 접속의 텐션을 모니터링한다.
단계 608은 접속의 텐션이 임계 텐션을 초과하는지를 판단한다. 예를 들어, 임계 텐션은 예를 들어 4 파운드로 지정될 수 있다. 텐션이 임계 텐션을 초과하지 않으면("아니오"), 상기 방법은 단계 604로 리턴된다. 그러나, 텐션이 임계 텐션을 초과하면("예"), 단계 610은 데이터 포인트가 간접 네비게이션 모드에서 데이터 경로를 네비게이션하게 한다. 일부 실시예에 따라, 상기 방법은 단계 608로 리턴될 수 있다.
도 7은 하나 이상의 실시예에 따른 방법을 설명하는 흐름도이다. 상기 방법은 어떤 적당한 하드웨어, 소프트웨어, 펌웨어, 또는 그 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예에 있어서, 상기 방법은 데이터 포인트가 스크러브 포인트에 인접하는지를 판단하기 위해 실행하거나 실행가능(예를 들어, 웹 브라우저(108)(또는 다른 애플리케이션) 및/또는 스크러버 모듈(112)) 소프트웨어에 의해 구현될 수 있다.
단계 700은 스크러브 포인트의 이동의 표시를 수신한다. 단계 702는 데이터 포인트가 직접 네비게이션 모드에서 데이터 경로를 네비게이션하게 한다. 하나 이상의 실시예에 따라, 데이터 포인트가 데이터 경로를 네비게이션하게 하는 것을 스크러브 포인트의 이동의 표시를 수신하는 것에 응답하여 발생할 수 있다.
단계 704는 데이터 경로 상의 제 1 데이터 포인트 위치와 제 2 데이터 포인트 위치 사이의 포인트 투 포인트 거리를 결정한다. 단계 706은 데이터 경로 상의 제 1 데이터 포인트 위치와 제 2 데이터 포인트 위치 사이의 실제 경로 거리를 결정한다. 포인트 투 포인트 거리 및/또는 실제 경로 거리는 픽셀, 벡터 길이, 또는 포인트 사이의 거리를 결정하는 어떤 다른 적당한 방법에 관하여 결정될 수 있다.
단계 708은 실제 경로 거리와 포인트 투 포인트 거리 사이의 차이가 임계 차이를 초과하는지를 판단한다. 예를 들어, 임계 차이는 75 픽셀로 지정될 수 있다. 차이가 임계를 초과하지 않으면("아니오"), 상기 방법은 단계 702로 리턴된다.
그러나, 실제 경로 거리 와 포인트 투 포인트 거리 사이의 차이가 임계 거리를 초과하면, 단계 710은 데이터 포인트가 간접 네비게이션 모드에서 데이터 경로를 네비게이션하게 한다. 예를 들어, 거리가 75 픽셀을 넘으면, 데이터 경로의 네비게이션은 간접 네비게이션 모드로 이행될 수 있다. 일부 실시예에 따라, 상기 방법은 단계 708로 리턴된다.
도 8은 하나 이상의 실시예에 따른 방법을 설명하는 흐름도이다. 상기 방법은 어떤 적당한 하드웨어, 소프트웨어, 펌웨어, 또는 그 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예에 있어서, 상기 방법은 시뮬레이션된 3차원 환경에서 하나 이상의 경로를 스크러빙하기 위해 실행하거나 실행가능(예를 들어, 웹 브라우저(108)(또는 다른 애플리케이션) 및/또는 스크러버 모듈(112)) 소프트웨어에 의해 구현될 수 있다.
단계 800은 스크러브 포인트의 2차원 이동의 표시를 수신한다. 단계 802는 데이터 포인트가 직접 네비게이션 모드 및/또는 간접 네비게이션 모드를 이용하여 시뮬레이션된 3차원 환경을 통해 데이터 경로를 네비게이션하게 한다. 상기 예에서와 같이, 직접 또는 간접 네비게이션 모드의 선택은 상술한 기준과 동일하거나 유사한 기준에 기초하여 이루어질 수 있다. 시뮬레이션된 3차원 환경의 예는 CAD 모델, 가상 현실 환경, 비디오 게임 환경 등을 포함한다.
도 9는 하나 이상의 실시예에 따른 방법을 설명하는 흐름도이다. 상기 방법은 어떤 적당한 하드웨어, 소프트웨어, 펌웨어, 또는 그 조합과 관련하여 구현될 수 있다. 적어도 일부 실시예에 있어서, 상기 방법은 데이터 경로 컨텐츠가 직접 네비게이션 모드 및/또는 간접 네비게이션 모드에 기초하여 제공되게 하도록 실행하거나 실행가능(예를 들어, 웹 브라우저(108)(또는 다른 애플리케이션) 및/또는 스크러버 모듈(112)) 소프트웨어에 의해 구현될 수 있다.
단계 900는 데이터 경로의 데이터 포인트 네비게이션의 표시를 수신한다. 단계 902는 데이터 포인트가 직접 네비게이션 모드 또는 간접 네비게이션 모드에서 데이터 경로를 네비게이션하고 있는지를 판단한다. 데이터 포인트가 직접 네비게이션 모드에서 데이터 경로를 네비게이션하고 있다면, 단계 904는 데이터 경로 컨텐츠가 직접 네비게이션 모드와 관련된 프리젠테이션 모드에서 제공되게 한다. 예를 들어, 직접 네비게이션 모드에 따라, 비디오 컨텐츠는 정규(예를 들어, 실시간) 재생 모드에서 재생될 수 있다. 그러나, 데이터 포인트가 간접 네비게이션 모드에서 데이터 경로를 네비게이션하고 있다면, 단계 906은 데이터 경로 컨텐츠가 간접 네비게이션 모드와 관련된 프리젠테이션 모드에서 제공되게 한다. 비디오 재생 예에 계속해서, 그리고 간접 네비게이션 모드에 따라, 비디오 컨텐츠는 가속된 재생 모드에서 재생될 수 있다. 일부 실시예에 따라, 상기 방법은 데이터 경로 네비게이션 모드에서의 하나 이상의 변경에 기초하여 프리젠테이션 모드 사이에서 스위칭하도록 단계 904 및 단계 906 중 각각으로부터 단계 902로 리턴될 수 있다.
일부 실시예에 따라, 여기서 논의된 기술은 교차점(junction)을 포함하는 그래프를 따라 이동을 스크러빙하는데 이용될 수 있다. 예를 들어, 스크러빙된 데이터 포인트가 그래프 상의 교차점에 접근할 때(예를 들어, 그래프 상의 2개의 곡선이 교차하는 경우), 대응하는 데이터 포인트는 수 개의 다른 가능한 데이터 커브 중 하나를 수행하는 옵션을 가질 수 있다. 하나 이상의 실시예에 있어서, 여기서 논의된 기술은 스크러브 포인트에 가장 근접한 데이터 커브를 선택할 수 있다. 일부 구현에서, 스크러브 포인트가 교차점에 매우 근접하면(예를 들어, 미리 설정된 교차점 임계 내에), 데이터 포인트에서 계속되는 어느 데이터 커브에 관한 결정은 매우 번거로워질 수 있다. 이런 구현 시나리오에서, 스크러브 포인트가 그래프 상의 교차점에 매우 근접할 때, 여기서 논의된 기술 중 하나 이상은 계속되는 어느 커브를 결정하기 전에 교차점을 지나서 진행하기 위해 스크러브 포인트를 대기시킬 수 있다. 따라서, 스크러브 포인트가 교차점을 지나서 이동될 때까지 대기함으로써, 보다 많은 정보에는 데이터 포인트에 계속되는 적절한 커브를 결정하는 것이 제공될 수 있다.
예시적인 시스템
도 10은 상술한 각종 실시예를 구현할 수 있는 컴퓨팅 장치(1000)의 예를 예시한다. 컴퓨팅 장치(1000)는 예를 들어 도 1의 컴퓨팅 장치(102) 또는 어떤 다른 적당한 컴퓨팅 장치일 수 있다.
컴퓨팅 장치(1000)는 하나 이상의 프로세서 또는 처리 장치(1002), 하나 이상의 메모리 및/또는 저장 컴포넌트(1004), 하나 이상의 입출력(I/O) 장치(1006), 및 각종 컴포넌트 및 장치가 서로 통신되게 하는 버스(1008)를 포함한다. 버스(1008)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 가속된 그래픽스 포트, 및 각종 버스 아키텍처들 중 어느 하나를 사용하는 프로세서 또는 로컬 버스를 포함하는, 어떤 다양한 종류의 버스 구조 중 하나 이상을 나타낸다. 버스(1008)는 유선 및/또는 무선 버스를 포함할 수 있다.
메모리/저장 컴포넌트(1004)는 하나 이상의 컴퓨터 저장 매체를 나타낸다. 컴포넌트(1004)는 휘발성 매체(랜덤 액세스 메모리(RAM)와 같은) 및/또는 비휘발성 매체(읽기 전용 메모리(ROM), 플래시 메모리, 광 디스크, 자기 디스크 등과 같은)를 포함할 수 있다. 컴포넌트(1004)는 이동식 매체(예를 들어, 플래시 메모리 드라이브, 이동식 하드 드라이브, 광 디스크 등)뿐만 아니라 고정식 매체(예를 들어, RAM, ROM, 고정식 하드 드라이브 등)를 포함할 수 있다.
하나 이상의 입출력 장치(1006)는 사용자가 컴퓨팅 장치(1000)에 명령 및 정보를 입력하게 하고, 또한 정보가 사용자 및/또는 다른 컴포넌트 또는 장치에 제공되게 한다. 입력 장치의 예는 키보드, 커서 제어 장치(예를 들어, 마우스), 터치 입력 장치(예를 들어, 터치 스크린), 마이크로폰, 스캐너 등을 포함한다. 출력 장치의 예는 디스플레이 장치(예를 들어, 모니터 또는 프로젝터), 스피커, 프린터, 네트워크 카드 등을 포함한다.
각종 기술은 소프트웨어 또는 프로그램 모듈의 일반적인 내용으로 여기에 설명될 수 있다. 통상, 소프트웨어는 특정 임무를 수행하거나 특정 추상적 데이터 종류를 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 이 모듈 및 기술의 구현은 어떤 형태의 컴퓨터 판독 가능 매체 상에 저장되거나 이 매체에 걸쳐 송신될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨팅 장치에 의해 액세스될 수 있는 어떤 이용가능한 매체 또는 매체들일 수 있다. 한정되지 않고 예에 의해, 컴퓨터 판독 가능 매체는 "컴퓨터 저장 매체"를 포함할 수 있다.
"컴퓨터 저장 매체"는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보의 저장을 위한 어떤 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 어떤 다른 매체를 포함하지만 이들에 한정되지 않는다.
결론
각종 실시예는 컨텐츠에서 가변 경로를 스크러빙하기 위한 기술을 제공한다. 예이지만 한정이 아닌 것으로서, 스크러빙은 스크러브 경로를 규정하는 사용자 입력을 수신하는 것 및 스크러브 경로에 기초하여 컨텐츠를 통해 데이터 경로를 네비게이션하는 것을 포함할 수 있다. 일부 실시예에 따라, 데이터 경로는 컨텐츠를 통해 하나 이상의 미리 정의된 경로(예를 들어, 주행 경로)를 포함할 수 있다. 상기 기술 중 하나 이상은 데이터 경로에서의 변동을 설명하고 데이터 경로를 따라 스크러브 경로와 네비게이션 사이의 인접성을 유지하는 방법을 제공할 수 있다. 일부 실시예에 있어서, 데이터 경로는 데이터 경로를 따라 네비게이션에 응답하여 제공될 수 있는 하나 이상의 타입의 데이터 경로 컨텐츠와 관련될 수 있다.
내용이 구조적 특징 및/또는 방법적 단계에 특정된 언어로 기재되었을지라도, 첨부된 청구범위에 규정된 내용이 설명된 특정 특징 또는 단계에 반드시 한정되는 것은 아니라는 것이 이해되어야 한다. 오히려, 특정 특징 및 단계는 청구된 내용을 구현하는 예의 형태로 개시되어 있다.

Claims (15)

  1. 컴퓨팅 장치에 의해, 디스플레이 상의 스크러브 경로를 정의하기 위해 스크러브 포인트를 이동시키는 사용자 입력을 수신하는 단계와,
    상기 컴퓨팅 장치에 의해 상기 사용자 입력에 응답하여, 데이터 포인트가 상기 스크러브 경로와 별개인 데이터 경로를 네비게이트하게 하는 단계 - 상기 데이터 포인트는 직접 네비게이션 모드(direct navigation mode)에서 상기 스크러브 포인트를 이동시키는 상기 사용자 입력에 기초하여 상기 데이터 경로를 네비게이트하고, 상기 데이터 경로는 맵 상의 특정 포인트로부터 다른 포인트로의 주행 경로를 나타냄 - 와,
    상기 컴퓨팅 장치에 의해 상기 데이터 포인트 및 상기 스크러브 포인트 사이의 거리에 적어도 일부 기초하여, 상기 주행 경로의 변화에 기인하여 상기 데이터 포인트가 상기 스크러브 포인트에 인접하지 않다고 결정하는 단계와,
    상기 컴퓨팅 장치에 의해 상기 데이터 포인트가 상기 스크러브 포인트에 인접하지 않다는 결정에 응답하여, 상기 데이터 포인트가 상기 직접 네비게이션 모드에서 상기 데이터 경로를 네비게이트하는 것으로부터 간접 네비게이션 모드에서 상기 데이터 경로를 네비게이트하는 것으로 전환(transition)되어, 상기 데이터 포인트가 상기 스크러브 포인트에 인접하게 될 때까지 상기 데이터 포인트의 이동이 상기 데이터 경로를 따라 가속화되는 단계와,
    상기 컴퓨팅 장치에 의해 상기 데이터 포인트가 상기 스크러브 포인트에 인접하다는 결정에 응답하여, 상기 데이터 포인트가 상기 간접 네비게이션 모드에서 상기 데이터 경로를 네비게이트하는 것으로부터 상기 직접 네비게이션 모드에서 상기 데이터 경로를 네비게이트하는 것으로 전환되는 단계 - 상기 전환은 상기 데이터 포인트가 상기 스크러브 포인트의 이동 속도에 대응하는 속도로 상기 데이터 경로를 따라 이동하도록 하는 것을 포함함 -
    를 포함하는 컴퓨터 구현 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 사용자 입력은 커서를 드래깅하는 것을 포함하는
    컴퓨터 구현 방법.
  4. 제 1 항에 있어서,
    상기 직접 네비게이션 모드에서, 상기 데이터 포인트가 상기 데이터 경로를 네비게이트하는 속도는 상기 스크러브 포인트를 이동시키는 상기 사용자 입력의 속도에 대응하는
    컴퓨터 구현 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 컴퓨팅 장치를 이용해서 데이터 경로 컨텐츠의 하나 이상의 인스턴스가 데이터 경로 네비게이션에 응답하여 제공되도록 하는 단계와,
    상기 간접 네비게이션 모드에서, 상기 데이터 경로를 네비게이션하는 데이터 포인트에 응답하여, 상기 컴퓨팅 장치를 이용해서 데이터 경로 컨텐츠의 하나 이상의 인스턴스의 프리젠테이션 모드의 변경을 발생시키는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  7. 제 1 항에 있어서,
    상기 컴퓨팅 장치를 이용해서 상기 데이터 포인트와 상기 스크러브 포인트 사이에서 연결된 가상의 스프링의 텐션을 모니터링하고,
    상기 가상의 스프링의 텐션이 임계 텐션을 초과하면, 상기 컴퓨팅 장치를 이용해서 상기 데이터 포인트가 상기 스크러브 포인트에 인접하지 않는 것으로 판단
    함으로써, 상기 컴퓨팅 장치를 이용해서 상기 데이터 포인트 및 상기 스크러브 포인트의 인접성을 판단하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  8. 제 1 항에 있어서,
    상기 컴퓨팅 장치를 이용해서 상기 데이터 경로 상의 제 1 데이터 포인트 위치와 상기 데이터 경로 상의 제 2 데이터 포인트 위치 사이의 포인트 투 포인트 거리를 결정하고,
    상기 컴퓨팅 장치를 이용해서 상기 데이터 경로 상의 제 1 데이터 포인트 위치와 상기 데이터 경로 상의 제 2 데이터 포인트 위치 사이의 실제 경로 거리를 결정하며,
    상기 포인트 투 포인트 거리와 상기 실제 경로 거리 사이의 차이가 임계 차이를 초과할 때, 상기 컴퓨팅 장치를 이용해서 상기 데이터 포인트가 상기 스크러브 포인트에 인접하지 않는 것으로 판단
    함으로써, 상기 컴퓨팅 장치에 의해 상기 데이터 포인트 및 상기 스크러브 포인트의 인접성을 판단하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  9. 삭제
  10. 제 1 항에 있어서,
    상기 데이터 경로는 시뮬레이션된 3차원 환경에서의 경로를 포함하는
    컴퓨터 구현 방법.
  11. 컴퓨팅 장치에 의해 사용자 인터페이스를 통해서, 스크러브 경로를 정의하는 사용자 인터페이스로의 사용자 입력을 통해 스크러브 포인트의 사용자 조작의 표시를 수신하는 단계와,
    상기 스크러브 포인트의 상기 조작에 응답하여, 상기 컴퓨팅 장치에 의해, 맵 상의 특정 포인트로부터 다른 포인트로의 주행 경로를 나타내는 데이터 경로를 따라 데이터 포인트를 이동하게 하는 단계 - 상기 데이터 경로는 상기 스크러브 경로와 별개이고 상기 사용자 인터페이스에 디스플레이됨 - 와,
    상기 컴퓨팅 장치에 의해, 상기 데이터 포인트 및 상기 스크러브 포인트 사이의 거리에 적어도 일부 기초하여, 상기 주행 경로의 변화에 기인하여 상기 데이터 포인트가 상기 스크러브 포인트에 인접하지 않다고 결정하는 단계와,
    상기 컴퓨팅 장치에 의해, 상기 데이터 포인트가 상기 스크러브 포인트에 인접하지 않다는 결정에 응답하여, 상기 사용자 인터페이스에 디스플레이된 상기 데이터 경로 상의 상기 데이터 포인트의 네비게이션 모드를 변경하는 단계 - 상기 네비게이션 모드에서의 상기 변경은 상기 데이터 포인트가 상기 데이터 경로를 따라 가속되도록 함 - 와,
    상기 데이터 포인트가 상기 스크러브 포인트에 인접하게 되었다는 결정에 응답하여, 상기 데이터 포인트가 상기 스크러브 포인트의 이동 속도에 대응하는 속도로 상기 데이터 경로를 따라 이동하게 하는 단계
    를 포함하는 컴퓨터 구현 방법.
  12. 삭제
  13. 제 11 항에 있어서,
    상기 컴퓨팅 장치를 이용해서 데이터 경로 컨텐츠의 하나 이상의 인스턴스가 상기 데이터 경로 상에서의 상기 데이터 포인트의 이동에 응답하여 상기 사용자 인터페이스 상에 제공되게 하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  14. 제 11 항에 있어서,
    상기 네비게이션 모드의 변경은 직접 네비게이션 모드로부터 간접 네비게이션 모드로의 변경을 포함하는
    컴퓨터 구현 방법.
  15. 하나 이상의 하드웨어 프로세서,
    컴퓨터 실행가능 명령어들을 가지는 하나 이상의 컴퓨터 판독가능 저장 매체
    를 포함하는 시스템으로서,
    컴퓨터 실행가능 명령어들은 상기 하나 이상의 하드웨어 프로세서에 의해 실행되어
    직접 네비게이션 모드에서 데이터 경로에서의 데이터 포인트 네비게이션에 기초하여 디스플레이 가능 컨텐츠가 제공되도록 하고 - 상기 데이터 포인트 네비게이션은 상기 데이터 포인트로부터 별개인 스크러브 포인트를 이동시키는 사용자 입력에 응답하는 상기 데이터 경로를 따르는 상기 데이터 포인트의 이동을 포함함 -,
    상기 데이터 경로의 상기 데이터 포인트 네비게이션의 상기 직접 네비게이션 모드로부터 간접 네비게이션 모드로의 변경의 표시를 수신하게 하고 - 상기 데이터 포인트 네비게이션의 상기 변경은 상기 데이터 포인트가 상기 스크러브 포인트에 인접하지 않게 될 때 상기 데이터 포인트가 상기 데이터 경로를 따라 가속되는 것에 의해 발생함 -,
    상기 간접 네비게이션 모드로의 변경에 기초하여 상기 디스플레이 가능 컨텐츠의 제공 모드의 변경을 발생하게 하고 - 상기 제공 모드의 변경은 상기 디스플레이 가능 컨텐츠의 재생 속도가 가속되는 것 또는 상기 간접 네비게이션 모드에서 상기 데이터 포인트가 상기 데이터 경로를 네비게이트하는 동안 적어도 일부 디스플레이 가능 컨텐츠가 생략(skip)되게 하는 것 중 하나 이상을 발생시킴 -,
    상기 데이터 포인트가 상기 스크러브 포인트에 인접하여 상기 데이터 경로를 따르는 상기 데이터 포인트 네비게이션이 상기 직접 네비게이션 모드로 리턴한다는 표시에 응답하여, 상기 디스플레이 가능 컨텐츠의 상기 제공 모드가 이전의 제공 모드로 리턴하게 하는
    시스템.
KR1020117028938A 2009-06-05 2010-06-02 가변 컨텐츠 경로의 스크러빙 KR101783488B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/479,625 2009-06-05
US12/479,625 US9146119B2 (en) 2009-06-05 2009-06-05 Scrubbing variable content paths
PCT/US2010/037013 WO2010141542A2 (en) 2009-06-05 2010-06-02 Scrubbing variable content paths

Publications (2)

Publication Number Publication Date
KR20120030406A KR20120030406A (ko) 2012-03-28
KR101783488B1 true KR101783488B1 (ko) 2017-10-23

Family

ID=43298463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117028938A KR101783488B1 (ko) 2009-06-05 2010-06-02 가변 컨텐츠 경로의 스크러빙

Country Status (10)

Country Link
US (1) US9146119B2 (ko)
EP (1) EP2438534A4 (ko)
JP (1) JP5677418B2 (ko)
KR (1) KR101783488B1 (ko)
CN (1) CN102460421B (ko)
AU (1) AU2010256728B2 (ko)
BR (1) BRPI1012291A2 (ko)
CA (1) CA2760821C (ko)
SG (1) SG175424A1 (ko)
WO (1) WO2010141542A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9146119B2 (en) 2009-06-05 2015-09-29 Microsoft Technology Licensing, Llc Scrubbing variable content paths
US8645061B2 (en) * 2010-06-16 2014-02-04 Microsoft Corporation Probabilistic map matching from a plurality of observational and contextual factors
DE102011116188A1 (de) * 2011-10-14 2013-04-18 Volkswagen Aktiengesellschaft Verfahren zum Auswählen eines Abschnitts einer Route für ein Navigationssystem und Navigationssystem
US9031781B2 (en) * 2013-05-09 2015-05-12 Telenav, Inc. Navigation system with priority notification mechanism
US10217283B2 (en) * 2015-12-17 2019-02-26 Google Llc Navigation through multidimensional images spaces
US10838400B2 (en) * 2018-06-20 2020-11-17 Autodesk, Inc. Toolpath generation by demonstration for computer aided manufacturing
US11163750B2 (en) 2018-09-27 2021-11-02 International Business Machines Corporation Dynamic, transparent manipulation of content and/or namespaces within data storage systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080114537A1 (en) * 2006-11-13 2008-05-15 The Boeing Company Using a rotary input device to facilitate navigational charting

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321158B1 (en) * 1994-06-24 2001-11-20 Delorme Publishing Company Integrated routing/mapping information
KR970002797A (ko) * 1995-11-30 1997-01-28 모리 하루오 네비게이션(navigation) 장치
US5917486A (en) * 1996-11-04 1999-06-29 Prolexia Reading Education Software Corporation System and method for client program control of a computer display cursor
JPH10240902A (ja) 1997-02-24 1998-09-11 Nissan Motor Co Ltd 画像再生装置
US7432940B2 (en) 2001-10-12 2008-10-07 Canon Kabushiki Kaisha Interactive animation of sprites in a video production
ATE487925T1 (de) * 2002-02-19 2010-11-15 Boeing Co Flughafenrollweg-navigationssystem
JP2003254761A (ja) 2002-02-28 2003-09-10 Fujitsu Ten Ltd ナビゲーション装置
US7383497B2 (en) 2003-01-21 2008-06-03 Microsoft Corporation Random access editing of media
KR100965656B1 (ko) * 2003-04-24 2010-06-23 삼성전자주식회사 네비게이션시스템에서 경로 이탈지로부터 이탈 전경로까지의 최적 경로를 계산하는 리-라우팅 장치 및방법과 이를 이용한 네비게이션시스템
FR2855259B1 (fr) * 2003-05-23 2005-10-14 Siemens Vdo Automotive Systeme de navigation embarque comportant une previsualisation d'itineraire avec instructions de guidage
JP4111885B2 (ja) * 2003-07-23 2008-07-02 アルパイン株式会社 地図検索表示方法及び装置
US7180501B2 (en) 2004-03-23 2007-02-20 Fujitsu Limited Gesture based navigation of a handheld user interface
US20050212753A1 (en) * 2004-03-23 2005-09-29 Marvit David L Motion controlled remote controller
DE06701414T1 (de) * 2005-01-19 2008-04-03 Kabushiki Kaisha Kenwood, Hachiouji Führungsroutenerzeugungseinrichtung und führungsroutenerzeugungsverfahren
KR100696801B1 (ko) * 2005-03-04 2007-03-19 엘지전자 주식회사 네비게이션 시스템 및 그 관심위치 검색방법
KR100826906B1 (ko) 2005-08-24 2008-05-08 박창수 인터넷을 이용한 여행지도 시스템
JP5118813B2 (ja) 2005-12-08 2013-01-16 クラリオン株式会社 ナビゲーション装置
US7509215B2 (en) * 2005-12-12 2009-03-24 Microsoft Corporation Augmented navigation system
JP2007163234A (ja) 2005-12-12 2007-06-28 Matsushita Electric Ind Co Ltd ナビゲーション装置
US20080043020A1 (en) * 2006-08-18 2008-02-21 Microsoft Corporation User interface for viewing street side imagery
CN1996039B (zh) 2006-12-22 2011-05-18 深圳市凯立德科技股份有限公司 一种导航轨迹的记录方法、装置、设备以及导航方法
US20080178087A1 (en) 2007-01-19 2008-07-24 Microsoft Corporation In-Scene Editing of Image Sequences
JP4807452B2 (ja) * 2007-03-26 2011-11-02 トヨタ自動車株式会社 ナビゲーション装置
US20080263592A1 (en) 2007-04-18 2008-10-23 Fuji Xerox Co., Ltd. System for video control by direct manipulation of object trails
KR100920017B1 (ko) 2007-04-30 2009-10-05 (주)엠앤소프트 네비게이션에서의 드래그 입력을 이용한 경로 재탐색 방법
US7956848B2 (en) 2007-09-04 2011-06-07 Apple Inc. Video chapter access and license renewal
JP4883416B2 (ja) 2007-10-26 2012-02-22 アイシン・エィ・ダブリュ株式会社 地図表示装置及びプログラム
JP5018764B2 (ja) 2008-12-24 2012-09-05 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置及びナビゲーション用プログラム
TWI649730B (zh) * 2009-02-20 2019-02-01 日商尼康股份有限公司 資訊取得系統、攜帶型終端、伺服器、以及攜帶資訊機器用程式
US9146119B2 (en) 2009-06-05 2015-09-29 Microsoft Technology Licensing, Llc Scrubbing variable content paths

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080114537A1 (en) * 2006-11-13 2008-05-15 The Boeing Company Using a rotary input device to facilitate navigational charting

Also Published As

Publication number Publication date
JP2012529055A (ja) 2012-11-15
WO2010141542A3 (en) 2011-02-24
AU2010256728A1 (en) 2011-11-24
CN102460421B (zh) 2015-08-19
SG175424A1 (en) 2011-12-29
WO2010141542A2 (en) 2010-12-09
CN102460421A (zh) 2012-05-16
EP2438534A2 (en) 2012-04-11
US9146119B2 (en) 2015-09-29
EP2438534A4 (en) 2016-05-18
US20100312470A1 (en) 2010-12-09
CA2760821C (en) 2016-10-04
AU2010256728B2 (en) 2014-10-02
KR20120030406A (ko) 2012-03-28
JP5677418B2 (ja) 2015-02-25
CA2760821A1 (en) 2010-12-09
BRPI1012291A2 (pt) 2016-03-15

Similar Documents

Publication Publication Date Title
KR101783488B1 (ko) 가변 컨텐츠 경로의 스크러빙
KR101865425B1 (ko) 조절가능한 점진적인 이동 장치 거리뷰
US9218685B2 (en) System and method for highlighting a feature in a 3D map while preserving depth
JP5909228B2 (ja) ズーム可能なシーン内のズーム操作に関する代替意味論
JP6097835B2 (ja) 複数のページを有するフォルダを管理するためのデバイス、方法、及びグラフィカルユーザインタフェース
US20150339050A1 (en) Ink for Interaction
KR102343783B1 (ko) 모션 또는 그의 부재에 기초한 터치 기반 디바이스 상의 제어 인터페이스의 제시
US9224218B2 (en) System and method for loading and rendering curved features in a map
US9200919B2 (en) Method, system and apparatus for selectively obtaining map image data according to virtual camera velocity
US10372319B2 (en) Method, apparatus and computer program product for enabling scrubbing of a media file
CN110832450A (zh) 用于基于用户特性在虚拟或半虚拟空间中提供对象的方法和系统
JP5004777B2 (ja) 仮想空間における行動履歴の効率的記録方法および再生方法
KR20110012920A (ko) 동적 화면에 따라 음성을 인식하는 장치 및 방법
KR20120135232A (ko) 유연한 평행 움직임을 가진 멀티-레이어 사용자 인터페이스
KR20120125296A (ko) 유연한 평행 및 직교 움직임을 가진 멀티-레이어 사용자 인터페이스
KR20130116241A (ko) 브랜드화된 브라우저 프레임
CN104166553A (zh) 一种显示方法及电子设备
US20150121194A1 (en) Web content navigation using tab switching
EP3504614B1 (en) Animating an image to indicate that the image is pannable
KR20180096857A (ko) 멀티미디어 콘텐츠의 재생을 제어하기 위한 방법 및 시스템
US20180232125A1 (en) Contextual Linking of Digital Representations of Objects with Documents
KR101730381B1 (ko) 문맥 정보에 기초하여 스크롤을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR101979754B1 (ko) 애니메이션을 저작하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR20170133294A (ko) 애니메이션을 저작하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant