KR20150056690A - 번역 상황을 인지하고 번역 기능을 수행하는 방법 및 이를 구현하는 전자장치 - Google Patents

번역 상황을 인지하고 번역 기능을 수행하는 방법 및 이를 구현하는 전자장치 Download PDF

Info

Publication number
KR20150056690A
KR20150056690A KR1020130138783A KR20130138783A KR20150056690A KR 20150056690 A KR20150056690 A KR 20150056690A KR 1020130138783 A KR1020130138783 A KR 1020130138783A KR 20130138783 A KR20130138783 A KR 20130138783A KR 20150056690 A KR20150056690 A KR 20150056690A
Authority
KR
South Korea
Prior art keywords
language
processor
electronic device
translation
user
Prior art date
Application number
KR1020130138783A
Other languages
English (en)
Other versions
KR102256291B1 (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 삼성전자주식회사
Priority to KR1020130138783A priority Critical patent/KR102256291B1/ko
Priority to US14/448,297 priority patent/US9460090B2/en
Publication of KR20150056690A publication Critical patent/KR20150056690A/ko
Application granted granted Critical
Publication of KR102256291B1 publication Critical patent/KR102256291B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 번역 상황을 인지하고 번역 기능을 수행하는 방법과 이를 구현하는 전자장치를 개시한다. 본 발명의 일 실시예에 따른 전자장치는 번역 상황을 인지하여 번역 기능을 자동적으로 수행함으로써 사용자의 편의성을 높일 수 있다. 본 발명의 일 실시예에 따른 전자장치의 번역 기능 수행 방법은 오디오 코덱으로부터 수신된 음성을 기반으로 언어의 종류를 확인하는 동작; 상기수신된 언어가 2종류 이상인 경우 언어를 번역하기 위한 번역 프로그램을 실행하는 동작; 상기 오디오 코덱으로부터 수신된 언어를 번역 처리하는 동작; 상기 번역 처리된 결과값을 스피커에서 출력하는 동작을 포함할 수 있다.

Description

번역 상황을 인지하고 번역 기능을 수행하는 방법 및 이를 구현하는 전자장치 {METHOD FOR RECOGNIZING A TRANSLATABLE SITUATION AND PERFORMANCING A TRANSLATABLE FUNCTION AND ELECTRONIC DEVICE IMPLEMENTING THE SAME}
본 발명은 번역 상황을 인지하고 번역 기능을 수행하는 방법 및 이를 구현하는 전자장치에 관한 것이다.
전자장치의 기술이 비약적으로 발전하면서 사람들은 일상 생활 속에서 다양한 전자 장치들을 사용하고 있다. 특히 최근 전자장치들은 사용자들의 동작 또는 모션을 인식하여 자동으로 특정 기능을 수행하도록 발전되고 있다. 또한, 전자장치들은 동작뿐만 아니라 음성을 통해 기능을 작동할 수도 있다. 이처럼 기술자들은 다양한 분야에서 인간의 삶을 보다 편리하고 안락하게 하기 위해 전자장치들을 발전시키고 있다. 예를 들어, 사용자는 외국인과 의사 소통을 하기 위해서 전자장치를 번역 도구로써 사용할 수도 있다. 세계화 시대가 되면서 사람들은 외국인과의 의사 소통이 잦아졌다. 최근 전자장치는 번역을 하기 위한 기능을 포함할 수 있다. 전자장치를 이용한 언어 번역은 일반적으로 사용자의 직접적인 입력 동작에 의해서 번역을 수행할 수 있다. 예컨대, 전자장치의 언어 번역 버튼을 클릭하는 물리적인 수행 동작에 의해 전자장치는 번역 기능을 수행할 수 있다. 이런 물리적인 방식의 구동 방법은 전자장치의 발달된 기능에 따라 새로운 방식의 구동 방법으로 대체될 필요가 있다.
전자장치들이 급격하게 발전함에 따라 전자장치들은 언어를 감지하여 해당 언어에 대한 동작을 수행할 수도 있다. 게다가 전자장치들의 발달된 기능은 전자장치들이 감지할 수 있는 언어의 종류를 증가시키고 감지의 정확도를 보다 높일 수 있다. 또한, 전자장치들은 다양한 센서들을 가지고 있을 수 있다. 이에 따라, 사용자가 특정한 동작을 취하는 경우 전자장치들은 특정한 동작을 기반으로 미리 설정된 특정 기능을 수행할 수도 있다. 예컨대, 특정 기능은 스마트 단말의 뒤집기(Turn over) 기능일 수 있다. 일정 시간 이상 스마트 단말의 화면이 위로 향해 있다는 조건이 성립된 후, 일정 시간 이상 화면이 아래로 향하고 있다는 것을 인식하면 해당 기능을 실행시키는 방식일 수 있다. 이와 같이 전자장치는 이미 정의된 센서 값을 기준으로 현재 센서 값과 비교하여 전자장치의 움직임을 감지할 수 있다.
다시 말하면, 전자장치는 내장된 다양한 센서들을 이용하여 센서 값을 측정하고 해당 센서 값에 따라 특정 기능을 수행할 수 있다. 여기서 전자장치는 특정 동작에 대한 센서 기준 값을 미리 정의해 놓고, 현재 전자장치의 센서 값과 기준 값을 비교하여 전자장치가 특정 동작 조건에 만족하는지 아닌지를 판단하게 된다.
종래의 전자장치가 언어를 번역하기 위한 기능을 수행하는 방법은 물리적인 입력 동작을 필요로 한다. 이에 따라, 사용자는 번역을 할 때마다 물리적인 동작(예, 번역 버튼 클릭 등)을 수행하고 번역 기능을 사용할 수 있다. 이로 인해 사용자는 불편함을 초래할 수 있고, 번역 시 많은 시간을 지체할 수 있다. 본 발명의 목적은 다양한 센서 및 오디오 코덱을 활용하여 미리 정해진 특정 상황이 되는 경우 전자장치가 번역을 수행하도록 하는 것이다. 예컨대, 전자장치의 마이크 및 스피커를 이용하여 음성을 인식하고, 2가지 종류의 언어가 동시에 들릴 경우 전자장치는 번역 기능을 자동적으로 수행할 수 있다. 또한, 사용자가 미리 정해진 특정한 동작을 취하는 경우 전자장치는 미리 정해진 센서 값과 현재의 센서 값을 비교하여 미리 설정된 번역 기능을 수행할 수도 있다. 본 발명은 번역 상황을 인지하고 번역 기능을 수행하는 방법과 이를 구현하는 전자장치를 제공함을 목적으로 한다.
본 발명의 하나의 실시예에 따른 번역 상황을 인지하고 번역 기능을 수행하는 방법은 오디오 코덱으로부터 수신된 음성을 기반으로 언어의 종류를 확인하는 동작; 상기 언어가 2종류 이상인 경우 언어를 번역하기 위한 번역 프로그램을 실행하는 동작; 상기 오디오 코덱으로부터 수신된 언어를 번역 처리하는 동작; 상기 번역 처리된 결과값을 스피커에서 출력하는 동작을 포함할 수 있다.
또한, 본 발명의 다른 하나의 실시예에 따른 번역 상황을 인지하고 번역 기능을 수행하는 방법은 센서 모듈로부터 수신한 센싱 값과 메모리로부터 수신한 센싱 값을 비교하여 사용자의 움직임을 확인하는 동작; 상기 두 개의 센싱 값을 기반으로 상기 전자장치가 제 1 동작임을 확인한 경우 번역 프로그램을 실행하는 동작; 오디오 코덱으로부터 수신된 언어를 번역처리하는 동작; 상기 두 개의 센싱 값을 기반으로 상기 전자장치가 제2 동작임을 확인한 경우 번역 처리된 결과값을 출력하는 동작을 포함할 수 있다.
본 발명의 하나의 실시예에 따른 장치는, 음성을 송수신하기 위한 오디오 코덱; 상대방의 단말기와 연결하고, 번역 처리된 결과값을 전송하기 위한 통신 모듈; 상기 결과값을 음성으로 출력하기 위한 스피커; 언어 번역 프로그램이 저장된 메모리; 상기 오디오 코덱으로부터 수신한 음성을 기반으로 언어의 종류를 확인하고, 상기언어가 2종류 이상인 경우 상기 언어를 번역하기 위한 번역 프로그램을 실행하고, 상기 오디오 코덱으로부터 수신된 언어를 번역 처리하고, 상기 번역 처리된 결과값을 스피커에서 출력하기 위한 프로세서를 포함할 수 있다.
본 발명에 따른 방법 및 장치는 센서 및 오디오 코덱을 활용하여 번역 상황을 인지하고 미리 정해진 번역 상황인 경우 전자장치가 번역을 수행하도록 하는 것이다. 이에 따라 사용자는 전자장치를 이용하여 번역을 보다 편리하게 사용할 수 있다.
도 1 은 본 발명의 다양한 실시예에 따른 전자장치의 블록 구성도이다.
도 2 는 본 발명의 다양한 실시예에 따른 하드웨어의 블록 구성도이다.
도 3은 한 실시예에 따른 프로그래밍 모듈의 블록도를 도시한다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 전자장치가 음성으로 번역 상황을 인지하고 번역 기능을 실행하는 동작을 도시한 흐름도이다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 전자장치가 음성으로 번역 상황을 인지하고 번역 기능을 실행한 후 상대방 단말기로 정보를 전송하는 동작을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 전자장치가 제 1 언어 및 제 2 언어를 감지하여 번역 상황을 인지하고 번역 기능을 실행하는 동작을 설명하기 위한 예시도이다.
도 7a는 본 발명의 일 실시예에 따른 전자장치가 번역 결과를 음성으로 변환하여 스피커를 통해 출력하는 예시도이다.
도 7b는 본 발명의 일 실시예에 따른 전자장치가 번역 결과를 텍스트로 변환하여 디스플레이를 통해 출력하는 예시도이다.
도 7c는 본 발명의 일 실시예에 따른 전자장치가 텍스트로 변환된 번역 결과를 상대방의 단말기로 전송하여 상대방의 단말기에서 결과를 출력하는 예시도이다.
도 8a 및 도 8b 는 본 발명의 일 실시예에 따른 전자장치가 사용자의 동작을 인식하고 번역 기능을 실행하는 동작을 도시한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 전자장치가 사용자의 동작을 인식하고 번역 기능을 실행하는 동작을 도시한 예시도이다.
이하, 첨부된 도면들을 참조하여 본 발명(present disclosure)에 따른 다양한 실시예를 상세히 설명한다. 본 발명의 일 실시예에 따른 실시예는 도면에 예시되고 관련된 상세한 설명에 기재되어 있으나, 다양한 변경을 가할 수 있고 여러 가지 또 다른 실시예를 포함할 수 있다. 따라서, 본 발명에 따른 실시예는 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경 또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용되었다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 하기의 설명에서는 본 발명의 다양한 실시 예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명의 일 실시예에서 사용될 수 있는“포함한다”, “포함할 수 있다” 등의 표현은 개시된 해당 기능, 동작, 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작, 구성요소 등을 제한하지 않는다. 또한, 본 발명의 일 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 상세한 설명에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한 본 발명의 일 실시예에서 “및/또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “a 및/또는 b”는, a를 포함할 수도, b를 포함할 수도, 또는 a 와 b 모두를 포함할 수도 있다.
또한 본 발명의 일 실시예에서 “제1”, “제2”, “첫째”, “둘째” 등의 표현들이 본 개시의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지는 않는다. 예를 들어, 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 표현들은 한 구성요소를 다른 구성요소와 구분 짓기 위해 사용될 수 있다. 예를 들어, 제1사용자 기기와 제2사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소도 제1구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다. 본 발명의 일 실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 카메라(camera), 웨어러블 장치(wearable device), 전자 시계(electronic clock), 손목 시계(wrist watch), 가전 제품(home appliance)(예: 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기 등), 인공 지능 로봇, TV, DVD(digital video disk) 플레이어, 오디오, 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 전자 사전, 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(electronic equipment for ship, 예를 들면, 선박용 항법 장치, 자이로콤파스 등), 항공 전자기기(avionics), 보안 기기, 전자 의복, 전자 키, 캠코더(camcorder), 게임 콘솔(game consoles), HMD(head-mounted display), 평판표시장치(flat panel display device), 전자 액자, 전자 앨범, 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device) 또는 프로젝터(projector) 등의 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 전자장치는 언어 번역 기능을 수행할 수 있는 적어도 하나의 프로세서를 내장할 수 있다. 또한, 전자장치는 번역한 결과에 대해 출력이 가능한 모듈을 내장할 수 있다. 전자장치는 결과값을 음성으로 출력할 수 있는 스피커 모듈 및 텍스트로 출력할 수 있는 디스플레이 모듈을 포함할 수 있다. 본 발명에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
이하, 본 발명의 실시 예는 첨부된 도면에 의거하여 상세히 설명한다.
실시 예들을 설명함에 있어서 본 발명의 일 실시예에 따른 기술 내용은 기술 분야에 익히 알려져 있고 본 발명의 일 실시예와 직접적으로 관련이 없는 기술에 대해서는 설명을 생략한다. 또한, 실질적으로 동일한 구성과 기능을 가진 구성 요소들에 대해서는 상세한 설명을 생략하도록 한다.
마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 따라서 본 발명에 따른 실시예는 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되어지지 않는다.
도 1 은 본 발명의 다양한 실시예에 따른 전자장치의 블록 구성도이다.
도 1을 참조하면, 전자장치(100)는 버스(110), 메인 프로세서(120), 서브 프로세서(121), 메모리(130), 사용자 입력 모듈(140), 디스플레이 모듈(150), 통신 모듈(160) 또는 센서 모듈(170)을 포함할 수 있다. 본 발명의 실시 예에 따른 전자장치는 도1에 도시된 구성 요소들이 필수적인 것은 아니어서, 그보다 많은 구성 요소들을 가지거나, 또는 그보다 적은 구성 요소들을 가지는 것으로 구현될 수 있다. 예를 들어, 전자장치가 촬영 기능을 지원하는 경우 카메라 모듈의 구성이 더 포함될 수 있고, 전자장치가 방송 수신 기능을 지원하지 않는 경우 상기 무선 통신부의 일부 구성(예컨대, 방송 수신 모듈)이 생략될 수도 있다.
버스(110)는, 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
메인 프로세서(120)는, 예를 들면, 버스(110)를 통해 전술한 다른 구성요소들(예: 서브 프로세서(121), 메모리(130), 사용자 입력 모듈(140), 디스플레이 모듈(150), 통신 모듈(160) 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
또한 서브 프로세서(121)는 저전력 프로세서로 구성할 수 있으며, 메인 프로세서(120)과 하나의 원 칩(one chip) 형태로 구성될 수도 있으며, 별도의 칩으로 구성할 수도 있다. 또한 서브 프로세서(121)는 내부에 버퍼나 스택 형식의 메모리를 포함할 수 있으며, 센서 모듈(170)로부터 수신된 센서 신호와 미리 저장된 특정한 패턴 정보를 비교하여 메인 프로세서(120)로 동작을 위한 신호를 제공할 수 있다. 또한, 사용자 입력 모듈(140)을 통한 물리적인 키 입력에 의해 프로세서(120)는 특정 프로그램을 활성화할 수도 있다.
메모리(130)는, 메인 프로세서(120) 또는 다른 구성요소들(예: 사용자 입력 모듈(140), 디스플레이 모듈(150), 통신 모듈(160) 등)로부터 수신되거나 메인 프로세서(120) 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 메모리(130)는, 예를 들면, 커널(131), 미들웨어(132), 어플리케이션 프로그래밍 인터페이스(API: application programming interface)(133) 또는 어플리케이션(134) 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
커널(131)은 나머지 다른 프로그래밍 모듈들, 예를 들면, 미들웨어(132), API(133) 또는 어플리케이션(134)에 구현된 동작 또는 기능을 실행하는데 사용되는 시스템 리소스들(예: 버스 (110), 프로세서 (120) 또는 메모리 (121) 등)을 제어 또는 관리할 수 있다. 또한, 커널(131)은 미들웨어(132), API(133) 또는 어플리케이션(134)에서 전자 장치(100)의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(132)는 API(133) 또는 어플리케이션(134)가 커널(131)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(132)는 (다수의) 어플리케이션들(134)로부터 수신된 작업 요청들과 관련하여, 예를 들면, (다수의) 어플리케이션들(134)들 중 적어도 하나의 어플리케이션에 전자 장치(100)의 시스템 리소스(예: 버스(110), 프로세서(120) 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 로드 밸런싱을 수행할 수 있다.
API(133)는 어플리케이션(134)이 커널(131) 또는 미들웨어(132)에서 제공하는 기능을 제어할 수 있는 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수를 포함할 수 있다.
사용자 입력 모듈(140)은, 예를 들면, 사용자로부터 명령 또는 데이터를 입력받아 버스(110)을 통해 프로세서(120) 또는 메모리(130)에 전달할 수 있다. 디스플레이 모듈(150)은 사용자에게 화상, 영상 또는 데이터 등을 표시할 수 있다.
통신 모듈(160)은 다른 전자 장치(102)와 전자 장치(100)간의 통신을 연결할 수 있다. 통신 모듈(160)은 소정의 근거리 통신 프로토콜(예: Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication) 또는 소정의 네트워크 통신(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service) 등)(162)를 지원할 수 있다. 전자 장치 (102), (104) 각각은 전자 장치(100)과 동일한(예: 같은 타입의) 장치이거나 또는 다른(예: 다른 타입의) 장치일 수 있다.
센서 모듈(170)은 자이로 센서, 제스처 센서, 그립 센서, 가속도 센서 등 다양한 센서들을 포함할 수 있다. 센서 모듈(170)은 각각의 센서에서 수집된 정보를 미리 설정된 시간 단위로 서브 프로세서(121)로 제공한다.
도 2 는 본 발명의 다양한 실시예에 따른 하드웨어의 블록 구성도이다.
하드웨어(200)는, 예를 들면, 도 1에 도시된 전자 장치(100)일 수 있다. 도 2를 참조하면, 하드웨어(200)는 하나 이상의 프로세서(210), SIM(subscriber identification module) 카드(214), 메모리(220), 통신 모듈(230), 센서 모듈 (240), 사용자 입력 모듈 (250), 디스플레이 모듈 (260), 인터페이스 (270), 오디오 코덱(280), 카메라 모듈 (291), 전력관리 모듈 (295), 배터리 (296), 인디케이터(297) 또는 모터 (298)을 포함할 수 있다.
프로세서(210)(예: 프로세서(120))는 하나 이상의 어플리케이션 프로세서(AP: application processor)(211) 또는 하나 이상의 커뮤니케이션 프로세서(CP: communication processor)(213) 또는 저전력 서브 프로세서 (212)를 포함할 수 있다. 프로세서(210)는, 예를 들면, 도 1에 도시된 프로세서(120)일 수 있다. 도 2에서는 AP(211), CP(213) 및 저전력 서브 프로세서(212)가 프로세서(210) 내에 포함된 것으로 도시되었으나, AP(211)와 CP(213) 및 저전력 서브 프로세서(212)는 서로 다른 IC 패키지들 내에 각각 포함될 수 있다. 한 실시예에서는 AP(211), CP (213) 및 저전력 서브 프로세서 (212)는 하나의 IC 패키지 내에 포함될 수 있다.
AP(211)는 운영체제 또는 응용 프로그램을 구동하여 AP(211)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어하고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. AP(211)는, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시예에 따르면, 프로세서(210)은 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
CP(213)는 하드웨어(200)을 포함하는 전자 장치(예: 전자 장치(100))와 네트워크로 연결된 다른 전자 장치들 간의 통신에서 데이터 링크를 관리하고 통신 프로토콜을 변환하는 기능을 수행할 수 있다. CP(213)는, 예를 들면, SoC로 구현될 수 있다. 한 실시예에 따르면, CP (213)는 멀티미디어 제어 기능의 적어도 일부를 수행할 수 있다. CP(213)는, 예를 들면, 가입자 식별 모듈(예: SIM 카드 (214))을 이용하여 통신 네트워크 내에서 단말의 구별 및 인증을 수행할 수 있다. 또한, CP(213)는 사용자에게 음성 통화, 영상 통화, 문자 메시지 또는 패킷 데이터(packet data) 등의 서비스들을 제공할 수 있다.
또한, CP(213)는 통신 모듈(230)의 데이터 송수신을 제어할 수 있다. 도 2에서는, CP(213), 전력관리 모듈(295) 또는 메모리(220) 등의 구성요소들이 AP(211)와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, AP(211)가 전술한 구성요소들의 적어도 일부(예: CP(213))를 포함하도록 구현될 수 있다.
한 실시예에 따르면, AP(211) 또는 CP(213)는 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, AP(211) 또는 CP (213)는 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
또한 저전력 서브 프로세서(212)는 프로세서(231)의 AP(211) 또는 CP(213)의 슬립 모드인 경우에도 슬립 모드를 수행하지 않고, 센서 모듈(240)로부터 신호를 수신하여 특정한 동작을 수행할 수 있다. 가령, 저전력 서브 프로세서(212)는 센서 모듈(240)로부터 신호가 수신될 경우 미리 설정된 판정이 필요한 신호인가의 여부를 판별하고, 판정이 필요할 시 저전력 서브 프로세서(212)의 내부 메모리 또는 메모리(204)에 저장된 패턴과 대비하여 AP(211)의 구동이 필요한 경우 이를 AP(211)로 알려 AP가 슬립 모드에서 깨어나 다른 동작을 수행할 수 있도록 할 수 있다.
SIM 카드(214)는 가입자 식별 모듈을 구현한 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. SIM 카드(214)는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(220)는 내장 메모리(222) 또는 외장 메모리(224)를 포함할 수 있다. 메모리(220)은, 예를 들면, 도 1에 도시된 메모리(121)일 수 있다. 내장 메모리(222)는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 내장 메모리(222)는 Solid State Drive(SSD)의 형태를 취할 수도 있다. 외장 메모리(224)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 MemoryStick 등을 더 포함할 수 있다.
통신 모듈(230)은 무선 통신 모듈(231) 또는 RF 모듈(234)를 포함할 수 있다. 통신 모듈(230)은, 예를 들면, 도 1에 도시된 통신 모듈(160)일 수 있다. 무선 통신 모듈(231)은, 예를 들면, WiFi(233), BT(bluetooth) (235), GPS(237) 또는 NFC(near field communication)(239)를 포함할 수 있다. 예를 들면, 무선 통신 모듈(231)은 무선 주파수를 이용하여 무선 통신 기능을 제공할 수 있다. 추가적으로 또는 대체적으로, 무선 통신 모듈(231)은 하드웨어(200)를 네트워크(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service) 등)와 연결시키기 위한 네트워크 인터페이스(예: LAN card) 또는 모뎀 등을 포함할 수 있다.
RF 모듈(234)는 데이터의 송수신, 예를 들면, RF 신호 또는 호출된 전자신호의 송수신을 담당할 수 있다. RF 모듈(234)는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, RF 모듈(234)는 무선통신에서 자유공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다.
센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), RGB(red, green, blue) 센서(240H), 생체 센서(240I), 온/습도 센서 (240J), 조도 센서(240K) 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 센서 모듈(240)은 물리량을 계측하거나 전자 장치의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 추가적으로/대체적으로, 센서 모듈(240)은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시) 또는 지문 센서 등을 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어회로를 더 포함할 수 있다.
사용자 입력 모듈(250)은 터치 패널(touch panel)(252), (디지털) 펜 센서(pen sensor)(254), 키(key)(256) 또는 초음파 입력 장치(258)을 포함할 수 있다. 사용자 입력 모듈(250)은, 예를 들면, 도 1에 도시된 사용자 입력 모듈(140)일수 있다. 터치 패널(252)는, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 터치 패널(252)은 컨트롤러(미도시)를 더 포함할 수도 있다. 정전식의 경우, 직접 터치뿐만 아니라 근접 인식도 가능하다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 터치 패널(252)는 사용자에게 촉각 반응을 제공할 수 있다.
(디지털) 펜 센서(254)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 키(256)로서, 예를 들면, 키패드 또는 터치 키가 이용될 수 있다. 초음파 입력 장치(258)은 초음파 신호를 발생하는 펜을 통해, 단말에서 마이크(예: 마이크(288))로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 하드웨어(200)는 통신 모듈(230)을 이용하여 이와 연결된 외부 장치(예: 네트워크, 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
디스플레이 모듈(260)은 패널(262) 또는 홀로그램(264)를 포함할 수 있다. 디스플레이 모듈(260)은, 예를 들면, 도 1에 도시된 디스플레이 모듈(150)일 수 있다. 패널(262)는, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 패널(262)는, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널(262)는 터치 패널(252)와 하나의 모듈로 구성될 수도 있다. 홀로그램(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 한 실시예에 따르면, 디스플레이 모듈(260)은 패널(262) 또는 홀로그램(264)를 제어하기 위한 제어회로를 더 포함할 수 있다.
인터페이스(270)는, 예를 들면, HDMI(high-definition multimedia interface)(272), USB(universal serial bus)(274), 프로젝터(276) 또는 D-sub(D-subminiature)(278)을 포함할 수 있다. 추가적으로 또는 대체적으로, 인터페이스(270)은, 예를 들면, SD(secure Digital)/MMC(multi-media card)(미도시) 또는 IrDA(infrared data association, 미도시)를 포함할 수 있다.
오디오 코덱(280)은 음성과 전기신호를 쌍방향으로 변환시킬 수 있다. 오디오 코덱(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286) 또는 마이크 (288) 등을 통해 입력 또는 출력되는 음성 정보를 변환시킬 수 있다. 본 발명의 실시예에 따르면, 사용자에 의해 미리 설정된 제 1 언어를 사용하는 제 1 사용자와 제 2 언어를 사용하는 제 2 사용자의 음성 정보를 기반으로 프로세서(210)는 언어의 종류가 2가지 이상임을 확인할 수 있다. 오디오 코덱으로부터 수신된 언어가 2가지 이상인 경우 프로세서(210)는 언어 번역 프로그램 및 어플리케이션을 실행하고 제 2 언어를 제 1언어로 번역하여 출력할 수 있다. 또한, 오디오 코덱으로부터 수신된 언어가 3가지 이상인 경우 프로세서(210)는 오디오 모듈을 이용하여 특정 조건(예: 정해진 시간 내에 가장 많은 비율의 언어)에 따라 제 2 언어를 설정할 수도 있다.
카메라 모듈 (291)은 화상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 렌즈 또는 후면 렌즈), ISP(image signal processor, 미도시) 또는 플래쉬 LED(flash LED, 미도시)를 포함할 수 있다.
전력관리 모듈(295)는 하드웨어(200)의 전력을 관리할 수 있다. 도시하지는 않았으나, 전력관리 모듈(295)는, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 게이지(battery fuel gauge)를 포함할 수 있다.
PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 정류기 등의 회로가 추가될 수 있다.
배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 배터리(296)는 전기를 생성하여 전원을 공급할 수 있고, 예를 들면, 충전식 전지(rechargeable battery)일 수 있다.
인디케이터(297)는 하드웨어(200) 혹은 그 일부(예: AP (211))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)은 전기적 신호를 기계적 진동으로 변환할 수 있다. MCU(299)는, 센서 모듈(240)을 제어할 수 있다.
도시되지는 않았으나, 하드웨어(200)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다. 본 발명에 따른 실시예에서 하드웨어의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자장치의 종류에 따라서 달라질 수 있다. 본 발명에 따른 실시예에서 하드웨어는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명에 따른 실시예에서 하드웨어의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 발명에 따른 실시예에서 사용된 용어“모듈”은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. “모듈”은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명에 따른 실시예에서 “모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
도 3은 한 실시예에 따른 프로그래밍 모듈(300)의 블록도를 도시한다.
프로그래밍 모듈(300)은 도 1에 도시된 전자 장치(100)(예: 메모리 (130))에 포함(예: 저장)될 수 있다. 프로그래밍 모듈(300)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다. 프로그래밍 모듈(300)은 하드웨어(예: 하드웨어(200))에 구현되어 전자 장치(예: 전자 장치(100))에 관련된 자원을 제어하는 운영체제(OS: operation system) 또는 운영체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션(370))을 포함할 수 있다. 예를 들면, 운영체제는 안드로이드(Android), iOS, 윈도우즈(Windows), 심비안(Symbian), 타이젠(Tizen) 또는 바다(Bada) 등이 될 수 있다. 도 3을 참조하면, 프로그래밍 모듈(300)은 커널(310), 미들웨어(330), API(application programming interface) (360) 또는 어플리케이션(370)을 포함할 수 있다.
커널(310)(예: 커널(131))은 시스템 리소스 매니저(311) 또는 디바이스 드라이버(312)를 포함할 수 있다. 시스템 리소스 매니저(311)는, 예를 들면, 프로세스관리부, 메모리관리부 또는 파일시스템관리부등을 포함할 수 있다. 시스템 리소스 매니저(311)은 시스템 리소스의 제어, 할당 또는 회수 등을 수행할 수 있다. 디바이스 드라이버(312)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버 또는 오디오 드라이버를 포함할 수 있다. 또한, 한 실시예에 따르면, 디바이스 드라이버(312)는 IPC (inter-process communication, 미도시) 드라이버를 포함할 수 있다.
미들웨어(330)는 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하기 위해 미리 구현해 놓은 복수의 모듈들을 포함할 수 있다. 또한, 미들웨어(330)은 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(360)를 통해 기능을 제공할 수 있다. 예를 들면, 도 3에 도시된 바와 같이, 미들웨어(330)(예: 미들웨어(132))는 런타임 라이브러리(335), 어플리케이션 매니저(application manager)(341), 윈도우 매니저(window manager)(342), 멀티미디어 매니저(multimedia manager)(343), 리소스 매니저(resource manager)(344), 파워 매니저(power manager)(345), 데이터베이스 매니저(database manager)(346), 패키지 매니저(347), 연결 매니저(connectivity manager)(348), 통지 매니저(notification manager)(349), 위치 매니저(location manager)(350), 그래픽 매니저(graphic manager)(351) 또는 보안 매니저(security manager)(352) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 한 실시예에 따르면, 런타임 라이브러리(335)는 입출력, 메모리 관리 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370)중 적어도 하나의 어플리케이션의 생명주기(life cycle)를 관리할 수 있다. 윈도우 매니저 (342)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저(345)는 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리(battery) 또는 전원을 관리하고, 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저(346)은 어플리케이션(370) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색 또는 변경할 수 있도록 관리할 수 있다. 패키지 매니저(347)은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저(348)는, 예를 들면, WiFi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저(349)는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저(350)은 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시예에 따르면, 전자 장치(예: 전자 장치(100))가 전화 기능을 구비한 경우에는, 미들웨어(330)은 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager, 미도시)를 더 포함할 수 있다.
미들웨어(330)는 전술한 내부 구성요소 모듈들의 다양한 기능 조합을 통해 새로운 미들웨어 모듈을 생성하여 사용할 수 있다. 미들웨어(330)는 차별화된 기능을 제공하기 위해 운영체제의 종류별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 따라서, 본 발명의 실시예에 기재된 구성요소를 일부 생략하거나 다른 구성요소를 더 구비하거나 또는 유사한 기능을 수행하는 다른 명칭을 갖는 구성요소로 대체할 수 있다.
API(360)(예: API(133))는 API 프로그래밍 함수들의 집합으로, 운영체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 예를 들면, 플랫폼별로 하나의 API 셋을 제공할 수 있으며, 타이젠(Tizen)의 경우, 예를 들면, 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(370)(예: 어플리케이션(134))은, 예를 들면, 프리로드 어플리케이션(preloaded Application) 또는 제 삼자 어플리케이션(third party application)을 포함할 수 있다.
프로그래밍 모듈(300)의 적어도 일부는 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 명령어는, 하나 이상의 프로세서(예: 프로세서(210))에 의해 실행될 경우, 하나 이상의 프로세서가 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(260)이 될 수 있다. 프로그래밍 모듈(300)의 적어도 일부는, 예를 들면, 프로세서(210)에 의해 구현(implement)(예: 실행)될 수 있다. 프로그래밍 모듈(300)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 및/또는 프로세스 등을 포함할 수 있다.
본 발명에 따른 실시예에서 프로그래밍 모듈(예: 프로그래밍 모듈(300))의 구성요소들의 명칭은 운영체제의 종류에 따라서 달라질 수 있다. 본 발명에 따른 실시예에서 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 발명에 따른 실시예에서 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 처리될 수 있으며, 또한 일부 동작이 생략되거나, 다른 동작이 추가될 수 있다.
도4a 및 도 4b는 본 발명의 일 실시예에 따른 전자장치가 음성으로 번역 상황을 인지하고 번역 기능을 실행하는 동작을 도시한 흐름도이다.
도 4a 및 도 4b의 흐름도를 설명함에 있어, 도 1의 블록 구성을 이용하여 설명할 것이다. 그러나 도 2의 구성 또는 도 3의 구성을 이용하는 경우에도 동일하게 이해될 수 있음은 이 분야의 당업자에게 자명한 일이다.
동작 401에서 프로세서(210)는 대기 상태를 유지할 수 있다. 여기서 대기 상태란 사용자 입력 모듈(250), 오디오 코덱(280), 통신 모듈(230) 및 센서 모듈(240)로부터 신호를 수신하기 전의 상태를 의미한다. 사용자 입력 모듈(250)은 사용자의 물리적인 키 입력을 확인하여 프로세서(210)에게 정보를 전달할 수 있다. 그리고 오디오 코덱(280)은 사용자 및 상대방의 음성을 전기적 신호로 변환하여 프로세서(210)에게 정보를 전달할 수 있다. 또한, 센서 모듈(240)은 각 센서들에 대한 센싱 값을 측정하고, 프로세서(210)에게 측정된 센싱 값들을 송신할 수 있다. 동작 402에서 프로세서(210)는 오디오 코덱(280)을 통해 수신된 제1 언어 및 제2 언어의 감지 여부를 확인할 수 있다. 프로세서(210)는 제2 언어를 제1 언어로 번역하는 것을 기본으로 한다. 여기서 제1 언어는 사용자에 의해 미리 설정된 언어일 수 있다. 또한, 프로세서(210)는 오디오 코덱(280)으로부터 정해진 시간 동안 수신된 언어 중 가장 많은 비율을 차지하는 언어를 제 1언어로 설정할 수도 있다. 그리고 사용자가 임의적으로 제 1언어를 결정해서 설정할 수도 있다. 동작 402에서 프로세서(210)가 제 1 언어 및 제 2 언어의 감지를 확인 못 한 경우 프로세서(210)는 대기 상태로 돌아간다. 즉, 제1 언어 및 제2 언어의 감지는 프로세서(210)가 오디오 코덱으로부터 2가지 이상의 서로 다른 언어를 수신하는 것을 의미할 수 있다. 동작 402에서 프로세서(210)가 제1 언어 및 제2 언어의 감지를 확인하는 경우 동작 403에서 프로세서(210)는 번역 기능 프로그램의 실행 상태를 확인할 수 있다. 여기서 번역 기능 프로그램은 번역을 수행할 수 있도록 제작된 프로그램으로 메모리(220)에 저장된 어플리케이션(134)일 수 있다. 번역 기능 프로그램이 실행상태인 경우(Background 실행도 실행상태에 해당한다.) 동작 405에서 프로세서(210)는 번역 기능 프로그램을 활성화할 수 있다. 동작 403에서 번역 기능 프로그램이 실행 상태가 아니라면 동작 404에서 프로세서(210)는 번역 기능 프로그램을 실행할 수 있다. 그리고 동작 405에서 프로세서(210)는 번역 기능 프로그램을 활성화할 수 있다. 동작 406에서 프로세서(210)는 언어 번역을 하기 위한 기본적인설정을 할 수 있다. 기본적으로 프로세서(210)는 제1 언어 및 제2 언어를 설정하고, 제2 언어를 제1 언어로 번역할 수 있다. 여기서 사용자는 제1 언어 및 제2언어의 설정을 결정할 수 있다. 예컨대, 프로세서(210)는 전자장치(100)에서 사용자에 의해 미리 설정된 언어를 제1 언어로 정의하고 상기 오디오 코덱으로부터 수신된 다른 하나의 언어를 제2 언어로 설정하여 제2 언어를 제1언어로 번역할 수 있다. 또한, 오디오 코덱(280)에서 다수의 언어가 감지되는 경우 프로세서(210)는 정해진 시간 동안 가장 많은 비율을 차지하는 언어를 제2 언어로 설정할 수도 있다. 여기서 프로세서(210)는 정해진 시간 동안 많은 비율을 차지하는 언어를 순차적으로 제1 언어 및 제2 언어로 설정할 수도 있다. 그리고 사용자가 임의적으로 결정한 언어를 제1 언어 및 제2 언어로 설정하여 번역할 수도 있다. 이와 같이 프로세서(210)는 제1 언어 및 제2언어의 설정을 다양한 방법으로 결정할 수 있다. 번역을 하기 위한 기본적인 설정을 한 후 도 4b의 동작 407에서 프로세서(210)는 번역 처리를 위한 트리거(triger) 동작을 실행할 수 있다. 동작 407에서 프로세서(210)는 번역 처리를 위한 트리거 동작이 완료될 때까지 동작 407을 반복해서 수행한다. 트리거 동작이 완료된 경우 동작 408에서 프로세서(210)는 번역할 문장을 인식할 수 있다. 동작 409에서 번역할 문장이 종료될 때까지 프로세서(210)는 동작 408에서 계속해서 번역할 문장을 인식할 수 있다. 한편, 동작 409에서 번역할 문장이 너무 길거나 말이 끊어지지 않고 계속되는 경우 프로세서(210)는 번역할 문장을 인식하는 시점부터 정해진 시간이 경과하면 번역할 문장을 그대로 번역 처리할 수도 있다. 여기서 정해진 시간은 프로그램 상에서 미리 정의한 시간일 수 있다. 동작 409에서 프로세서(210)가 번역할 문장이 종료된 것을 확인하면 동작 410에서 프로세서(210)는 번역할 문장을 번역 처리하고 번역된 결과값을 확보할 수 있다. 동작 411에서 프로세서(210)는 통신 모듈(230) 및 센서 모듈(240)을 이용하여 전자장치(100)의 위치를 확인할 수 있다. 예컨대, 통신 모듈(230)의 위성GPS를 이용하거나 통신 모듈(230)과 건물 내부의 AP(Access Point)를 통한 위치 정보로 프로세서는 전자장치의 위치가 실외인지 여부를 확인할 수 있다. 동작 411에서 전자장치가 실외에 위치하지 않은 경우 프로세서는 동작 412에서 결과값을 텍스트로 디스플레이 모듈을 통해 출력할 수 있다. 텍스트로 결과값을 출력한 후 프로세서(210)는 동작 407인 번역 처리를 위한 트리거 동작을 다시 수행한다. 동작 411에서 전자장치(100)가 실외에 위치한 경우 프로세서(210)는 동작 413에서 결과값을 음성으로 스피커(282)를 통해 출력할 수 있다. 음성으로 결과값을 출력한 후 프로세서(210)는 동작 407인 번역 처리를 위한 트리거 동작을 다시 수행한다. 동작 407인 트리거 동작을 지난 후 프로세서(210)는 동작 408에서 번역할 문장을 인식 못 할 수 있다. 동작 408에서 프로세서(210)가 번역할 문장을 인식 못 한 경우 동작 414에서 프로세서(210)는 번역할 문장을 인식하는 시점부터 정해진 일정 시간의 경과 여부를 확인할 수 있다. 동작 414에서 정해진 일정 시간이 경과할 때까지 프로세서(210)는 동작 408인 번역할 문장을 계속 인식할 수 있다. 동작 414에서 정해진 일정 시간이 경과하는 경우 동작 415에서 프로세서(210)는 번역 프로그램을 비 활성화하고 번역 과정을 종료한다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 전자장치가 음성으로 번역 상황을 인지하고 번역 기능을 실행한 후 상대방 단말기로 정보를 전송하는 동작을 도시한 흐름도이다.
도 5a의 동작 501에서 프로세서(210)는 대기 상태를 유지할 수 있다. 여기서 대기 상태란 프로세서(210)가 신호를 수신하기 전의 준비 상태를 의미한다. 동작 502에서 프로세서(210)는 오디오 코덱(280)을 통해 감지한 제1 언어 및 제2 언어를 확인할 수 있다. 프로세서(210)는 제2 언어를 제1 언어로 번역하는 것을 기본으로 한다. 여기서 제1 언어는 전자장치(100)에서 사용자에 의해 미리 설정된 언어일 수 있다. 또한, 사용자는 오디오 코덱(280)에서 정해진 시간 동안 측정한 언어 감지 값에 대하여 가장 많은 비율의 언어를 제 1언어로 설정할 수도 있다. 그리고 사용자가 임의로 제 1언어를 결정해서 설정할 수도 있다. 동작 502에서 프로세서(210)가 제 1 언어 및 제 2 언어의 감지를 확인 못 한 경우 프로세서(210)는 대기 상태로 돌아간다. 동작 502에서 프로세서(210)가 제1 언어 및 제2 언어의 감지를 확인하는 경우 동작 503에서 프로세서(210)는 번역 기능 프로그램의 실행 상태를 확인할 수 있다. 번역 기능 프로그램이 실행상태인 경우(Background 실행도 실행상태에 해당한다.) 동작 505에서 프로세서(210)는 번역 기능 프로그램을 활성화할 수 있다. 동작 503에서 번역 기능 프로그램이 실행 상태가 아니라면 동작 504에서 프로세서(210)는 번역 기능 프로그램을 실행할 수 있다. 그리고 동작 505에서 프로세서(210)는 번역 기능 프로그램을 활성화할 수 있다. 동작 506에서 프로세서(210)는 언어 번역을 하기 위한 기본적인 설정을 할 수 있다. 기본적으로 프로세서(210)는 제1 언어 및 제2 언어를 설정하고, 제2 언어를 제1 언어로 번역할 수 있다. 여기서 사용자는 제1 언어 및 제2언어의 설정을 결정할 수 있다. 예컨대, 프로세서(210)는 전자장치(100)에서 사용자에 의해 미리 설정된 언어를 제1 언어로 설정하고 오디오 코덱으로부터 수신된 다른 하나의 언어를 제2 언어로 설정하여 제2 언어를 제1언어로 번역할 수 있다. 또한, 오디오 코덱(280)에서 다수의 언어가 감지되는 경우 프로세서(210)는 정해진 시간 동안 가장 많은 비율을 차지하는 언어를 제2 언어로 설정할 수도 있다. 여기서 프로세서(210)는 정해진 시간 동안 많은 비율을 차지하는 언어를 순차적으로 제1 언어 및 제2 언어로 설정할 수도 있다. 그리고 사용자가 임의적으로 결정한 언어를 제1 언어 및 제2 언어로 설정하여 번역할 수도 있다. 이와 같이 프로세서(210)는 제1 언어 및 제2언어의 설정을 다양한 방법으로 결정할 수 있다. 번역을 하기 위한 기본적인 설정을 한 후 도 5b의 동작 507에서 프로세서(210)는 번역 처리를 위한 트리거(triger) 동작을 실행할 수 있다. 동작 507에서 프로세서(210)는 번역 처리를 위한 트리거 동작이 완료될 때까지 동작 507을 반복해서 수행한다. 트리거 동작이 완료된 경우 동작 508에서 프로세서(210)는 번역할 문장을 인식할 수 있다. 동작 509에서 번역할 문장이 종료될 때까지 프로세서(210)는 동작 508에서 계속해서 번역할 문장을 인식할 수 있다. 한편, 동작 509에서 번역할 문장이 너무 길거나 말이 끊어지지 않고 계속되는 경우 프로세서(210)는 번역할 문장을 인식하는 시점부터 정해진 시간이 경과하면 번역할 문장을 그대로 번역 처리할 수도 있다. 여기서 정해진 시간은 프로그램 상에서 미리 정의한 시간일 수 있다. 동작 509에서 프로세서(210)가 번역할 문장이 종료된 것을 확인하면 동작 510에서 프로세서(210)는 번역할 문장을 번역 처리하고 번역된 결과값을 확보할 수 있다. 동작 511에서 프로세서(210)는 전자장치(100)와 상대방 단말기의 연결 여부를 확인할 수 있다. 여기서 전자장치(100)와 상대방 단말기의 연결은 프로그램상의 연결 또는 통신 모듈(230)을 통한 연결 등 데이터를 송수신할 수 있는 상태를 의미한다. 동작 511에서 전자장치(100)와 상대방 단말기의 연결이 확인된 경우 동작 513에서 프로세서(210)는 결과값을 텍스트로 변환하여 상대방 단말기로 전송할 수 있다. 동작 511에서 전자장치(100)와 상대방 단말기의 연결이 확인되지 않는 경우 동작 512에서 프로세서(210)는 상호 간의 데이터를 송수신하기 위해 연결할 수 있는 프로그램을 실행할 수 있다. 연결 가능한 프로그램은 메모리(220)에 저장된 어플리케이션(134)일 수 있다. 프로세서는 프로그램을 실행한 후 동작 513에서 확보한 결과값을 텍스트로 변환하여 상대방 단말기로 전송할 수 있다. 상대방의 단말기는 수신한 정보를 텍스트로 출력할 수 있다. 프로세서(210)는 결과값을 전송한 후 동작 507인 번역 처리를 위한 트리거 동작을 다시 수행할 수 있다. 동작 507인 트리거 동작을 수행한 후 프로세서(210)는 동작 508에서 번역할 문장을 인식 못 할 수 있다. 동작 508에서 프로세서(210)가 번역할 문장을 인식 못 한 경우 동작 514에서 프로세서(210)는 번역할 문장을 인식하는 시점부터 정해진 일정 시간의 경과 여부를 확인할 수 있다. 동작 514에서 정해진 일정 시간이 경과할 때까지 프로세서(210)는 번역할 문장을 계속 인식하는 과정일 수 있다. 동작 514에서 정해진 일정 시간이 경과하는 경우 동작 515에서 프로세서(210)는 번역 프로그램을 비 활성화하고 번역 과정을 종료한다.
도 6은 본 발명의 일 실시예에 따른 전자장치가 제 1 언어 및 제 2 언어를 감지하여 번역 상황을 인지하고 번역 기능을 실행하는 동작을 설명하기 위한 예시도이다.
도 6은 사용자(610)가 상대방(620)과 다른 언어로 의사 소통을 하는 상황을 도시한다. 전자장치(630)는 사용자(610)와 상대방(620)의 대화에서 2종류의 언어를 감지할 수 있다. 여기서 전자장치(630)는 2종류 이상의 언어를 감지할 수도 있다. 전자장치(630)는 내장된 오디오 코덱(280)에서 음성을 감지하여 전기적 신호로 변환할 수 있다. 변환된 전기적 신호는 어플리케이션 프로세서(211)로 송신되고, 프로세서(210)는 오디오 코덱(280)을 통해 수신한 전기적 신호를 기반으로 2종류 혹은 그 이상의 언어를 감지할 수 있다. 프로세서(210)가 2종류 혹은 그 이상의 언어를 감지한 경우, 프로세서(210)는 언어 번역 기능을 가진 프로그램(예컨대, 어플리케이션일 수 있다.)을 자동적으로 실행할 수 있다. 프로세서(210)는 감지된 언어에서 제1 언어 및 제2 언어를 설정할 수 있다. 예컨대, 프로세서(210)는 전자장치(630)에서 사용자에 의해 미리 설정된 언어를 제1 언어로 설정하고 상기 오디오 코덱으로부터 수신된 다른 하나의 언어를 제2 언어로 설정하여 제2 언어를 제1언어로 번역할 수 있다. 또한, 오디오 코덱(280)에서 다수의 언어가 감지되는 경우 프로세서(210)는 정해진 시간 동안 가장 많은 비율을 차지하는 언어를 제2 언어로 설정할 수도 있다. 여기서 프로세서(210)는 정해진 시간 동안 많은 비율을 차지하는 언어를 순차적으로 제1 언어 및 제2 언어로 설정할 수도 있다. 그리고 사용자가 임의적으로 결정한 언어를 제1 언어 및 제2 언어로 설정하여 번역할 수도 있다. 예컨대, 전자장치(630)가 사용자(610)의 언어인 독일어와 상대방(620)의 언어인 프랑스어를 감지한 경우 전자장치(630)의 프로세서(210)는 번역 기능 프로그램을 능동적으로 실행하여 번역 처리를 할 수 있다. 이 때, 독일어와 프랑스어의 제1언어 및 제2언어 설정은 전술한 내용에 따라 다양하게 설정될 수 있다.
도 7a는 본 발명의 일 실시예에 따른 전자장치가 번역 결과를 음성으로 변환하여 스피커를 통해 출력하는 예시도이다.
도 7a를 참조하면, 사용자가 실외에서 상대방과 의사 소통을 하는 상황일 수 있다. 프로세서(210)는 통신 모듈(230) 및 센서 모듈(240)을 사용하여 전자장치(710)의 위치를 확인할 수 있다. 예컨대, 전자장치(710)는 통신 모듈(230)의 GPS(237)를 이용할 수도 있다. 또한, 도시되지는 않았으나 건물 내부의 AP(Access Point)를 이용하여 프로세서(210)는 전자장치(710)의 위치를 확인할 수도 있다. 그리고, 센서 모듈(240)(예: 온/습도 센서(240J), 조도 센서(240K), UV센서(240M) 등)을 사용하면 프로세서(210)는 전자장치(710)의 위치를 확인하는 데 정확도를 높일 수 있다. 이와 같이 프로세서(210)가 전자장치(710)의 위치를 실외로 확인한 경우 프로세서(210)는 번역된 결과값을 음성으로 변환하여 스피커(282)를 통해 출력할 수 있다. 사용자 및 상대방(720)은 번역된 결과값을 스피커(282)에서 음성으로 확인할 수 있다.
도 7b는 본 발명의 일 실시예에 따른 전자장치가 번역 결과를 텍스트로 변환하여 디스플레이를 통해 출력하는 예시도이다.
도 7b를 참조하면, 프로세서(210)가 전자장치(710)의 위치를 실내로 확인한 경우 프로세서(210)는 번역된 결과값을 텍스트로 변환하여 전자장치(710)의 디스플레이 모듈(260)을 통해 출력할 수 있다. 사용자 및 상대방은 번역된 결과값을 디스플레이 모듈(260)을 통해 텍스트로 확인할 수 있다.
도 7c는 본 발명의 일 실시예에 따른 전자장치가 텍스트로 변환된 번역 결과를 상대방의 단말기로 전송하여 상대방의 단말기에서 결과를 출력하는 예시도이다.
도 7c를 참조하면, 프로세서(210)는 번역된 결과값을 텍스트로 변환하여 상대방의 전자장치(예: 단말기(722), 시계(724) 등 번역된 결과값에 대해 음성 및 텍스트로 출력이 가능한 모듈을 내장한 전자장치)로 전송할 수 있다. 상대방(720)은 본인의 전자장치에서 텍스트 형태의 결과값을 확인할 수 있다. 또한, 전자장치가 텍스트뿐만 아니라 다른 형태로 출력이 가능한 모듈을 내장한 경우 전자장치는 상대방(720)이 원하는 형태로 출력할 수 있다. 전자장치(710)가 상대방의 전자장치와 연결하는 방법은 프로그램 상의 연결 또는 통신 모듈(230)을 통한 연결 등 데이터를 송수신할 수 있는 상태를 의미한다. 예컨대, 전자장치(710)와 상대방의 전자장치에서 동일한 어플리케이션을 이용하여 연결된 상태에서 번역 기능을 수행할 수 있다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 전자장치가 사용자의 동작을 인식하고 번역 기능을 실행하는 동작을 도시한 흐름도이다.
동작 801에서 프로세서(210)는 대기 상태를 유지할 수 있다. 여기서 대기 상태란 사용자 입력 모듈(250), 오디오 코덱(280), 통신 모듈(230) 및 센서 모듈(240)로부터 신호를 수신하기 전의 상태를 의미한다. 동작 802에서 프로세서(210)는 센서 모듈(240)을 통해 사용자의 동작을 인식할 수 있다. 전자장치(100)는 사용자의 동작에 따라 전자장치(100)의 움직임을 인식하고 프로세서(210)는 해당 동작에 따른 프로그램의 실행을 할 수 있다. 동작 802에서 프로세서(210)는 사용자가 전자장치(100)를 입 근처로 가져가는 동작에 대한 센싱값을 확인할 수 있다. 여기서 전자장치(100)를 입 근처로 가져가는 동작을 제 1 동작으로 정의할 수 있다. 예컨대, 메모리(220)에는 센서 모듈(240)(예: 제스쳐 센서, 자이로 센서, 가속도 센서, 온/습도 센서, 조도 센서 등)을 이용해서 사용자의 동작에 관한 센싱 값이 미리 저장되어 있을 수 있다. 프로세서(210)는 메모리(220)에 미리 저장된 센싱 값과 센서 모듈로부터 수신한 센싱 값을 비교하여 사용자의 움직임을 확인할 수 있다. 이에 따라 프로세서(210)는 설정된 프로그램을 실행할 수도 있다. 동작 802에서 프로세서(210)가 전자장치(100)를 입 근처로 가져가는 동작(제 1 동작)에 대한 센싱값을 확인하지 못한 경우 프로세서(210)는 계속해서 대기상태를 유지할 수 있다. 프로세서(210)가 전자장치(100)를 입 근처로 가져가는 동작에 대한 센싱값을 확인한 경우 동작 803에서 프로세서(210)는 번역 기능 프로그램의 실행 상태를 확인할 수 있다. 동작 803에서 프로세서(210)가 번역 기능 프로그램을 실행하고 있는 상태인 경우 동작 805에서 프로세서(210)는 번역 기능 프로그램을 활성화할 수 있다. 동작 803에서 프로세서(210)가 번역 기능 프로그램을 실행하고 있지 않는 상태인 경우 동작 804에서 프로세서(210)는 번역 기능 프로그램을 실행하고 동작 805에서 번역 기능 프로그램을 활성화할 수 있다. 동작 805에서 번역 기능 프로그램이 활성화된 이후 동작 806에서 프로세서(210)는 번역 처리를 위한 기본적인 설정을 할 수 있다. 프로세서(210)는 제1 언어 및 제2 언어를 설정하고 제1 언어를 제2 언어로 혹은 제2 언어를 제1 언어로 번역할 수 있다. 여기서 제1 언어 및 제2 언어는 사용자에 의해 다양한 방법으로 설정될 수 있다. 예를 들어, 프로세서(210)는 전자장치(100)에서 사용자에 의해 미리 설정된 언어를 제1 언어로 설정하고 오디오 코덱(280)에 의해 감지되는 다른 하나의 언어를 제2 언어로 설정할 수 있다. 또한, 사용자가 임의적으로 결정한 언어를 제1 언어 및 제2 언어로 설정하여 번역할 수도 있다. 동작 806에서 프로세서(210)가 기본적인 설정을 완료한 후 도 8b의 동작 807에서 프로세서(210)는 번역 처리를 위한 트리거 동작을 수행할 수 있다. 프로세서(210)는 번역 처리를 위한 트리거 동작이 완료될 때까지 동작 807을 반복해서 수행한다. 트리거 동작이 완료된 경우 동작 808에서 프로세서(210)는 오디오 코덱(280)을 통해 번역할 문장을 인식할 수 있다. 동작 808에서 프로세서(210)가 번역할 문장을 인식할 때까지 프로세서(210)는 동작 808에서 동작 809를 계속해서 반복 수행한다. 동작 809에서 프로세서(210)가 번역할 문장이 종료된 것을 확인한 경우 동작 810에서 프로세서(210)는 번역할 문장을 번역하고 결과값을 확보할 수 있다. 동작 810에서 결과값을 확보한 후 동작 811에서 프로세서(210)는 결과값을 확보한 시점부터 미리 정해진 일정 시간의 초과 여부를 확인할 수 있다. 동작 811에서 미리 정해진 시간이 초과하지 않았다면 동작 812에서 프로세서(210)는 센서 모듈(240)을 이용하여 상대방에게 향하는 동작에 대한 센싱 값을 확인할 수 있다. 즉, 메모리(220)에 미리 저장된 센싱 값과 센서 모듈(240)로부터 수신한 센싱 값을 비교하여 전자장치(100)의 움직임을 확인할 수 있다. 예를 들어, 전자장치(100)의 움직임은 상대방에게 향하는 움직임일 수 있다. 여기서 전자장치(100)를 상대방에게 향하는 움직임은 제 2 동작으로 정의할 수 있다. 동작 812에서 프로세서(210)가 전자장치(100)를 상대방에게 향하는 동작(제 2 동작)에 대한 센싱 값을 확인할 때까지 동작811에서 프로세서(210)는 미리 정해진 시간의 초과 여부를 확인할 수 있다. 동작 811에서 프로세서(210)가 미리 정해진 시간이 초과되었음을 확인하는 경우 프로세서(210)는 동작 807에서 번역 처리를 위한 트리거 동작을 다시 수행할 수 있다. 동작 812에서 상대방에게 향하는 동작에 대한 센싱 값을 확인하는 경우 동작 813에서 프로세서(210)는 결과값을 출력하고 동작 807인 번역 처리를 위한 트리거 동작으로 다시 돌아갈 수 있다. 동작 812에서 프로세서(210)가 특정 동작에 대한 센싱 값으로 설정되어 있는 경우 프로세서(210)는 해당하는 특정 동작에 대하여 결과값을 출력할 수도 있다. 즉, 결과값을 출력하는 조건이 다양할 수도 있다. 그리고 동작 813에서 프로세서(210)는 실내 혹은 실외로 구분하여 출력 방법을 다르게 할 수도 있다. 실내 혹은 실외로 구분하는 것뿐만 아니라 프로세서(210)는 다양한 조건에 따라 출력 방법을 다르게 할 수도 있다. 동작 807에서 프로세서(210)가 번역 처리를 위한 트리거 동작을 한 후 동작 808에서 프로세서(210)는 번역할 문장을 인식할 수 있다. 동작 808에서 프로세서(210)가 번역할 문장을 인식하지 못한 상태로 동작 814에서 일정 시간이 경과하면 프로세서(210)는 동작 815에서 번역 기능 프로그램을 비 활성화할 수 있다. 동작 815에서 프로세서(210)가 번역 기능 프로그램을 비 활성화하면 프로세서(210)는 번역 동작을 종료할 수 있다.
도 9는 본 발명의 일 실시예에 따른 전자장치가 사용자의 동작을 인식하고 번역 기능을 실행하는 동작을 도시한 예시도이다.
도 9를 참조하면, 전자장치(910)는 사용자(920)의 동작을 센서 모듈(240)을 통해 감지하여 번역을 수행할 수 있다. 전자장치(910)의 프로세서(210)는 메모리(220)에 미리 저장된 센싱 값과 센서 모듈(240)로부터 수신한 센싱 값을 비교하여 사용자의 움직임을 확인할 수 있다. 프로세서(210)는 두개의 센싱 값을 기반으로 사용자의 움직임을 확인하고 전자장치(910)가 제1동작임을 확인한 경우 번역 기능 프로그램을 실행할 수 있다. 예컨대, 프로세서(210)는 센서 모듈(240)(예: 제스쳐 센서, 자이로 센서, 가속도 센서, 온/습도 센서, 조도 센서 등)을 통해 전자장치(910)가 사용자(920)의 입 근처로 움직이는 동작을 감지할 수 있다. 여기서 사용자(920)의 입 근처로 움직이는 동작을 제1 동작으로 정의할 수 있다. 센싱 값의 비교를 통해 프로세서(210)는 사용자(920)의 동작을 기반으로 프로그램을 다양한 방법으로 실행할 수도 있다. 전자장치(910)의 프로세서(210)는 오디오 코덱(280)으로부터 사용자(920)의 언어를 수신하여 번역 처리할 수 있다. 그리고 전자장치(910)의 프로세서(210)는 전술된 두개의 센싱 값을 기반으로 전자장치(910)의 제2동작을 확인할 수 있다. 여기서 전자장치(910)의 제2동작은 상대방에게 전자장치가 향하는 동작일 수 있다. 전자장치(910)의 프로세서(210)는 전자장치(910)의 제2동작을 확인한 경우 번역 처리된 결과값을 출력할 수 있다.
100, 102, 104 : 전자장치 110 : 버스
120 : 메인 프로세서 121 : 서브 프로세서
121 : 메모리 131 : 커널
132: 미들웨어
133: 어플리케이션 프로그래밍 인터페이스(API)
134 : 어플리케이션
140 : 사용자 입력 모듈 150 : 디스플레이 모듈
160 : 통신 모듈 162 : 네트워크
164 : 서버 170 : 센서 모듈

