KR101785598B1 - 기울여서 스크롤하기 - Google Patents

기울여서 스크롤하기 Download PDF

Info

Publication number
KR101785598B1
KR101785598B1 KR1020157029945A KR20157029945A KR101785598B1 KR 101785598 B1 KR101785598 B1 KR 101785598B1 KR 1020157029945 A KR1020157029945 A KR 1020157029945A KR 20157029945 A KR20157029945 A KR 20157029945A KR 101785598 B1 KR101785598 B1 KR 101785598B1
Authority
KR
South Korea
Prior art keywords
image
computing device
scrolling
tilt
presentation
Prior art date
Application number
KR1020157029945A
Other languages
English (en)
Other versions
KR20150130560A (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 KR20150130560A publication Critical patent/KR20150130560A/ko
Application granted granted Critical
Publication of KR101785598B1 publication Critical patent/KR101785598B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Abstract

일실시예로, 본 방법은 스크린에 이미지를 디스플레이하기 위한 정보를 전송하는 단계를 포함한다. 이미지의 치수에 기반하여 이미지를 위한 스크롤 범위가 결정될 수 있다. 자이로스코프의 시작 위치 및 초기 기울기가 또한 이미지에 대해 결정될 수 있다. 이미지의 프레젠테이션과 연관된 기울기 측정은 자이로스코프가 기울기의 변화를 감지할 때 수신될 수 있다. 진행 파라미터는 적어도 스크롤 범위, 시작 위치 및 초기 기울기에 기반하여 결정될 수 있다. 이미지의 스크롤링 프레젠테이션은 이후 진행 파라미터에 기반하여 렌더링될 수 있다. 수전증으로 인한 지터(jitter)를 제거하기 위해 RK4 해결 프로그램(solver)을 기울기 측정에 적용함으로써, 이미지의 스크롤링 프레젠테이션이 부드러워질 수 있다. 또한, 이미지의 가장자리에 도달할 때 스크롤링 프레젠테이션에 바운스 효과를 주도록 가상 스프링 효과가 적용될 수 있다.

Description

기울여서 스크롤하기{TILTING TO SCROLL}
본 명세서는 일반적으로 이미지 디스플레이 및 열람 경험에 관한 것이다.
가령 스마트폰, 태블릿 컴퓨터 또는 랩톱 컴퓨터와 같은 컴퓨팅 장치는 가령 나침반, 가속도계 또는 자이로스코프와 같이 그 방향 또는 방위를 결정하기 위한 통합된 구성요소 및/또는 그러한 하나 이상의 외부 구성요소에 대한 인터페이스를 포함할 수 있다. 또한, 이런 장치는 하나 이상의 통합된 디스플레이 스크린 및/또는 하나 이상의 외부 디스플레이 스크린에 대한 인터페이스를 포함할 수 있다. 또한, 모바일 컴퓨팅 장치는 가령 게임, 지도 애플리케이션, 웹 브라우저, 개인 정보 관리 애플리케이션, 업무 생산성 애플리케이션 또는 소셜 네트워킹 애플리케이션과 같은 소프트웨어 애플리케이션을 실행할 수 있다.
이미지가 이미지 전체를 한번에 디스플레이할 만큼 충분히 크지 않은 스크린에 디스플레이될 때, 특정 실시예는 사용자가 이미지를 하나 이상의 방향으로, 하나 이상의 축을 따라, 기울이는 동작(tilting motion)을 사용하여 스크롤할 수 있도록 한다. 이미지는 임의의 스크린에 디스플레이될 수 있고, 예로서 제한 없이, 사진, 사진 앨범으로 표현되는 다수의 사진, 이메일의 리스트, 웹 페이지, 지도, 음악 라이브러리의 시각적 표현, 비디오 게임 또는 기술적 다이어그램을 포함하는 시각적 컨텐츠를 포함할 수 있다.
컴퓨팅 장치는 이미지를 위한 스크롤 범위를 결정하고, 자이로스코프에 따른 최초 기울기를 측정하고, 이미지의 초기 위치를 결정할 수 있다. 컴퓨팅 장치가 자이로스코프로부터 움직임이 스크롤을 활성화하기 위한 임계치를 만족했다는 표시를 수신하면, 컴퓨팅 장치는 센서와 스크롤 범위로부터의 입력에 기반하여 진행 파라미터를 계산한다. 그럼 컴퓨팅 장치가 진행 파라미터에 기반하여 이미지의 표시를 업데이트한다. 컴퓨팅 장치가 센서로부터 움직임이 감지된다는 표시를 수신함에 따라, 컴퓨팅 장치는 이미지의 표시의 업데이트를 적절하게 계속한다. 컴퓨팅 장치는 또한 초기 위치를 다시 캘리브레이션하는 사용자 입력을 수신할 수 있고, 스크롤은 새 초기 위치에 기반하여 계속될 수 있다.
본 발명의 내용 중에 포함되어 있다.
도 1a 내지 1f는 본 명세서에 개시되는 특정 실시예에 따른 이미지 스크롤을 도시하는 와이어프레임이다.
도 2는 본 명세서에 개시되는 특정 실시예에 따른 이미지를 스크롤하기 위한 방법의 예시이다.
도 3은 컴퓨터 시스템의 예시이다.
이미지가 이미지 전체를 한번에 디스플레이할 만큼 충분히 크지 않은 스크린에 디스플레이될 때, 특정 실시예는 사용자가 이미지를 하나 이상의 방향으로 기울이는 동작을 사용하여 스크롤할 수 있도록 한다. 이미지는 임의의 스크린에 디스플레이될 수 있고, 예로서 제한 없이, 사진, 사진 앨범으로 표현되는 다수의 사진, 이메일의 리스트, 웹 페이지, 지도, 음악 라이브러리의 시각적 표현, 비디오 게임 또는 기술적 다이어그램을 포함하는 시각적 컨텐츠를 포함할 수 있다.
컴퓨팅 장치는 이미지를 위한 스크롤 범위를 결정하고, 자이로스코프에 따른 최초 기울기를 측정하고, 이미지의 초기 위치를 결정할 수 있다. 컴퓨팅 장치가 자이로스코프로부터 움직임이 스크롤을 활성화하기 위한 임계치를 만족했다는 표시를 수신하면, 컴퓨팅 장치는 센서와 스크롤 범위로부터의 입력에 기반하여 진행 파라미터를 계산한다. 그럼 컴퓨팅 장치가 진행 파라미터에 기반하여 이미지의 표시를 업데이트한다. 컴퓨팅 장치가 센서로부터 움직임이 감지된다는 표시를 수신함에 따라, 컴퓨팅 장치는 이미지의 표시의 업데이트를 적절하게 계속한다. 컴퓨팅 장치는 또한 초기 위치를 다시 캘리브레이션하는 사용자 입력을 수신할 수 있고, 스크롤은 새 초기 위치에 기반하여 계속될 수 있다.
도 1a 내지 1f는 본 명세서에 개시되는 특정 실시예에 따른 이미지 스크롤을 도시하는 와이어프레임이다. 도 1a에 도시된 바와 같이, 사용자는 스크린에 전체 이미지를 표시하도록, 자세히 보기에 너무 작게 리사이즈된 해변 장면의 파노라마 사진을 열람하기 위해 스마트폰과 같은 컴퓨팅 장치를 사용할 수 있다. 컴퓨팅 장치의 실시예는 도 3과 관련하여 보다 자세히 서술된다. 도 1b에 도시된 바와 같이, 사용자는 이미지의 전체 수직 크기가 전체 디스플레이 영역을 채우도록 이미지를 확대할 수 있다. 이 시점에서, 사용자는 스마트폰을 수직 축(도 1b에 점선으로 도시됨) 평면을 따라 옆에서 옆으로 기울여서 디스플레이 스크린이 파노라마 이미지를 통해 왔다갔다 하도록 스크롤하고 파노라마 이미지 전체를 이미지의 왼쪽 끝에서 이미지의 오른쪽 끝까지 및 그 반대로 열람할 수 있다. 다른 실시예로, 사용자는 연락처의 리스트를 열람하기 위해 스마트폰을 사용할 수 있고 스마트폰을 수평 축 평면을 따라 위아래로 기울여서 디스플레이 스크린이 연락처의 리스트를 스크롤하도록 할 수 있다. 다른 예시로, 사용자는 지도를 열람하기 위하여 스마트폰을 사용할 수 있고 스마트폰을 수평축 및 수직축 평면을 따라 임의의 방향으로 기울여서 디스플레이 스크린이 지도를 스크롤하게 할 수 있다. 본 명세서의 범위 내에서, "기울기(tilting)"는 자이로스코프에 의해 측정되는 임의의 움직임을 말하고, "기울기(tilt)"의 측정은 자이로스코프에 의해 측정될 수 있는 롤, 피치, 요우 또는 그들의 임의의 조합의 임의의 측정을 말한다. 본 명세서에 서술되는 일부 실시예가 기울기가 일어날 수 있는 단일 축을 언급할 수 있지만, 통상의 기술자는 본 명세서에 서술되는 스크롤 방법이 하나 이상의 축과 관련하여 구현될 수 있다는 것을 알 것이다.
특정 실시예로, 도 1b에 도시된 예시에 보이는 바와 같이, 이미지가 표시될 때(확대 명령을 수신한 직후), 사진은 전체 파노라마 이미지에 대하여 중간이 되도록 표시된다 - 이 초기 위치가 스크롤이 시작될 수 있는 이미지의 위치이다. 특정 실시예에서, 초기 위치는 특정 애플리케이션에 따라 이미지의 어떤 위치로 설정될 수 있다. 예를 들어, 사용자가 도서관의 책장의 파노라마 이미지를 통하여 시각 인식에 의하여 하나 이상의 특정 책을 찾도록 요청한 애플리케이션에서, 초기 위치는 이미지의 왼쪽 끝으로 설정될 수 있다. 다른 실시예에서, 연락처의 리스트에서, 초기 위치는 리스트의 꼭대기, 또는 선택된 알파벳 글자의 연락처 리스트의 첫 항목으로 지정되어, 사용자가 아래로 스크롤(그리고 다시 위로)할 수 있다. 특정 실시예에서, 초기 위치는 사용자의 선택에 따라 이미지의 어떤 위치로 지정될 수 있다. 예를 들어, 미국의 지도를 디스플레이할 때, 초기 위치는 사용자에 의해 선택된 위치(예컨대, 그랜드 캐년 지역)로 설정되어, 사용자가 임의의 방향으로 스크롤할 수 있다. 특정 실시예에서, 초기 위치는 관련 인자에 따라 이미지 내의 임의의 적절한 위치로 설정될 수 있다.
특정 실시예로, 도 1b에 도시된 예시에서 나타내는 바와 같이, 이미지가 디스플레이될 때(다시, 확대 명령이 수신된 직후), 컴퓨팅 장치는 또한 사용자가 스크롤을 시작하도록 유도 및/또는 사용자에게 그러한 기능이 사용가능하다는 것을 통지하는 시각적 힌트를 디스플레이할 수 있다. 도 1b에 도시된 바와 같이 힌트는 어떤 방향(들)으로 스크롤이 가능한지 표시할 수 있고, 스크롤은 양 방향으로 가능한 한편, 도 1f에서는 스크롤은 (이미지의 가장자리에 도달했기 때문에) 단방향으로만 가능하다.
도 1c 내지 1f는 도 1a의 파노라마 사진의 확대된 디스플레이를 스크롤하는 예시를 도시하고, 도 1b에 도시된 초기 위치와 최초의 0°기울기에서 시작한다. 도 1c 내지 1f에 도시된 바와 같이, 사용자는 컴퓨팅 장치를 최초 기울기로부터 시계방향(컴퓨팅 장치를 들고 있는 사용자에 대하여)으로 기울기하기 시작하고, 컴퓨팅 장치는 기울기의 변화를 측정하여 움직임을 잠기한다. 스크롤 활성화 임계치가 만족되면(예컨대, 컴퓨팅 장치를 최초 기울기에서 어느 방향으로 최소 변화 2°를 넘어서 기울기하거나, 컴퓨팅 장치를 어느 방향으로 최소 회전 속도보다 빠르게 기울기하면), 컴퓨팅 장치는 측정된 기울기에 따라 이미지 스크롤을 시작한다. 도 1c 내지 1f에 도시된 바와 같이, 기울기가 증가하면, 이미지가 스크롤되는 정도 또한 사용자가 끝에 도달하기 위해 필요한 각도까지 컴퓨팅 장치를 기울여서 도 1f에서 이미지의 끝에 도달할 때까지 증가한다.
도 2는 특정 실시예에 따른 이미지를 스크롤하기 위한 방법(200)의 예시이다. 방법은 단계 210에서 시작할 수 있는데, 컴퓨팅 장치가 디스플레이에 이미지를 표시한다. 특정 실시예에서, 컴퓨팅 장치는 통합된 디스플레이 스크린을 가지는 손에 들고 쓰는 장치를 포함할 수 있다. 특정 실시예에서, 컴퓨팅 장치는 외부 디스플레이 스크린과 연결될 수 있다. 본 명세서의 범위 내에서, 제1 구성요소는 물리적으로 연결(예컨대, 와이어 또는 코드를 통하여)되거나, 무선으로 연결(블루투스, NFC(Fear-Field Communication), RF 또는 와이파이)되거나, 임의의 다른 종류의 네트워크(LAN, 개인용 WAN 또는 인터넷)으로 연결됐을 때 제2 구성요소와 연결됐다고 한다.
단계 220에서, 컴퓨팅 장치는 축과 관련하여 이미지의 스크롤 범위를 결정한다. 특정 실시예에서, 스크롤 범위는 이미지의 절대 길이뿐만 아니라 이미지의 종횡비에 기반하여 결정될 수 있고, 예컨대 tiltRange가 이미지의 한쪽 끝에서 반대쪽 끝까지 스크롤하기 위해 필요한 기울기 각도이고, length x height가 이미지의 종횡비(length가 스크롤이 일어날 수 있는 길이이다)일 때, scrollRange = ((photoWidth / photoHeight) * (DEGREES_TO_RADIANS (tiltRange) / (length/height)))이다. tiltRange 파라미터가 이미지의 종횡비에 따라 다양할 수 있고, 보다 큰 tiltRange가 3 x 1의 종횡비를 가지는 파노라마 이미지의 길이를 따라 스크롤되기 위해 사용될 수 있는 한편, 보다 작은 tiltRange가 3 x 3 이미지의 길이를 따라 스크롤되기 위해 사용될 수 있다. 특정 실시예에서, tiltRange는 또한 사용자가 스크릴을 보는데 이상한 정도로 장치를 기울기하기를 요구하지 않도록 보장하기 위해 제한될 수 있다.
단계 230에서, 컴퓨팅 장치는 자이로스코프 센서를 사용하여 기울기를 측정한다. 측정된 기울기는 최초 기울기로부터 측정될 기울기의 변화를 포함한다. 예를 들어, 만약 통합된 자이로스코프를 가지고 수평 방향 파노라마 이미지를 디스플레이하는 휴대용 컴퓨팅 장치는 수직축에 관하여 기울기를 0.3°로 측정하면, 왜냐하면 장치를 들고 있는 사용자가 거의 완벽한 수준으로 들고 있으면, 장치에 등록된 다음 움직임과 관련되어 측정된 기울기는 최초 기울기로부터의 변화량으로 측정될 것이다. 특정 실시예에서, 만약 사용자가 동일한 이미지를 열람하는 동안 전체 방향이 변화하면(예컨대, 사용자가 스마트폰을 쓰는 동안 옆으로 누우면), 컴퓨팅 장치는 적절하게 다음 기울기 측정을 적용하여 진행 파라미터를 결정하는 한편 최초 기울기를 업데이트하여 디스플레이에 대하여 이미지의 표시를 스크롤하기 위한 축을 보존할 수 있다. 장치에 등록된 다음 모션에 관한 임의의 측정된 기울기는 업데이트된 최초 기울기로부터의 변화량으로 측정될 것이다. 도 1b에 도시된 예시에 표시된 바와 같이, 최초 기울기는 0°로 측정된다. 특정 실시예에서, 컴퓨팅 장치는 통합된 자이로스코프를 가지는 휴대용 장치를 포함할 수 있다. 특정 실시예에서, 컴퓨팅 장치는 자이로스코프를 포함하는 외부 휴대용 컨트롤러와 연결될 수 있다.
단계 240에서, 컴퓨팅 장치는 초기 위치를 결정한다. 도 1b와 관련하여 상술한 바와 같이, 초기 위치는 특정 애플리케이션에 따라, 사용자 선택에 따라 이미지의 특정 위치로, 또는 관련 인자에 따라 이미지의 적절한 위치로 설정될 수 있다.
단계 250에서, 컴퓨팅 장치는 자이로스코프 센서가 스크롤 활성화를 위한 임계치를 만족하는 움직임을 감지했다는 표시를 수신한다. 상술한 바와 같이, 임계치는 스크롤을 활성화하기 위해 만족될 필요가 있다 - 이것은 일반적인 손의 떨림으로 이미지의 스크롤을 작동시키는 것을 방지한다. 한 예시적인 실시예에서, 임계치는 초기 기울기에 대하여, 어느 방향이든 측정되는 기울기의 최소 변화를 포함할 수 있다. 다른 예시적인 실시예에서, 임계치는 (예컨대, 스크롤 기능이 컴퓨팅 장치의 급격한 기울임 플릭(tilting flick)에 의해 활성화될 때) 어느 방향이든 최소 회전 속도를 포함할 수 있다.
단계 260에서, 컴퓨팅 장치는 센서(들)로부터의 입력과 스크롤 범위에 기반하여 어떻게 이미지를 스크롤할 것인지를 표시하는 진행 파라미터를 계산한다. 진행 파라미터는 예로서 제한 없이, (1) 자이로스코프에 의해 보고되는 선행 기울기 측정, (2) 자이로스코프에 의해 보고되는 현재 기울기 측정, (3) 자이로스코프에 의해 보고되는 선행 기울기 측정과 현재 기울기 측정 간의 변화량으로서, 자이로스코프가 측정을 규칙적인 간격으로 샘플링하고, (4) 자이로스포크에 의해 보고되는 선행 기울기 측정과 현재 기울기 측정 간의 변화량에 기반하여 계산된 회전 속도, (5) 최근 기울기 측정으로 결정된 절대 위치에 대한 초기 위치의 오프셋 또는 (6) 자이로스코프에 의해 보고되는 현재 기울기 측정으로 결정된 절대 위치에 대한 초기 위치의 오프셋을 포함하는 하나 이상의 속성을 포함할 수 있다. 특정 실시예에서, 진행 파라미터는 최소 회전 속도를 만족할 필요가 있을 수 있어, 사용자의 장치를 드는 자세의 점진적인 변화로 스크롤을 작동시키는 것을 방지한다.
특정 실시예에서, 입력은 입력 데이터를 이미지의 크기로 제한하기 위하여 클립될 수 있다(그래서 사용자가 스크롤 범위늘 넘어서 스크롤하지 못한다). 특정 실시예에서, 자이로스코프로부터 수신한 입력 데이터는 손의 떨림으로 인한 진동을 감소시키거나 제거하고 매끄러운 스크롤 모션을 생성하기 위하기 위하여 매끄럽게 될 수 있다(smoothed). 입력을 매끄럽게 하는 것은 입력 데이터에 로우-패스 필터를 적용하는 것(입력에서 스파이크를 제거하기 위하여) 및/또는 입력 데이터에 RK4(Runge-Kutte) 해결 프로그램(solver)을 적용하는 것(꾸준하게 진행하고 매끄러운 스크롤 모션을 생성하기 위하여)을 포함할 수 있다.
단계(270)에서, 컴퓨팅 장치는 진행(progress) 파라미터에 기초하여 이미지의 스크롤링을 보여주기 위해 이미지 프레젠테이션을 업데이트한다. 이미지 프레젠테이션은 (예컨대, 이미지의 에지로 스크롤되고 에지를 "히트(hit)"할 때, 이미지가 바운스(bounce) 및/또는 에지가 접근함에 따라 이미지 스크롤링이 느려지고 가상 스프링이 더 멀리 뻗쳐지는 것과 같은) 가상 스프링 효과와 같은 특수 효과를 포함할 수 있다. 특정 실시예로, 스크린에 디스플레이되는 이미지의 움직임은 가상 스프링의 일단부를 시작 위치에서 이미지에 부착하고 가상 스프링의 다른 단부를 (예컨대, 스크린의 중앙, 스크린의 코너 또는 스크린의 가장자리와 같은) 스크린 상의 위치에 부착시킴으로써 시뮬레이션될 수 있다. 임의의 개수의 가상 스프링이 물체(object)에 접착될 수 있다. 특정 실시예로, 물체의 움직임은 후크의 법칙: F = -kx에 기반하여 결정될 수 있고, 여기서 x는 스프링의 평형 위치로부터의 스프링의 단부의 변위 (예컨대, SI 단위로 거리: 미터)이며, F는 스프링에 의해 그 단부에 가해지는 복원력(SI 단위로: N 또는 kg*m/s2)이고, K는 스프링률 또는 스프링 상수(SI 단위로: N/m or kg/s2)로 불린다. 이 방정식이 성립할 때, 거동(behavior)은 선형적이라 한다. 복원력은 (예컨대, 스프링이 왼쪽으로 뻗쳐질 때, 그것은 오른쪽으로 끌려지는 것과 같이) 항상 변위의 반대 방향에서 작용하기 때문에 방정식의 오른편의 음의 표시가 있다. 일반적으로, 다음의 특성들: 질량, 감쇠(damping), 스프링 강도(stiffness), 스프링 정지 길이가 스프링 운동을 결정하는데 연루된다. 일부 구현예에서, 가상의 질량이 물체에 할당될 수 있다.
특정 실시예로, 가상의 스프링은 디스플레이되는 이미지의 속성에 기반하여 상이한 상태값(state value)을 가질 수 있다. 스프링은 절단하는 대신에 상태값의 하나의 세트로부터 다른 세트로 올라갈 수 있고, 물체의 운동의 애니매이션 시퀀스를 더 자연스럽게 나타나도록 한다. 예컨대, 이미지의 가장자리 및 시작 위치 사이의 거리는 애니매이션에서 사용되는 스프링의 긴축성(tightening) 또는 상태값의 하나의 세트로부터 다른 세트로 올라가는 레벨을 결정하는데 사용될 수 있다.
특정 실시예로, 물리학적 엔진은 스프링 운동을 시뮬레이션하는 알고리즘을 구현한다. 하나 이상의 가상의 스프링은 물체에 부착될 수 있다. 예컨대, 컴퓨팅 장치가 스크린에서 디스플레이되는 이미지의 스크롤링을 활성화하도록 기울여진다면, 가상의 스프링은 이미지에서의 시작 위치에 부착될 수 있다. 물체가 (예컨대, 기울임 움직임에 의해 스크롤되는 것과 같이) 움직인다면, 그것의 운동은 가상의 스프링의 경로를 따를 것이므로 물체의 운동은 스프링의 운동의 물리학에 기반하여 애니매이션화된다. 특정 실시예로, 알고리즘은 장력, 질량, 감쇠 효과, 측정된 기울기 등과 같은 변수를 고려할 수 있다. 예로서, 이미지가 시작 위치로부터 멀어지며 가장자리에 가깝게 스크롤되어서 (그럼으로써 스프링을 더 멀리 뻗치게 함에 따라), 스크롤링 속도는 감소할 수 있다. 반대로, 이미지가 시작 위치를 향해 뒤로 스크롤됨에 따라, 스크롤링 속도는 증가할 수 있다. 다른 예로서, 이미지가 시작 위치로부터 멀리 스크롤되고 가장자리를 "히트(hit)"함에 따라, 이미지는 가장자리에 도달하자마자 바운스하는 것으로 나타날 수 있다.
특정 실시예로, 물체를 확대할 때, 물체는 크기가 증가한다. 물체를 축소할 때, 물체는 크기가 감소한다. 물체의 크기의 변화는 물체의 운동이 스프링 운동에 기반할 수 있는 애니매이션 시퀀스에서 도시될 수 있다. 특정 실시예로, 물체가 그것의 최종 목적지를 향해 움직임에 따라, 물체의 중간 위치들은 스프링 운동에 기반하여 추가(interpolate)될 수 있다. 시작 위치가 새로운 시작 위치의 지정에 기반하여 재교정(re-calibrate)될 때, 가상의 스프링은 새로운 시작 위치에 재부착될 수 있다.
단계(280)에서, 컴퓨팅 장치는 새로운 시작 위치에서 시작 위치를 재조정하기 위해 입력을 수신할 수 있다. 사용자가 시작 위치로부터 멀어져 새로운 위치로 스크롤 한 후에, 사용자는 (예컨대, 새로운 위치로 손가락을 누르거나 클릭하여) 시작 위치를 새로운 위치에서 재교정할 수 있다. 그 경우, 컴퓨팅 장치는 새로운 시작 위치를 결정하기 위해 단계(240)로 돌아올 수 있고, 이후 새로운 시작 위치에 기반하여 스크롤링 기능을 계속 제공할 수 있다.
단계(290)에서, 컴퓨팅 장치는 센서(들)가 사용자가 계속 컴퓨팅 장치를 기울임에 따라 움직임을 감지하고 있다는 연속적 표시를 수신할 수 있다. 특정 실시예로, 도 2의 방법은 센서(들)가 연속적 운동을 감지하는 한, 단계(260)로부터 반복될 수 있다. 특정 실시예로, 컴퓨팅 장치가 임계 시구간 보다 오랫동안 움직임의 결핍을 감지하거나 컴퓨팅 장치가 센서(들)에 의해 감지된 움직임의 크기가 임계치 아래로 떨어졌다는 것을 감지한다면, 컴퓨팅 장치는 단계(250)로 돌아가거나 컴퓨팅 장치가 도맡아 이미지를 통해 자동으로 팬(pan)할 수 있다.
특정 실시예로, 이미지가 스크린에 먼저 디스플레이될 때, 컴퓨팅 장치는 일단 이미지를 통해 자동으로 팬할 수 있고, 이후 팬이 완료되면, 이미지는 컴퓨팅 장치를 기울임에 의해 스크롤링을 위해 이용가능할 수 있다. 이미지를 통해 팬하는 것과 연관하여, 특정 실시예는 예로서 제한 없이 참조로 본 명세서에 통합되며, 2012년 11월 14일자로 출원되고, "Image Panning and Zooming Effect"로 명명된 미국 특허출원 번호 제13/676,831호에 개시된 하나 이상의 시스템들, 컴포넌트들, 구성요소들, 기능들, 방법들, 동작들 또는 단계들을 이용할 수 있다.
특정 실시예는 적절한 경우 도 2의 방법의 하나 이상의 단계를 반복할 수 있다. 본 명세서는 도 2의 방법의 특정 단계가 특정 순서로 발생하는 것으로 기술하고 도시하지만, 본 명세서는 도 2의 방법의 임의의 적절한 단계가 임의의 적절한 순서로 발생하는 것을 고려한다. 더욱이, 본 명세서는 도 2의 방법의 특정 단계를 수행하는 특정 컴포넌트들, 장치들 또는 시스템들을 기술하고 도시하지만, 본 명세서는 도 2의 방법의 임의의 적절한 단계를 수행하는 임의의 적절한 컴포넌트들, 장치들 또는 시스템들의 임의의 적절한 조합을 고려한다.
도 3은 예시적인 컴퓨터 시스템(300)을 도시한다. 특정 실시예로, 하나 이상의 컴퓨터 시스템들(300)은 본 명세서에 기술되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행한다. 특정 실시예로, 하나 이상의 컴퓨터 시스템들(300)은 본 명세서에 기술되거나 도시된 기능을 제공한다. 특정 실시예로, 하나 이상의 컴퓨터 시스템들(300)을 실행하는 소프트웨어는 본 명세서에 기술되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행하거나, 본 명세서에 기술되거나 도시된 기능을 제공한다. 특정 실시예는 하나 이상의 컴퓨터 시스템들(300)의 하나 이상의 부분들을 포함한다. 본 명세서에서, 적절한 경우 컴퓨터 시스템에 대한 언급은 컴퓨팅 장치를 포함할 수 있고 그 역도 또한 동일하다. 게다가, 컴퓨터 시스템에 대한 언급은 적절한 경우 하나 이상의 컴퓨터 시스템을 포함할 수 있다.
본 명세서는 임의의 적절한 수의 컴퓨터 시스템(300)을 고려한다. 본 명세서는 임의의 적절한 물리적 형태를 취하는 컴퓨터 시스템(300)을 고려한다. 예로서 제한 없이, 컴퓨터 시스템(300)은 임베디드 컴퓨터 시스템, 시스템-온-칩(SOC), 단일-보드 컴퓨터 시스템(SBC)(예컨대, 컴퓨터-온-모듈(COM) 또는 시스템-온-모듈(SOM)), 데스크톱 컴퓨터 시스템, 랩톱 또는 노트북 컴퓨터 시스템, 상호작용형 키오스크(kiosk), 메인 프레임, 컴퓨터 시스템 메쉬(mesh), 모바일 전화, 개인 정보 단말기(PDA), 서버, 태블릿 컴퓨터 시스템 또는 이들의 2 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(300)은 하나 이상의 컴퓨터 시스템(300)들을 포함할 수 있거나; 일체형 또는 분산형일 수 있거나; 다수의 위치에 걸쳐 있거나; 다수의 기계에 걸쳐 있거나; 다수의 데이터 센터에 걸쳐 있거나; 하나 이상의 네트워크에 하나 이상의 클라우드 성분을 포함할 수 있는 클라우드에 상주할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템(300)은 본 명세서에 기술되거나 도시되는 하나 이상의 방법의 하나 이상의 단계를 실질적으로 공간적 또는 시간적 제한 없이 실행할 수 있다. 예로서 제한 없이, 하나 이상의 컴퓨터 시스템(300)은 본 명세서에 기술되거나 도시되는 하나 이상의 방법의 하나 이상의 단계를 실시간으로 또는 일괄 모드로 실행할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템(300)은 본 명세서에 기술되거나 도시되는 하나 이상의 방법의 하나 이상의 단계를 다른 시기에 또는 다른 위치에서 실행할 수 있다.
특정 실시예로, 컴퓨터 시스템(300)은 프로세서(302), 메모리(304), 저장소(306), 입력/출력(I/O) 인터페이스(308), 통신 인터페이스(310) 및 버스(312)를 포함한다. 본 명세서가 특정 배열로 특정한 수의 특정 구성요소를 갖는 특정 컴퓨터 시스템을 기술하고 도시하지만, 본 명세서는 임의의 적절한 배열로 임의의 적절한 수의 임의의 적절한 구성요소를 갖는 임의의 적절한 컴퓨터 시스템을 고려한다.
특정 실시예로, 프로세서(302)는 가령 컴퓨터 프로그램을 구성하는 명령어와 같은 명령어를 실행하기 위한 하드웨어를 포함한다. 예로서 제한 없이, 명령어를 실행하기 위해, 프로세서(302)는 내부 레지스터, 내부 캐시, 메모리(304) 또는 저장소(306)로부터 명령어를 검색(또는 페치(fetch))할 수 있고; 명령어를 디코딩하고 실행한 후; 하나 이상의 결과를 내부 레지스터, 내부 캐시, 메모리(304) 또는 저장소(306)에 기록할 수 있다. 특정 실시예로, 프로세서(302)는 데이터용, 명령어용 또는 주소용 하나 이상의 내부 캐시를 포함할 수 있다. 본 명세서는 적절한 경우 임의의 적절한 수의 임의의 적절한 내부 캐시들을 포함하는 프로세서(302)를 고려한다. 예로서 제한 없이, 프로세서(302)는 하나 이상의 명령어 캐시들, 하나 이상의 데이터 캐시들 및 하나 이상의 변환 색인 버퍼(translation lookaside buffers, TLBs)를 포함할 수 있다. 명령어 캐시에 저장된 명령어들은 메모리(304)나 저장소(306) 내 명령어들의 사본일 수 있고, 명령어 캐시는 프로세서(302)에 의한 이런 명령어들의 검색 속도를 높일 수 있다. 데이터 캐시 내의 데이터는 프로세서(302)에서 실행하는 다음 명령들에 의해 접근하거나 메모리(304)나 저장소(306)로 기록하기 위해 프로세서(302)에서 실행되는 이전 명령들의 결과; 또는 다른 적절한 데이터를 동작하는데 프로세서(302)에서 실행하는 명령어를 위한 메모리(304)나 저장소(306) 내의 데이터의 사본일 수 있다. 데이터 캐시는 프로세서(302)에 의한 판독 또는 기록 동작의 속도를 높일 수 있다. TLB들은 프로세서(302)에 의한 가상 주소 변환의 속도를 높일 수 있다. 특정 실시예로, 프로세서(302)는 데이터용, 명령어용 또는 주소용 하나 이상의 내부 레지스터를 포함할 수 있다. 본 명세서는 적절한 경우 임의의 적절한 수의 임의의 적절한 내부 레지스터들을 포함하는 프로세서(302)를 고려한다. 적절한 경우, 프로세서(302)는 하나 이상의 산술 논리 유닛(ALUs)을 포함할 수 있거나; 멀티-코어 프로세서일 수 있거나; 하나 이상이 프로세서들(302)을 포함할 수 있다. 본 명세서가 특정 프로세서를 기술하고 도시하지만, 본 명세서는 임의의 적절한 프로세서를 고려한다.
특정 실시예로, 메모리(304)는 프로세서(302)가 실행하는 명령어 또는 프로세서(302)가 운영하는 데이터를 저장하기 위한 메인 메모리를 포함한다. 예로서 제한 없이, 컴퓨터 시스템(300)은 저장소(306)나 또 다른 소스(가령, 예컨대 또 다른 컴퓨터 시스템(300))에서 메모리(304)로 명령어를 로딩할 수 있다. 이후, 프로세서(302)는 메모리(304)에서 내부 레지스터나 내부 캐시로 명령어를 로딩할 수 있다. 명령어를 실행하기 위해, 프로세서(302)는 내부 레지스터나 내부 캐시로부터 명령어를 검색하고 이들을 디코딩할 수 있다. 명령어의 실행 중 또는 실행 후, 프로세서(302)는 (중간 결과 또는 최종 결과일 수 있는) 하나 이상의 결과를 내부 레지스터나 내부 캐시로 기록할 수 있다. 이후, 프로세서(302)는 하나 이상의 이런 결과를 메모리(304)에 기록할 수 있다. 특정 실시예로, 프로세서(302)는 (저장소(306) 또는 다른 곳과는 대조적으로) 하나 이상의 내부 레지스터나 내부 캐시에서 또는 메모리(304)에서 단지 명령어만을 실행하며, (저장소(306) 또는 다른 곳과는 대조적으로) 하나 이상의 내부 레지스터나 내부 캐시에서 또는 메모리(304)에서 단지 데이터만을 운영한다. (주소 버스 및 데이터 버스를 각각 포함할 수 있는) 하나 이상의 메모리 버스는 프로세서(302)를 메모리(304)로 연결할 수 있다. 하기에 기술되는 바와 같이, 버스(312)는 하나 이상의 메모리 버스를 포함할 수 있다. 특정 실시예로, 하나 이상의 메모리 관리 유닛(MMUs)은 프로세서(302)와 메모리(304) 사이에 상주하며, 프로세서(302)에 의해 요청되는 메모리(304)로의 접근을 용이하게 한다. 특정 실시예로, 메모리(304)는 랜덤 액세스 메모리(RAM)를 포함한다. 적절한 경우, 이런 RAM은 휘발성 메모리일 수 있다. 적절한 경우, 이런 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM)일 수 있다. 게다가, 적절한 경우, 이런 RAM은 단일 포트형 또는 다중-포트형 RAM일 수 있다. 본 명세서는 임의의 적절한 RAM을 고려한다. 적절한 경우, 메모리(304)는 하나 이상의 메모리(304)를 포함할 수 있다. 본 명세서가 특정 메모리를 기술하고 도시하지만, 본 명세서는 임의의 적절한 메모리를 고려한다.
특정 실시예로, 저장소(306)는 데이터용 또는 명령어용 대용량 저장소를 포함한다. 예로서 제한 없이, 저장소(306)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광디스크, 자기-광학 디스크, 자기 테이프, 범용 직렬 버스(USB) 드라이브 또는 이들의 2 이상의 조합을 포함할 수 있다. 적절한 경우, 저장소(306)는 착탈식 또는 비-착탈식(또는 고정) 매체를 포함할 수 있다. 적절한 경우, 저장소(306)는 컴퓨터 시스템(300)의 내부 또는 외부에 있을 수 있다. 특정 실시예로, 저장소(306)는 비휘발성, 고체-상태(solid-state) 메모리이다. 특정 실시예로, 저장소(306)는 읽기 전용 메모리(ROM)를 포함한다. 적절한 경우, 이런 ROM은 마스크-프로그램화된 ROM, 프로그램가능 ROM(PROM), 소거가능 PROM(EPROM), 전기적 소거가능 PROM(EEPROM), 전기적 변경가능 ROM(EAROM), 플래시 메모리 또는 이들의 2 이상의 조합일 수 있다. 본 명세서는 임의의 적절한 물리적 형태를 취하는 대용량 저장소(306)를 고려한다. 적절한 경우, 저장소(306)는 프로세서(302)와 저장소(306) 사이의 통신을 용이하게 하는 하나 이상의 저장소 제어 유닛을 포함할 수 있다. 적절한 경우, 저장소(306)는 하나 이상의 저장소(306)를 포함할 수 있다. 본 명세서가 특정 저장소를 기술하고 도시하지만, 본 명세서는 임의의 적절한 저장소를 고려한다.
특정 실시예로, I/O 인터페이스(308)는 컴퓨터 시스템(300)과 하나 이상의 I/O 장치 사이의 통신을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어 또는 이들 모두를 포함한다. 적절한 경우, 컴퓨터 시스템(300)은 하나 이상의 이들 I/O 장치를 포함할 수 있다. 하나 이상의 이들 I/O 장치는 사람과 컴퓨터 시스템(300) 사이의 통신을 가능하게 할 수 있다. 예로서 제한 없이, I/O 장치는 키보드, 키패드, 마이크로폰, 모니터, 마우스, 프린터, 스캐너, 스피커, 스틸 카메라(still camera), 스타일러스(stylus), 태블릿, 터치 스크린, 트랙볼(trackball), 비디오 카메라, 다른 적절한 I/O 장치 또는 이들의 2 이상의 조합을 포함할 수 있다. I/O 장치는 하나 이상의 센서를 포함할 수 있다. 본 명세서는 임의의 적절한 I/O 장치 및 이에 대한 적절한 I/O 인터페이스(308)를 고려한다. 적절한 경우, I/O 인터페이스(308)는 프로세서(302)가 하나 이상의 이들 I/O 장치를 구동할 수 있도록 하는 하나 이상의 장치 또는 소프트웨어 드라이버를 포함할 수 있다. 적절한 경우, I/O 인터페이스(308)는 하나 이상의 I/O 인터페이스(308)를 포함할 수 있다. 본 명세서가 특정 I/O 인터페이스를 기술하고 도시하지만, 본 명세서는 임의의 적절한 I/O 인터페이스를 고려한다.
특정 실시예로, 통신 인터페이스(310)는 컴퓨터 시스템(300)과 하나 이상의 다른 컴퓨터 시스템(300)이나 하나 이상의 네트워크 사이의 통신(가령, 예컨대 패킷-기반 통신)을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어 또는 이들 모두를 포함한다. 예로서 제한 없이, 통신 인터페이스(310)는 이더넷이나 다른 유선-기반 네트워크로 통신하기 위한 네트워크 인터페이스 제어장치(NIC)나 네트워크 어댑터 또는 가령 WI-FI 네트워크와 같이 무선 네트워크로 통신하기 위한 무선 NIC(WNIC)나 무선 어댑터를 포함할 수 있다. 본 명세서는 임의의 적절한 네트워크 및 이에 대한 임의의 적절한 통신 인터페이스(310)를 고려한다. 예로서 제한 없이, 컴퓨터 시스템(300)은 애드 혹 네트워크(ad hoc network), 개인 영역 네트워크(PAN), 근거리 네트워크(LAN), 광역 네트워크(WAN), 대도시 네트워크(MAN), 인터넷의 하나 이상의 부분 또는 2 이상의 이런 네트워크들의 조합으로 통신할 수 있다. 하나 이상의 이런 네트워크의 하나 이상의 부분은 유선 또는 무선일 수 있다. 예로서, 컴퓨터 시스템(300)은 무선 PAN(WPAN)(가령, 예컨대 BLUETOOTH WPAN), WI-FI 네트워크, WI-MAX 네트워크, 셀룰러 전화 네트워크(가령, 예컨대 GSM(Global System for Mobile Communication) 네트워크), 다른 적절한 무선 네트워크 또는 2 이상의 이런 네트워크들의 조합으로 통신할 수 있다. 적절한 경우, 컴퓨터 시스템(300)은 임의의 이들 네트워크에 대한 임의의 적절한 통신 인터페이스(310)를 포함할 수 있다. 적절한 경우, 통신 인터페이스(310)는 하나 이상의 통신 인터페이스(310)를 포함할 수 있다. 본 명세서가 특정 통신 인터페이스를 기술하고 도시하지만, 본 명세서는 임의의 적절한 통신 인터페이스를 고려한다.
특정 실시예로, 버스(312)는 컴퓨터 시스템(300)의 구성요소를 서로 연결하는 하드웨어, 소프트웨어 또는 이들 모두를 포함한다. 예로서 제한 없이, 버스(312)는 AGP(Accelerated Graphics Port)이나 다른 그래픽 버스, EISA(Enhanced Industry Standard Architecture) 버스, FSB(front-side bus), HT(HYPERTRANSPORT) 인터커넥트, ISA(Industry Standard Architecture) 버스, INFINIBAND 인터커넥트, LPC(low-pin-count) 버스, 메모리 버스, MCA(Micro Channel Architecture) 버스, PCI(Peripheral Component Interconnect) 버스, PCIe(PCI-Express) 버스, SATA(serial advanced technology attachment) 버스, VLB(Video Electronics Standard Association local) 버스, 다른 적절한 버스 또는 2 이상의 이런 버스의 조합을 포함할 수 있다. 적절한 경우, 버스(312)는 하나 이상의 버스(312)를 포함할 수 있다. 본 명세서가 특정 버스를 기술하고 도시하지만, 본 명세서는 임의의 적절한 버스나 인터커넥트를 고려한다.
본 명세서에서, 컴퓨터-판독가능한 비-일시적 저장매체 또는 저장매체들은 하나 이상의 반도체 기반 또는 다른 집적회로(ICs)(가령, 예컨대 FPGAs(field-programmable gate arrays) 또는 ASICs(application-specific ICs)), 하드 디스크 드라이브(HDDs), 하이브리드 하드 디스크(HHDs), 광학 디스크, 광학 디스크 드라이브(ODDs), 자기-광학 디스크, 자기-광학 드라이브, 플로피 디스크, 플로피 디스크 드라이브(FDDs), 자기 테이프, 고체-상태 드라이브(SSDs), RAM-드라이브, SECURE DIGITAL 카드나 드라이브, 임의의 다른 적절한 컴퓨터-판독가능한 비-일시적 저장매체 또는, 적절한 경우, 2 이상의 이들의 임의의 적절한 조합을 포함할 수 있다. 적절한 경우, 컴퓨터-판독가능한 비-일시적 저장매체는 휘발성 저장매체, 비휘발성 저장매체 또는 휘발성 저장매체와 비휘발성 저장매체의 조합일 수 있다.
본 명세서에서, "또는"은 명시적으로 다르게 지시하거나 문맥상 달리 지시되지 않는 한, 포괄적인 것이며 배타적인 것이 아니다. 따라서, 본 명세서에서 "A 또는 B"는 명시적으로 다르게 지시하거나 문맥상 달리 지시되지 않는 한, "A, B 또는 둘 모두"를 의미한다. 게다가, "및"은 명시적으로 다르게 지시하거나 문맥상 달리 지시되지 않는 한, 공동 및 별개 모두이다. 따라서, 본 명세서에서 "A 및 B"는 명시적으로 다르게 지시하거나 문맥상 달리 지시되지 않는 한, "A 및 B가 공동이든 별개이든 상관없이 모두"를 의미한다.
본 명세서의 범위는 당업자가 이해할 수 있는 본 명세서에 기술되거나 도시된 예시적인 실시예들에 대한 모든 변화, 치환, 변형, 대체 및 변경을 포함한다. 본 명세서의 범위는 본 명세서에 기술되거나 도시된 예시적인 실시예들로 국한되지 않는다. 게다가, 본 명세서는 특정 컴포넌트, 구성요소, 기능, 동작 또는 단계를 포함하는 것으로 본 명세서의 각각의 실시예들을 기술하고 도시하지만, 임의의 이런 실시예들은 당업자가 이해할 수 있는 본 명세서에 어디든 기술되거나 도시되는 임의의 컴포넌트, 구성요소, 기능, 동작 또는 단계의 임의의 조합이나 치환을 포함할 수 있다. 게다가, 첨부된 청구범위에서 특정 기능을 수행하도록 설계되거나, 배치되거나, 할 수 있거나, 구성되거나, 할 수 있게 하거나, 동작할 수 있거나, 동작하는 장치나 시스템 또는 장치나 시스템의 구성요소에 대한 언급은 장치, 시스템 또는 구성요소가 그렇게 설계되거나, 배치되거나, 할 수 있거나, 구성되거나, 가능하거나, 동작할 수 있거나 동작하는 한, 장치, 시스템, 구성요소, 그 또는 그러한 특정 기능이 활성화되었는지, 턴온 되었는지, 잠금 해제되었는지 여부를 포함한다.

