KR20140092908A - 입력 맵핑 영역들 - Google Patents

입력 맵핑 영역들 Download PDF

Info

Publication number
KR20140092908A
KR20140092908A KR1020147015997A KR20147015997A KR20140092908A KR 20140092908 A KR20140092908 A KR 20140092908A KR 1020147015997 A KR1020147015997 A KR 1020147015997A KR 20147015997 A KR20147015997 A KR 20147015997A KR 20140092908 A KR20140092908 A KR 20140092908A
Authority
KR
South Korea
Prior art keywords
input
client
application
touch screen
computing device
Prior art date
Application number
KR1020147015997A
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 KR20140092908A publication Critical patent/KR20140092908A/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/02Telephonic communication systems specially adapted for combination with other electrical systems with bell or annunciator systems
    • H04M11/025Door telephones

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

터치 감응 디바이스(touch sensitive device) 상에 다양한 형태의 사용자 동작들을 구현하기 위한 다양한 실시예들이 개시된다. 터치 스크린 디스플레이 디바이스 상에 발생된 터치 입력(touch input)은 그래픽 유저 인터페이스 이벤트(graphical user interface event)로 변환된다. 하나 이상의 터치 입력 이벤트들이, 적어도 부분적으로 하나 이상의 클라이언트들(clients)로부터의 입력에 따라, 상기 미디어 애플리케이션에 제공된다. 상기 클라이언트로부터 수신된 상기 터치 입력은 대응하는 사용자 동작에 맵핑된다. 상기 미디어 애플리케이션은 상기 사용자 동작을 수행하고, 출력 데이터를 입수하며, 애플리케이션 스트림(application stream)을 상기 각각의 클라이언트들에게 전송한다.

Description