Claims (17)

  1. 음성을 송수신하기 위한 오디오 코덱;
    상대방의 단말기와 연결하고, 번역 처리된 결과값을 전송하기 위한 통신 모듈;
    상기 결과값을 음성으로 출력하기 위한 스피커;
    언어 번역 프로그램이 저장된 메모리;
    상기 오디오 코덱으로부터 수신한 음성을 기반으로 언어의 종류를 확인하고, 상기 언어가 2종류 이상인 경우 상기 언어를 번역하기 위한 번역 프로그램을 실행하고, 상기 오디오 코덱으로부터 수신된 상기 언어를 번역처리하고, 상기 번역 처리된 결과값을 상기 스피커에서 출력하기 위한 프로세서; 를 포함하는 전자장치.
  2. 제 1 항에 있어서,
    상기 오디오 코덱은,
    사용자 및 상대방의 음성을 전기적 신호로 변환하여 프로세서로 전송하고, 상기 프로세서에서 수신한 전기적 신호를 음성으로 변환하여 스피커로 전송하는 것을 특징으로 하는 전자장치.
  3. 제 1 항에 있어서,
    상기 프로세서는,
    언어의 종류를 확인하는데 있어서 사용자에 의해 미리 설정된 언어를 제1 언어로 정의하고, 상기 오디오 코덱으로부터 수신된 다른 종류의 언어를 제2 언어로 정의하는 것을 특징으로 하는 전자장치.
  4. 제 3항에 있어서,
    상기 프로세서는,
    상기 오디오 코덱에서 다수의 언어가 감지되는 경우 미리 정해진 시간 동안 가장 많은 비율을 차지하는 언어를 제2 언어로 정의하는 것을 특징으로 하는 전자장치.
  5. 제 3항에 있어서,
    상기 프로세서는,
    상기 사용자가 임의적으로 제2 언어를 정의하는 것을 특징으로 하는 전자장치.
  6. 제 3 항에 있어서,
    상기 프로세서는,
    상기 제2 언어를 제1 언어로 번역하는 것을 특징으로 하는 전자장치.
  7. 제 1 항에 있어서,
    상기 번역 처리된 결과값을 텍스트로 출력하는 디스플레이를 포함하고,
    상기 프로세서는,
    상기 전자장치가 실외에 위치한 경우 상기 결과값을 상기 스피커에서 출력하고,
    상기 전자장치가 실외에 위치하지 않은 경우 상기 결과값을 상기 디스플레이에서 텍스트로 출력하는 것을 특징으로 하는 전자장치.
  8. 제 1 항에 있어서,
    상기 프로세서는,
    상기 결과값을 상기 상대방의 단말기로 전송하는 경우, 상기 상대방의 단말기와 연결 가능한 프로그램을 실행하고 상기 결과값을 텍스트로 변환하여 상기 상대방의 단말기로 전송하는 것을 특징으로 하는 전자장치.
  9. 제 1 항에 있어서,
    사용자의 움직임을 확인할 수 있는 센싱 값을 측정하는 센서 모듈을 포함하고,
    상기 사용자의 움직임에 대응되는 센싱 값이 미리 저장된 메모리를 포함하고,
    상기 프로세서는,
    상기 센서 모듈로부터 수신한 센싱 값과 상기 메모리로부터 수신한 센싱 값을 비교하여 상기 사용자의 움직임을 확인하고, 상기 두개의 센싱 값을 기반으로 상기 전자장치가 상기 사용자의 입 근처로 이동하는 움직임을 확인한 경우 번역 프로그램을 실행하고, 상기 오디오 코덱으로부터 수신된 언어를 번역 처리하고, 상기 두개의 센싱 값을 기반으로 상기 전자장치가 상기 상대방에게 향하는 움직임을 확인한 경우 상기 번역 처리된 결과값을 출력하는 것을 특징으로 하는 전자장치.
  10. 전자장치에서 번역 상황을 인지하고 번역 기능을 수행하는 방법에 있어서,
    오디오 코덱으로부터 수신된 음성을 기반으로 언어의 종류를 확인하는 동작;
    상기 언어가 2종류 이상인 경우 상기 언어를 번역하기 위한 번역 프로그램을 실행하는 동작;
    상기 오디오 코덱으로부터 수신된 상기 언어를 번역 처리하는 동작;
    상기 번역 처리된 결과값을 스피커에서 출력하는 동작을 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서,
    언어의 종류를 확인하는 동작은,
    사용자에 의해 미리 설정된 언어를 제1 언어로 정의하고, 상기 오디오 코덱으로부터 수신된 다른 종류의 언어를 제2 언어로 정의하는 동작을 포함하고,
    상기 오디오 코덱에서 다수의 언어가 감지되는 경우 미리 정해진 시간 동안 가장 많은 비율을 차지하는 언어를 상기 제2 언어로 정의하는 동작을 포함하고,
    상기 사용자가 임의적으로 제2 언어를 정의하는 동작을 포함하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서,
    상기 번역 처리하는 동작은,
    상기 제2 언어를 상기 제1 언어로 번역하는 동작을 포함하는 것을 특징으로 하는 방법.
  13. 제 10항에 있어서,
    결과값을 출력하는 동작은,
    상기 전자장치가 실외에 위치한 경우 상기 결과값을 상기 스피커에서 출력하는 동작을 포함하고,
    상기 전자장치가 실외에 위치하지 않은 경우 상기 결과값을 디스플레이에서 텍스트로 출력하는 동작을 포함하는 것을 특징으로 하는 방법.
  14. 제 10항에 있어서,
    상기 결과값을 상대방의 단말기로 전송하는 경우, 상기 상대방의 단말기와 연결 가능한 프로그램을 실행하고 상기 결과값을 텍스트로 변환하여 상기 상대방의 단말기로 전송하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  15. 전자장치에서 번역 상황을 인지하고 번역 기능을 수행하는 방법에 있어서,
    센서 모듈로부터 수신한 센싱 값과 메모리로부터 수신한 센싱 값을 비교하여 사용자의 움직임을 확인하는 동작;
    상기 두개의 센싱 값을 기반으로 상기 전자장치가 제 1 동작임을 확인한 경우 번역 프로그램을 실행하는 동작;
    오디오 코덱으로부터 수신된 언어를 번역 처리하는 동작;
    상기 두개의 센싱 값을 기반으로 상기 전자장치가 제 2 동작임을 확인한 경우 상기번역 처리된 결과값을 출력하는 동작을 포함하는 것을 특징으로 하는 방법.
  16. 제 15항에 있어서,
    언어를 번역 처리하는 동작은,
    상기 사용자에 의해 미리 설정된 언어를 제1 언어로 정의하고, 상기 오디오 코덱으로부터 수신된 다른 종류의 언어를 제2 언어로 정의하는 동작을 포함하고,
    상기 오디오 코덱에서 다수의 언어가 감지되는 경우 미리 정해진 시간 동안 가장 많은 비율을 차지하는 언어를 상기 제2 언어로 정의하는 동작을 포함하고,
    상기 사용자가 임의적으로 제2 언어를 정의하는 동작을 포함하는 것을 특징으로 하는 방법.
  17. 제 15항에 있어서,
    언어를 번역 처리하는 동작은,
    상기 제2 언어를 상기 제1 언어로 번역하는 동작을 포함하는 것을 특징으로 하는 방법.