Claims (20)

  1. 컴퓨팅 장치에 의해, 이미지를 디스플레이하기 위한 정보를 전송하는 단계;
    컴퓨팅 장치에 의해, 이미지의 치수(dimension)에 기반하여 이미지를 위한 스크롤 범위를 결정하는 단계;
    컴퓨팅 장치에 의해, 이미지의 스크롤링 프레젠테이션이 시작하는 이미지 내의 시작 위치(origin position)를 결정하는 단계;
    컴퓨팅 장치에 의해, 클라이언트 컴퓨팅 장치의 초기 기울기(initial tilt)를 결정하는 단계;
    컴퓨팅 장치에 의해, 클라이언트 컴퓨팅 장치의 기울기 측정을 수신하는 단계;
    컴퓨팅 장치에 의해, 적어도 스크롤 범위, 시작 위치, 초기 기울기, 및 기울기 측정에 기반하여 진행 파라미터(progress parameter)를 결정하는 단계;
    컴퓨팅 장치에 의해, 스크롤 범위 및 기울기 측정의 변화에 기반하여 진행 파라미터를 업데이트하는 단계; 및
    컴퓨팅 장치에 의해, 진행 파라미터에 기반하여 이미지의 스크롤링 프레젠테이션을 렌더링하는 단계를 포함하고,
    상기 시작 위치는 이미지가 디스플레이되는 애플리케이션의 타입에 기반하여 결정되며,
    상기 기울기 측정은 상이한 시점에서 얻어진 제1 기울기 측정 및 제2 기울기 측정을 포함하는 이미지 디스플레이 방법.
  2. 제 1 항에 있어서,
    스크롤링을 활성화하기 위한 임계치는 기울기 측정에 의해 충족되는 이미지 디스플레이 방법.
  3. 제 1 항에 있어서,
    스크롤링을 활성화하기 위한 임계치는 클라이언트 컴퓨팅 장치의 회전율(rotation rate)에 의해 충족되는 이미지 디스플레이 방법.
  4. 제 1 항에 있어서,
    RK4 해결 프로그램(solver)을 기울기 측정에 적용함으로써, 이미지의 스크롤링 프레젠테이션을 부드럽게 하는 단계를 더 포함하는 이미지 디스플레이 방법.
  5. 제 1 항에 있어서,
    이미지의 스크롤링 프레젠테이션을 렌더링하는 단계는 시작 위치에 대해 가상 스프링 효과를 이미지에 적용하는 단계를 포함하는 이미지 디스플레이 방법.
  6. 제 5 항에 있어서,
    가상 스프링 효과는 이미지의 스크롤링 프레젠테이션이 스크롤 범위의 한계에 도달할 때 바운스하게끔 나타나도록 하는 이미지 디스플레이 방법.
  7. 제 5 항에 있어서,
    가상 스프링 효과는 이미지의 스크롤링 프레젠테이션이 스크롤 범위의 한계에 접근할 때 감속하게끔 나타나도록 하는 이미지 디스플레이 방법.
  8. 제 1 항에 있어서,
    시작 위치를 재교정(re-calibrate)하기 위한 입력을 수신하는 단계; 및
    입력에 기반하여 새로운 시작 위치를 결정하는 단계를 더 포함하는 이미지 디스플레이 방법.
  9. 제 1 항에 있어서,
    기울기 측정은 이미지의 프레젠테이션에 대해 평면인(planar with) 단일축에 대해 자이로스코프에 의해 캡쳐된 움직임에 기반하는 이미지 디스플레이 방법.
  10. 제 1 항에 있어서,
    기울기 측정은 서로에 대해 수직이며 이미지의 프레젠테이션에 대해 평면인 2 개의 축에 대해 자이로스코프에 의해 캡쳐된 움직임에 기반하는 이미지 디스플레이 방법.
  11. 이미지 디스플레이를 위한 하나 이상의 컴퓨터-판독가능한 저장 매체로서,
    컴퓨팅 장치에 의해, 이미지를 디스플레이하기 위한 정보를 전송하고;
    컴퓨팅 장치에 의해, 이미지의 치수(dimension)에 기반하여 이미지를 위한 스크롤 범위를 결정하고;
    컴퓨팅 장치에 의해, 이미지의 스크롤링 프레젠테이션이 시작하는 이미지 내의 시작 위치(origin position)를 결정하고;
    컴퓨팅 장치에 의해, 클라이언트 컴퓨팅 장치의 초기 기울기(initial tilt)를 결정하고;
    컴퓨팅 장치에 의해, 클라이언트 컴퓨팅 장치의 기울기 측정을 수신하고;
    컴퓨팅 장치에 의해, 적어도 스크롤 범위, 시작 위치, 초기 기울기, 및 기울기 측정에 기반하여 진행 파라미터(progress parameter)를 결정하고;
    컴퓨팅 장치에 의해, 스크롤 범위 및 기울기 측정의 변화에 기반하여 진행 파라미터를 업데이트하고;
    컴퓨팅 장치에 의해, 진행 파라미터에 기반하여 이미지의 스크롤링 프레젠테이션을 렌더링하도록 실행될 때 동작하는 소프트웨어를 포함하고,
    상기 시작 위치는 이미지가 디스플레이되는 애플리케이션의 타입에 기반하여 결정되며,
    상기 기울기 측정은 상이한 시점에서 얻어진 제1 기울기 측정 및 제2 기울기 측정을 포함하는 이미지 디스플레이를 위한 컴퓨터-판독가능한 저장 매체.
  12. 제 11 항에 있어서,
    기울기 측정은 이미지의 프레젠테이션에 대해 평면인 단일축에 대해 자이로스코프에 의해 캡쳐된 움직임에 기반하는 이미지 디스플레이를 위한 컴퓨터-판독가능한 저장 매체.
  13. 제 11 항에 있어서,
    기울기 측정은 서로에 대해 수직이며 이미지의 프레젠테이션에 대해 평면인 2 개의 축에 대해 자이로스코프에 의해 캡쳐된 움직임에 기반하는 이미지 디스플레이를 위한 컴퓨터-판독가능한 저장 매체.
  14. 하나 이상의 프로세서; 및
    이미지를 디스플레이하기 위한 정보를 전송하고;
    이미지의 치수(dimension)에 기반하여 이미지를 위한 스크롤 범위를 결정하고;
    이미지의 스크롤링 프레젠테이션이 시작하는 이미지 내의 시작 위치(origin position)를 결정하고;
    클라이언트 컴퓨팅 장치의 초기 기울기(initial tilt)를 결정하고;
    클라이언트 컴퓨팅 장치의 기울기 측정을 수신하고;
    적어도 스크롤 범위, 시작 위치, 초기 기울기, 및 기울기 측정에 기반하여 진행 파라미터(progress parameter)를 결정하고;
    컴퓨팅 장치에 의해, 스크롤 범위 및 기울기 측정의 변화에 기반하여 진행 파라미터를 업데이트하고;
    진행 파라미터에 기반하여 이미지의 스크롤링 프레젠테이션을 렌더링하는 명령어를 실행할 때 동작하는 프로세서에 의해 실행가능한 명령어를 포함하고 프로세서에 연결된 메모리를 포함하며,
    상기 시작 위치는 이미지가 디스플레이되는 애플리케이션의 타입에 기반하여 결정되며,
    상기 기울기 측정은 상이한 시점에서 얻어진 제1 기울기 측정 및 제2 기울기 측정을 포함하는 이미지 디스플레이 시스템.
  15. 제 14 항에 있어서,
    프로세서는 RK4 해결 프로그램(solver)을 기울기 측정에 적용함으로써, 이미지의 스크롤링 프레젠테이션을 부드럽게 하는 명령어를 실행할 때 또한, 동작하는 이미지 디스플레이 시스템.
  16. 제 14 항에 있어서,
    프로세서는 시작 위치에 대해서 가상 스프링 효과를 이미지에 적용하기 위해 이미지의 스크롤링 프레젠테이션을 렌더링하는 명령어를 실행할 때 또한, 동작하는 이미지 디스플레이 시스템.
  17. 제 1 항에 있어서,
    이미지를 디스플레이하기 위한 정보는 스크롤링이 이미지 상에 수행될 수 있음을 표시하는 시각적 힌트를 포함하는 이미지 디스플레이 방법.
  18. 제 17 항에 있어서,
    시각적 힌트는 스크롤링이 가능한 하나 이상의 방향을 더 표시하는 이미지 디스플레이 방법.
  19. 제 1 항에 있어서,
    시작 위치는 이미지가 디스플레이되는 애플리케이션에 기반하여 이미지의 가장자리에 있도록 결정되는 이미지 디스플레이 방법.
  20. 제 1 항에 있어서,
    시작 위치는 사용자 선택에 기반하여 더 결정되는 이미지 디스플레이 방법.