입력 맵핑 영역들{INPUT MAPPING REGIONS}
본 출원은 일련 번호 제13/295,133호가 할당되고 2011년 11월 14일에 출원되었으며 "입력 맵핑 영역들(INPUT MAPPING REGIONS)"로 명명된 계류중인 미국 정규출원에 대한 우선권을 주장하며, 상기 출원의 전체 내용은 본 출원에 참고로 통합된다.
브라우저(browser) 또는 모바일 애플리케이션 사용자 인터페이스(mobile application user interface)와의 상호작용은, 예를 들면, 키보드, 마우스, 트랙볼(trackball), 조이스틱(joystick), 터치 스크린, 또는 기타 입력 장치와 같은, 다양한 입력 장치들을 이용한 입력을 포함한다. 입력 메커니즘들은 전송될 수 있는 이벤트들의 수와 종류에 따라 다르다. 또한, 이용가능한 입력 장치들의 범위는 기술이 발전함에 따라 확대되고 있다.
본 출원의 많은 측면들이 다음의 도면들을 참조하면 더 잘 이해될 수 있을 것이다. 도면에서 구성요소들은 반드시 일정한 비율로 되어있지는 않으며, 대신에 본 개시의 원리를 명확히 도시하는데 중점을 두고 있다. 또한, 도면에서, 동일한 참조 번호는 여러 도면에 걸쳐 대응하는 부분을 나타낸다.
도 1은 본 개시의 다양한 실시예들에 따른 네트워크 환경의 도면이다.
도 2는 본 개시의 다양한 실시예들에 따른 도 1의 네트워크 환경에서 클라이언트에 의해 렌더링된(rendered) 사용자 인터페이스의 일례의 도면이다.
도 3은 본 개시의 다양한 실시예들에 따른 도 1의 네트워크 환경에서 컴퓨팅 디바이스에서 실행되는 입력 맵핑 애플리케이션(input mapping application)의 일부로서 구현된 기능의 일례를 도시한 흐름도이다.
도 4는 본 개시의 다양한 실시예들에 따른 도 1의 네트워크 환경에서 사용된 컴퓨팅 디바이스의 일례를 도시한 개략적인 블록도이다.
본 개시는 미디어 애플리케이션용 터치 감응 클라이언트 디바이스(touch sensitive client device) 상에서 다양한 사용자 동작들(user actions)을 구현하는 것에 관한 것이다. 본 개시의 다양한 실시예들은 터치 감응 클라이언트 디바이스로부터 수신된 터치 이벤트들을 미디어 애플리케이션(media application)이 인식가능한 대응 입력들(corresponding inputs)로서 번역하는 것을 원활하게 한다. 예를 들면, 일부 실시예들에서, 미디어 애플리케이션은 서버와 같은 컴퓨팅 디바이스에 의해 실행될 수 있다. 상기 미디어 애플리케이션은 궁극적으로 터치 감응 클라이언트 디바이스 상에 사용자 인터페이스의 형태로 렌더링되는 비디오 전송을 발생시킨다. 상기 클라이언트 디바이스로부터의 입력은 네트워크를 통해 입력 맵핑 애플리케이션(input mapping application)에 의해 수신되고, 이어서 상기 미디어 애플리케이션에 의해 인식된 대응 입력으로서 번역될 수 있다. 상기 미디어 애플리케이션은 적절한 사용자 동작을 수행하고, 네트워크를 통해 상기 터치 감응 클라이언트 디바이스에 전송되는 상기 비디오 전송에 대해 출력의 적절한 변경으로 응답한다. 다음의 논의에서, 상기 시스템 및 그 구성요소들에 대해 설명하며, 이어서 상기 시스템 및 그 구성요소들의 작동에 대해 설명한다.
도 1을 참조하면, 다양한 실시예들에 따른 네트워크 환경(100)이 도시되어 있다. 상기 네트워크 환경(100)은 컴퓨팅 디바이스(103), 하나 이상의 클라이언트 디바이스들(106), 및 네트워크(109)를 포함한다. 상기 네트워크(109)는, 예를 들면, 인터넷, 인트라넷들(intranets), 엑스트라넷들(extranets), 광역 네트워크들(wide area networks, WANs), 로컬 영역 네트워크들(local area networks, LANs), 유선 네트워크들, 무선 네트워크들, 또는 기타 적합한 네트워크들 등, 또는 둘 이상의 상기 네트워크들의 임의의 조합을 포함한다.
상기 컴퓨팅 디바이스(103)는, 예를 들면, 서버 컴퓨터 또는 컴퓨팅 능력을 제공하는 다른 어떤 시스템을 포함할 수 있다. 대안적으로, 복수의 컴퓨팅 디바이스들(103)이, 예를 들면, 하나 이상의 서버 뱅크들(server banks) 또는 컴퓨터 뱅크들(computer banks), 또는 기타 배치들로 배치되어 이용될 수 있다. 예들 들면, 복수의 컴퓨팅 디바이스들(103)이 함께 클라우드 컴퓨팅 자원(cloud computing resource), 그리드 컴퓨팅 자원(grid computing resource), 및/또는 다른 어떤 분산 컴퓨팅 배치(distributed computing arrangement)를 포함할 수 있다. 그러한 컴퓨팅 디바이스들(103)은 단일 설치 장소에 위치할 수 있거나 또는 많은 서로 다른 지리적 장소들 간에 분산될 수 있다. 편의상, 상기 컴퓨팅 디바이스(103)는 본 명세서에서 단수형으로 지칭한다. 상기 컴퓨팅 디바이스가 단수형으로 지칭된다 하더라도, 복수의 컴퓨팅 디바이스들(103)이, 상기한 바와 같이, 다양한 배치들에 이용될 수 있다.
다양한 애플리케이션들 및/또는 다른 기능이 다양한 실시예들에 따른 상기 컴퓨팅 디바이스(103)에서 실행될 수 있다. 또한, 다양한 데이터가 상기 컴퓨팅 디바이스(103)에 액세스가능한 데이터 저장소(data store, 113)에 저장된다. 상기 데이터 저장소(113)는, 이해할 수 있는 바와 같이, 복수의 데이터 저장소들(113)을 대표할 수 있다. 상기 데이터 저장소(113)에 저장된 데이터는, 예를 들면, 다양한 애플리케이션들 및/또는 하기의 기능적 엔티티들(entities)의 작동과 연관된다.
상기 컴퓨팅 디바이스(103)에서 실행되는 상기 구성요소들은, 예를 들면, 미디어 애플리케이션(116), 입력 맵핑 애플리케이션(119), 및 기타 애플리케이션들, 서비스들, 프로세스들, 시스템들, 엔진들(engines), 또는 본 명세서에서는 상세히 논의되지 않는 기능을 포함한다. 상기 미디어 애플리케이션(116)은, 예를 들면, 터치 스크린 디스플레이 디바이스(touch screen display device, 146)를 포함할 수 있는 상기 클라이언트(106)에, 애플리케이션에 의해 생성된 비디오 및/또는 기타 미디어를 올리거나(serve up) 또는 스트림(stream)하기 위해 실행된다. 이를 위해, 상기 미디어 애플리케이션(116)은, 예를 들면, 게임들, 시뮬레이션들, 지도들, 영화들, 비디오들, 및/또는 기타 멀티미디어 파일들과 같은, 다양한 스트리밍 또는 다른 전송된 컨텐츠를 발생시킬 수 있다.
상기 미디어 애플리케이션(116)은, 예를 들면, 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol, HTTP), 단순 객체 액세스 프로토콜(simple object access protocol, SOAP), 실시간 전송 프로토콜(real-time transport protocol, RTP), 실시간 스트리밍 프로토콜(real time streaming protocol, RTSP), 실시간 메시징 프로토콜(real time messaging protocol, RTMP), 사용자 데이터그램 프로토콜(user datagram protocol, UDP), 전송 제어 프로토콜(transmission control protocol, TCP), 및/또는 상기 네트워크(109)를 통해 데이터를 통신하기 위한 기타 프로토콜들과 같은, 다양한 프로토콜들을 통해 상기 클라이언트(106)와 통신할 수 있다. 상기 입력 맵핑 애플리케이션(119)은, 예를 들면, 호버링(hovering), 선택(selecting), 스크롤링(scrolling), 주밍(zooming), 및/또는 기타 작동들을 포함하는, 상기 클라이언트(106)으로부터의 다양한 사용자 입력들의 수신을 원활하게 하기 위해 실행된다.
상기 데이터 저장소(113)에 저장된 데이터는, 예를 들면, 터치 스크린 모델(들)(123), 사용자 계정(들)(126), 및 잠재적으로 기타 데이터를 포함한다. 상기 각각의 터치 스크린 모델(들)(123)은, 예를 들면, 사양(specifications, 129), 입력 맵핑 영역들(133) 및/또는 기타 정보를 포함하는, 해당 모바일 디바이스와 연관된 다양한 데이터를 포함한다. 또한, 상기 각각의 터치 스크린 모델(들)(123)과 연관된 사양(129)은 치수(dimensions), 크기(size), 구조(structure), 형태(shape), 응답 시간(response time), 및/또는 기타 데이터를 포함하는 다양한 데이터를 포함할 수 있다. 입력 맵핑 영역들(133)은 상기 미디어 애플리케이션(116)의 특정 기능들이 할당된 터치 스크린 디스플레이 디바이스(146)에 정의된 영역들이다. 그러한 영역들에서 발생하는 터치 이벤트들은 궁극적으로 상기 미디어 애플리케이션(116)에 의해 인식되는 대응 입력들로서 번역된다. 터치 이벤트들은 상기 터치 스크린 디스플레이 디바이스(146)와의 접촉 지점들 및 상기 터치 스크린 디스플레이 디바이스(146)에 대한 이들 지점들의 변화들을 나타낸다. 터치 이벤트들은, 예를 들면, 탭(tap) 이벤트들, 드래그(drag) 이벤트들, 핀치(pinch) 이벤트들, 마우스 업(mouse up) 이벤트들, 마우스 다운(mouse down) 이벤트들, 마우스 이동(mouse move) 이벤트들, 및/또는 기타 상기 터치 스크린 디스플레이 디바이스(146)와의 접촉 지점들을 포함할 수 있다. 상기 미디어 애플리케이션(116)에 의해 인식되는 입력들은, 예를 들면, 이후 설명될 바와 같은, 스크롤(scroll) 명령들, 호버(hover) 명령들, 줌 명령들, 또는 기타 명령들을 포함할 수 있다.
각 사용자 계정(126)은 미디어 애플리케이션(116)과 상호작용하기 위해 클라이언트(106)를 이용하는 사용자와 연관된 다양한 데이터를 포함한다. 각 사용자 계정(126)은, 사용자 이름, 패스워드, 보안 자격증명(security credential), 인가된(authorized) 애플리케이션들, 및/또는 기타 데이터와 같은, 사용자 정보(136)를 포함한다. 커스텀화 데이터(customization data, 139)는, 사용자 커스텀화 또는 상기 입력 맵핑 영역들(133)의 디폴트 버전들(default versions)의 변경들을 지정하는(specify) 클라이언트(106)를 사용하는 사용자에 의한 설정들(settings)을 포함한다. 또한, 커스텀화 데이터(139)는 상기 사용자 관점 환경의 기타 다양한 측면들을 포함할 수 있다. 클라이언트(106)를 사용하는 사용자가 상기 입력 맵핑 영역들(133)을 커스텀화하는 경우, 상기 컴퓨팅 디바이스(103)는, 상기 클라이언트(106) 상에 렌더링된 미디어 애플리케이션(116)과의 상호작용에 사용하기 위해, 상기 데이터 저장소(113)의 상기 입력 맵핑 영역들(133)의 커스텀화 버전들을 정의하는 커스텀화 데이터(139)를 유지한다. 상기 커스텀화 데이터(139)는 상기 미디어 애플리케이션(116)에 의해 정상적으로 저장된 상기 입력 맵핑 영역들(133)과 연관된 데이터에 대응할 수 있거나, 또는 언제든지 재개될 수 있는 상기 미디어 애플리케이션(116)의 메모리 이미지(memory image)에 대응할 수 있다.
상기 클라이언트(106)는 상기 네트워크(109)와 결합될 수 있는 복수의 클라이언트 디바이스들을 대표한다. 상기 클라이언트(106)는, 예를 들면, 컴퓨터 시스템과 같은, 프로세서 기반 시스템을 포함할 수 있다. 그러한 컴퓨터 시스템은 데스크탑 컴퓨터, 랩탑 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant), 셀룰러 전화, 음악 플레이어들, 웹 패드들(web pads), 태블릿 컴퓨터 시스템들, 게임 콘솔들, 터치 스크린 모니터들, 태블릿 컴퓨터들, 스마트폰들, 또는 유사 기능을 갖는 기타 디바이스들의 형태로 구현될 수 있다.
상기 클라이언트(106)는 터치 스크린 디스플레이 디바이스(146)를 포함할 수 있으며, 또한 하나 이상의 기타 입력 장치들을 포함할 수 있다. 그러한 입력 장치들은, 예를 들면, 키보드, 마우스, 조이스틱, 가속도계, 라이트 건(light gun), 게임 컨트롤러, 터치 패드, 터치 스틱(touch stick), 누름 버튼(push button), 광학 센서(optical sensor), 마이크(microphone), 웹캠(webcam), 및/또는 사용자 입력을 제공할 수 있는 기타 모든 장치들과 같은, 장치들을 포함할 수 있다.
상기 클라이언트(106)는 클라이언트 측 애플리케이션(143) 및/또는 기타 애플리케이션들과 같은 다양한 애플리케이션들을 실행하도록 구성될 수 있다. 상기 클라이언트 측 애플리케이션(143)은 사용자가 상기 컴퓨팅 디바이스(103)에서 실행되는 미디어 애플리케이션(116)을 론칭하고, 플레이시키고, 및 상기 미디어 애플리케이션과의 기타 상호작용을 할 수 있도록 실행된다. 이를 위해, 상기 클라이언트 측 애플리케이션(143)은 터치 스크린 디스플레이 디바이스(146) 및/또는 기타 입력 장치들을 통해 사용자에 의해 제공된 입력을 수신하고 이 입력을 상기 네트워크(109)를 통해 상기 컴퓨팅 디바이스(103)에 입력 데이터로서 전송하도록 구성된다. 상기 클라이언트 측 애플리케이션(143)은 또한 출력 비디오, 오디오, 및/또는 상기 네트워크(109)를 통한 상기 컴퓨팅 디바이스(103)로부터의 기타 데이터를 입수하여 상기 터치 스크린 디스플레이 디바이스(146) 상에 미디어 애플리케이션(116)의 뷰(view)를 렌더링하도록 구성된다. 이를 위해, 상기 클라이언트 측 애플리케이션(143)은, 미디어 애플리케이션(116)에 의해 발생된 미디어 스트림을 재생하기 위해, 하나 이상의 비디오 및 오디오 플레이어들을 포함할 수 있다. 일 실시예에서, 상기 클라이언트 측 애플리케이션(143)은 브라우저 애플리케이션 내에 플러그인(plug-in)을 포함한다. 상기 클라이언트 측 애플리케이션(143)은, 예를 들면, 웹 페이지들 또는 상기 컴퓨팅 디바이스(103) 및/또는 기타 서버들에 의해 올려진(served up) 기타 네트워크 콘텐츠와 같은, 네트워크 페이지들을 액세스하고 렌더링하기 위해, 클라이언트(106)에서 실행될 수 있다. 이를 위해, 상기 클라이언트 측 애플리케이션(143)은 스트리밍된 또는 기타 다른 전송된 컨텐츠를 사용자 인터페이스(149)의 형태로 터치 스크린 디스플레이 디바이스(146) 상에 렌더링한다. 상기 클라이언트(143)는, 예를 들면, 브라우저 애플리케이션들, 이메일 애플리케이션들, 인스턴트 메시지(instant message) 애플리케이션들, 및/또는 기타 애플리케이션들과 같은, 클라이언트 측 애플리케이션(143)을 능가하는(beyond client side application(143)) 애플리케이션들을 실행하도록 구성될 수 있다.
다음에, 상기 네트워크 환경(100)의 상기 다양한 구성요소들의 일반적인 설명이 제공된다. 먼저, 클라이언트(106)에서의 사용자는 미디어 애플리케이션(116)을 론칭하기 위해 컴퓨팅 디바이스(103)에 요청을 보낸다. 상기 컴퓨팅 디바이스(103)는 상기 적절한 사용자 입력에 응답하여 미디어 애플리케이션(116)을 실행한다. 제 1 액세스 시에, 상기 미디어 애플리케이션(106)은 상기 클라이언트(106)의 터치 스크린 모델(123)의 유형을 결정하기 위해 상기 클라이언트(106)에 대해 질의할(query) 수 있다. 일 실시예에서, 초기 설정으로서, 상기 미디어 애플리케이션(116)은, 터치 스크린 모델(123)의 유형에 근거하여, 상기 클라이언트(106)에서 다양한 입력을 위해 사용될 상기 입력 맵핑 영역들(133)을 결정할 수 있다. 다른 실시예에서, 초기 설정으로서, 상기 미디어 애플리케이션(116)은, 미디어 애플리케이션의 유형에 근거하여, 상기 클라이언트(106)에서 다양한 입력을 위해 사용될 상기 입력 맵핑 영역들(133)을 결정할 수 있다. 입력 맵핑 영역들(133)은 애플리케이션들의 서로 다른 유형들, 애플리케이션들의 클래스들(classes), 클라이언트들의 서로 다른 유형들, 클라이언트들의 서로 다른 클래스들, 및/또는 기타 고려사항들에 따라 달라질 수 있다.
또한, 상기 미디어 애플리케이션(116)은, 사용자 계정(126)이 이미 설정되어 있지 않은 경우, 상기 사용자 계정(126)의 설정을 위한 하나 이상의 사용자 인터페이스들(149)을 제공함으로써 상기 사용자 계정(126)의 생성을 원활하게 할 수 있다. 예를 들면, 상기 미디어 애플리케이션(116)은 사용자가 상기 사용자 계정(126)을 위한 이름, 상기 사용자 계정(126)을 위한 패스워드, 및/또는 상기 사용자 계정(126)을 설정하기 위한 다른 어떤 파라미터 또는 사용자 정보를 표시하게 할 수 있다. 다른 실시예에서, 상기 미디어 애플리케이션(116)은, 클라이언트(106)의 사용자가 입력 맵핑 영역들(133)을 커스텀화하기를 원하는 경우, 상기 입력 맵핑 영역들(133)과 연관된 커스텀화 데이터(139)의 지정(specification)을 원활하게 한다. 결과적으로, 상기 미디어 애플리케이션(116)은 그러한 커스텀화에 근거하여 상기 하나 이상의 입력 맵핑 영역들(133)의 면적을 조정할 수 있으며, 여기서 그러한 변경들은 상기 커스텀화 데이터(139)로서 저장될 수 있다.
일 실시예에서, 클라이언트(106)를 사용하는 사용자는 손가락, 스타일러스(stylus), 및/또는 다른 장치를 이용하여 상기 터치 스크린 디스플레이 디바이스(146)를 터치한다. 상기 터치 이벤트에 대응하는 좌표 입력이 상기 클라이언트 측 애플리케이션(143)에 의해 발생되어 상기 입력 맵핑 애플리케이션(119)으로 전송된다. 상기 입력 맵핑 애플리케이션(119)은 상기 터치 이벤트가 상기 입력 맵핑 영역들(133) 중 하나 이내에서 발생했는지 여부를 결정한다. 상기 입력 맵핑 애플리케이션(119)이 상기 터치 이벤트가 상기 입력 맵핑 영역들(133) 중 하나 이내에서 발생했다고 결정하는 경우, 상기 입력 맵핑 애플리케이션(119)은 클라이언트 측 애플리케이션(143)에서 수신된 상기 터치 이벤트를, 예를 들면, 호버링(hovering), 선택(selecting), 스크롤링(scrolling), 주밍(zooming) 및/또는 기타 동작들과 같은, 상기 미디어 애플리케이션에 의해 인식가능한 대응 입력(corresponding input)으로서 번역한다. 상기 입력 맵핑 애플리케이션(119)은 다음에 상기 대응 입력을 미디어 애플리케이션(116)으로 전송한다.
상기 미디어 애플리케이션(116)은 상기 적절한 사용자 동작을 수행하고 상기 비디오 전송에서 그래픽 출력을 변경한다(modify). 상기 미디어 애플리케이션(116)은 계속적으로 상기 비디오 전송을 상기 네트워크(109)를 통해 상기 클라이언트 측 애플리케이션(143)에 상기 출력 데이터로서 전송한다. 궁극적으로, 상기 클라이언트(106)의 상기 사용자에 의해 수행된 상기 터치 이벤트의 효과는, 예를 들면, 호버링(hovering), 선택(selecting), 스크롤링(scrolling), 주밍(zooming) 및/또는 기타 동작들과 같은, 대응하는 사용자 동작으로서 상기 클라이언트 측 애플리케이션(143)에 반영될 수 있다. 또한, 클라이언트(106)에서 발생된 터치 이벤트들은 다른 유형의 입력 장치에 의해 발생된 다른 유형의 입력들로서 맵핑될 수 있다. 예를 들면, 주밍(zooming)을 가능하게 하기 위해 사용되는, 터치스크린 상에서 두 손가락을 함께 움직이는 것에 대응하는 핀치 제스처(pinch gesture)는 상기 미디어 애플리케이션(116)에 의해 인식되는 스크롤 휠 줌 동작(scroll wheel zoom action)으로서 번역될 수 있다.
비제한적인 예로서, 터치 이벤트가 스크롤링 동작과 상호연관된 상기 입력 맵핑 영역들(133) 중 하나에서 수신된 경우, 상기 입력 맵핑 애플리케이션(119)은 상기 터치 이벤트를 스크롤링 입력으로 맵핑하고 상기 스크롤 입력을 미디어 애플리케이션(116)으로 전송한다. 미디어 애플리케이션(116)은 상기 비디오 전송의 뷰를 상기 각각의 입력 맵핑 영역(133)과 연관된 정해진 방향으로 스크롤한다. 상기 스크롤링되는 비디오 전송은 상기 미디어 애플리케이션(116)에 의해 상기 네트워크(109)를 통해 상기 클라이언트(106)에 상기 출력 데이터로서 전송된다. 상기 클라이언트 측 애플리케이션(143)은 상기 출력 데이터를 입수하여 상기 터치 스크린 디스플레이 디바이스(146) 상에 상기 스크롤링되는 비디오 전송의 뷰를 렌더링한다.
다음에 도 2를 참조하면, 클라이언트 측 애플리케이션(143)(도 1)에 의해 사용자 인터페이스(149)가 렌더링되는 클라이언트(106)의 일례가 도시되어 있다. 상기 사용자 인터페이스(149)는 상기 네트워크 환경(100)(도 1)에서 상기 클라이언트(106)의 상기 터치 스크린 디스플레이 디바이스(146) 상에 렌더링된다. 구체적으로, 도 2는, 미디어 애플리케이션(116)(도 1)에 의해 발생되고, 비디오 전송으로 인코딩되며, 상기 네트워크(109)(도 1)를 통해 전송되고, 상기 클라이언트 측 애플리케이션(143)에 의해 상기 터치 스크린 디스플레이 디바이스(146) 상에 디스플레이를 위해 렌더링된, 지도로서 묘사된 사용자 인터페이스(149)를 구현하는 비디오 전송의 일례를 묘사하고 있다.
도 2에서 지도의 예가 사용되었지만, 다른 유형의 사용자 인터페이스들(149)이 본 개시의 실시예들에서 사용될 수 있다. 도 2에 나타낸 바와 같은 상기 사용자 인터페이스(149)에서의 다양한 요소들의 배치(layout)는 단지 일례로서 제공된 것이며, 이에 제한되지 않는다. 예를 들면, 게임들, 시뮬레이션들, 문서 뷰어들(document viewers), 영화들, 비디오들, 및/또는 다른 유형의 사용자 인터페이스들(149)과 같은, 다른 유형의 사용자 인터페이스들(149)이 사용될 수 있다. 도시한 바와 같이, 뷰(view)는 상기 사용자 인터페이스(149), 복수의 입력 맵핑 영역들(133), 상기 입력 맵핑 영역들(133)의 외부 테두리(outer border, 203), 및 상기 입력 맵핑 영역들(133)의 내부 테두리(inner border, 206)를 묘사하고 있다.
상기 입력 맵핑 영역들(133)은 상기 터치 스크린 디스플레이 디바이스(146)의 좌표 평면과 상호관련된다. 상기 입력 맵핑 영역들(133)은 버튼 활성화 영역들, 선택(selecting) 영역들, 스크롤링(scrolling) 영역들, 및/또는 하나 이상의 사용자 동작들과 연관된 기타 영역들을 포함한다. 일 실시예에서, 상기 각각의 입력 맵핑 영역들(133)은 상기 터치 스크린 디스플레이 디바이스(146)의 뷰잉 영역(viewing area)의 에지(edge)와 정렬된 외부 테두리(203)를 가지며, 여기서 그러한 입력 맵핑 영역들(133)은 스크롤링 입력을 생성하기 위해 이용된다. 일 실시예에서, 상기 스크롤 동작의 속도는 상기 각각의 입력 맵핑 영역들(133)의 상기 외부 테두리(203)와 상기 내부 테두리(206) 간의 총 거리 대비 상기 외부 테두리(203)와 터치 이벤트의 좌표 입력 간의 거리에 비례하도록 결정된다. 다른 실시예에서, 상기 스크롤 동작의 속도는 상기 각각의 입력 맵핑 영역들(133)의 상기 외부 테두리(203)와 상기 내부 테두리(206) 간의 총 거리 대비 상기 내부 테두리(206)와 터치 이벤트의 좌표 입력 간의 거리에 비례하도록 결정된다.
도 2에 나타낸 정보를 포함하는, 입력 맵핑 영역들(133)과 같은, 그래픽 구성요소들은 단지 상기 언급한 특정 기능을 성취하기 위해 이용될 수 있는 다양한 유형의 특징들(features)의 예들이다. 상기 클라이언트(106)는 미디어 애플리케이션(116)의 하드웨어 요건들과 분리되어 있기 때문에, 상기 미디어 애플리케이션(116)은 (네트워크(109)를 통해 허용가능한 대역폭(bandwidth) 및 레이턴시(latency)를 갖는 비디오를 전송할 수 있는) 다양한 클라이언트들(106)에 의해 이용될 수 있다. 본 개시의 다양한 실시예들에 따르면, 상기 뷰는 클라이언트(106)와 연관된 터치 스크린 디스플레이 디바이스(146) 상에 렌더링된다.
다른 실시예에서, 본 개시의 다양한 실시예들에 따라, 도 2는 클라이언트 측 애플리케이션(143)의 디스플레이 출력을 묘사하는 뷰를 나타낼 수 있다. 상기 미디어 애플리케이션(116)은 상기 비디오 전송을 생성하고 상기 비디오 전송을 상기 터치 스크린 디스플레이 디바이스(146)의 뷰잉 영역(viewing area)에 디스플레이하기 위해 네트워크(109)를 통해 클라이언트(106)에 보낸다. 예시를 위해, 클라이언트(106)를 사용하는 사용자는, 블리자드 엔터테인먼트(Blizzard Entertainment)가 개발하고 2010년 7월 27일에 출시한 군사 과학 가상 실시간 전략 비디오 게임인 스타크래프트 II(StarCraft II)와 같은, 미디어 애플리케이션(116)을 론칭한다. 클라이언트(106)를 사용하는 사용자는, 터치 이벤트와 연관된 좌표가 복수의 입력 맵핑 영역들(133) 중 하나에 위치하는 경우, 스크롤링 동작을 개시할 수 있다.
따라서, 상기 스타크래프트 II 미디어 애플리케이션(116)은 마우스 스크롤 휠로부터의 입력, 스크롤바(scroll bar)를 드래깅(dragging)하는 것으로부터의 입력, 키보드 화살표 키들로부터의 입력, 및/또는 기타 스크롤 입력 장치들로부터의 입력을 기대할 수 있다. 본 개시의 다양한 실시예들은 상기 입력 맵핑 애플리케이션(119)이 상기 터치 이벤트를, 상기 미디어 애플리케이션(116)이 인식할 수 있는 스크롤 입력과 같은, 적절한 입력으로 맵핑하고 그러한 입력을 상기 스타크래프트 II 미디어 애플리케이션(116)에 전송하도록 할 수 있다. 상기 스타크래프트 II 미디어 애플리케이션(116)은 상기 비디오 전송의 뷰를 스크롤하거나 또는 상기 입력에 따른 다른 적절한 조치를 취한다. 스크롤링의 경우, 스크롤링 방향은 상기 각각의 입력 맵핑 영역(133)의 위치의 방향과 동일하다. 그러나, 일부 클라이언트들(106)에서 스크롤링은 상기 각각의 입력 맵핑 영역(133)의 위치에 반대되는 방향으로 일어날 수 있다는 것을 주의해야 할 것이다. 상기 터치 스크린 디스플레이 디바이스(146)의 뷰잉 영역(viewing area)은 또한 상기 미디어 애플리케이션(116)의 제어, 상기 미디어 애플리케이션(116)으로부터 퇴장(exit), 다른 사용자들과의 통신, 오디오의 제어를 위한 다양한 사용자 인터페이스 구성요소들, 및/또는 기타 구성요소들을 포함할 수 있다.
다음으로 도 3을 참조하면, 다양한 실시예들에 따른 상기 입력 맵핑 애플리케이션(119)(도 1)의 일부의 작동의 일례를 제공하는 흐름도를 나타내고 있다. 도 3의 흐름도는 단지 본 명세서에서 설명하는 상기 입력 맵핑 애플리케이션(119)의 작동을 구현하기 위해 이용될 수 있는 많은 서로 다른 유형의 기능적 배치들 중 일례를 제공하고 있다는 것을 이해해야 할 것이다. 대안으로서, 도 3의 흐름도는, 하나 이상의 실시예들에 따른, 상기 컴퓨팅 디바이스(103)(도 1)에서 구현되는 방법의 단계들의 예를 묘사하는 것으로 볼 수 있다.
상기 흐름도는, 터치 이벤트들, 터치 이벤트들의 조합들, 및/또는 구체적으로 스크롤링을 포함하는 상기 클라이언트(106)로부터의 기타 터치 제스처들을 번역하는데 있어서, 상기 입력 맵핑 애플리케이션(119)의 기능의 예를 보여주고 있다. 스크롤링이 논의되고 있지만, 이는 단지 입력 맵핑 영역(133)의 사용으로 호출될 수 있는 많은 서로 다른 유형의 입력들 중 일례일 뿐이라는 것을 이해해야 할 것이다. 구체적으로, 상기 터치 이벤트들은 터치 또는 상기 터치 스크린 디스플레이 디바이스(도 1)의 다른 조작의 좌표를 표시하는 메시지들을 포함한다. 또한, 도 3의 흐름도는, 마우스 이벤트와 연관된 적어도 하나의 좌표가, 상기 마우스 이벤트를 상기 미디어 애플리케이션(116)에 의해 인식되는 대응하는 스크롤 입력으로서 번역하는, 상기 입력 맵핑 영역들(133) 중 하나의 영역에서 수신된 경우, 상기 입력 맵핑 애플리케이션(119)이 다양한 마우스 이벤트들을 처리하는 방법의 일례를 제공한다. 상기 흐름(flow)은 구체적인 상황들에 따라 달라질 수 있음을 이해해야 할 것이다. 또한 본 명세서에서 설명하는 흐름들이나 사용자 동작들 이외에 다른 흐름들 및 사용자 동작들이 이용될 수 있다는 것을 이해해야 할 것이다.
박스(303)에서 시작하면, 클라이언트(106)(도 1)를 사용하는 사용자가 터치 스크린 디스플레이 디바이스(146)(도 1)의 뷰잉 영역(viewing area)에 표시된 미디어 애플리케이션(116)(도 1)의 비디오 전송의 뷰를 스크롤하고자 하는 경우, 상기 입력 맵핑 애플리케이션(119)은 마우스 이벤트와 연관된 좌표 입력이 스크롤링 동작에 대응하는 상기 복수의 입력 맵핑 영역들(133)(도 2) 중 하나의 영역에 위치하고 있는지 여부를 결정한다. 만약 상기 좌표 입력이 상기 입력 맵핑 영역들(133) 중 하나의 영역에 대응하면, 상기 입력 맵핑 애플리케이션(119)은 박스(316)로 이동한다. 만약 상기 좌표 입력이 스크롤링 동작에 대응하는 상기 입력 맵핑 영역들(133) 중 하나의 영역에 대응하지 않으면, 상기 입력 맵핑 애플리케이션(119)은 박스(306)로 이동하여 이전에 개시된 스크롤링 기능이 진행중인지 여부를 결정한다. 이전에 아무런 스크롤링도 진행되고 있지 않았다고 가정하면, 상기 입력 맵핑 애플리케이션(119)은 종료된다. 만약 스크롤링이 진행중이라면, 상기 입력 맵핑 애플리케이션(119)은 박스(309)로 이동하여 상기 미디어 애플리케이션(116)에게 상기 이전에 개시된 기능을 중지하라는 명령을 전송한다. 그 이후, 상기 입력 맵핑 애플리케이션(119)(도 1)은 종료된다.
만약 박스(303)에서, 상기 좌표 입력이 스크롤링 동작에 대응하는 상기 입력 맵핑 영역들(133) 중 하나에 대응한다면, 상기 입력 맵핑 애플리케이션(119)은 박스(316)으로 이동하여 상기 좌표 입력이 마우스 다운(mouse down) 이벤트와 연관되어 있는지 여부를 결정한다. 상기 좌표 입력이 마우스 다운 이벤트에 대응하지 않는다고 가정하면, 상기 입력 맵핑 애플리케이션(119)은 박스(321)로 이동한다. 만약 상기 좌표 입력이 마우스 다운 이벤트와 연관되어 있다면, 상기 입력 맵핑 애플리케이션(119)은 상기 각각의 입력 맵핑 영역들(133)과 연관된 소정의 방향에 근거하여 상기 스크롤 동작의 방향을 결정한다. 그러한 방향은 수직, 수평, 대각선, 및/또는 기타 방향들일 수 있다.
다음에, 상기 입력 맵핑 애플리케이션(119)은 박스(323)로 진행하여 상기 스크롤 동작의 속도를 결정한다. 일례로서, 상기 입력 맵핑 애플리케이션(119)(도 1)은 상기 스크롤 동작의 속도가 상기 각각의 입력 맵핑 영역(133)의 상기 외부 테두리(203)와 상기 내부 테두리(206) 간의 총 거리 대비 상기 마우스 이벤트의 좌표와 상기 외부 테두리(203)(도 2) 간의 거리에 비례하도록 결정할 수 있다. 다른 예로서, 상기 입력 맵핑 애플리케이션(119)(도 1)은 상기 스크롤 동작의 속도가 상기 각각의 입력 맵핑 영역(133)의 상기 외부 테두리(203)와 상기 내부 테두리(206) 간의 총 거리 대비 상기 마우스 이벤트의 좌표와 상기 내부 테두리(206)(도 2) 간의 거리에 비례하도록 결정할 수 있다. 상기 입력 맵핑 애플리케이션(119)은 다음에, 상기 속도 및 상기 마우스 이벤트의 좌표와 연관된 방향으로 뷰를 스크롤하기 위해, 상기 입력 맵핑 애플리케이션(119)이 스크롤 명령을 미디어 애플리케이션(116)에게 전송하는, 박스(326)로 진행한다. 그 이후, 상기 입력 맵핑 애플리케이션(119)은 종료된다.
상기 마우스 이벤트가 박스(316)에서 결정된 바와 같이 마우스 다운 이벤트가 아니라고 가정하면, 상기 입력 맵핑 애플리케이션(119)은 박스(321)로 진행된다. 박스(321)에서, 상기 입력 맵핑 애플리케이션(119)은 상기 좌표 입력이 상기 입력 맵핑 영역들(133)의 외부에 위치한 상기 터치 스크린 디스플레이 디바이스(146)의 위치로부터 상기 입력 맵핑 영역들(133) 중 하나의 영역 내로의 드래그 동작(drag-action)과 연관되어 있는지 여부를 결정한다. 일례로서, 클라이언트(106)를 사용하는 사용자는 초기에 터치 입력을 상기 입력 맵핑 영역들(133)(도 2) 외부의 상기 터치 스크린 디스플레이 디바이스(146)에게 제공할 수 있다. 그 다음에, 상기 클라이언트를 사용하는 사용자는 사용자의 손가락, 스타일러스(stylus), 및/또는 다른 구현을 드래그하여 상기 입력 맵핑 영역들(133) 중 하나의 영역 내로 이동하도록 할 수 있다. 그렇게 하여, 상기 마우스 이벤트는 상기 터치 스크린 디스플레이 디바이스(146) 상의 다른 위치로부터 상기 입력 맵핑 영역들(133) 중 하나의 영역 내로 이동한다. 구체적으로, 마우스 위치 이벤트들은 상기 마우스의 상기 위치를 나타내는 이동 중에 어느 때라도 주기적으로 발생될 수 있다. 만약 상기 마우스 이벤트가 상기 각각의 입력 맵핑 영역들(133)로의 이동을 나타내면, 상기 입력 맵핑 애플리케이션(119)은 박스(319)로 진행되어 상기한 바와 같이 상기 스크롤 동작의 방향을 결정한다. 그 이후, 상기 입력 맵핑 애플리케이션(119)은 종료된다.
만약 상기 좌표 입력이, 박스(321)에 의해 결정된 바와 같이, 상기 입력 맵핑 영역들(133) 중 하나의 영역 내로의 드래그 동작과 연관되어 있지 않다면, 상기 입력 맵핑 애플리케이션(119)은 박스(333)로 진행된다. 박스(333)에서, 상기 입력 맵핑 애플리케이션(119)은 상기 좌표 입력이 상기 입력 맵핑 영역들(133) 중 하나의 영역 내에서의 드래그 동작과 연관되어 있는지 여부를 결정한다. 만약 상기 좌표 입력인 상기 입력 맵핑 영역들(133) 중 하나의 영역 내에서의 드래그 동작과 연관되어 있다면, 상기한 바와 같이, 상기 입력 맵핑 애플리케이션(119)은 박스(323)로 이동하여 스크롤 속도의 변화가 필요한지 여부를 결정한다. 그렇지 않으면, 상기 입력 맵핑 애플리케이션(119)은 박스(336)로 진행되어 상기 스크롤 동작을 중지시키기 위해 상기 미디어 애플리케이션(116)에게 명령을 전송한다. 그 이후, 상기 입력 맵핑 애플리케이션(119)은 종료된다.
도 4를 참조하면, 본 개시의 실시예에 따른 상기 컴퓨팅 디바이스(103)의 개략적인 블록도가 도시되어 있다. 상기 컴퓨팅 디바이스(103)는, 예를 들면, 로컬 인터페이스(local interface, 409)에 모두 결합되어 있는 프로세서(406) 및 메모리(403)를 갖는, 적어도 하나의 프로세서 회로(processor circuit)를 포함한다. 이를 위해, 상기 컴퓨팅 디바이스(103)는, 예를 들면, 적어도 하나의 서버 컴퓨터 또는 유사 장치를 포함할 수 있다. 상기 로컬 인터페이스(409)는, 예를 들면, 어드레스/제어 버스(address/control bus)를 수반하는 데이터 버스(data bus) 또는, 이해할 수 있는 바와 같이, 다른 버스 구조를 포함할 수 있다.
데이터 및 상기 프로세서(406)에 의해 실행가능한 여러 구성요소들 모두가 상기 메모리(403)에 저장된다. 특히, 상기 미디어 애플리케이션(116), 입력 맵핑 애플리케이션(119) 및 잠재적으로 다른 애플리케이션들은 상기 메모리(403)에 저장되고 또한 상기 프로세서(406)에 의해 실행될 수 있다. 데이터 저장소(113) 및 기타 데이터도 또한 상기 메모리(403)에 저장될 수 있다. 또한, 운영 체제(operating system)는 상기 메모리(403)에 저장되고 상기 프로세서(406)에 의해 실행가능할 수 있다.
이해할 수 있는 바와 같이, 상기 메모리(403)에 저장되고 상기 프로세서(406)에 의해 실행가능한 다른 애플리케이션들이 있을 수 있다는 것을 알 수 있을 것이다. 본 명세서에서 논의된 어떤 구성요소가 소프트웨어의 형태로 구현되는 경우, 예를 들면, C, C++, C#, 오브젝티브 C(Objective C), 자바(Java), 자바스크립트(Javascript), 펄(Perl), PHP, 비주얼 베이직(Visual Basic), 파이썬(Python), 루비(Ruby), 델파이(Delphi), 플래시(Flash), 또는 기타 프로그래밍 언어들과 같은, 다수의 프로그래밍 언어들 중 어느 하나가 이용될 수 있다.
다수의 소프트웨어 구성요소들이 상기 메모리(403)에 저장되고 상기 프로세서(406)에 의해 실행가능하다. 이러한 관점에서, "실행가능(executable)"이란 용어는 궁극적으로 상기 프로세서(406)에 의해 실행될 수 있는 형태의 프로그램 파일을 의미한다. 실행가능한 프로그램들의 예로는, 예를 들면, 상기 메모리(403)의 랜덤 액세스 부분으로 로딩되어 상기 프로세서(406)에 의해 실행될 수 있는 형식(format)의 기계 코드(machine code)로 번역될 수 있는 컴파일된 프로그램(compiled program), 상기 메모리(403)의 랜덤 액세스 부분으로 로딩되어 상기 프로세서(406)에 의해 실행될 수 있는 객체 코드(object code)와 같은 적절한 형식으로 표현될 수 있는 소스 코드, 또는 상기 메모리(403)의 랜덤 액세스 부분에 명령들(instructions)을 생성하여 상기 프로세서(406)에 의해 실행되도록 하기 위해 다른 실행가능한 프로그램에 의해 해석될 수 있는 소스코드 등일 수 있다. 실행가능한 프로그램은, 예를 들면, 랜덤 액세스 메모리(random access memory, RAM), 판독 전용 메모리(read-only memory, ROM), 하드 드라이브, 솔리드 스테이트 드라이브(solid-state drive), USB 플래시 드라이브, 메모리 카드, 컴팩트 디스크(compact disc, CD) 또는 디지털 다기능 디스크(digital versatile disc, DVD)와 같은 광 디스크(optical disc), 플로피 디스크, 자기 테이프(magnetic tape), 또는 기타 메모리 구성요소들을 포함하는, 상기 메모리(403)의 어떤 부분 또는 구성요소에도 저장될 수 있다.
상기 메모리(403)는 본 명세서에서 휘발성 및 비휘발성 메모리 양자 모두 및 데이터 저장 구성요소들을 포함하는 것으로 정의된다. 휘발성 구성요소들은 전원이 꺼졌을 때 데이터 값들을 유지하지 않는 것들이다. 비휘발성 구성요소들은 전원이 꺼졌을 때 데이터 값들을 유지하는 것들이다. 따라서, 상기 메모리(403)는, 예를 들면, 랜덤 액세스 메모리(random access memory, RAM), 판독 전용 메모리(read-only memory, ROM), 하드 디스크 드라이브들, 솔리드 스테이트 드라이브들, USB 플래시 드라이브들, 메모리 카드 리더를 통해 액세스되는 메모리 카드들, 연관된 플로피 디스크 드라이브를 통해 액세스되는 플로피 디스크들, 광 디스크 드라이브를 통해 액세스되는 광 디스크들, 적절한 테이프 드라이브를 통해 액세스되는 자기 테이프들, 및/또는 기타 메모리 구성요소들, 또는 이러한 메모리 구성요소들의 어떤 둘 이상의 조합을 포함할 수 있다. 또한, 상기 RAM은, 예를 들면, 정적 랜덤 액세스 메모리(static random access memory, SRAM), 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 또는 자기적 랜덤 액세스 메모리(magnetic random access memory, MRAM) 및 다른 그러한 장치들을 포함할 수 있다. 상기 ROM은, 예를 들면, 프로그램가능한 판독 전용 메모리(programmable read-only memory, PROM), 소거가능 프로그램가능한 판독 전용 메모리(erasable programmable read-only memory, EPROM), 전기적 소거가능 프로그램가능한 판독 전용 메모리(electrically erasable programmable read-only memory, EEPROM), 또는 기타 유사 메모리 장치를 포함할 수 있다.
또한, 상기 프로세서(406)는 다수의 프로세서들(406)을 대표할 수 있으며, 상기 메모리(403)는 병렬 처리 회로들(parallel processing circuits)에서 작동하는 다수의 메모리들(403)을 대표할 수 있다. 그러한 경우에, 상기 로컬 인터페이스(409)는 상기 다수의 프로세서들(406) 중 어느 두 프로세서들 사이, 어떤 프로세서(406)와 메모리들(403) 중 어떤 메모리 사이, 또는 상기 메모리들(403) 중 어느 두 메모리들 사이 등의 통신을 원활하게 하는 적절한 네트워크(109)(도 1)일 수 있다. 상기 로컬 인터페이스(409)는, 예를 들면, 부하 균등화(load balancing)를 포함하여, 이러한 통신을 조정하도록(coordinate) 설계된 추가적인 시스템들을 포함할 수 있다. 상기 프로세서(406)는 전기적 또는 다른 이용가능한 구조(construction)일 수 있다.
상기한 바와 같이, 상기 미디어 애플리케이션(116), 상기 입력 맵핑 애플리케이션(119), 및 본 명세서에서 설명한 기타 다양한 시스템들은 범용(general purpose) 하드웨어에 의해 실행되는 소프트웨어 또는 코드로 구현될 수 있지만, 대안으로서, 상기한 것들은 또한 전용(dedicated) 하드웨어, 또는 소프트웨어/범용 하드웨어 및 전용 하드웨어의 조합으로 구현될 수도 있다. 전용 하드웨어로 구현되는 경우, 상기한 것들 각각은 다수의 기술들 중 어느 하나 또는 이들의 조합을 이용하는 회로 또는 상태 기계(state machine)로서 구현될 수 있다. 이러한 기술들은 하나 이상의 데이터 신호들의 인가(application)시에 다양한 논리 함수들(logic functions)을 구현하기 위한 논리 게이트들(logic gates)을 갖는 개별(discrete) 논리 회로들, 적절한 논리 게이트들을 갖는 애플리케이션 특정(application specific) 집적 회로들, 또는 기타 구성요소들 등을 포함할 수 있으나, 이에 제한되지 않는다. 그러한 기술들은 일반적으로 본 발명이 속하는 기술분야의 숙련된 자들에 의해 잘 알려져 있으며, 따라서 본 명세서에서는 상세히 설명하지 않는다.
도 3의 흐름도는 상기 입력 맵핑 애플리케이션(119)을 포함하는 상기 미디어 애플리케이션(116)의 일부의 구현예의 기능 및 작동을 나타내고 있다. 소프트웨어로 구현되는 경우, 각 블록은 모듈, 세그먼트(segment), 또는 상기 특정 논리 함수(들)를 구현하기 위한 프로그램 명령들(program instructions)을 포함하는 코드의 일부를 나타낼 수 있다. 상기 프로그램 명령들은 프로그래밍 언어로 기록된 인간 판독가능 문장들(human-readable statements)을 포함하는 소스 코드, 또는 컴퓨터 시스템 또는 다른 시스템의 프로세서(406)와 같은 적합한 실행 시스템에 의해 인식가능한 수치적 명령들을 포함하는 기계 코드의 형태로 구현될 수 있다. 상기 기계 코드는 상기 소스 코드 등으로부터 변환될 수 있다. 하드웨어로 구현되는 경우, 각 블록은 회로 또는 상기 특정 논리 함수(들)을 구현하기 위한 다수의 상호접속된 회로들을 나타낼 수 있다.
도 3의 흐름도는 실행의 특정 순서를 나타내고 있지만, 상기 실행의 순서는 묘사된 것과는 다를 수 있다는 것을 이해해야 할 것이다. 예를 들면, 둘 이상의 블록들의 실행 순서는 도시된 순서에 대해 스크램블(scramble)될 수 있다. 또한, 도 3에서 연달아 도시된 둘 이상의 블록들은 동시에 또는 부분적으로 동시에 실행될 수 있다. 또한, 일부 실시예들에서, 도 3에 도시된 하나 이상의 블록들은 건너뛰거나(skipped) 생략할(omitted) 수 있다. 나아가, 카운터들, 상태 변수들, 경고 신호기들(warning semaphores), 또는 메시지들은, 향상된 유틸리티, 과금(accounting), 성능 측정, 또는 문제 해결 보조의 제공 등의 목적으로, 얼마든지 본 명세서에서 설명한 상기 논리적 흐름에 첨가될 수 있다. 그러한 모든 변화들은 본 개시의 범위에 속한다는 것을 이해해야 할 것이다.
또한, 상기 미디어 애플리케이션(116) 및 상기 입력 맵핑 애플리케이션(119)을 포함하여, 소프트웨어 또는 코드를 포함하는 본 명세서에서 설명한 어떤 로직(logic) 또는 애플리케이션도, 예를 들면, 컴퓨터 시스템 또는 다른 시스템의 프로세서(406)와 같은, 명령 실행 시스템(instruction execution system)에 의해 또는 그러한 명령 실행 시스템과 관련하여 이용하기 위해 어떠한 비일시적인 컴퓨터 판독가능 매체(non-transitory computer-readable medium)에 구현될 수 있다. 이러한 의미에서, 상기 로직은, 예를 들면, 상기 컴퓨터 판독가능 매체로부터 페치(fetch)되고 상기 명령 실행 시스템에 의해 실행될 수 있는 명령들(instructions) 및 선언들(declarations)을 포함하는 문장들(statements)을 포함할 수 있다. 본 개시의 상황(context)에서, "컴퓨터 판독가능 매체(computer-readable medium)"는, 상기 명령 실행 시스템에 의해 또는 그러한 명령 실행 시스템과 관련하여 이용하기 위해, 본 명세서에서 설명한 상기 로직 또는 애플리케이션을 함유, 저장, 또는 유지할 수 있는 어떤 매체든지 될 수 있다. 상기 컴퓨터 판독가능 매체는, 예를 들면, 자기적, 광학적, 또는 반도체 매체들과 같은, 많은 물리적 매체들 중 어느 하나를 포함할 수 있다. 적합한 컴퓨터 판독가능 매체의 더 구체적인 예들로서 자기 테이프들, 자기 플로피 디스켓들, 자기 하드 드라이브들, 메모리 카드들, 솔리드 스테이트 드라이브들, USB 플래시 드라이브들, 또는 광 디스크들을 포함하며, 이에 제한되지 않는다. 또한, 상기 컴퓨터 판독가능 매체는, 예를 들면, 정적 랜덤 액세스 메모리(static random access memory, SRAM) 및 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 또는 자기적 랜덤 액세스 메모리(magnetic random access memory, MRAM)를 포함하는 랜덤 액세스 메모리(random access memory, RAM)일 수 있다. 또한, 상기 컴퓨터 판독가능 매체는 판독 전용 메모리(read-only memory, ROM), 프로그램가능한 판독 전용 메모리(programmable read-only memory, PROM), 소거가능 프로그램가능한 판독 전용 메모리(erasable programmable read-only memory, EPROM), 전기적 소거가능 프로그램가능한 판독 전용 메모리(electrically erasable programmable read-only memory, EEPROM), 또는 다른 유형의 메모리 장치일 수 있다.
조항들(CLAUSES)
1. 컴퓨팅 디바이스(computing device)에서 실행가능한 프로그램을 구현하는(embodying) 비일시적 컴퓨터 판독가능 매체(non-transistory computer-readable medium)에 있어서, 상기 프로그램은:
터치 스크린 클라이언트 디바이스(touch screen client device) 상에 렌더링(rendering)을 위한 미디어 스트림(media stream)을 발생시키는 게임 애플리케이션에 있어서, 상기 발생된 미디어 스트림의 디스플레이 영역(display area)은 상기 터치 스크린 클라이언트 디바이스의 뷰(view)을 초과하여 연장되는 것을 특징으로 하는 게임 애플리케이션;
상기 터치 스크린 클라이언트 디바이스의 뷰잉 영역(viewing area)과 상호관련된 좌표 평면과 연관된 적어도 하나의 좌표 입력(coordinate input)을 획득하는 코드;
상기 적어도 하나의 좌표 입력이 상기 터치 스크린 클라이언트 디바이스와 관련된 상기 좌표 평면에 정의된 복수의 입력 맵핑 구역들(input mapping zones) 중 적어도 하나의 영역 내에 위치하는지 여부를 결정하는 코드;
상기 터치 스크린 클라이언트 디바이스를 구현하고 있는(embodies) 클라이언트로부터 수신된 사용자 입력에 응답하여 상기 각각의 입력 맵핑 영역들의 면적(area)의 조정을 원활하게 하는 코드;
상기 적어도 하나의 좌표 입력을 상기 게임 애플리케이션에 의해 인식가능한 대응 입력(corresponding input)으로서 번역하는 코드;
상기 대응 입력을 상기 게임 애플리케이션에 제공하는 코드;
상기 대응 입력에 응답하여 적어도 하나의 게임 애플리케이션 기능을 수행하는 코드; 및
상기 미디어 스트림을 네트워크를 통해 상기 클라이언트로 전송하는 코드를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
2. 조항 1에 있어서, 상기 적어도 하나의 게임 애플리케이션 기능이 스크롤링 동작(scrolling action)에 대응하는 경우, 상기 터치 스크린 클라이언트 디바이스 상에 상기 미디어 스트림의 서로 다른 부분의 렌더링을 개시하는 코드를 더 포함하는 비일시적 컴퓨터 판독가능 매체.
3. 조항 2에 있어서, 상기 적어도 하나의 좌표 입력과 상기 입력 맵핑 구역들 중 적어도 하나의 구역의 에지(edge) 간의 거리에 비례하는 상기 스크롤링 동작의 속도를 결정하는 코드를 더 포함하는 비일시적 컴퓨터 판독가능 매체.
4. 적어도 하나의 컴퓨팅 디바이스; 및
상기 적어도 하나의 컴퓨팅 디바이스에서 실행가능한 입력 맵핑 애플리케이션(input mapping application)을 구비한 시스템에 있어서, 상기 입력 맵핑 애플리케이션은,
네트워크를 통해 클라이언트로부터 터치 스크린 디스플레이 디바이스의 뷰잉 영역과 상호관련된 좌표 평면과 연관된 적어도 한 세트의 좌표를 수신하는 로직(logic);
상기 적어도 한 세트의 좌표가 상기 좌표 평면에 정의된 복수의 입력 영역들(input regions) 중 적어도 하나의 영역 내에 위치하고 있는지 여부를 결정하는 로직;
상기 적어도 한 세트의 좌표를 미디어 애플리케이션(media application)에 의해 인식가능한 입력으로 번역하는 로직; 및
상기 입력을 상기 미디어 애플리케이션에 전송하는 로직을 포함하는 것을 특징으로 하는 시스템.
5. 조항 4에 있어서, 상기 좌표 평면은 2차원인 것을 특징으로 하는 시스템.
6. 조항 4에 있어서, 상기 미디어 애플리케이션은 터치 스크린 디스플레이 디바이스의 뷰잉 영역(viewing area)에 디스플레이하기 위해 렌더링(rendering)되는 비디오 전송(video transmission)의 형태로 비디오 출력을 생성하는 것을 특징으로 하는 시스템.
7. 조항 6에 있어서, 상기 비디오 전송의 뷰는 상기 터치 스크린 디스플레이 디바이스의 뷰잉 영역(viewing area)을 초과하여 연장되는 것을 특징으로 하는 시스템.
8. 조항 7에 있어서, 상기 미디어 애플리케이션은 상기 터치 스크린 디스플레이 디바이스 상에 사용자 인터페이스(user interface)의 형태로 렌더링(rendering)하기 위한 상기 비디오 전송을 인코딩하는 로직을 더 포함하는 것을 특징으로 하는 시스템.
9. 조항 6에 있어서, 상기 클라이언트로부터의 사용자 입력에 대응하는, 상기 클라이언트와 관련된 상기 입력 영역들 각각의 면적을 조정하는 로직을 더 포함하는 시스템.
10. 조항 4에 있어서, 상기 입력 영역들 각각의 면적은, 상기 비디오 전송과 연관된 미디어 애플리케이션의 유형에 적어도 부분적으로 기초하여 결정되는 것을 특징으로 하는 시스템.
11. 조항 4에 있어서, 상기 입력 영역들 각각의 면적은, 상기 터치 스크린 디스플레이 디바이스와 연관된 클라이언트의 유형에 적어도 부분적으로 기초하여 결정되는 것을 특징으로 하는 시스템.
12. 조항 4에 있어서, 상기 입력 영역들은 상기 미디어 애플리케이션에 대하여 특정적인 것을 특징으로 하는 시스템.
13. 조항 4에 있어서, 상기 미디어 애플리케이션은 상기 입력 맵핑 애플리케이션에 의해 제공되는 상기 입력에 응답하여 적어도 하나의 미디어 애플리케이션 기능을 수행하는 것을 특징으로 하는 시스템.
14. 컴퓨팅 디바이스(computing device)에서, 멀티미디어 애플리케이션(multimedia application)의 비디오 전송(video transmission)을 생성하는 단계;
상기 컴퓨팅 디바이스에서, 터치 스크린 디스플레이 디바이스의 뷰잉 영역(viewing area)과 상호관련된 터치 이벤트(touch event)를 수신하는 단계;
상기 컴퓨팅 디바이스에서, 상기 터치 이벤트가 상기 터치 스크린 디스플레이 디바이스의 좌표 평면에 정의된 복수의 입력 영역들(input regions) 중 적어도 하나의 영역에 위치하고 있는지 여부를 결정하는 단계;
상기 컴퓨팅 디바이스에서, 상기 각각의 입력 영역들과 연관된 상기 터치 이벤트를 상기 미디어 애플리케이션에 의해 인식가능한 대응하는 스크롤 입력(corresponding scroll input)으로서 번역하는 단계;
상기 컴퓨팅 디바이스에서, 상기 스크롤 입력을 상기 미디어 애플리케이션으로 전송하는 단계;
상기 컴퓨팅 디바이스에서, 상기 입력 영역들 중 상기 적어도 하나의 영역에 연관된 미리 정의된 방향으로 상기 비디오 전송의 뷰를 스크롤하는 스크롤링 동작(scrolling action)을 수행하는 단계; 및
상기 컴퓨팅 디바이스에서, 상기 터치 스크린 디스플레이 디바이스의 상기 뷰잉 영역(viewing area)을 초과하여 연장되는 상기 비디오 전송의 렌더링된 버전(rendered version)을 상기 클라이언트로 전송하는 단계를 포함하는 방법.
15. 조항 14에 있어서, 상기 컴퓨팅 디바이스에서, 클라이언트로부터의 사용자 입력에 적어도 부분적으로 기초하여 력 영역들(input regions) 각각의 면적을 변경하는 단계를 더 포함하는 방법.
16. 조항 14에 있어서, 상기 미리 정의된 방향은 수평(horizontal) 방향, 수직(vertical) 방향, 및 대각선(diagonal) 방향으로 구성되는 그룹으로부터 선택되는 것을 특징으로 하는 방법.
17. 조항 14에 있어서, 상기 입력 영역들 각각은 상기 뷰잉 영역(viewing area)의 에지(edge)와 정렬된 외부 테두리(outer border)를 갖는 것을 특징으로 하는 방법.
18. 조항 14에 있어서, 상기 스크롤링 동작의 속도는. 상기 외부 테두리와 상기 터치 이벤트의 위치 간의 거리에 비례하는 것을 특징으로 하는 방법.
19. 조항 14에 있어서, 상기 입력 영역들 각각은 내부 테두리(inner border)를 갖는 것을 특징으로 하는 방법.
20. 조항 14에 있어서, 상기 스크롤링 동작의 속도는 상기 내부 테두리와 상기 터치 이벤트의 위치 간의 거리에 비례하는 것을 특징으로 하는 방법.
상기에서 설명한 본 개시의 실시예들은 단지 본 개시의 원리의 명확한 이해를 위해 기술한 구현들의 가능한 예들일 뿐이라는 것이 강조되어야 할 것이다. 본 개시의 사상 및 원리를 실질적으로 벗어나지 않고 상기에서 설명한 실시예(들)에 대한 많은 변형들 및 변경들이 이루어질 수 있다. 그러한 모든 변경들 및 변형들은 본 명세서의 본 개시의 범위 내에 포함되며 다음의 청구항들에 의해 보호된다고 보아야 할 것이다.