KR1020130138783A 2013-11-15 2013-11-15 번역 상황을 인지하고 번역 기능을 수행하는 방법 및 이를 구현하는 전자장치 KR102256291B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130138783A KR102256291B1 (ko) 2013-11-15 2013-11-15 번역 상황을 인지하고 번역 기능을 수행하는 방법 및 이를 구현하는 전자장치
US14/448,297 US9460090B2 (en) 2013-11-15 2014-07-31 Method of recognizing situation requiring translation and performing translation function, and electronic device implementing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130138783A KR102256291B1 (ko) 2013-11-15 2013-11-15 번역 상황을 인지하고 번역 기능을 수행하는 방법 및 이를 구현하는 전자장치

Publications (2)

Publication Number Publication Date
KR20150056690A true KR20150056690A (ko) 2015-05-27
KR102256291B1 KR102256291B1 (ko) 2021-05-27

Family

ID=53174177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130138783A KR102256291B1 (ko) 2013-11-15 2013-11-15 번역 상황을 인지하고 번역 기능을 수행하는 방법 및 이를 구현하는 전자장치

Country Status (2)

Country Link
US (1) US9460090B2 (ko)
KR (1) KR102256291B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210149346A (ko) * 2020-06-02 2021-12-09 주식회사 다온아시아 언어변환 기능을 갖는 플랫폼 제공방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330030B2 (en) * 2014-06-24 2016-05-03 Google Inc. Bridge decoder for a vehicle infotainment system
US20160267075A1 (en) * 2015-03-13 2016-09-15 Panasonic Intellectual Property Management Co., Ltd. Wearable device and translation system
US10152476B2 (en) * 2015-03-19 2018-12-11 Panasonic Intellectual Property Management Co., Ltd. Wearable device and translation system
CN108959272A (zh) * 2017-05-17 2018-12-07 深圳市领芯者科技有限公司 带随身Wi-Fi和移动电源功能的翻译机
CN112820272A (zh) * 2021-01-27 2021-05-18 上海淇玥信息技术有限公司 一种即时多语言翻译方法、装置和电子设备
US11908446B1 (en) * 2023-10-05 2024-02-20 Eunice Jia Min Yong Wearable audiovisual translation system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010026220A (ja) * 2008-07-18 2010-02-04 Sharp Corp 音声翻訳装置、および音声翻訳方法
US20110246172A1 (en) * 2010-03-30 2011-10-06 Polycom, Inc. Method and System for Adding Translation in a Videoconference
US20130289971A1 (en) * 2012-04-25 2013-10-31 Kopin Corporation Instant Translation System

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1465018A (zh) * 2000-05-11 2003-12-31 南加利福尼亚大学 机器翻译技术
TW201222282A (en) 2010-11-23 2012-06-01 Inventec Corp Real time translation method for mobile device
KR101694286B1 (ko) * 2012-05-02 2017-01-09 한국전자통신연구원 양방향 자동 통역 및 번역 서비스 제공 장치 및 그 방법
US8848109B2 (en) * 2013-01-15 2014-09-30 Viki, Inc. System and method for captioning media

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010026220A (ja) * 2008-07-18 2010-02-04 Sharp Corp 音声翻訳装置、および音声翻訳方法
US20110246172A1 (en) * 2010-03-30 2011-10-06 Polycom, Inc. Method and System for Adding Translation in a Videoconference
US20130289971A1 (en) * 2012-04-25 2013-10-31 Kopin Corporation Instant Translation System

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210149346A (ko) * 2020-06-02 2021-12-09 주식회사 다온아시아 언어변환 기능을 갖는 플랫폼 제공방법