KR1020157029945A 2013-03-18 2014-03-17 기울여서 스크롤하기 KR101785598B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/846,131 2013-03-18
US13/846,131 US9459705B2 (en) 2013-03-18 2013-03-18 Tilting to scroll
PCT/US2014/030125 WO2014153279A1 (en) 2013-03-18 2014-03-17 Tilting to scroll

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177027791A Division KR101949415B1 (ko) 2013-03-18 2014-03-17 기울여서 스크롤하기

Publications (2)

Publication Number Publication Date
KR20150130560A KR20150130560A (ko) 2015-11-23
KR101785598B1 true KR101785598B1 (ko) 2017-10-16

Family

ID=51525496

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020197003141A KR20190014594A (ko) 2013-03-18 2014-03-17 기울여서 스크롤하기
KR1020157029945A KR101785598B1 (ko) 2013-03-18 2014-03-17 기울여서 스크롤하기
KR1020177027791A KR101949415B1 (ko) 2013-03-18 2014-03-17 기울여서 스크롤하기

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020197003141A KR20190014594A (ko) 2013-03-18 2014-03-17 기울여서 스크롤하기

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177027791A KR101949415B1 (ko) 2013-03-18 2014-03-17 기울여서 스크롤하기

Country Status (11)

Country Link
US (3) US9459705B2 (ko)
EP (1) EP2976697A4 (ko)
JP (3) JP6110011B2 (ko)
KR (3) KR20190014594A (ko)
CN (2) CN105247454B (ko)
AU (3) AU2014236107B2 (ko)
BR (1) BR112015024088A2 (ko)
CA (3) CA2906181C (ko)
IL (2) IL241693A (ko)
MX (1) MX347571B (ko)
WO (1) WO2014153279A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469381B2 (en) 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US9459705B2 (en) * 2013-03-18 2016-10-04 Facebook, Inc. Tilting to scroll
US9804745B2 (en) * 2013-06-09 2017-10-31 Apple Inc. Reordering content panes in a stacked tab view
US10126839B2 (en) 2013-07-24 2018-11-13 Innoventions, Inc. Motion-based view scrolling with augmented tilt control
US9181760B2 (en) 2013-07-24 2015-11-10 Innovations, Inc. Motion-based view scrolling with proportional and dynamic modes
US11068128B2 (en) 2013-09-03 2021-07-20 Apple Inc. User interface object manipulations in a user interface
CN105683876B (zh) 2013-09-03 2019-11-01 苹果公司 用于可穿戴电子设备的表冠输入
US9756549B2 (en) 2014-03-14 2017-09-05 goTenna Inc. System and method for digital communication between computing devices
CN110650241B (zh) 2014-06-16 2021-01-29 华为技术有限公司 移动终端中呈现全景照片的方法和移动终端
AU2015279544B2 (en) 2014-06-27 2018-03-15 Apple Inc. Electronic device with rotatable input mechanism for navigating calendar application
US20160062571A1 (en) 2014-09-02 2016-03-03 Apple Inc. Reduced size user interface
WO2016036414A1 (en) 2014-09-02 2016-03-10 Apple Inc. Button functionality
WO2016036509A1 (en) 2014-09-02 2016-03-10 Apple Inc. Electronic mail user interface
US10042532B2 (en) * 2015-05-05 2018-08-07 Facebook, Inc. Methods and systems for viewing embedded content
US10685471B2 (en) 2015-05-11 2020-06-16 Facebook, Inc. Methods and systems for playing video while transitioning from a content-item preview to the content item
US10521100B2 (en) 2015-08-28 2019-12-31 Facebook, Inc. Systems and methods for providing interactivity for panoramic media content
US20170060404A1 (en) * 2015-08-28 2017-03-02 Facebook, Inc. Systems and methods for providing interactivity for panoramic media content
US10521099B2 (en) 2015-08-28 2019-12-31 Facebook, Inc. Systems and methods for providing interactivity for panoramic media content
CN105549854B (zh) * 2015-12-01 2019-06-21 上海斐讯数据通信技术有限公司 移动终端及滚动条的操作方法
US20180032536A1 (en) * 2016-08-01 2018-02-01 Barbara Carey Stachowski Method of and system for advertising real estate within a defined geo-targeted audience
KR20180017746A (ko) 2016-08-10 2018-02-21 엘지전자 주식회사 이동 단말기 및 그 제어방법
US11435830B2 (en) 2018-09-11 2022-09-06 Apple Inc. Content-based tactile outputs
CH716570A2 (de) * 2019-09-09 2021-03-15 Andre Reber Verfahren zur Verbesserung der Sehfähigkeit einer sehbehinderten Person mit einer portablen Sehhilfe.

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080165210A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Animations

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02187791A (ja) * 1989-01-14 1990-07-23 Ricoh Co Ltd 表示装置
JPH08507875A (ja) * 1993-01-06 1996-08-20 イメッジ テクノロジー インターナショナル インク フィルムを使わない立体写真の形成方法および装置
US6079862A (en) 1996-02-22 2000-06-27 Matsushita Electric Works, Ltd. Automatic tracking lighting equipment, lighting controller and tracking apparatus
US6573883B1 (en) * 1998-06-24 2003-06-03 Hewlett Packard Development Company, L.P. Method and apparatus for controlling a computing device with gestures
US7576770B2 (en) * 2003-02-11 2009-08-18 Raymond Metzger System for a plurality of video cameras disposed on a common network
US7098914B1 (en) * 1999-07-30 2006-08-29 Canon Kabushiki Kaisha Image synthesis method, image synthesis apparatus, and storage medium
US6466198B1 (en) * 1999-11-05 2002-10-15 Innoventions, Inc. View navigation and magnification of a hand-held device with a display
JP2002196881A (ja) * 2000-12-27 2002-07-12 Mitsubishi Electric Corp スクロール制御装置
JP2002268622A (ja) * 2001-03-09 2002-09-20 Denso Corp 携帯端末装置のユーザインターフェース装置
US7352913B2 (en) 2001-06-12 2008-04-01 Silicon Optix Inc. System and method for correcting multiple axis displacement distortion
JP2003274265A (ja) 2002-03-15 2003-09-26 Fuji Photo Film Co Ltd 画像表示装置
JP2004304346A (ja) * 2003-03-28 2004-10-28 Kyocera Corp 携帯端末装置
US6966772B2 (en) * 2003-05-02 2005-11-22 Leo J. Malin Method of adjusting a drill bushing for a dental implant
KR100641182B1 (ko) 2004-12-30 2006-11-02 엘지전자 주식회사 휴대단말기에서의 가상화면 이동장치 및 방법
US7953513B2 (en) * 2005-03-15 2011-05-31 Siemens Industry, Inc. Systems, devices, and methods for automation control
CN101009089A (zh) 2006-01-26 2007-08-01 宏达国际电子股份有限公司 屏幕显示控制装置
US7667686B2 (en) * 2006-02-01 2010-02-23 Memsic, Inc. Air-writing and motion sensing input for portable devices
CN101042848A (zh) * 2006-03-24 2007-09-26 宏达国际电子股份有限公司 屏幕显示控制装置及其屏幕显示控制方法
WO2008023140A2 (en) * 2006-08-22 2008-02-28 Nds Limited Man-machine interface system
US8994644B2 (en) 2007-01-26 2015-03-31 Apple Inc. Viewing images with tilt control on a hand-held device
US8471862B2 (en) * 2007-03-09 2013-06-25 Ati Technologies Ulc Offset tiles in vector graphics
US8423076B2 (en) * 2008-02-01 2013-04-16 Lg Electronics Inc. User interface for a mobile device
AU2009238631B2 (en) 2008-04-14 2014-10-30 Google Llc Panning using virtual surfaces
JP5537044B2 (ja) * 2008-05-30 2014-07-02 キヤノン株式会社 画像表示装置及びその制御方法、コンピュータプログラム
US8291069B1 (en) * 2008-12-23 2012-10-16 At&T Intellectual Property I, L.P. Systems, devices, and/or methods for managing sample selection bias
US8441441B2 (en) * 2009-01-06 2013-05-14 Qualcomm Incorporated User interface for mobile devices
JP5446624B2 (ja) 2009-09-07 2014-03-19 ソニー株式会社 情報表示装置、情報表示方法及びプログラム
US8624925B2 (en) 2009-10-16 2014-01-07 Qualcomm Incorporated Content boundary signaling techniques
JP2011233064A (ja) * 2010-04-30 2011-11-17 Sony Corp 情報処理装置及び表示画面操作方法
JP2011252970A (ja) * 2010-05-31 2011-12-15 Brother Ind Ltd 画像表示装置、画像表示方法、及び画像表示プログラム
JP5724230B2 (ja) * 2010-07-07 2015-05-27 ソニー株式会社 表示制御装置、表示制御方法、プログラム
US9483085B2 (en) 2011-06-01 2016-11-01 Blackberry Limited Portable electronic device including touch-sensitive display and method of controlling same
CN103038739B (zh) 2011-08-04 2017-05-17 松下电器(美国)知识产权公司 显示控制装置以及显示控制方法
JP5757567B2 (ja) 2011-08-25 2015-07-29 国立研究開発法人情報通信研究機構 コンテンツ提示装置、コンテンツ提示プログラムおよびコンテンツ提示方法
US8381102B1 (en) * 2011-12-06 2013-02-19 Google Inc. Systems and methods for visually scrolling through a stack of items displayed on a device
KR101885131B1 (ko) 2012-02-24 2018-08-06 삼성전자주식회사 디스플레이 장치의 화면 스크롤 방법 및 그 장치
US9678660B2 (en) 2012-11-05 2017-06-13 Nokia Technologies Oy Method and apparatus for conveying efficient map panning over a mapping user interface
US9459705B2 (en) * 2013-03-18 2016-10-04 Facebook, Inc. Tilting to scroll
US9181760B2 (en) 2013-07-24 2015-11-10 Innovations, Inc. Motion-based view scrolling with proportional and dynamic modes
US9423941B2 (en) 2013-09-05 2016-08-23 Facebook, Inc. Tilting to scroll
US20150062178A1 (en) 2013-09-05 2015-03-05 Facebook, Inc. Tilting to scroll

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080165210A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Animations

