[0001]【技术领域】
[0002][0001]본 발명의 실시예들은 일반적으로 전자 디바이스들에 관한 것이며, 더 구체적으로는 햅틱 효과들을 인코딩하고 렌더링하는 전자 디바이스들에 관한 것이다.
[0003]【背景技术】
[0004][0002]전자 디바이스 제조자들은 사용자들을 위한 풍부한 인터페이스를 생산하려고 노력한다. 종래의 디바이스들은 시각적 및 청각적 큐들을 사용하여 사용자에게 피드백을 제공한다. 일부 인터페이스 디바이스들에서, 운동감각적 피드백(예를 들어, 활성 및 저항성 힘 피드백) 및/또는 촉각적 피드백(예를 들어, 진동, 텍스처, 온도 변경 등)이 사용자에게 제공된다. 일반적으로, 이러한 피드백은 총체적으로 "햅틱 피드백" 또는 "햅틱 효과들"로서 알려져 있다. 햅틱 피드백은 사용자의 전자 디바이스와의 상호작용을 직관적으로 향상시키고 단순화시키는 큐들을 제공한다. 예를 들어, 햅틱 효과들은 큐들을 전자 디바이스의 사용자에게 제공하여 사용자에게 특정 이벤트들을 통지하거나, 또는 실감 피드백을 제공하여 시뮬레이트된 또는 가상 환경 내에서 더 큰 감각적 몰입을 생성할 수 있다.
[0005][0003]햅틱 피드백은 또한 셀룰러 전화, 스마트 폰, 태블릿, 휴대용 게임 디바이스와 같은 다양한 휴대용 전자 디바이스들, 및 다양한 다른 휴대용 전자 디바이스들에 점점 더 많이 포함되고 있다. 추가로, 일부 공지된 디바이스들은 실시간으로 또는 오디오 파일에 기초하여 햅틱 효과들을 수정하거나 생성한다.
[0006]【发明内容】
[0007][0004]본 발명의 실시예들은 관련 기술에 비해 실질적으로 개선된 햅틱 효과들을 생성하도록 구성되는 전자 디바이스들에 관한 것이다.
[0008][0005]실시예들의 특징들 및 장점들은 후속하는 기재에 설명되거나, 또는 기재로부터 명백할 것이거나, 또는 발명의 구현에 의해 학습될 수 있다.
[0009][0006]일 예에서, 햅틱 효과들을 인코딩하고 생성하기 위한 방법들, 비-일시적 매체들, 및 시스템들은 미디어 오브젝트를 검색하는 것, 미디어 오브젝트를 분석하여 햅틱 효과들을 렌더링하기 위한 하나 이상의 시간 기간을 결정하는 것, 그 시간 기간들 동안 렌더링하기 위한 햅틱 효과들을 결정하는 것, 햅틱 효과들 각각의 시작 시간 및 지속기간을 식별하는 햅틱 효과 패턴으로서 햅틱 효과들을 인코딩하는 것, 및 햅틱 패턴에 따라 햅틱 효과들을 렌더링하는 것을 포함한다.
[0010][0007]앞의 일반적 기재 및 후속하는 상세한 기재 모두가 예시적이고 설명적이며, 발명을 기술된 예들로 제한하도록 의도되지 않는다는 것이 이해되어야 한다.
[0011]【附图说明】
[0012][0008]추가적인 실시예들, 상세항목들, 장점들, 및 수정들은 첨부 도면들과 함께 취해질 바람직한 실시예들의 후속하는 상세한 기재로부터 명백해질 것이다.도 1은 본 발명의 예시적인 실시예에 따른 햅틱-인에이블형 시스템/디바이스의 간략화된 블록도이다.도 2는 본 발명의 예시적인 실시예에 따른 햅틱 패턴을 생성하기 위한 시스템을 예시하는 간략화된 블록도이다.도 3은 본 발명의 예시적인 실시예에 따른 햅틱 효과 패턴에 기초하여 햅틱 효과들을 인코딩하고 렌더링하기 위한 기능성의 흐름도를 예시한다.도 4a-4c는 본 발명의 예시적인 실시예들에 따른 햅틱 효과 패턴 및 햅틱 효과 타임라인을 예시한다.도 5는 본 발명의 예시적인 실시예에 따라 햅틱 피드백을 생성하고 렌더링하기 위한 시스템 환경을 예시한다.도 6은 본 발명의 예시적인 실시예에 따른 햅틱 효과 패턴에 따라 렌더링되는 햅틱 효과들의 햅틱 효과 타임라인들을 예시한다.도 7은 본 발명의 다른 예시적인 실시예에 따른 햅틱 효과 패턴에 따라 렌더링되는 햅틱 효과들의 타임라인들을 예시한다.도 8은 본 발명의 또 다른 예시적인 실시예에 따른 햅틱 효과 패턴에 따라 렌더링되는 햅틱 효과들의 타임라인들을 예시한다.
[0013][0009]이제 실시예들에 대한 참조가 상세하게 이루어질 것이며, 그 예들이 첨부 도면들에 예시된다. 후속하는 상세한 기재에서, 다수의 특정 상세항목들이 본 발명의 철저한 이해를 제공하기 위해 설명된다. 그러나, 본 발명이 이들 특정 상세항목들 없이도 구현될 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다. 다른 경우들에서, 널리-공지된 방법들, 절차들, 컴포넌트들, 및 회로들은 실시예들의 양태들을 불필요하게 모호하게 하지 않기 위해 상세히 기술되지 않았다. 가능한 어디에서든, 동일한 참조 번호들은 동일한 엘리먼트들에 대해 사용될 것이다.
[0014][0010]본 발명의 실시예들은 햅틱 효과들을 렌더링하기 위한 신규한 방법들, 비-일시적 매체들 및 시스템들을 가능하게 한다. 다양한 실시예들에 따르면, 햅틱 효과 패턴이 사용되어 다양한 햅틱 파라미터들에 따라 하나 이상의 햅틱 효과를 식별한다. 특히, 햅틱 효과 패턴은 햅틱-프리(haptic-free) 기간들을 무시한다. 그 결과, 디바이스 리소스들의 더 효율적인 사용이 제공된다. 예를 들어, 실시예들은 프로세서 계산들 및 전력 소모를 감소시킨다.
[0015][0011]도 1은 본 발명의 예시적인 실시예들에 따른 햅틱-인에이블형 시스템/디바이스(10)의 간략화된 블록도이다.
[0016][0012]시스템(10)은 터치스크린과 같은 터치 감지 표면(11), 또는 하우징(15) 내에 장착되는 다른 타입의 사용자 인터페이스를 포함하고, 기계적 키들/버튼들(13) 및 스피커(28)를 포함할 수 있다. 시스템(10) 상에서 햅틱 효과들을 생성하고 프로세서(12)를 포함하는 햅틱 피드백 시스템이 시스템(10) 내부에 있다. 메모리(20), 및 액추에이터(18) 또는 다른 햅틱 출력 디바이스에 결합되는 햅틱 구동 회로(16)가 프로세서(12)에 결합된다.
[0017][0013]프로세서(12)는 인코딩되는 햅틱 효과 패턴에 기초하여 어느 햅틱 효과들이 렌더링되는지, 및 햅틱 효과들이 렌더링되는 순서를 결정할 수 있다. 일반적으로, 햅틱 효과 패턴은 각각의 햅틱 효과에 대한 하나 이상의 햅틱 렌더링 시간 기간을 정의한다. 특히, 햅틱 효과 패턴은 각각의 햅틱 효과에 대한 시작 시간 및 지속기간을 추적하고 저장한다. 햅틱 효과의 크기, 빈도, 및 타입과 같은 추가적인 하이 레벨 파라미터들이 또한 특정될 수 있다. 햅틱 효과는 햅틱 효과가 렌더링될 때 그것이 이들 파라미터들의 일부 변경 또는 사용자의 상호작용에 기초한 이들 파라미터들의 변경을 포함하는 경우 "동적"인 것으로 간주될 수 있다. 이러한 동적 효과들의 예들은 램프-업, 램프-다운, 공간적, 및 다른 햅틱 효과들을 포함한다. 햅틱 피드백 시스템은, 일 실시예에서, 진동들(30, 31) 또는 다른 타입들의 햅틱 효과들을 시스템(10) 상에 생성한다.
[0018][0014]프로세서(12)는 제어 신호들을 햅틱 구동 회로(16)에 출력하는데, 이는 액추에이터(18)에 요구되는 전기 전류 및 전압(즉, "모터 신호들")을 공급하여 원하는 햅틱 효과들을 렌더링하기 위해 사용되는 전기 컴포넌트들 및 회로를 포함한다. 시스템(10)은 하나 초과의 액추에이터(18) 또는 다른 햅틱 출력 디바이스를 포함할 수 있고, 각각의 액추에이터는 별도의 구동 회로(16)를 포함할 수 있으며, 이들 모두는 공통 프로세서(12)에 결합된다.
[0019][0015]햅틱 구동 회로(16)는 액추에이터(18)를 구동하도록 구성된다. 예를 들어, 햅틱 구동 회로(16)는 액추에이터(18)의 공진 주파수(예를 들어, +/- 20Hz, 30Hz, 40Hz 등)와 그 부근에서 햅틱 구동 신호를 감쇠시킬 수 있다. 특정 실시예들에서, 햅틱 구동 회로(16)는 다양한 신호 프로세싱 스테이지들을 포함할 수 있고, 각각의 스테이지는 햅틱 구동 신호를 수정하기 위해 적용되는 신호 프로세싱 스테이지의 서브세트를 정의한다.
[0020][0016]프로세서(12)는 임의의 타입의 범용 프로세서일 수 있거나, 또는 주문형 집적 회로("ASIC")와 같이, 햅틱 효과들을 제공하도록 구체적으로 설계된 프로세서일 수 있다. 프로세서(12)는 전체 시스템(10)을 동작시키는 동일한 프로세서일 수 있거나, 또는 별도의 프로세서일 수 있다.
[0021][0017]메모리(20)는 프로세서(12)에 의해 액세스될 수 있는 다양한 컴퓨터-판독가능한 매체를 포함할 수 있다. 다양한 실시예들에서, 본원에 기술되는 메모리(20) 및 다른 메모리 디바이스들은 휘발성 및 비휘발성 매체, 이동식 그리고 비이동식 매체를 포함할 수 있다. 예를 들어, 메모리(20)는 랜덤 액세스 메모리("RAM"), 동적 RAM("DRAM"), 정적 RAM("SRAM"), 판독 전용 메모리("ROM"), 플래시 메모리, 캐시 메모리, 및/또는 임의의 다른 타입의 비-일시적 컴퓨터-판독가능한 매체의 임의의 조합을 포함할 수 있다. 메모리(20)는 프로세서(12)에 의해 실행되는 명령어들을 저장한다. 명령어들 중에서, 메모리(20)는 미디어 햅틱 시뮬레이션 모듈(22)을 포함하는데, 이는, 프로세서(12)에 의해 실행될 때, 터치 감지 표면(11) 및/또는 스피커(28)와 함께 액추에이터(18)를 사용하여, 그리고 하기에 논의되는 바와 같이 햅틱 효과들을 인코딩함으로써 햅틱 효과들을 생성한다. 메모리(20)는 또한 프로세서(12) 내부에 위치되거나, 또는 내부 및 외부 메모리의 임의의 조합일 수 있다.
[0022][0018]액추에이터(18)는 햅틱 효과를 생성할 수 있는 임의의 타입의 액추에이터 또는 햅틱 출력 디바이스일 수 있다. 일반적으로, 액추에이터는 햅틱 출력 디바이스의 예이며, 여기서 햅틱 출력 디바이스는 구동 신호에 응답하여, 진동촉각적 햅틱 효과, 정전기 마찰 햅틱 효과, 온도 변경, 및/또는 변형 햅틱 효과들과 같은 햅틱 효과들을 출력하도록 구성되는 디바이스이다. 액추에이터란 용어가 상세한 기재 전반에서 사용될 수 있지만, 발명의 실시예들은 다양한 햅틱 출력 디바이스들에 용이하게 적용될 수 있다. 액추에이터(18)는, 예를 들어, 전기 모터, 전자기 액추에이터, 보이스 코일, 형상 기억 합금, 전기-활성 폴리머, 솔레노이드, 이심 회전 질량 모터("ERM"), 하모닉 ERM 모터("HERM"), 선형 공진 액추에이터("LRA"), 솔레노이드 공진 액추에이터("SRA"), 압전 액추에이터, 매크로 섬유 복합재("MFC") 액추에이터, 고대역폭 액추에이터, 전기활성 폴리머("EAP") 액추에이터, 정전기 마찰 디스플레이, 초음파 진동 생성기 등일 수 있다. 일부 경우들에서, 액추에이터 자체가 햅틱 구동 회로를 포함할 수 있다.
[0023][0019]액추에이터(18)에 부가하여, 또는 액추에이터(18) 대신에, 시스템(10)은 정전기마찰("ESF"), 초음파 표면 마찰("USF")을 사용하는 디바이스들, 초음파 햅틱 트랜스듀서를 이용하여 음향 복사 압력을 유도하는 디바이스들, 햅틱 기판 및 플렉시블 또는 변형가능한 표면 또는 형상 변경 디바이스들을 사용하며 사용자의 몸에 부착될 수 있는 디바이스들, 에어 제트를 사용하는 공기의 분사와 같은 분출형 햅틱 출력을 제공하는 디바이스들 등과 같은, 비-기계식 또는 비-진동식 디바이스들일 수 있는 다른 타입들의 햅틱 출력 디바이스들(미도시됨)을 포함할 수 있다.
[0024][0020]일반적으로, 액추에이터는 단일 주파수에서 진동 햅틱 효과들을 생성하는 표준 해상도("SD") 액추에이터로서 특성화될 수 있다. SD 액추에이터의 예들은 ERM 및 LRA를 포함한다. SD 액추에이터에 비해, 압전 액추에이터 또는 EAP 액추에이터와 같은 고 해상도("HD") 액추에이터 또는 고 충실도 액추에이터는 다수의 주파수에서 고 대역폭/해상도 햅틱 효과들을 생성할 수 있다. HD 액추에이터들은 가변 진폭을 가지고 과도적 구동 신호들에 대한 빠른 응답을 가지는 넓은 대역폭 촉각 효과들을 생성하는 이들의 능력이 특징이다.
[0025][0021]시스템(10)은 셀룰러 전화, 개인 휴대 단말기("PDA"), 스마트폰, 컴퓨터 태블릿, 게임 콘솔, 원격 제어, 또는 하나 이상의 액추에이터를 포함하는 햅틱 효과 시스템을 포함하는 임의의 다른 타입의 디바이스와 같은, 임의의 타입의 휴대용 전자 디바이스일 수 있다. 다수의 액추에이터 구성에서, 각자의 햅틱 효과 패턴들은 액추에이터들 각각과 링크될 수 있다. 시스템(10)은 손목 밴드, 머리띠, 안경, 반지, 다리 밴드, 의복 내에 통합된 어레이들 등과 같은 웨어러블 디바이스, 또는 사용자가 몸에 착용할 수 있거나 사용자가 잡을 수 있고 햅틱 인에이블되는, 가구 또는 차량 스티어링 휠을 포함하는, 임의의 다른 타입의 디바이스일 수 있다. 추가로, 시스템(10)의 엘리먼트들 또는 기능성의 일부는 원격으로 위치될 수 있거나, 또는 시스템(10)의 나머지 엘리먼트들과 통신하는 또 다른 디바이스에 의해 구현될 수 있다.
[0026][0022]도 2는 본 발명의 예시적인 실시예에 따라 햅틱 패턴을 생성하기 위한 시스템(200)을 예시하는 간략화된 블록도이다.
[0027][0023]도 2에 도시된 바와 같이, 프로세서(212)는 애플리케이션(210)과 같은 다양한 프로그램들을 실행할 수 있다. 그 기능성의 일부로서, 애플리케이션(210)은 미디어 스트림(211)과 같은, 오디오 및/또는 비디오 스트림들을 포함하는 미디어 오브젝트들을 생성한다. 미디어 스트림(211)은, 샘플러(215)에 의해 또는 대안적으로 프로세서(212)에 의해 샘플링되어 햅틱 스트림(218)과 같은 햅틱 스트림들을 생성할 수 있다. 예를 들어, 40초 미디어 스트림(211)은 초당 200 샘플과 같은, 미리 결정된 레이트에서 샘플링될 수 있다. 그 결과, 예시적인 40초 미디어 스트림(211)은 8000개의 샘플링된 값들로 표현된다. 종래의 시스템들에서, 햅틱 값은 미디어 스트림(211)의 8000개의 샘플링된 값들 각각에 할당된다. 결국, 널(null) 값들을 포함하는 8000개의 할당된 햅틱 값들은 이러한 종래의 시스템들에 의해 프로세싱된다. 광범위한 햅틱 효과들이 오디오로부터 생성될 수 있지만, 과도한 프로세싱 전력량이 요구된다. 프로세서의 과도한 사용은 휴대용 전자 디바이스들의 배터리 수명 길이(battery life span)를 현저하게 감소시킬 수 있다.
[0028][0024]반면, 본 발명의 실시예들에서, 프로세서(212)는 미디어 스트림(211)의 샘플링된 값들 또는 파형들을 분석함으로써 햅틱 스트림(218)을 햅틱 효과 패턴(219)으로 변환 또는 인코딩한다. 특히, 햅틱 효과 패턴(219)이 사용되어 각각의 햅틱 효과의 시작 시간 및 지속기간을 식별한다. 각각의 햅틱 효과의 시작 시간을 식별함으로써, 프로세서(212)는 햅틱-활성 시간 기간들 동안의 햅틱 효과들만을 프로세싱할 필요가 있다. 그 결과, 프로세서(212)는 렌더링하기 위한 햅틱 효과들이 스케줄링되지 않을 때 햅틱 효과들의 프로세싱으로부터 해방될 수 있다. 예를 들어, 햅틱 효과 패턴(219)이 지속기간 10초를 가지는 미디어 스트림(211)에 대응하고 지속기간 1초를 가지고 9초의 시간에서 시작하는 햅틱 효과를 포함하는 경우, 프로세서(212)는 햅틱 효과의 시작 시간, 즉 9초에서, 그리고 1초인 햅틱 효과 지속기간 동안, 햅틱 효과를 프로세싱하고 렌더링하기 시작할 수 있다.
[0029][0025]프로세서(212)의 부하를 감소시키는 것 외에, 햅틱 효과 패턴(219)은 햅틱 스트림(218) 대신 메모리(220)에 저장될 수 있다. 그 결과, 메모리(220) 내의 메모리 사용이 감소한다. 햅틱 효과 패턴(219)은 또한 햅틱 효과 타입, 크기, 빈도 등과 같은 다른 햅틱 파라미터들을 특정할 수 있다. 일부 경우들에서, 프로세서(212)는 또한 햅틱 효과들의 시작 시간들 및 지속기간들을 조정하여 동기식 또는 비동기식 햅틱 효과들을 제공할 수 있다.
[0030][0026]대안적인 실시예에서, 햅틱 스트림(218)과 같은 햅틱 데이터는 미디어 스트림(211) 내에 직접 포함될 수 있다. 이러한 구성은 미디어 오브젝트 내의 가상 현실 오브젝트들에 대한 햅틱 오브젝트들의 접속을 가능하게 한다. 예를 들어, 햅틱 강도 또는 크기는 가상 현실 오브젝트로부터의 사용자의 거리에 따라 달라질 수 있다. 이러한 가상 현실 상황들에서, 360도 뷰는 동시에 렌더링되는 복수의 햅틱 트랙으로 분할될 수 있는 반면 사용자의 시야 내에 있지 않은 것들을 뮤트시킨다. 사용자의 위치 또는 시야에 따라, 햅틱 트랙들은 함께 혼합되어 더 정확한 햅틱 표현을 제공할 수 있다. 또 다른 대안적인 실시예에서, 햅틱 효과 패턴은 미리 결정되어 전자 디바이스에 전송될 수 있다.
[0031][0027]도 3은 본 발명의 예시적인 실시예에 따라 햅틱 효과 패턴에 기초하여 햅틱 효과들을 인코딩하고 렌더링하기 위한 기능성(300)의 흐름도를 예시한다. 일부 경우들에서, 도 3의 흐름도의 기능성은 메모리 또는 다른 컴퓨터 판독가능한 또는 유형의 매체에 저장되고 프로세서에 의해 실행되는 소프트웨어에 의해 구현된다. 다른 경우들에서, 기능성은 하드웨어에 의해(예를 들어, 주문형 집적 회로("ASIC"), 프로그래밍가능 게이트 어레이("PGA"), 필드 프로그래밍가능 게이트 어레이("FPGA") 등의 사용을 통해), 또는 하드웨어와 소프트웨어의 임의의 조합에 의해 수행될 수 있다.
[0032][0028]310에서, 기능성(300)은 하나 이상의 미디어 오브젝트를 입력으로서 수신한다. 미디어 오브젝트들은 하나 이상의 오디오, 비디오, 다른 미디어 파일(예를 들어, 애니메이션 오브젝트들), 또는 이들의 임의의 조합을 포함할 수 있다. 미디어 오브젝트는 사용자의 동작들에 기초하여(예를 들어, 게임 애플리케이션 내에서) 미리 결정된 미디어 오브젝트들 또는 "온 더 플라이"로 렌더링되는 미디어 오브젝트들을 포함할 수 있다.
[0033][0029]다음으로, 320에서, 기능성(300)은 미디어 오브젝트를 샘플링하여 햅틱 스트림과 같은, 햅틱 오브젝트를 생성할 수 있다. 통상적으로, 미디어 오브젝트는 초당 200 샘플과 같은, 미리 결정된 레이트에서 샘플링된다. 예를 들어, 40초 미디어 오브젝트가 초당 200 샘플에서 샘플링될 수 있다. 이 예에서, 40초 미디어 오브젝트는 8000개의 샘플 값들에 의해 표현될 수 있다. 종래의 시스템들에서와 같이, 햅틱 값은 미디어 오브젝트의 8000개의 샘플 값들 각각에 할당된다.
[0034][0030]330에서, 기능성(300)은 미디어 오브젝트들을 통해 반복하여 햅틱 효과들을 렌더링하기에 적합한 시간 기간들을 식별한다. 여기서, 미디어 오브젝트의 샘플링된 값들 또는 파형이 분석되어 하나 이상의 햅틱-관련 이벤트를 식별한다. 예를 들어, 미디어 오브젝트의 템포는 약한 또는 강한 햅틱 효과들이 렌더링되어야 함을 표시할 수 있다(예를 들어, 느릴 때 더 약한 햅틱 효과들, 빠를 때 더 강한 햅틱 효과들). 대안적으로, 또는 추가로, 햅틱 효과들은 미디어 오브젝트 내에서 검출되는 다른 이벤트들(예를 들어, 충돌, 폭발 등)에 따라 선택될 수 있다.
[0035][0031]뒤이어, 340에서, 하나 이상의 햅틱 명령어가 햅틱 효과들을 렌더링하기 위해 생성된다. 330에서의, 미디어 오브젝트의 분석에 기초하여, 하나 이상의 햅틱 명령어가 생성되어 햅틱 효과들이 하나 이상의 햅틱 출력 디바이스(예를 들어, 도 1의 액추에이터(18))에 의해 렌더링되도록 한다. 예를 들어, 햅틱 명령어들은 햅틱 효과들이 햅틱 라이브러리로부터 검색될 수 있게 한다.
[0036][0032]350에서, 기능성(300)은 햅틱 오브젝트를 햅틱 패턴으로서 인코딩한다. 특히, 본 발명의 실시예들은, 햅틱 패턴 내에, 햅틱 효과 시작 시간들, 지속기간들, 및 효과 데이터를 저장한다. 예를 들어, 햅틱 패턴이 지속기간 10초를 가지는 미디어 오브젝트에 대응하고, 1초의 지속기간을 가지고 9초의 시간에서 시작하는 햅틱 효과를 포함하는 경우, 햅틱 패턴의 데이터 세그먼트는 햅틱 효과의 시작 시간(즉, 9초), 1초인 햅틱 효과 지속기간, 및 1초의 햅틱 패턴 데이터인 효과 데이터를 특정한다.
[0037][0033].hapt 파일들(Immersion Corp.으로부터의 햅틱 파일 타입)이 본 발명의 실시예들과 함께 이용될 수 있지만, .hapt 파일들의 파일 크기는 실질적으로 감소한다. 여기서, 햅틱-활성 시간 기간들만이 저장되며, 햅틱 효과들이 없는 시간 기간들은 저장되지 않거나 아니면 프로세싱되지 않는다. 빈도, 크기, 및 햅틱 효과 타입과 같은 다른 파라미터들 역시 햅틱 효과 패턴 내에 저장될 수 있다.
[0038][0034]마지막으로, 360에서, 기능성(300)은 햅틱 효과 패