Claims (15)

  1. 컴퓨팅 디바이스에서 실행가능한 프로그램을 구현하는 비일시적 컴퓨터 판독 가능한 매체(non-transitory computer-readable medium)에 있어서, 상기 프로그램은,
    터치 스크린 클라이언트 디바이스(touch screen client device) 상에 렌더링을 위한 미디어 스트림(media stream)을 생성하는 게임 애플리케이션으로서, 상기 생성된 미디어 스트림의 디스플레이 영역은 상기 터치 스크린 클라이언트 디바이스의 뷰(view)를 초과하여 연장되는 것인 게임 애플리케이션과,
    상기 터치 스크린 클라이언트 디바이스의 뷰잉 영역(viewing area)과 상호관련된 좌표 평면과 연관된 적어도 하나의 좌표 입력(coordinate input)을 획득하는 코드와,
    상기 적어도 하나의 좌표 입력이 상기 터치 스크린 클라이언트 디바이스와 관련된 상기 좌표 평면에 정의된 복수의 입력 맵핑 구역들(input mapping zones) 중 적어도 하나의 구역 내에 위치하는지 여부를 결정하는 코드와,
    상기 터치 스크린 클라이언트 디바이스를 구현하는 클라이언트로부터 수신된 사용자 입력에 응답하여 상기 입력 맵핑 구역들 각각의 면적(area)의 조정을 용이하게 하는 코드와,
    상기 적어도 하나의 좌표 입력을 상기 게임 애플리케이션에 의해 인식가능한 대응 입력으로서 번역(translate)하는 코드와,
    상기 대응 입력을 상기 게임 애플리케이션에 제공하는 코드와,
    상기 대응 입력에 응답하여 적어도 하나의 게임 애플리케이션 기능을 수행하는 코드와,
    상기 미디어 스트림을 네트워크를 통해 상기 클라이언트로 전송하는 코드를 포함하는 것인 비일시적 컴퓨터 판독 가능한 매체.
  2. 적어도 하나의 컴퓨팅 디바이스와,
    상기 적어도 하나의 컴퓨팅 디바이스에서 실행가능한 입력 맵핑 애플리케이션(input mapping application)을 구비한 시스템에 있어서,
    상기 입력 매핑 애플리케이션은,
    네트워크를 통해 클라이언트로부터 터치 스크린 디스플레이 디바이스의 뷰잉 영역과 상호관련된 좌표 평면과 연관된 적어도 한 세트의 좌표를 수신하는 로직(logic)과,
    상기 적어도 한 세트의 좌표가 상기 좌표 평면에 정의된 복수의 입력 영역들 중 적어도 하나의 영역 내에 위치하고 있는지 여부를 결정하는 로직과,
    상기 적어도 한 세트의 좌표를 미디어 애플리케이션에 의해 인식가능한 입력으로 번역하는 로직과,
    상기 입력을 상기 미디어 애플리케이션에 전송하는 로직을 포함하는 것인 시스템.
  3. 제2항에 있어서, 상기 미디어 애플리케이션은, 터치 스크린 디스플레이 디바이스의 뷰잉 영역에 디스플레이하기 위해 렌더링되는 비디오 전송의 형태로 비디오 출력을 생성하는 것인 시스템.
  4. 제3항에 있어서, 상기 비디오 전송의 뷰는, 상기 터치 스크린 디스플레이 디바이스의 뷰잉 영역을 초과하여 연장되는 것인 시스템.
  5. 제4항에 있어서, 상기 미디어 애플리케이션은, 상기 터치 스크린 디스플레이 디바이스 상에 사용자 인터페이스의 형태로 렌더링하기 위한 상기 비디오 전송을 인코딩하는 로직을 더 포함하는 것인 시스템.
  6. 제3항에 있어서, 상기 클라이언트로부터의 사용자 입력에 대응하여 상기 클라이언트와 관련된 상기 입력 영역들 각각의 면적을 조정하는 로직을 더 포함하는 시스템.
  7. 제2항에 있어서, 상기 입력 영역들은 상기 미디어 애플리케이션에 대하여 특정적인 것인 시스템.
  8. 제2항에 있어서, 상기 미디어 애플리케이션은, 상기 입력 맵핑 애플리케이션에 의해 제공되는 상기 입력에 응답하여 적어도 하나의 미디어 애플리케이션 기능을 수행하는 것인 시스템.
  9. 컴퓨팅 디바이스에서, 멀티미디어 애플리케이션의 비디오 전송을 생성하는 단계와,
    상기 컴퓨팅 디바이스에서, 터치 스크린 디스플레이 디바이스의 뷰잉 영역과 상호관련된 터치 이벤트(touch event)를 수신하는 단계와,
    상기 컴퓨팅 디바이스에서, 상기 터치 이벤트가 상기 터치 스크린 디스플레이 디바이스의 좌표 평면에 정의된 복수의 입력 영역들 중 적어도 하나의 영역에 위치하고 있는지 여부를 결정하는 단계와,
    상기 컴퓨팅 디바이스에서, 상기 입력 영역들 각각과 연관된 상기 터치 이벤트를 미디어 애플리케이션에 의해 인식가능한 대응하는 스크롤 입력(corresponding scroll input)으로서 번역하는 단계와,
    상기 컴퓨팅 디바이스에서, 상기 스크롤 입력을 상기 미디어 애플리케이션으로 전송하는 단계와,
    상기 컴퓨팅 디바이스에서, 상기 입력 영역들 중 상기 적어도 하나의 영역과 연관된 미리 정의된 방향으로 상기 비디오 전송의 뷰를 스크롤하는 스크롤링 동작을 수행하는 단계와,
    상기 컴퓨팅 디바이스에서, 상기 터치 스크린 디스플레이 디바이스의 상기 뷰잉 영역을 초과하여 연장되는 상기 비디오 전송의 렌더링된 버전을 상기 클라이언트로 전송하는 단계를 포함하는 방법.
  10. 제9항에 있어서, 상기 컴퓨팅 디바이스에서, 클라이언트로부터의 사용자 입력에 적어도 부분적으로 기초하여 입력 영역들 각각의 면적을 변경하는 단계를 더 포함하는 방법.
  11. 제9항에 있어서, 상기 미리 정의된 방향은, 수평 방향, 수직 방향, 및 대각선(diagonal) 방향으로 구성되는 그룹으로부터 선택되는 것인 방법.
  12. 제9항에 있어서, 상기 입력 영역들 각각은, 상기 뷰잉 영역의 에지(edge)와 정렬된 외부 테두리(outer border)를 갖는 것인 방법.
  13. 제9항에 있어서, 상기 스크롤링 동작의 속도는, 상기 외부 테두리와 상기 터치 이벤트의 위치 간의 거리에 비례하는 것인 방법.
  14. 제9항에 있어서, 상기 입력 영역들 각각은, 내부 테두리(inner border)를 갖는 것인 방법.
  15. 제9항에 있어서, 상기 스크롤링 동작의 속도는, 상기 내부 테두리와 상기 터치 이벤트의 위치 간의 거리에 비례하는 것인 방법.
KR1020147015997A 2011-11-14 2012-11-09 입력 맵핑 영역들 KR20140092908A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/295,133 2011-11-14
US13/295,133 US20130143657A1 (en) 2011-11-14 2011-11-14 Input Mapping Regions
PCT/US2012/064329 WO2013074398A1 (en) 2011-11-14 2012-11-09 Input mapping regions

Publications (1)

Publication Number Publication Date
KR20140092908A true KR20140092908A (ko) 2014-07-24

Family

ID=48430059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147015997A KR20140092908A (ko) 2011-11-14 2012-11-09 입력 맵핑 영역들

Country Status (9)

Country Link
US (1) US20130143657A1 (ko)
EP (1) EP2780784A4 (ko)
JP (1) JP2015504199A (ko)
KR (1) KR20140092908A (ko)
CN (1) CN104094199A (ko)
AU (1) AU2012339880A1 (ko)
CA (1) CA2854006A1 (ko)
SG (1) SG2014014393A (ko)
WO (1) WO2013074398A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8994755B2 (en) * 2011-12-20 2015-03-31 Alcatel Lucent Servers, display devices, scrolling methods and methods of generating heatmaps
JP2014194747A (ja) * 2013-02-28 2014-10-09 Canon Inc 情報処理装置、情報処理方法及びコンピュータプログラム
TWI486775B (zh) * 2013-09-18 2015-06-01 Dexin Corp 輸入裝置及其資料傳輸方法
US20150121314A1 (en) * 2013-10-24 2015-04-30 Jens Bombolowsky Two-finger gestures
CN104298427B (zh) * 2014-09-24 2016-05-04 腾讯科技(深圳)有限公司 结果界面显示方法和装置
US20160209968A1 (en) * 2015-01-16 2016-07-21 Microsoft Technology Licensing, Llc Mapping touch inputs to a user input module
AU2016281182A1 (en) * 2015-06-15 2018-02-08 Cana Technologies Pty Ltd A computer implemented method, client computing device and computer readable storage medium for data presentation

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570594B1 (en) * 1998-06-30 2003-05-27 Sun Microsystems, Inc. User interface with non-intrusive display element
US8443288B2 (en) * 2002-11-22 2013-05-14 Sony Pictures Entertainment Inc. Ubiquitous companion agent
US7495659B2 (en) * 2003-11-25 2009-02-24 Apple Inc. Touch pad for handheld device
US7434173B2 (en) * 2004-08-30 2008-10-07 Microsoft Corporation Scrolling web pages using direct interaction
JP3734820B1 (ja) * 2004-09-03 2006-01-11 任天堂株式会社 ゲームプログラム、ゲーム装置、および入力装置
US20070061126A1 (en) * 2005-09-01 2007-03-15 Anthony Russo System for and method of emulating electronic input devices
US8381121B2 (en) * 2006-03-01 2013-02-19 Microsoft Corporation Controlling scroll speed to improve readability
US9395905B2 (en) * 2006-04-05 2016-07-19 Synaptics Incorporated Graphical scroll wheel
US7877696B2 (en) * 2007-01-05 2011-01-25 Eastman Kodak Company Multi-frame display system with semantic image arrangement
US20090002324A1 (en) * 2007-06-27 2009-01-01 Nokia Corporation Method, Apparatus and Computer Program Product for Providing a Scrolling Mechanism for Touch Screen Devices
US8238662B2 (en) * 2007-07-17 2012-08-07 Smart Technologies Ulc Method for manipulating regions of a digital image
JP2011505607A (ja) * 2007-10-23 2011-02-24 ビアクリックス・インコーポレイテッド マルチメディア管理、広告、コンテンツ及びサービス
JP5252879B2 (ja) * 2007-10-25 2013-07-31 株式会社カプコン 操作制御装置、及び、この操作制御装置を実現するためのプログラム
TWI421759B (zh) * 2007-12-21 2014-01-01 Elan Microelectronics Corp 在觸控板上控制卷軸捲動的方法
JP5424173B2 (ja) * 2008-01-31 2014-02-26 BizMobile株式会社 携帯サービスの提供システム及び提供方法
US8356258B2 (en) * 2008-02-01 2013-01-15 Microsoft Corporation Arranging display areas utilizing enhanced window states
DE202009019125U1 (de) * 2008-05-28 2016-12-05 Google Inc. Bewegungsgesteuerte Ansichten auf mobilen Computergeräten
KR101446521B1 (ko) * 2008-08-12 2014-11-03 삼성전자주식회사 터치 스크린의 정보 스크롤 제어 방법 및 장치
ATE554001T1 (de) * 2008-09-08 2012-05-15 Thales Avionics Inc System und verfahren zur bereitstellung einer live-kartenanzeige in einem fahrzeug
US20100107116A1 (en) * 2008-10-27 2010-04-29 Nokia Corporation Input on touch user interfaces
JP5089658B2 (ja) * 2009-07-16 2012-12-05 株式会社Gnzo 送信装置及び送信方法
KR20110034858A (ko) * 2009-09-29 2011-04-06 주식회사 넥슨모바일 게임 운영을 제어하기 위한 사용자 인터페이스 제공 방법
US8313377B2 (en) * 2009-10-14 2012-11-20 Sony Computer Entertainment America Llc Playing browser based games with alternative controls and interfaces
US8392497B2 (en) * 2009-11-25 2013-03-05 Framehawk, LLC Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client
KR101626621B1 (ko) * 2009-12-30 2016-06-01 엘지전자 주식회사 원형 디스플레이부를 구비한 이동 통신 단말기의 데이터 제어 방법 및 이를 적용한 이동 통신 단말기
US8382591B2 (en) * 2010-06-03 2013-02-26 Ol2, Inc. Graphical user interface, system and method for implementing a game controller on a touch-screen device
US8539039B2 (en) * 2010-06-22 2013-09-17 Splashtop Inc. Remote server environment
US20120102400A1 (en) * 2010-10-22 2012-04-26 Microsoft Corporation Touch Gesture Notification Dismissal Techniques

Also Published As

Publication number Publication date
SG2014014393A (en) 2014-05-29
WO2013074398A1 (en) 2013-05-23
US20130143657A1 (en) 2013-06-06
JP2015504199A (ja) 2015-02-05
CA2854006A1 (en) 2013-05-23
EP2780784A1 (en) 2014-09-24
EP2780784A4 (en) 2015-07-08
CN104094199A (zh) 2014-10-08
AU2012339880A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
JP6111440B2 (ja) ユーザインターフェースを符号化する方法
KR20140092908A (ko) 입력 맵핑 영역들
JP6226394B2 (ja) インスタンス化可能なジェスチャオブジェクト
US9690465B2 (en) Control of remote applications using companion device
US9454282B2 (en) Sending application input commands over a network
US20170070767A1 (en) Contextual remote control interface
KR102150733B1 (ko) 패닝 애니메이션
US10635296B2 (en) Partitioned application presentation across devices
US9392047B1 (en) Facilitating application compatibility across devices
US9948691B2 (en) Reducing input processing latency for remotely executed applications
US9497238B1 (en) Application control translation
US20210075851A1 (en) Application partition processing method, device, and computer-readable storage medium
KR101721333B1 (ko) 메시지의 송수신을 위한 통신세션을 통해 정보데이터를 제공하는 방법 및 시스템
KR102541981B1 (ko) 대화형 컨텐츠 아이템으로의 정적 컨텐츠 아이템 변환
Sangani Web everywhere [Web browser]

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application