Also Published As

Publication number Publication date
CA2906181C (en) 2016-12-13
JP6110011B2 (ja) 2017-04-05
BR112015024088A2 (pt) 2017-07-18
EP2976697A4 (en) 2016-11-30
US20170024099A1 (en) 2017-01-26
AU2014236107B2 (en) 2017-04-27
CN105247454A (zh) 2016-01-13
US10540079B2 (en) 2020-01-21
US20180232122A1 (en) 2018-08-16
WO2014153279A1 (en) 2014-09-25
CA2946879C (en) 2019-02-26
IL241693A (en) 2017-03-30
AU2018274945A1 (en) 2019-01-03
JP2017142812A (ja) 2017-08-17
AU2017204633B2 (en) 2018-09-06
AU2014236107A1 (en) 2015-11-05
IL250866A0 (en) 2017-04-30
CN110096137A (zh) 2019-08-06
KR20190014594A (ko) 2019-02-12
KR20150130560A (ko) 2015-11-23
MX2015013392A (es) 2016-07-05
KR20170117213A (ko) 2017-10-20
CA3030126A1 (en) 2014-09-25
AU2017204633A1 (en) 2017-07-27
CA2906181A1 (en) 2014-09-25
US9459705B2 (en) 2016-10-04
EP2976697A1 (en) 2016-01-27
JP2018129088A (ja) 2018-08-16
KR101949415B1 (ko) 2019-02-18
JP6328815B2 (ja) 2018-05-23
CA2946879A1 (en) 2014-09-25
US20140267441A1 (en) 2014-09-18
MX347571B (es) 2017-05-03
US10019147B2 (en) 2018-07-10
JP2016517604A (ja) 2016-06-16
CN105247454B (zh) 2019-01-18

Similar Documents

Publication Publication Date Title
KR101785598B1 (ko) 기울여서 스크롤하기
AU2014315443B2 (en) Tilting to scroll
KR101756324B1 (ko) 기울여서 스크롤하기

Legal Events

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