Also Published As

Publication number Publication date
KR102256291B1 (ko) 2021-05-27
US20150142416A1 (en) 2015-05-21
US9460090B2 (en) 2016-10-04

Similar Documents

Publication Publication Date Title
US20170116987A1 (en) Electronic device and method for executing function using speech recognition thereof
US9743226B2 (en) Method for short-range wireless communication and electronic device using the same
US20210080940A1 (en) Server, electronic device, and electronic device information providing method
KR102147088B1 (ko) 전자장치에서 수신된 정보를 사용자에게 제공하기 위한 방법 및 장치
CN106055300B (zh) 用于控制声音输出的方法及其电子设备
KR102256291B1 (ko) 번역 상황을 인지하고 번역 기능을 수행하는 방법 및 이를 구현하는 전자장치
KR102076280B1 (ko) 이동 통신 시스템에서 전자 장치의 통신 수행 방법 및 장치
EP3223131A1 (en) Electronic device with fingerprint sensor and control method thereof
KR102213190B1 (ko) 홈스크린 구성 방법 및 이를 이용한 전자 장치
US10432926B2 (en) Method for transmitting contents and electronic device thereof
KR20150051663A (ko) 터치 입력에 반응하여 기능을 실행하는 방법 및 이를 구현하는 전자장치
KR102144588B1 (ko) 센서 모듈 및 이를 구비한 장치
KR102206053B1 (ko) 입력 도구에 따라 입력 모드를 변경하는 전자 장치 및 방법
KR102157858B1 (ko) 전력 소모를 줄일 수 있는 전자 장치 및 방법
KR102134420B1 (ko) 저전력으로 위치 변화를 측정하는 전자 장치 및 방법
KR20150064354A (ko) 입력 처리 방법 및 그 전자 장치
KR102256683B1 (ko) 재난 관리 방법 및 그 전자 장치
KR20150051497A (ko) 전자 장치의 적외선 통신 방법 및 그 전자 장치
KR20150054430A (ko) 복수의 센서 기능을 수행하는 전자 장치 및 방법
KR102241831B1 (ko) 전자 장치 및 이의 운영 방법
KR20150019813A (ko) 컨텐츠 무결성 제어 방법 및 그 전자 장치
KR20150117968A (ko) 입력방향에 따라 기능을 전환하는 전자 장치 및 방법
KR20150026257A (ko) 액세서리의 정보를 업 데이트하는 전자 장치 및 방법
KR20150027934A (ko) 다각도에서 촬영된 영상을 수신하여 파일을 생성하는 전자 장치 및 방법
EP3016099A1 (en) Method and apparatus for notifying of content change

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant