KR101588121B1 - 디바이스 본체 정위의 판단 - Google Patents
디바이스 본체 정위의 판단 Download PDFInfo
- Publication number
- KR101588121B1 KR101588121B1 KR1020140063985A KR20140063985A KR101588121B1 KR 101588121 B1 KR101588121 B1 KR 101588121B1 KR 1020140063985 A KR1020140063985 A KR 1020140063985A KR 20140063985 A KR20140063985 A KR 20140063985A KR 101588121 B1 KR101588121 B1 KR 101588121B1
- Authority
- KR
- South Korea
- Prior art keywords
- mobile device
- user
- api
- voice call
- power level
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/18—TPC being performed according to specific parameters
- H04W52/28—TPC being performed according to specific parameters using user profile, e.g. mobile speed, priority or network state, e.g. standby, idle or non transmission
- H04W52/285—TPC being performed according to specific parameters using user profile, e.g. mobile speed, priority or network state, e.g. standby, idle or non transmission taking into account the mobility of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/18—TPC being performed according to specific parameters
- H04W52/28—TPC being performed according to specific parameters using user profile, e.g. mobile speed, priority or network state, e.g. standby, idle or non transmission
- H04W52/283—Power depending on the position of the mobile
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/30—TPC using constraints in the total amount of available transmission power
- H04W52/36—TPC using constraints in the total amount of available transmission power with a discrete range or set of values, e.g. step size, ramping or offsets
- H04W52/367—Power values between minimum and maximum limits, e.g. dynamic range
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
일부 구현예들에서, 모바일 디바이스는 모바일 디바이스가 정지 물체 상에 있는지 또는 사용자의 신체 상에 착용되어 있는지(예컨대, 모바일 디바이스 사용자의 무릎 또는 주머니에 있는지) 여부를 판단하기 위하여 음성 통화 동안에 움직임 센서 데이터를 분석할 수 있다. 모바일 디바이스는 판단에 기초하여 음성 통화 동안에 전화 통신용 송수신기의 송신 출력 레벨을 조절할 수 있다.
Description
본 발명은 일반적으로 모바일 디바이스(mobile device)에서의 움직임 분석(motion analysis)에 관한 것이다.
모바일 디바이스들은 흔히 사용자들이 무선 네트워크를 통해 음성 통화(voice call)를 수신하고 발신하게 하는 전화 통신용 특징부들(telephony feature)을 포함한다. 예를 들어, 현대의 스마트폰은 스마트폰이 셀룰러 음성 및/또는 데이터 네트워크(예컨대, CDMA, 2G, 3G, 4G LTE 등)를 통해 전화 통화를 수신하고 발신하게 하는 무선 송수신기를 포함한다. 이들 무선 송수신기는 상이한 출력 레벨들에서 송신할 수 있다. 고 출력 레벨들에서의 송신은 음성 통화의 품질을 개선할 수 있다. 모바일 디바이스가 사용자의 신체 상에 착용되거나 그 부근에 있을 때, 정부 규제를 준수하기 위하여 저 출력 레벨들에서의 송신이 요구될 수 있다.
일부 구현예들에서, 모바일 디바이스는 모바일 디바이스가 정지 물체(예컨대, 테이블) 상에 있는지 또는 사용자의 신체 상에 착용되어 있는지(예컨대, 모바일 디바이스 사용자의 무릎 또는 주머니에 있는지) 여부를 판단하기 위하여 음성 통화 동안에 움직임 센서 데이터를 분석할 수 있다. 모바일 디바이스는 판단에 기초하여 음성 통화 동안에 전화 통신용 송수신기의 송신 출력 레벨을 조절할 수 있다.
특정 구현예들은 적어도 하기의 이점들을 제공한다: 모바일 디바이스가 음성 통화 동안에 정지 물체(예컨대, 테이블) 상에 있는 경우에, 음성 통화가 높은 송신 출력 레벨을 사용하여 송신될 수 있기 때문에 사용자는 보다 양호한 품질의 음성 통화를 경험할 수 있다.
하나 이상의 구현예들의 상세 사항들이 첨부 도면 및 이하의 설명에 기술된다. 다른 특징들, 태양들, 잠재적 이점들이 설명과 도면으로부터 그리고 특허청구범위로부터 명백해 질 것이다.
<도 1>
도 1은 정지 물체 및 사용자 상의 위치들에 대한 모바일 디바이스의 움직임 변동(variance)을 보여주는 예시적인 그래프.
<도 2>
도 2는 모바일 디바이스가 정지 물체 상에 있는지 또는 사용자 상에 있는지 여부를 판단하기 위한 예시적인 프로세스의 흐름도.
<도 3>
도 3은 모바일 디바이스가 정지 물체 상에 있는지 또는 사용자의 신체 상에 있는지 여부를 판단하기 위한 예시적인 상태 기계(state machine)를 도시하는 도면.
<도 4>
도 4는 모바일 디바이스의 사용자 신체 정위에 기초한 모바일 디바이스의 송신 출력을 조절하기 위한 예시적인 프로세스의 흐름도.
<도 5>
도 5는 일부 구현예들에서 사용될 수 있는 예시적인 API 아키텍처를 도시하는 블록도.
<도 6>
도 6은 다양한 애플리케이션 프로그래밍 인터페이스(application programming interface)들을 포함하는 예시적인 소프트웨어 스택(software stack)을 도시하는 도면.
<도 7>
도 7은 도 1 내지 도 6의 특징부들 및 프로세스들을 구현할 수 있는 예시적인 컴퓨팅 디바이스의 블록도.
다양한 도면들에서의 유사한 도면 부호들은 유사한 요소들을 가리킨다.
도 1은 정지 물체 및 사용자 상의 위치들에 대한 모바일 디바이스의 움직임 변동(variance)을 보여주는 예시적인 그래프.
<도 2>
도 2는 모바일 디바이스가 정지 물체 상에 있는지 또는 사용자 상에 있는지 여부를 판단하기 위한 예시적인 프로세스의 흐름도.
<도 3>
도 3은 모바일 디바이스가 정지 물체 상에 있는지 또는 사용자의 신체 상에 있는지 여부를 판단하기 위한 예시적인 상태 기계(state machine)를 도시하는 도면.
<도 4>
도 4는 모바일 디바이스의 사용자 신체 정위에 기초한 모바일 디바이스의 송신 출력을 조절하기 위한 예시적인 프로세스의 흐름도.
<도 5>
도 5는 일부 구현예들에서 사용될 수 있는 예시적인 API 아키텍처를 도시하는 블록도.
<도 6>
도 6은 다양한 애플리케이션 프로그래밍 인터페이스(application programming interface)들을 포함하는 예시적인 소프트웨어 스택(software stack)을 도시하는 도면.
<도 7>
도 7은 도 1 내지 도 6의 특징부들 및 프로세스들을 구현할 수 있는 예시적인 컴퓨팅 디바이스의 블록도.
다양한 도면들에서의 유사한 도면 부호들은 유사한 요소들을 가리킨다.
개괄
일부 구현예들에서, 모바일 디바이스는 하나 이상의 움직임 센서들을 가지고 구성될 수 있다. 예를 들어, 움직임 센서는 가속도계, 자이로스코프 또는 다른 유형의 움직임 센서일 수 있다. 일부 구현예들에서, 모바일 디바이스는 사용자가 전화 통화를 발신 및 수신하게 하는 전화 통신 컴포넌트들을 가지고 구성될 수 있다. 예를 들어, 전화 통신 컴포넌트들은 하나 이상의 무선 액세스 기술(예컨대, GSM, UMTS, 2G, 3G, LTE 등)에 액세스하도록 구성된 하나 이상의 무선 주파수 송수신기를 포함할 수 있다.
일부 구현예들에서, 모바일 디바이스는 모바일 디바이스가 음성 통화에 연결할 때 전화 통신 컴포넌트들의 송신 출력을 조절하도록 구성될 수 있다. 예를 들어, 모바일 디바이스는 모바일 디바이스가 정지 물체(예컨대, 테이블) 상에 있는지 또는 사용자의 신체 상에(예컨대, 사용자의 무릎 위에 또는 사용자의 주머니 내에) 착용되어 있는지 여부에 기초하여 송신 출력을 조절하도록 구성될 수 있다.
도 1은 정지 물체(102) 및 사용자 상의 위치(104)들에서의 모바일 디바이스의 움직임 변동을 보여주는 예시적인 그래프(100)를 도시한다. 그래프(100)의 수직 축(106)은 변동량을 나타낸다. 일부 구현예들에서, 모바일 디바이스가 정지 물체 상에 있는지 또는 사용자에 의해 착용되어 있는지 여부의 판단은 모바일 디바이스의 움직임 센서에 의하여 발생되는 움직임 신호의 크기(예컨대, 진폭)의 변동에 기초할 수 있다. 예를 들어, 모바일 디바이스가 정지 물체(102)(예컨대, 테이블) 상에 있을 경우, 변동 측정(108)들에 의해 보여지는 바와 같이, 움직임 신호 크기(즉, 진폭)의 변동은 작을 것이다. 모바일 디바이스가 사용자의 무릎 위에 또는 주머니 내에 있을 경우, 변동 측정(110)들에 의해 보여지는 바와 같이, 움직임 신호의 변동은 모바일 디바이스가 정지 물체에 있을 때의 움직임 신호의 변동과 유사할 것이다. 그러나, 모바일 디바이스가 사용자의 신체 상에 착용된 경우, 사용자는 궁극적으로 움직임으로써, 변동 측정(112)에 의해 나타내어지는 바와 같이, 움직임 신호의 변동을 일시적으로 증가시킬 움직임 신호에서의 크기 급상승(spike)을 생성할 것이다. 움직임 신호의 변동이 변동 한계치(114)(예컨대, 미리 정해진, 경험적으로 결정된 한계치)를 초과하는 것을 모바일 디바이스가 검출할 때, 모바일 디바이스는 모바일 디바이스가 사용자의 신체(예컨대, 무릎, 주머니 등) 상에 정위되거나 위치되어 있다고 판단할 수 있다. 모바일 디바이스가 소정 기간(예컨대, 미리 정해진, 경험적으로 결정된 기간) 내에 변동의 증가를 검출하지 않으면, 모바일 디바이스는 모바일 디바이스가 정지(예컨대, 비활성, 무생물) 물체 상에 정위되거나 위치되어 있다고 판단할 수 있다.
도 2는 모바일 디바이스가 정지 물체 상에 있는지 또는 사용자 상에 있는지 여부를 판단하기 위한 예시적인 프로세스(200)의 흐름도이다. 일부 구현예들에서, 모바일 디바이스는 시각 T0(예컨대, T0은 통화가 연결된 때의 시각)에 음성 통화에 연결할 수 있다(202). 예를 들어, 모바일 디바이스는 사용자가 음성 통화를 발신 및 수신하게 하는 전화 통신 특징부들을 가지고 구성될 수 있다. 모바일 디바이스가 음성 통화에 연결할 때, 모바일 디바이스는 모바일 디바이스의 움직임 센서로부터 움직임 데이터(예컨대, 움직임 신호)를 얻을 수 있다(204). 예를 들어, 모바일 디바이스는 움직임 센서로부터 받은 움직임 데이터에 기초하여 시간에 걸친 움직임의 양(예컨대, 크기 및 빈도)을 나타내는 움직임 신호를 발생시킬 수 있다. 모바일 디바이스는 저역 통과 필터를 움직임 신호에 적용하여(206), 고주파 움직임 신호(예컨대, 노이즈)를 필터링해낼 수 있다(예컨대, 감쇄시킬 수 있다).
일부 구현예들에서, 모바일 디바이스는 필터링된 움직임 신호를 소정 기간(즉, 샘플 주기) 동안에 샘플링하도록(208) 구성될 수 있다. 예를 들어, 모바일 디바이스는 샘플 주기에 걸쳐 움직임 신호의 샘플들을 수집하도록 구성될 수 있다. 모바일 디바이스는 예를 들어 필터링된 움직임 신호의 5초 동안을 샘플링하여 버퍼에 저장할 수 있다. 일부 구현예들에서, 샘플 주기 동안에 움직임 신호(210)의 변동을 판단하기 위하여 움직임 신호 샘플들이 분석될 수 있다. 예를 들어, 움직임 신호 샘플은 변동 필터(variance filter)를 통과하거나 움직임 신호 샘플들의 변동을 판단할 다른 변동 계산 기능부를 통과할 수 있다.
일단 움직임 신호 샘플의 변동이 판단되면, 변동이 변동 한계치의 값과 비교되어(212), 움직임 신호 샘플들이 변동 한계치 값을 초과하였는지 여부를 판단할 수 있다. 예를 들어, 움직임 신호 샘플들의 변동이 움직임 변동 한계치보다 크면, 모바일 디바이스는 모바일 디바이스가 사용자의 신체 상에 정위되거나 위치되어 있다고(214) 판단할 수 있다. 움직임 신호 샘플들의 변동이 움직임 변동 한계치보다 크지 않으면, 모바일 디바이스는 음성 통화가 연결된 이래로 경과한 시간의 양(예컨대, T현재 - T0)을 한계 기간(216)과 비교할 수 있다. 예를 들어, 음성 통화가 연결된 이래로 한계 기간이 경과하였고 (움직임 신호 샘플들로부터 결정된) 움직임 신호의 변동이 한계 기간 내에 변동 한계치를 초과하지 않았다면, 모바일 디바이스는 모바일 디바이스가 정지 물체 상에 정위되고(218) 사용자 상에 정위되지 않았다고 판단할 수 있다.
통화가 연결된 이래로 한계 기간이 경과하지 않았다면, 모바일 디바이스는 움직임 신호 샘플들의 다른 세트를 수집하고(208) 움직임 신호 샘플의 변동(210)이 변동 한계치를 초과하는지 여부를 판단한다(212). 샘플들을 수집하고 샘플들의 변동을 변동 한계치와 비교하는 것은, 한계 기간이 경과하고(216) 모바일 디바이스의 물체 상에의 정위(on object location)(218)가 판단될 때까지 계속될 수 있다. 한계 기간이 경과하기 전에 한 세트의 움직임 신호 샘플들의 변동(210)이 변동 한계치를 초과하면(212), 모바일 디바이스의 사용자 상에의 정위(214)가 판단될 수 있다.
일부 구현예들에서, 모바일 디바이스는 카운터를 사용하여 한계 기간이 경과하였는지를 판단할 수 있다. 예를 들어, 한계 기간이 1분이고 샘플 주기가 10초인 경우, 모바일 디바이스는 6개의 움직임 신호 샘플들이 취해진 후에 한계 기간이 경과하였다고 판단할 수 있다. 따라서, 일부 구현예들에서, 모바일 디바이스가 한계 기간이 경과하였는지 여부를 판단할 때마다(216), 모바일 디바이스는 카운터를 (예컨대, 0에서 시작하여) 증분시킬 수 있다. 일단 카운터가 한계 기간을 샘플 주기로 나눈 것과 동일한 수(n) 에 도달하면(n = 한계 기간/샘플 주기), 전술된 바와 같이 모바일 디바이스는 모바일 디바이스가 정지 물체(218) 상에 있다고 판단할 수 있다.
일부 구현예들에서, 음성 통화가 연결된 때(202), 마치 모바일 디바이스가 사용자의 신체 상에 착용되어 있다고 판단한 것처럼, 모바일 디바이스의 전화 통신 컴포넌트들의 송신 출력을 저 출력 레벨로 조절하도록 모바일 디바이스가 구성될 수 있다. 예를 들어, 모바일 디바이스는 신체 상에의 정위(on body location)로 기본설정(default)되거나 초기화되도록 구성될 수 있다. 한계 기간이 경과한 후(216), 움직임 신호의 변동이 한계 변동(212)을 결코 초과하지 않는다면, 모바일 디바이스는 모바일 디바이스가 정지 물체 상에 정위되거나 위치되어 있다고 판단하고 송신 출력을 고 출력 레벨로 증가시킬 수 있다.
도 3은 모바일 디바이스가 정지 물체 상에 있는지 또는 사용자의 신체 상에 있는지 여부를 판단하기 위한 예시적인 상태 기계(300)를 도시한다. 예를 들어, 상태 기계(300)는 모바일 디바이스가 현재 어디에(예컨대, 정지 물체 상에, 사용자의 신체 상에) 위치되어 있는지를 판단하기 위하여 사용될 수 있다. 모바일 디바이스는 모바일 디바이스의 송신 출력을 조절해야 하는지 여부를 판단하기 위하여 상태 기계(300)의 현재 상태를 사용할 수 있다.
일부 구현예들에서, 모바일 디바이스는 음성 통화가 연결될 때(302) 미지 상태(unknown state)(304)에서 시작하도록 구성될 수 있다. 일부 구현예들에서, 모바일 디바이스는 통화가 연결될 때(302) 신체 상에의 상태(306)에서 시작하도록 구성될 수 있다. 일단 통화가 연결되면, 모바일 디바이스는 도 2를 참조하여 전술된 바와 같이 모바일 디바이스에 대한 정지 물체(308) 또는 신체 상(306)에의 위치를 판단하기 위하여 모바일 디바이스의 이동을 모니터링할 수 있다. 예를 들어, 정치 물체 상에의(예컨대, 테이블 상에의) 정위가 판단되면, 상태 기계(300)는 미지 상태(304)로부터 물체 상에의 상태(308)로 천이할 수 있다. 신체 상에의(예를 들어, 사용자의 무릎 상에의 또는 사용자의 주머니 내에의) 정위가 판단되면, 상태 기계(300)는 미지 상태(304)로부터 신체 상에의 상태(306)로 천이할 수 있다.
일부 구현예들에서, 상태 기계(300)는 물체 상에의 상태(308)와 신체 상에의 상태(306) 사이에서 천이하기 위한 파지 상태(in hand state)(310)를 포함할 수 있다. 예를 들어, 모바일 디바이스가 테이블과 같은 물체 상에 있을 경우, 사용자는 모바일 디바이스를 사용자의 신체 상에(예컨대, 사용자의 주머니 내에 또는 사용자의 무릎 상에) 두기 전에 모바일 디바이스를 집어들 수 있을 것이다. 모바일 디바이스가 사용자의 신체 상에 있다면, 사용자는 모바일 디바이스를 정지 물체 상에 두기 전에 모바일 디바이스를 집어들 수 있을 것이다. 어느 경우든, 모바일 디바이스는 신체 상에의 정위로부터 물체 상에의 정위로 또는 물체 상에의 정위로부터 신체 상에의 정위로 천이되는 동안 사용자의 손에 파지될 것이다.
유사하게, 상태 기계(300)는 물체 상에의 상태(308)와 신체 상에의 상태(306) 사이에서 천이하기 위한 파지 상태(310)를 가지고 구성될 수 있다. 예를 들어, 일단 물체 상에의 상태(308) 또는 신체 상에의 상태(306)에서, 모바일 디바이스는 모바일 디바이스의 움직임 센서로부터 움직임 데이터(예컨대, 움직임 신호)의 분석을 계속할 수 있다. 집어들리거나 손에 파지되는 모바일 디바이스에 따르는 움직임 패턴을 움직임 데이터가 나타내면, 상태 기계(300)는 물체 상에의 상태(308) 또는 신체 상에의 상태(306)로부터 파지 상태(310)로 천이할 수 있다.
일부 구현예들에서, 모바일 디바이스가 파지 상태(310)에 있다고 상태 기계(300)가 나타내면, 모바일 디바이스는 물체 상에의 상태(308)로 천이해야 할지 또는 신체 상에의 상태(306)로 천이해야 할지 여부를 판단하기 위하여 프로세스(200)를 수행할 수 있다. 예를 들어, 상태 기계(300)가 파지 상태(310)에 있을 때, 모바일 디바이스는 파지 상태(310)로부터 물체 상에의 상태(308) 또는 신체 상에의 상태(306)로의 천이 여부 및 그 천이 시기를 판단하기 위하여 프로세스(200)의 단계(204 내지 218)들을 수행할 수 있다.
도 4는 모바일 디바이스의 사용자 신체 정위에 기초한 모바일 디바이스의 송신 출력을 조절하기 위한 예시적인 프로세스(400)의 흐름도이다. 단계 402에서, 모바일 디바이스는 음성 통화에 연결할 수 있다. 예를 들어, 사용자는 모바일 디바이스 상에서 음성 통화(예컨대, 전화 통화)를 개시하거나 수신하기 위하여 모바일 디바이스를 사용할 수 있다.
단계 404에서, 모바일 디바이스는 모바일 디바이스가 사용자의 신체 상에 있는지 또는 물체 상에 있는지 여부를 판단할 수 있다. 예를 들어, 모바일 디바이스는 모바일 디바이스가 사용자의 신체 상에(예컨대, 주머니 내에 또는 무릎 위에 등) 정위되는지 또는 정지 물체(예컨대, 테이블, 책상, 바닥 등) 상에 정위되는지 여부를 판단하기 위하여 도 2의 프로세스(200)를 실행하고/하거나 도 3의 상태 기계(300)를 사용할 수 있다.
단계 406에서, 모바일 디바이스는 모바일 디바이스의 정위 또는 위치에 기초하여 모바일 디바이스의 송신 출력을 조절할 수 있다. 예를 들어, 모바일 디바이스가 사용자의 신체 상에 있다면, 모바일 디바이스는 모바일 디바이스의 송신 출력을 미리 결정된 저 출력 레벨로 감소시킬 수 있다. 모바일 디바이스가 (예컨대, 사용자의 신체로부터 멀리 떨어진) 정지 물체 상에 있다면, 모바일 디바이스는 모바일 디바이스의 송신 출력을 미리 결정된 고 출력 레벨로 증가시킬 수 있다.
애플리케이션 프로그래밍 인터페이스
본 명세서에서 설명된 구현예들에서는 하나 이상의 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)가 사용될 수 있다. API는 이하에서 "API-구현 컴포넌트"라고 하는 프로그램 코드 컴포넌트 또는 하드웨어 컴포넌트에 의하여 구현되는 인터페이스로서, API-구현 컴포넌트는 상이한 프로그램 코드 컴포넌트 또는 하드웨어 컴포넌트(이하에서, "API-호출 컴포넌트"라고 함)가 API-구현 컴포넌트에 의해 제공되는 하나 이상의 기능, 방법, 절차, 데이터 구조, 클래스 및/또는 다른 서비스에 액세스 하여 이를 사용하게 한다. API는 API-호출 컴포넌트와 API-구현 컴포넌트 사이에서 전달되는 하나 이상의 파라미터들을 정의할 수 있다.
API는 API-호출 컴포넌트의 개발자(제3자의 개발자일 수 있음)가 API-구현 컴포넌트에 의해 제공되는 규정된 특징부에 영향을 주게 한다. 하나의 API-호출 컴포넌트가 있을 수 있거나, 하나 초과의 그러한 컴포넌트가 있을 수 있다. API는 애플리케이션으로부터의 서비스 요청을 지원하기 위하여 컴퓨터 시스템 또는 프로그램 라이브러리가 제공하는 소스 코드 인터페이스일 수 있다. 운영 체제(operating system, OS)는 다수의 API들을 가져서 OS 상에서 실행되는 애플리케이션이 그 API들 중 하나 이상을 호출하게 할 수 있으며, (프로그램 라이브러리와 같은) 서비스는 다수의 API들을 가져서 그 서비스를 사용하는 애플리케이션이 그 API들 중 하나 이상을 호출하게 할 수 있다. API는 애플리케이션이 구축될 때 인터프리팅(interpreting)되거나 컴파일링(compiling)될 수 있는 프로그래밍 언어에 의해 규정될 수 있다.
일부 구현예들에서, API-구현 컴포넌트는 API-구현 컴포넌트에 의하여 구현되는 기능의 상이한 태양들에 대한 액세스를 제공하는 하나 초과의 API를 제공할 수 있다. 예를 들어, API-구현 컴포넌트 중 하나의 API는 제1 기능 세트를 제공할 수 있고 제3자의 개발자에게 노출될 수 있으며, API-구현 컴포넌트 중 다른 API는 숨겨질(노출되지 않을) 수 있고 제1 기능 세트의 하위세트(subset)를 제공하고 또한 제1 기능 세트에는 없는 테스팅 및 디버깅 기능과 같은 다른 기능 세트를 제공할 수 있다. 다른 구현예들에서, API-구현 컴포넌트 자체는 기본 API를 통해 하나 이상의 다른 컴포넌트들을 호출할 수 있고, 따라서 API-호출 컴포넌트와 API-구현 컴포넌트 둘 모두가 될 수 있다.
API는 API-호출 컴포넌트들이 API-구현 컴포넌트의 규정된 특징부들에 액세스하여 이를 사용할 때 API-호출 컴포넌트가 사용하는 언어와 파라미터를 정의한다. 예를 들어, API-호출 컴포넌트는 API에 의하여 노출된 하나 이상의 API 호출들 또는 (예를 들어, 기능 또는 메소드 호출에 의하여 실시되는) 인보케이션(invocation)들을 통해 API-구현 컴포넌트의 규정된 특징부들에 접근하여, API 호출들 또는 인보케이션들을 통해 파라미터들을 사용하여 데이터 및 제어 정보를 전달한다. API-구현 컴포넌트는 API-호출 컴포넌트로부터의 API 호출에 응답하여 API를 통해 값을 반환할 수 있다. API는 API 호출의 신택스와 결과(예컨대, API 호출을 어떻게 작동시키는지 그리고 API 호출이 무엇을 하는지)를 정의하지만, API는 API 호출이 API 호출에 의하여 규정된 기능을 어떻게 성취하는지 드러내지 않을 수 있다. 호출(API-호출 컴포넌트)과 API-구현 컴포넌트 사이에서 하나 이상의 애플리케이션 프로그래밍 인터페이스들을 통하여 다양한 API 호출들이 전달된다. API 호출들의 전달은 함수 호출 또는 메시지에 대한 발행, 개시, 작동, 호출, 수신, 반환 또는 응답을 포함하는데, 다시 말하면, 전달은 API-호출 컴포넌트 또는 API-구현 컴포넌트 중 어느 하나에 의한 작용들을 설명할 수 있다. API의 함수 호출 또는 다른 인보케이션은 파라미터 목록 또는 다른 구조를 통하여 하나 이상의 파라미터들을 보내거나 받을 수 있다. 파라미터는 상수, 키(key), 데이터 구조, 객체, 객체 클래스, 변수, 데이터 유형, 포인터, 어레이, 함수 또는 메소드에 대한 포인터 또는 목록, 또는 API를 통하여 전달되는 데이터 또는 다른 항목을 참조하기 위한 다른 방법일 수 있다.
또한, 데이터 유형 또는 클래스가 API에 의하여 제공되고 API-구현 컴포넌트에 의하여 구현될 수 있다. 따라서, API-호출 컴포넌트는 API에서 제공되는 정의들을 사용함으로써 그러한 유형들 또는 클래스들의 변수들을 선언하거나, 이들에 대한 포인터들 사용하거나, 이들의 상수 값을 사용 또는 인스턴스화한다(instantiate).
일반적으로, API는 API-구현 컴포넌트에 의하여 제공되는 서비스 또는 데이터에 액세스하기 위하여 사용되거나 API-구현 컴포넌트에 의하여 제공되는 동작 또는 연산의 수행을 개시하기 위하여 사용될 수 있다. 예로서, API-구현 컴포넌트와 API-호출 컴포넌트 각각은 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 또는 다른 모듈(예컨대, API-구현 컴포넌트와 API-호출 컴포넌트는 동일하거나 서로 상이한 유형의 모듈일 수 있음) 중 임의의 하나일 수 있다. API-구현 컴포넌트들은 일부 경우에 적어도 부분적으로 펌웨어, 마이크로코드 또는 다른 하드웨어 로직으로 실시될 수 있다.
일부 구현예들에서, API는 클라이언트 프로그램이 소프트웨어 디벨롭먼트 키트(Software Development Kit, SDK) 라이브러리에 의해 제공되는 서비스를 사용하게 할 수 있다. 다른 실시예들에서, 애플리케이션 또는 다른 클라이언트 프로그램은 애플리케이션 프레임워크에 의해 제공되는 API를 사용할 수 있다. 이들 구현예에서, 애플리케이션 또는 클라이언트 프로그램은 SDK에 의해 제공되고/되거나 API에 의해 제공되는 함수 또는 메소드에 호출을 포함시키거나, SDK에서 정의되고 API에 의해 제공되는 데이터 유형 또는 객체를 사용할 수 있다. 이들 구현예에서, 애플리케이션 프레임워크는 프레임워크에 의해 정의되는 다양한 이벤트들에 응답하는 프로그램용 메인 이벤트 루프를 제공한다. API는 애플리케이션이 애플리케이션 프레임워크를 사용하여 이벤트들 및 이벤트들에 대한 응답들을 규정하게 한다. 일부 구현예들에서, API 호출은 입력 능력 및 상태, 출력 능력 및 상태, 프로세싱 능력, 전력 상태, 저장 용량 및 상태, 통신 능력 등과 같은 측면들에 관계되는 것들을 비롯한 하드웨어 디바이스의 능력 또는 상태를 애플리케이션에 보고할 수 있으며, API는 하드웨어 컴포넌트 상에서 부분적으로 실행되는 펌웨어, 마이크로코드, 다른 낮은 레벨의 로직에 의하여 부분적으로 구현될 수 있다.
API-호출 컴포넌트는 (예컨대, API-구현 컴포넌트와 동일한 데이터 처리 시스템 상의) 로컬 컴포넌트이거나, 네크워크를 통해 API를 통하여 API-구현 컴포넌트와 통신하는 (예컨대, API-구현 컴포넌트와는 상이한 데이터 처리 시스템 상의) 원격 컴포넌트일 수 있다. API-구현 컴포넌트는 또한 API-호출 컴포넌트로서 작용할 수 있고(예컨대, 이는 상이한 API-구현 컴포넌트에 의해 노출되는 API에 API 호출을 할 수 있음), API-호출 컴포넌트는 상이한 API-호출 컴포넌트에 노출되는 API를 구현함으로써 API-구현 컴포넌트로서 또한 작용할 수 있다.
API는 상이한 프로그래밍 언어들로 작성된 다수의 API-호출 컴포넌트들이 API-구현 컴포넌트와 통신하게 할 수 있으며, 따라서 API는 API-구현 컴포넌트와 API-호출 컴포넌트 사이에서 호출과 반환을 변환시키기 위한 특징부들을 포함할 수 있다. 그러나, API는 특정 프로그래밍 언어에 의해 구현될 수 있다. 일 실시예에서, API-호출 컴포넌트는 OS 공급자로부터의 API 세트, 플러그인 공급자로부터의 다른 API 세트, 다른 API 세트의 다른 공급자(예컨대, 소프트웨어 라이브러리의 공급자) 또는 생성자로부터의 다른 API 세트와 같은, 상이한 공급자들로부터의 API들을 호출할 수 있다.
도 5는 일부 구현예들에서 사용될 수 있는 예시적인 API 아키텍처(500)를 도시하는 블록도이다. 도 5에 도시된 바와 같이, API 아키텍처(500)는 API(520)를 구현하는 API-구현 컴포넌트(510)(예컨대, 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)를 포함한다. API(520)는 하나 이상의 기능, 메소드, 클래스, 객체, 프로토콜, 데이터 구조, 포맷, 및/또는 API-호출 컴포넌트(530)에 의해 사용될 수 있는 API-구현 컴포넌트의 다른 특징부들을 규정할 수 있다. API(520)는 API-구현 컴포넌트 내의 함수가 어떻게 API-호출 컴포넌트로부터 파라미터(532)들을 받는지, 그리고 이 함수가 어떻게 API-호출 컴포넌트로 결과(522)를 반환하는지를 규정하는 적어도 하나의 호출 규약(calling convention)을 규정할 수 있다. API-호출 컴포넌트(530)(예컨대, 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)는 API(520)에 의해 규정되는 API-구현 컴포넌트(510)의 특징부들에 액세스하여 이를 사용하도록 API(520)를 통해 API 호출을 한다. API-구현 컴포넌트(510)는 API 호출에 응답하여 API(520)를 통하여 API-호출 컴포넌트(530)로 값을 반환할 수 있다.
예를 들어, API-구현 컴포넌트(510)는 API(520)을 통하여 규정되어 있지 않고 API-호출 컴포넌트(530)에 이용될 수 없는 추가적인 기능, 메소드, 클래스, 데이터 구조 및/또는 다른 특징부들을 포함할 수 있다. API-호출 컴포넌트(530)는 API-구현 컴포넌트(510)와 동일한 시스템 상에 있을 수 있거나, 원격지에 정위될 수 있어 네트워크를 통해 API(520)를 사용하여 API-구현 컴포넌트(510)에 액세스한다. 도 5는 API(520)와 상호작용하는 단일 API-호출 컴포넌트(530)를 도시하지만, API-호출 컴포넌트(530)와는 상이한 언어(또는 동일한 언어)로 작성될 수 있는 다른 API-호출 컴포넌트들이 API(520)를 사용할 수 있다.
API-구현 컴포넌트(510), API(520) 및 API-호출 컴포넌트(530)는 기계(예컨대, 컴퓨터 또는 다른 데이터 처리 시스템)에 의해 판독가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함하는 기계-판독가능한 매체에 저장될 수 있다. 예를 들어, 기계-판독가능한 매체는 자기 디스크, 광 디스크, RAM(random access memory), ROM(read only memory), 플래시 메모리 디바이스 등을 포함한다.
도 6은 다양한 애플리케이션 프로그래밍 인터페이스들을 포함하는 예시적인 소프트웨어 스택(600)을 도시한다. 도 6에 의해 도시된 바와 같이, 애플리케이션(602, 604)들은 수 개의 서비스 API(610 내지616)들을 사용하여 서비스 A(606) 또는 서비스 B(608)를 호출하고 수 개의 OS API(620 내지 622)를 사용하여 운영 체계(618)를 호출할 수 있다. 서비스 A(606) 또는 서비스 B(608)는 수 개의 OS API(620 내지 622)를 사용하여 OS를 호출할 수 있다.
서비스 B(608)가 2개의 API(612, 614)들을 가지며, 이 중 하나인 서비스 B의 API 1(612)은 애플리케이션 1(602)로부터 호출을 받고 이로 값들을 반환하며, 다른 서비스 B의 API 2(614)는 애플리케이션 2(604)로부터 호출을 받고 이로 값들을 반환한다. 서비스 A(606)(예를 들어, 소프트웨어 라이브러리일 수 있음)는 OS API 1(620)을 호출하고 이로부터 반환 값들을 받고, 서비스 B(622)(예를 들어, 소프트웨어 라이브러리일 수 있음)는 OS API 1(620)및 OS API 2(622) 둘 모두를 호출하고 이들로부터 반환 값을 받는다. 애플리케이션 2(604)는 OS API 2(622)를 호출하고 이로부터 반환 값을 받는다.
예시적인 시스템 아키텍처
도 7은 도 1 내지 도 6의 특징부들 및 프로세스들을 구현할 수 있는 예시적인 컴퓨팅 디바이스(700)의 블록도이다. 컴퓨팅 디바이스(700)는 메모리 인터페이스(702), 하나 이상의 데이터 프로세서, 이미지 프로세서 및/또는 중앙 처리 유닛(704), 및 주변기기 인터페이스(706)를 포함할 수 있다. 메모리 인터페이스(702), 하나 이상의 프로세서(704) 및/또는 주변기기 인터페이스(706)는 개별 컴포넌트들일 수 있거나 하나 이상의 집적회로들에 통합될 수 있다. 컴퓨팅 디바이스(700) 내의 다양한 컴포넌트들은 하나 이상의 통신 버스 또는 신호 라인들에 의하여 결합될 수 있다.
센서, 디바이스 및 서브시스템은 다수의 기능들을 용이하게 하기 위하여 주변기기 인터페이스(706)와 결합될 수 있다. 예를 들어, 움직임 센서(710), 광 센서(712) 및 근접 센서(714)는 배향, 조명 및 근접 기능을 용이하게 하기 위하여 주변기기 인터페이스(706)에 결합될 수 있다. 다른 센서(716)들이 또한 GNSS(global navigation satellite system)(예컨대, GPS 수신기), 온도 센서, 생체인식 센서(biometric sensor), 자력계 또는 다른 감지 디바이스와 같은 주변기기 인터페이스(706)와 연결되어 관련 기능들을 용이하게 할 수 있다.
카메라 서브시스템(720) 및 광학 센서(722), 예컨대 CCD(charged coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 광학 센서는 사진 및 비디오 클립의 녹화와 같은 카메라의 기능을 용이하게 하도록 이용될 수 있다. 카메라 서브시스템(720) 및 광학 센서(722)는, 예컨대 안면 인식 분석을 수행함으로써, 사용자의 인증 동안에 사용될 사용자의 이미지를 수집하는 데 사용될 수 있다.
통신 기능들은 무선 주파수 수신기와 송신기 및/또는 광학(예컨대, 적외선) 수신기와 송신기를 포함할 수 있는, 하나 이상의 무선 통신 서브시스템(724)을 통하여 용이하게 될 수 있다. 통신 서브시스템(724)의 구체적인 설계와 구현은 컴퓨팅 디바이스(700)가 동작하도록 의도되는 통신 네트워크(들)에 의존할 수 있다. 예를 들어, 컴퓨팅 디바이스(700)는 GSM 네트워크, GPRS 네트워크, EDGE 네트워크, Wi-Fi 또는 WiMax 네트워크, 및 블루투스™ 네트워크를 통해 동작하도록 설계된 통신 서브시스템(724)들을 포함할 수 있다. 특히, 무선 통신 서브시스템(724)은 디바이스(100)가 다른 무선 디바이스를 위한 기지국으로서 구성될 수 있도록 호스팅 프로토콜을 포함할 수 있다.
오디오 서브시스템(726)은 화자 인식, 음성 복제, 디지털 녹음, 및 전화 통신 기능과 같은 음성-인에이블형(voice-enabled) 기능들을 용이하게 하기 위하여 스피커(728) 및 마이크(730)에 결합될 수 있다. 오디오 서브시스템(726)은 예를 들어 음성 명령, 성문 감정(voiceprinting) 및 음성 인증의 처리를 용이하게 하도록 구성될 수 있다.
I/O 서브시스템(740)은 터치 표면 제어기(742) 및/또는 다른 입력 제어기(744)를 포함할 수 있다. 터치 표면 제어기(742)는 터치 표면(746)에 결합될 수 있다. 터치 표면(746)과 터치 표면 제어기(742)는, 예를 들어 용량성, 저항성, 적외선 및 표면 탄성파(surface acoustic wave) 기술뿐만 아니라 다른 근접 센서 어레이 또는 터치 표면(746)과의 하나 이상의 접촉점들을 결정하기 위한 다른 요소들을 포함하지만 이로 한정되지 않는 복수의 터치 감응 기술들 중 어느 하나를 사용하여 이들의 접촉 및 이동 또는 단절을 검출할 수 있다.
다른 입력 제어기(들)(744)는 하나 이상의 버튼, 로커 스위치(rocker switch), 썸휠(thumb-wheel), 적외선 포트, USB 포트 및/또는 스타일러스와 같은 포인터 디바이스와 같은 다른 입력/제어 디바이스(748)에 결합될 수 있다. 하나 이상의 버튼(도시되지 않음)은 스피커(728) 및/또는 마이크(730)의 음량 제어를 위한 상/하 버튼을 포함할 수 있다.
일 구현예에서, 제1 지속기간 동안의 버튼 누름은 터치 표면(746)의 로크를 해제시킬 수 있고, 제1 지속기간보다 긴 제2 지속기간 동안의 버튼 누름은 컴퓨팅 디바이스(700)로의 전력을 온 또는 오프 상태로 할 수 있다. 제3 지속기간 동안의 버튼 누름은, 사용자가 마이크(730)에 명령을 말하여 디바이스가 음성 명령을 실행하게 할 수 있는, 음성 제어, 또는 음성 명령, 모듈을 활성화시킬 수 있다. 사용자는 버튼들 중 하나 이상의 버튼의 기능을 원하는 대로 변경시킬 수 있다. 터치 표면(746)은 예를 들어 가상 또는 소프트 버튼 및/또는 키보드를 구현하는 데에 또한 사용될 수 있다.
일부 구현예들에서, 컴퓨팅 디바이스(700)는 MP3, AAC 및 MPEG 파일과 같은, 기록된 오디오 및/또는 비디오 파일을 제공할 수 있다. 일부 구현들에서, 컴퓨팅 디바이스(700)는 아이팟(iPod)™과 같은 MP3 플레이어의 기능을 포함할 수 있다. 따라서, 컴퓨팅 디바이스(700)는 아이팟과 호환성이 있는 36핀 커넥터를 포함할 수 있다. 다른 입/출력 및 제어 디바이스가 또한 사용될 수 있다.
메모리 인터페이스(702)는 메모리(750)에 결합될 수 있다. 메모리(750)는 고속 RAM 및/또는 비휘발성 메모리, 예를 들어 하나 이상의 자기 디스크 저장 디바이스, 하나 이상의 광학 저장 디바이스, 및/또는 플래시 메모리(예컨대, NAND, NOR)를 포함할 수 있다. 메모리(750)는 운영 체제(752), 예를 들어 다윈(Darwin), RTXC, 리눅스(LINUX), 유닉스(UNIX), OS X, 윈도우즈(WINDOWS), 또는 임베디드 운영 체제, 예를 들어 VxWorks를 저장할 수 있다.
운영 체제(752)는 기본 시스템 서비스들을 취급하고 하드웨어 의존형 태스크를 수행하기 위한 명령어를 포함할 수 있다. 일부 구현예들에서, 운영 체제(752)는 커널(예컨대, 유닉스 커널)일 수 있다. 일부 구현예들에서, 운영 체제(752)는 모바일 디바이스가 사용자의 신체 상에 있는지 또는 정지 물체 상에 있는지 여부를 판단하고 이에 따라 모바일 디바이스의 송신 출력을 조절하기 위한 명령어를 포함할 수 있다. 예를 들어, 운영 체제(752)는 도 1 내지 도 6을 참조하여 설명된 바와 같이 모바일 디바이스 탐지 및 송신 출력 조절 특징부들을 구현할 수 있다.
메모리(750)는 또한 하나 이상의 추가 디바이스, 하나 이상의 컴퓨터 및/또는 하나 이상의 서버와의 통신을 용이하게 하기 위하여 통신 명령어(754)를 저장할 수 있다. 메모리(750)는 그래픽 사용자 인터페이스의 처리를 용이하게 하기 위한 그래픽 사용자 인터페이스 명령어(756); 센서 관련 처리 및 기능을 용이하게 하기 위한 센서 처리 명령어(758); 전화 관련 프로세스 및 기능을 용이하게 하기 위한 전화 명령어(760); 전자 메시징 관련 프로세스 및 기능을 용이하게 하기 위한 전자 메시징 명령어(762); 웹 브라우징 관련 프로세스 및 기능을 용이하게 하기 위한 웹 브라우징 명령어(764); 매체 처리 관련 프로세스 및 기능을 용이하게 하기 위한 매체 처리 명령어(766); GNSS 및 내비게이션 관련 프로세스 및 기능을 용이하게 하기 위한 GNSS/내비게이션 명령어(768); 및/또는 카메라 관련 프로세스 및 기능을 용이하게 하기 위한 카메라 명령어(770)를 포함할 수 있다. 메모리(770)는 도 1 내지 도 6을 참조하여 설명된 바와 같이 모바일 디바이스 탐지 및 송신 출력 조절 프로세스 및 기능과 같은 기타 프로세스 및 기능을 용이하게 하기 위한 소프트웨어 명령어(772)를 저장할 수 있다.
메모리(750)는 또한 웹 비디오 관련 프로세스 및 기능을 용이하게 하기 위한 웹 비디오 명령어; 및/또는 웹 쇼핑 관련 프로세스 및 기능을 용이하게 하기 위한 웹 쇼핑 명령어와 같은 다른 소프트웨어 명령어(774)를 저장할 수 있다. 일부 구현예들에서, 매체 처리 명령어(766)는 오디오 처리 관련 프로세스 및 기능과 비디오 처리 관련 프로세스 및 기능을 각각 용이하게 하기 위하여 오디오 처리 명령어와 비디오 처리 명령어로 나뉜다.
위에서 확인된 명령어들 및 애플리케이션들 각각은 전술된 하나 이상의 기능들을 수행하기 위한 한 세트의 명령어들에 대응할 수 있다. 이들 명령어는 개별 소프트웨어 프로그램, 절차 또는 모듈로서 구현될 필요는 없다. 메모리(750)는 추가적인 명령어 또는 더 적은 수의 명령어를 포함할 수 있다. 또한, 컴퓨팅 디바이스(700)의 다양한 기능들은, 하나 이상의 신호 처리 및/또는 ASIC(application specific integrated circuit)을 포함한, 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
Claims (18)
- 모바일 디바이스에 의해, 상기 모바일 디바이스의 사용자를 위한 음성 통화를 연결하는 단계 - 상기 음성 통화를 연결하는 단계는 상기 모바일 디바이스의 하나 이상의 무선 주파수 송신기들이 전파들을 제1 전력 레벨로 송신하게 함 -;
상기 모바일 디바이스의 움직임 센서로부터 움직임 신호 샘플들을 수집하는 단계 - 각각의 움직임 신호 샘플은, 각기 상기 모바일 디바이스의 움직임의 크기를 나타냄 -;
상기 움직임 신호 샘플들의 통계적 변동(statistical variance)을 계산하는 단계;
상기 음성 통화가 연결된 이래로 경과한 시간의 길이를 판단하는 단계;
상기 계산된 움직임 신호 샘플들의 통계적 변동 및 상기 음성 통화가 연결된 이래로 경과한 시간의 길이에 기초하여 상기 모바일 디바이스가 사용자의 신체 상에 있는지 또는 무생물 물체 상에 있는지 여부를 판단하는 단계; 및
상기 판단에 기초하여 송신 전력 레벨을 상기 제1 전력 레벨로부터 제2 전력 레벨로 조절하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 모바일 디바이스가 상기 사용자의 신체 상에 있다고 판단하는 단계; 및
상기 모바일 디바이스가 상기 사용자의 신체 상에 있는 경우, 상기 송신 전력 레벨을 저 전력 레벨로 조절하는 단계를 추가로 포함하는 방법. - 제1항에 있어서,
상기 모바일 디바이스가 무생물 물체 상에 있다고 판단하는 단계; 및
상기 모바일 디바이스가 상기 무생물 물체 상에 있는 경우, 상기 송신 전력 레벨을 고 전력 레벨로 조절하는 단계를 추가로 포함하는 방법. - 삭제
- 삭제
- 삭제
- 하나 이상의 프로세서들; 및
상기 하나 이상의 프로세스들에 의해 실행될 때,
모바일 디바이스에 의해, 상기 모바일 디바이스의 사용자를 위한 음성 통화를 연결하게 하고 - 상기 음성 통화를 연결하는 것은 상기 모바일 디바이스의 하나 이상의 무선 주파수 송신기들이 전파들을 제1 전력 레벨로 송신하게 함 -,
상기 모바일 디바이스의 움직임 센서로부터 움직임 신호 샘플들을 수집하게 하고 - 각각의 움직임 신호 샘플은, 각기 상기 모바일 디바이스의 움직임의 크기를 나타냄 -;
상기 움직임 신호 샘플들의 통계적 변동을 계산하게 하고;
상기 음성 통화가 연결된 이래로 경과한 시간의 길이를 판단하게 하고;
상기 계산된 움직임 신호 샘플들의 통계적 변동 및 상기 음성 통화가 연결된 이래로 경과한 시간의 길이에 기초하여 상기 모바일 디바이스가 사용자의 신체 상에 있는지 또는 무생물 물체 상에 있는지 여부를 판단하게 하고,
상기 판단에 기초하여 송신 전력 레벨을 상기 제1 전력 레벨로부터 제2 전력 레벨로 조절하게 하는,
명령어들의 하나 이상의 시퀀스들을 포함하는 비일시적 컴퓨터-판독가능한 매체를 포함하는 시스템. - 제7항에 있어서, 상기 명령어들은,
상기 모바일 디바이스가 상기 사용자의 신체 상에 있다고 판단하게 하고,
상기 모바일 디바이스가 상기 사용자의 신체 상에 있는 경우, 상기 송신 전력 레벨을 저 전력 레벨로 조절하게 하는, 시스템. - 제7항에 있어서, 상기 명령어들은,
상기 모바일 디바이스가 무생물 물체 상에 있다고 판단하게 하고,
상기 모바일 디바이스가 상기 무생물 물체 상에 있는 경우, 상기 송신 전력 레벨을 고 전력 레벨로 조절하게 하는, 시스템. - 삭제
- 삭제
- 삭제
- 제1항에 있어서, 상기 모바일 디바이스가 사용자의 신체 상에 있는지 또는 무생물 물체 상에 있는지 여부를 판단하는 단계는,
상기 움직임 신호 샘플들의 상기 통계적 변동이 한계 변동 값 이하인지 판단하는 단계;
상기 음성 통화가 연결된 이래로 경과한 시간의 길이가 임계 시간 값을 초과하는지 판단하는 단계;
상기 움직임 신호 샘플들의 상기 통계적 변동이 한계 변동 값 이하라는 판단 및 상기 음성 통화가 연결된 이래로 경과한 시간의 길이가 임계 시간 값을 초과한다는 판단에 따라, 상기 모바일 디바이스가 상기 무생물 물체 상에 있다고 판단하는 단계를 포함하는, 방법. - 제1항에 있어서, 상기 모바일 디바이스가 사용자의 신체 상에 있는지 또는 무생물 물체 상에 있는지 여부를 판단하는 단계는,
상기 움직임 신호 샘플들의 상기 통계적 변동이 한계 변동 값 이하인지 판단하는 단계;
상기 음성 통화가 연결된 이래로 경과한 시간의 길이가 임계 시간 값 이하인지 판단하는 단계;
상기 움직임 신호 샘플들의 상기 통계적 변동이 한계 변동 값 이하라는 판단 및 상기 음성 통화가 연결된 이래로 경과한 시간의 길이가 임계 시간 값 이하라는 판단에 따라, 상기 모바일 디바이스의 상기 움직임 센서로부터 추가적인 움직임 신호 샘플들을 수집하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 모바일 디바이스의 추가적인 이동을 기술하는 추가적인 움직임 데이터를 획득하는 단계; 및
상기 추가적인 움직임 데이터에 기초하여 상기 모바일 디바이스가 상기 사용자의 신체와 상기 무생물 물체 사이의 천이 상태에 있는지를 판단하는 단계를 더 포함하는 방법. - 제7항에 있어서, 상기 모바일 디바이스가 사용자의 신체 상에 있는지 또는 무생물 물체 상에 있는지 여부를 판단하게 하는 것은,
상기 움직임 신호 샘플들의 상기 통계적 변동이 한계 변동 값 이하인지 판단하게 하고;
상기 음성 통화가 연결된 이래로 경과한 시간의 길이가 임계 시간 값을 초과하는지 판단하게 하고;
상기 움직임 신호 샘플들의 상기 통계적 변동이 한계 변동 값 이하라는 판단 및 상기 음성 통화가 연결된 이래로 경과한 시간의 길이가 임계 시간 값을 초과한다는 판단에 따라, 상기 모바일 디바이스가 상기 무생물 물체 상에 있다고 판단하게 하는 것을 포함하는, 시스템. - 제7항에 있어서, 상기 모바일 디바이스가 사용자의 신체 상에 있는지 또는 무생물 물체 상에 있는지 여부를 판단하게 하는 것은,
상기 움직임 신호 샘플들의 상기 통계적 변동이 한계 변동 값 이하인지 판단하게 하고;
상기 음성 통화가 연결된 이래로 경과한 시간의 길이가 임계 시간 값 이하인지 판단하게 하고;
상기 움직임 신호 샘플들의 상기 통계적 변동이 한계 변동 값 이하라는 판단 및 상기 음성 통화가 연결된 이래로 경과한 시간의 길이가 임계 시간 값 이하라는 판단에 따라, 상기 모바일 디바이스의 상기 움직임 센서로부터 추가적인 움직임 신호 샘플들을 수집하게 하는 것을 포함하는, 시스템. - 제7항에 있어서, 상기 명령어들은,
상기 모바일 디바이스의 추가적인 이동을 기술하는 추가적인 움직임 데이터를 획득하게 하고;
상기 추가적인 움직임 데이터에 기초하여 상기 모바일 디바이스가 상기 사용자의 신체와 상기 무생물 물체 사이의 천이 상태에 있는지를 판단하게 하는, 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/913,271 | 2013-06-07 | ||
US13/913,271 US9432954B2 (en) | 2013-06-07 | 2013-06-07 | Determination of device body location |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140143699A KR20140143699A (ko) | 2014-12-17 |
KR101588121B1 true KR101588121B1 (ko) | 2016-01-22 |
Family
ID=50555039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140063985A KR101588121B1 (ko) | 2013-06-07 | 2014-05-27 | 디바이스 본체 정위의 판단 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9432954B2 (ko) |
EP (1) | EP2811794B1 (ko) |
KR (1) | KR101588121B1 (ko) |
CN (1) | CN104240278B (ko) |
AU (2) | AU2014100524B4 (ko) |
TW (1) | TWI490498B (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9699739B2 (en) | 2013-06-07 | 2017-07-04 | Apple Inc. | Determination of device body location |
US10716073B2 (en) | 2013-06-07 | 2020-07-14 | Apple Inc. | Determination of device placement using pose angle |
US9818279B2 (en) * | 2014-07-23 | 2017-11-14 | The Boeing Company | Blast sensor and mobile communication device |
US9766370B2 (en) | 2015-05-18 | 2017-09-19 | Apple Inc. | Wrist-detection algorithm |
US10108245B2 (en) | 2016-04-11 | 2018-10-23 | Microsoft Technology Licensing, Llc | Interaction based charging control |
JP6825349B2 (ja) * | 2016-12-16 | 2021-02-03 | 富士ゼロックス株式会社 | 情報処理装置、画像処理装置及びプログラム |
US11082550B2 (en) * | 2018-07-09 | 2021-08-03 | Semtech Corporation | Proximity sensor and mobile wireless device |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW507460B (en) | 2000-02-01 | 2002-10-21 | Ind Tech Res Inst | Processing method and device for positioning service of TDMA system |
WO2009000314A1 (en) * | 2007-06-22 | 2008-12-31 | Trimble Terrasat Gmbh | Position tracking device and method |
US8417296B2 (en) * | 2008-06-05 | 2013-04-09 | Apple Inc. | Electronic device with proximity-based radio power control |
US8024013B2 (en) * | 2008-07-09 | 2011-09-20 | Sony Ericsson Mobile Communications Ab | Regulating power duty cycle of an RF transmitter/receiver responsive to distance moved |
US8587515B2 (en) * | 2008-08-05 | 2013-11-19 | Apple Inc. | Systems and methods for processing motion sensor generated data |
KR101829865B1 (ko) * | 2008-11-10 | 2018-02-20 | 구글 엘엘씨 | 멀티센서 음성 검출 |
US7873849B2 (en) * | 2009-09-02 | 2011-01-18 | Apple Inc. | Motion sensor data processing using various power management modes |
KR101095127B1 (ko) * | 2009-09-11 | 2011-12-16 | 연세대학교 산학협력단 | 모바일 휴대기기의 전력 관리 장치 및 방법 |
KR20110093031A (ko) * | 2010-02-11 | 2011-08-18 | 주식회사 엘지유플러스 | 이동통신 단말기 및 그 구동방법 |
US8781420B2 (en) * | 2010-04-13 | 2014-07-15 | Apple Inc. | Adjustable wireless circuitry with antenna-based proximity detector |
US9372979B2 (en) | 2011-01-07 | 2016-06-21 | Geoff Klein | Methods, devices, and systems for unobtrusive mobile device user recognition |
US8775103B1 (en) * | 2011-06-17 | 2014-07-08 | Amazon Technologies, Inc. | Proximity sensor calibration and configuration |
JP5740285B2 (ja) * | 2011-10-31 | 2015-06-24 | 株式会社東芝 | 歩行分析装置及び歩行分析プログラム |
US8995938B2 (en) | 2011-11-14 | 2015-03-31 | Blackberry Limited | Radiation power level control system and method for a wireless communication device having tunable elements |
-
2013
- 2013-06-07 US US13/913,271 patent/US9432954B2/en active Active
-
2014
- 2014-03-24 EP EP14161348.9A patent/EP2811794B1/en not_active Not-in-force
- 2014-05-20 AU AU2014100524A patent/AU2014100524B4/en not_active Expired
- 2014-05-20 AU AU2014202757A patent/AU2014202757B2/en active Active
- 2014-05-23 TW TW103118136A patent/TWI490498B/zh active
- 2014-05-27 CN CN201410226148.7A patent/CN104240278B/zh active Active
- 2014-05-27 KR KR1020140063985A patent/KR101588121B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
TW201502517A (zh) | 2015-01-16 |
CN104240278B (zh) | 2017-10-20 |
AU2014100524A4 (en) | 2014-06-19 |
US9432954B2 (en) | 2016-08-30 |
AU2014202757A1 (en) | 2015-01-15 |
KR20140143699A (ko) | 2014-12-17 |
EP2811794A1 (en) | 2014-12-10 |
AU2014202757B2 (en) | 2015-09-10 |
TWI490498B (zh) | 2015-07-01 |
CN104240278A (zh) | 2014-12-24 |
US20140364102A1 (en) | 2014-12-11 |
AU2014100524B4 (en) | 2014-12-18 |
EP2811794B1 (en) | 2017-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101588121B1 (ko) | 디바이스 본체 정위의 판단 | |
US10506522B2 (en) | Determination of device body location | |
US9600049B2 (en) | Motion fencing | |
KR101707734B1 (ko) | 디바이스 본체 정위의 판단 | |
US9459118B2 (en) | Adjusting step count to compensate for arm swing | |
WO2018219170A1 (zh) | 控制对焦的方法、计算机设备及计算机可读存储介质 | |
KR20150069535A (ko) | 단말 상에서 음성 제어 동작을 수행하기 위한 방법 및 장치 | |
US20230042460A1 (en) | Content Transmission Method, Device, and Medium | |
US8320838B2 (en) | Host-mobile trace synchronization and comparison | |
US10716073B2 (en) | Determination of device placement using pose angle | |
EP3136209A1 (en) | Mobile device determining its position in water or onboard | |
CN109634862B (zh) | 应用分析方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181226 Year of fee payment: 4 |