KR20220149250A - 복수의 장치에서 획득한 오디오 데이터 녹음 방법 및 전자 장치 - Google Patents
복수의 장치에서 획득한 오디오 데이터 녹음 방법 및 전자 장치 Download PDFInfo
- Publication number
- KR20220149250A KR20220149250A KR1020210056641A KR20210056641A KR20220149250A KR 20220149250 A KR20220149250 A KR 20220149250A KR 1020210056641 A KR1020210056641 A KR 1020210056641A KR 20210056641 A KR20210056641 A KR 20210056641A KR 20220149250 A KR20220149250 A KR 20220149250A
- Authority
- KR
- South Korea
- Prior art keywords
- electronic device
- audio data
- communication link
- processor
- audio
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000004891 communication Methods 0.000 claims abstract description 420
- 230000005540 biological transmission Effects 0.000 claims abstract description 346
- 230000004044 response Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000005684 electric field Effects 0.000 description 50
- 230000005236 sound signal Effects 0.000 description 35
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000003825 pressing Methods 0.000 description 8
- 238000003672 processing method Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000005355 Hall effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R5/00—Stereophonic arrangements
- H04R5/033—Headphones for stereophonic communication
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/24—Signal processing not specific to the method of recording or reproducing; Circuits therefor for reducing noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/10—Earpieces; Attachments therefor ; Earphones; Monophonic headphones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/10—Earpieces; Attachments therefor ; Earphones; Monophonic headphones
- H04R1/1041—Mechanical or electronic switches, or control elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R5/00—Stereophonic arrangements
- H04R5/04—Circuit arrangements, e.g. for selective connection of amplifier inputs/outputs to loudspeakers, for loudspeaker detection, or for adaptation of settings to personal preferences or hearing impairments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2420/00—Details of connection covered by H04R, not provided for in its groups
- H04R2420/09—Applications of special connectors, e.g. USB, XLR, in loudspeakers, microphones or headphones
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Telephone Function (AREA)
Abstract
본 발명의 다양한 실시 예들은 마이크, 통신 모듈, 전송 버퍼를 포함하는 메모리, 및 상기 마이크, 상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 제1 외부 전자 장치와 제1 통신 링크를 연결하고, 상기 통신 모듈을 통해 제2 외부 전자 장치와 제2 통신 링크를 연결하고, 상기 제1 외부 전자 장치로부터 녹음 요청이 수신됨에 따라 상기 마이크를 구동하여 마이크 입력 신호를 획득하고, 상기 통신 모듈 또는 상기 제2 외부 전자 장치와의 전송 환경을 모니터링하고, 상기 전송 환경에 기반하여 오디오의 비트 레이트를 결정하고, 상기 결정된 비트 레이트에 기반하여 오디오를 인코딩하고, 상기 인코딩된 오디오 데이터를 상기 제1 외부 전자 장치로 전송하도록 설정된 방법 및 장치에 관하여 개시한다. 다양한 실시 예들이 가능하다.
Description
본 발명의 다양한 실시예들은 복수의 장치에서 획득한 오디오 데이터 녹음 방법 및 전자 장치에 관하여 개시한다.
디지털 기술의 발달과 함께 이동통신 단말기, PDA(personal digital assistant), 전자수첩, 스마트 폰, 태블릿 PC(personal computer), 또는 웨어러블 디바이스(wearable device)와 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 이러한, 전자 장치는 블루투스(bluetooth)와 같은 근거리 무선 기술을 이용하여 노트북, 이어폰, 또는 헤드폰과 같은 외부 장치와 연결하여 정보를 교환할 수 있다. 예를 들어, 전자 장치는 이어폰과 블루투스로 연결하여, 이어폰을 통해 음악 또는 동영상의 소리를 출력할 수 있다.
이어폰은 사용자의 니즈를 반영하여 사용자의 양쪽 귀에 각각 삽입 가능한 TWS(true wireless stereo) 방식의 무선 헤드셋(또는 무선 입 출력 장치) 형태가 출시되고 있다. 무선 헤드셋은 좌, 우 장치 각각에 마이크를 포함하고 있어, 바이노럴 레코딩이 가능하며, 좀 더 실감나는 소리의 녹음이 가능할 수 있다.
무선 입 출력 장치의 특성상, 무선 환경이 좋지 않은 약전계 상황에서 음 끊김이 발생할 수 있으며, 좌, 우가 분리된 TWS 방식의 무선 입 출력 장치에서는 무선 환경에 따른 음 끊김 현상이 더 자주 발생할 수 있다. 이러한 문제점을 개선하기 위해서는 오디오 데이터의 크기를 줄이는 방법이 있지만, 전송되는 오디오 데이터의 크기를 줄이게 되면 음질이 떨어질 수 있다. 또한, TWS 방식의 무선 입 출력 장치는 좌, 우 장치 간의 음 끊김이 서로 다른 타이밍에 발생하게 되면, 좌, 우 디바이스의 싱크를 보장하기 어려울 수 있다.
더욱이, 블루투스 A2DP(advanced audio distribution profile)을 이용하는 일반적인 블루투스 헤드셋은 오디오 코덱 설정 단계에서 코덱이 결정되면, 정해진 비트 레이트(bit-rate)와 패킷 타입(Packet Type)을 이용하여 오디오 신호를 전송하며, 비트 레이트 및 패킷 타입은 변경되지 않을 수 있다. 따라서 무선 장치의 사용이 많은 지하철이나 사람이 많은 혼잡 환경에서는 음끊김이 발생할 수 있으며, 전송 환경이 변하는 경우, 변화된 전송 환경에 실시간으로 대응이 불가능할 수 있다.
다양한 실시예들에서는, 제1 장치 및 제2 장치를 포함하는 웨어러블 디바이스(예: 무선 입 출력 장치)와 전자 장치(예: 스마트 폰) 간의 전송 환경에 따라 상기 제1 장치 및 상기 제2 장치에서 각각 획득한 오디오 데이터의 비트 레이트를 가변적으로 조절함으로써, 음 끊김을 방지하고 고품질의 오디오 데이터를 획득하는 방법 및 장치에 관하여 개시할 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치는 마이크, 통신 모듈, 전송 버퍼를 포함하는 메모리, 및 상기 마이크, 상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 제1 외부 전자 장치와 제1 통신 링크를 연결하고, 상기 통신 모듈을 통해 제2 외부 전자 장치와 제2 통신 링크를 연결하고, 상기 제1 외부 전자 장치로부터 녹음 요청이 수신됨에 따라 상기 마이크를 구동하여 마이크 입력 신호를 획득하고, 상기 통신 모듈 또는 상기 제2 외부 전자 장치와의 전송 환경을 모니터링하고, 상기 전송 환경에 기반하여 오디오의 비트 레이트를 결정하고, 상기 결정된 비트 레이트에 기반하여 오디오를 인코딩하고, 상기 인코딩된 오디오 데이터를 상기 제1 외부 전자 장치로 전송하도록 설정될 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치는 마이크, 통신 모듈, 전송 버퍼를 포함하는 메모리, 및 상기 마이크, 상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 제1 외부 전자 장치와 제1 통신 링크로 연결된, 제2 외부 전자 장치와 제2 통신 링크를 연결하고, 상기 제2 외부 전자 장치로부터 마이크 오픈 명령을 수신하고, 상기 마이크를 구동하여 마이크 입력 신호를 획득하고, 상기 통신 모듈 또는 상기 제2 외부 전자 장치와의 전송 환경을 모니터링하고, 상기 전송 환경에 기반하여 오디오의 비트레이트를 결정하고, 상기 결정된 비트 레이트에 기반하여 오디오를 인코딩하고, 상기 인코딩된 오디오 데이터를 상기 제1 외부 전자 장치 또는 상기 제2 외부 전자 장치로 전송하도록 설정될 수 있다.
본 발명의 다양한 실시예들에 따른 전자 장치는 통신 모듈, 메모리, 및 상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 제1 외부 전자 장치와 제1 통신 링크로 연결하고, 사용자로부터 녹음 요청을 수신함에 따라 상기 제1 외부 전자 장치로 녹음을 지시하고, 상기 제1 외부 전자 장치에서 획득한 제1 오디오 데이터 또는 상기 제1 외부 전자 장치와 연결된 제2 외부 전자 장치에서 획득한 제2 오디오 데이터를 수신하고, 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화하도록 설정될 수 있다.
다양한 실시예들에 따르면, 제1 장치 및 제2 장치를 포함하는 웨어러블 디바이스와 전자 장치 간의 전송 환경에 따라 상기 제1 장치 및 상기 제2 장치에서 각각 획득한 오디오 데이터의 비트 레이트를 가변적으로 조절할 수 있다.
다양한 실시예들에 따르면, 전송 환경이 강전계 상황(예: 좋은 상황)이면, 높은 비트 레이트를 사용하여 오디오 데이터를 인코딩하고, 전송 환경이 약전계(예: 나쁜 상황)이면, 비트 레이트를 낮게 조정하여, 패킷 전송을 원활하게 할 수 있다.
다양한 실시예들에 따르면, 전송 환경의 변화와 상관없이 고정된 비트 레이트를 사용하는 기존 방법 대신 전송 환경에 따라 비트 레이트를 가변적으로 조절함으로써, 음 끊김을 최소화하고 고음질의 레코딩 서비스 제공할 수 있다.
다양한 실시예들에 따르면, 제1 장치 및 제2 장치에서 각각 동시간에 획득한 오디오 데이터에 대하여 동일한 인덱스 번호를 부여함으로써, 인덱스 번호에 기반하여 제1 장치 및 제2 장치에서 각각 획득한 오디오 데이터 간의 싱크를 맞춤으로써, 고품질의 레코딩 서비스 제공이 가능할 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예들에 따른 웨어러블 디바이스의 구성도를 도시한 도면이다.
도 3은 다양한 실시예들에 따른 웨어러블 디바이스의 다른 블록도이다.
도 4a 내지 도 4d는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간의 네트워크 환경을 도시한 도면이다.
도 5는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제1 방식에 따른 동작 방법을 도시한 흐름도이다.
도 6은 다양한 실시예들에 따른 웨어러블 디바이스의 전송 버퍼 상태를 도시한 도면이다.
도 7은 다양한 실시예들에 따른 웨어러블 디바이스의 제1 장치에서 제1 방식에 따른 오디오 처리 방법을 도시한 흐름도이다.
도 8은 다양한 실시예들에 따른 웨어러블 디바이스의 제2 장치의 제1 방식에 따른 오디오 처리 방법을 도시한 흐름도이다.
도 9는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제2 방식에 따른 동작 방법을 도시한 흐름도이다.
도 10은 다양한 실시예들에 따른 웨어러블 디바이스의 제1 장치에서 제2 방식에 따른 오디오 처리 방법을 도시한 흐름도이다.
도 11은 다양한 실시예들에 따른 웨어러블 디바이스의 제2 장치의 제2 방식에 따른 오디오 처리 방법을 도시한 흐름도이다.
도 12는 다양한 실시예들에 따른 웨어러블 디바이스에서 전송하는 오디오 데이터의 일례를 도시한 도면이다.
도 13은 다양한 실시예들에 따른 전자 장치에서 오디오 데이터를 처리하는 방법을 도시한 흐름도이다.
도 14는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제3 방식에 따른 동작 방법을 도시한 흐름도이다.
도 15는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제4 방식에 따른 동작 방법을 도시한 흐름도이다.
도 16a 및 도 16b는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제5 방식에 따른 동작 방법을 도시한 흐름도이다.
도 2는 다양한 실시예들에 따른 웨어러블 디바이스의 구성도를 도시한 도면이다.
도 3은 다양한 실시예들에 따른 웨어러블 디바이스의 다른 블록도이다.
도 4a 내지 도 4d는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간의 네트워크 환경을 도시한 도면이다.
도 5는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제1 방식에 따른 동작 방법을 도시한 흐름도이다.
도 6은 다양한 실시예들에 따른 웨어러블 디바이스의 전송 버퍼 상태를 도시한 도면이다.
도 7은 다양한 실시예들에 따른 웨어러블 디바이스의 제1 장치에서 제1 방식에 따른 오디오 처리 방법을 도시한 흐름도이다.
도 8은 다양한 실시예들에 따른 웨어러블 디바이스의 제2 장치의 제1 방식에 따른 오디오 처리 방법을 도시한 흐름도이다.
도 9는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제2 방식에 따른 동작 방법을 도시한 흐름도이다.
도 10은 다양한 실시예들에 따른 웨어러블 디바이스의 제1 장치에서 제2 방식에 따른 오디오 처리 방법을 도시한 흐름도이다.
도 11은 다양한 실시예들에 따른 웨어러블 디바이스의 제2 장치의 제2 방식에 따른 오디오 처리 방법을 도시한 흐름도이다.
도 12는 다양한 실시예들에 따른 웨어러블 디바이스에서 전송하는 오디오 데이터의 일례를 도시한 도면이다.
도 13은 다양한 실시예들에 따른 전자 장치에서 오디오 데이터를 처리하는 방법을 도시한 흐름도이다.
도 14는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제3 방식에 따른 동작 방법을 도시한 흐름도이다.
도 15는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제4 방식에 따른 동작 방법을 도시한 흐름도이다.
도 16a 및 도 16b는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제5 방식에 따른 동작 방법을 도시한 흐름도이다.
도 1은 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는 다양한 실시예들에 따른 웨어러블 디바이스의 구성도를 도시한 도면이다.
도 2를 참조하면, 다양한 실시예들에 따른 웨어러블 디바이스(200)(또는 무선 통신 장치, 무선 출력 장치)는 외부 전자 장치(예: 도 1의 전자 장치(101))와 무선으로 연결되어, 전자 장치(101)와 정보(또는 신호)를 주고받는 장치일 수 있다. 이하, 설명에서는 웨어러블 디바이스(200)를 TWS 방식의 무선 이어폰의 일종으로 설명하고 있지만, 블루투스 스피커, 세탁기, 냉장고와 같은 IoT(internet of things) 기기를 포함하는 개념일 수 있다. 예를 들어, 웨어러블 디바이스(200)는 전자 장치(101)로부터 출력되는 오디오 신호를 수신하여 스피커를 통해 출력하거나, 마이크를 통해 외부(예: 사용자)로부터 입력되는 오디오 신호를 전자 장치(101)로 전송하는 장치일 수 있다. 웨어러블 디바이스(200)는 제1 장치(210), 제2 장치(230) 및 케이스(250) 중 적어도 하나를 포함할 수 있다. 본 문서에 개시된 다양한 실시예들에 따른 웨어러블 디바이스는 다양한 형태의 장치가 될 수 있는데, 예를 들어, 무선 이어폰일 수 있다. 이하, 본 발명에서 설명하는 웨어러블 디바이스(200)는 제1 장치(210) 또는 제2 장치(230)를 의미할 수 있다.
제1 장치(210) 및 제2 장치(230)는 케이스(250)에 수용(또는 장착)되거나, 케이스(250)로부터 분리(또는 탈착)될 수 있다. 제1 장치(210) 및 제2 장치(230)는 사용자 신체 일부(예: 사용자의 왼쪽 귀 또는 사용자의 오른쪽 귀)에 각각 착용될 수 있다. 제1 장치(210) 및 제2 장치(230) 각각은 스피커 또는 마이크를 포함할 수 있다. 제1 장치(210) 및 제2 장치(230) 각각은 스피커를 통해 오디오 신호를 출력하거나, 마이크를 통해 외부로부터 오디오 신호를 수신(또는 입력)할 수 있다. 제1 장치(210) 및 제2 장치(230)가 케이스(250)로부터 이탈되면, 전원이 온(on)될 수 있다. 제1 장치(210) 및 제2 장치(230)가 케이스(250)에 장착되면, 제1 장치(210) 및 제2 장치(230)의 전원은 오프(off)되거나, 충전될 수 있다.
다양한 실시예들에 따르면, 제1 장치(210)가 마스터 역할을 하고, 제2 장치(230)가 슬레이브 역할을 할 수 있다. 반대로, 제1 장치(210)가 슬레이브 역할을 하고, 제2 장치(230)가 마스터 역할을 할 수 있다. 제1 장치(210) 및 제2 장치(230)는 주기적으로 또는 실시간으로 외부 전자 장치로 센싱 정보를 전송할 수 있다.
케이스(250)는 제1 장치(210) 또는 제2 장치(230)를 수용(또는 보관)하도록 구성된 수용부(또는 공간부)를 갖는 하우징 및 상기 하우징에 부착되는 덮개를 포함할 수 있다. 상기 수용부는 제1 장치(210) 또는 제2 장치(230)를 케이스(250) 내부로 자기적으로(magnetically) 끌어들여 유지시키도록 구성될 수 있다. 케이스(250)는 제1 장치(210) 및 제2 장치(230)가 상기 수용부에 장착되거나, 또는 상기 덮개가 닫혀지면, 제1 장치(210) 및 제2 장치(230)의 전원을 오프시키거나, 충전되도록 제어할 수 있다. 케이스(250)는 제1 장치(210) 및 제2 장치(230)가 상기 수용부로부터 분리되거나, 또는 상기 덮개가 열어지면, 제1 장치(210) 및 제2 장치(230)의 전원을 온시킬 수 있다.
도 3은 다양한 실시예들에 따른 웨어러블 디바이스의 다른 블록도이다.
도 3을 참조하면, 다양한 실시예들에 따른 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))는 제1 장치(예: 도 2의 제1 장치(210)), 제2 장치(예: 도 2의 제2 장치(230)) 및 케이스(예: 도 2의 케이스(250)) 중 적어도 하나를 포함할 수 있다. 이하, 본 발명에서 설명하는 웨어러블 디바이스(200)는 제1 장치(210) 또는 제2 장치(230)를 의미할 수 있다.
제1 장치(210)는 제1 센서 모듈(311), 제1 마이크(313), 제1 스피커(315), 제1 충전 모듈(317), 제1 인터페이스(319), 제1 통신 모듈(321), 제1 프로세서(323), 제1 터치 센서(325), 제1 메모리(327), 또는 제1 배터리(329) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에서는, 제1 장치(210)에는, 이 구성요소들 중 적어도 하나가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 구성요소로 통합될 수 있다.
제1 센서 모듈(311)은 제1 장치(210)의 착용 여부를 판단하는데 활용되는 것으로, 근접 센서, 터치 센서, 가속도 센서, 또는 자이로 센서 중 적어도 하나를 포함할 수 있다. 예를 들어, 제1 센서 모듈(311)은 제1 장치(210)에 근접하는 물체를 감지하는 근접 센서 또는 터치 센서일 수 있다. 제1 센서 모듈(311)이 근접 센서 또는 터치 센서인 경우, 사용자의 귀에 삽입되는 영역에 배치될 수 있다. 또는, 제1 센서 모듈(311)은 물체의 가속도, 진동, 충격과 같은 동적 힘을 측정하는 가속도 센서일 수 있다. 또는, 제1 센서 모듈(311)은 물체의 각속도를 측정하는 자이로 센서일 수 있다.
제1 마이크(313)는 소리를 전기 신호로 변환시킬 수 있다. 일실시예에 따르면, 제1 마이크(313)는 소리(또는 오디오)를 획득하여 전기 신호로 변환시킬 수 있다. 일 실시예에 따르면, 제1 마이크(313)는 외부의 소리를 수음할 수 있는 외부 마이크와 사용자의 귀 부분에서 반사되는 소리(예: 잔향, 반향)를 수음할 수 있는 내부 마이크를 포함할 수 있다. 제1 스피커(315)는 전기 신호를 소리로 변환시킬 수 있다. 제1 스피커(315)는 오디오(또는 음향) 신호를 제1 장치(210)의 외부로 출력할 수 있다. 제1 스피커(315)는 리시버를 포함할 수 있다. 제1 스피커(315)는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 제1 스피커(315)와 별개로, 또는 그 일부로서 구현될 수 있다. 일 실시예에 따르면, 제1 마이크(313)와 제1 스피커(315)의 개수는 필요에 따라 다양하게 변경될 수 있다.
제1 충전 모듈(317)은 제1 장치(210)에 공급되는 전력을 관리할 수 있다. 제1 충전 모듈(317)은 제1 인터페이스(319)를 통해 수신되는 전력으로 제1 배터리(329)를 충전시킬 수 있다. 제1 충전 모듈(317)은 PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다. 제1 인터페이스(319)는 제1 장치(210)가 케이스(350)와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다.
제1 통신 모듈(321)은 외부 전자 장치(예: 도 1의 전자 장치(101) 또는 제2 장치(230))와 무선 통신 채널을 수립하고, 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 제1 통신 모듈(321)은 블루투스, 저전력 블루투스, 와이파이(Wi-Fi), ANT+(adaptive network topology), LTE(long term evolution), 5G(5th generation mobile communication), NB-IoT(narrowband internet of things)를 통하여 외부 전자 장치와 연결되거나, 엑세스 포인트, 네트워크와 연결될 수 있다. 제1 통신 모듈(321)은 외부 전자 장치로부터 음향 신호를 수신하거나, 외부 전자 장치로 센싱 정보(또는 센싱 신호) 또는 음향 신호를 전송할 수 있다.
제1 프로세서(323)는 소프트웨어를 실행하여 제1 프로세서(323)에 연결된 제1 장치(210)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 제1 프로세서(323)는 다른 구성요소(예: 제1 센서 모듈(311) 또는 제1 통신 모듈(321))로부터 수신된 명령 또는 데이터를 제1 메모리(327)에 저장하고, 제1 메모리(327)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 제1 메모리(327)에 저장할 수 있다. 일실시예에 따르면, 제1 프로세서(323)는 메인 프로세서(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(예: 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 제1 장치(210)가 메인 프로세서 및 보조 프로세서를 포함하는 경우, 보조 프로세서는 메인 프로세서보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서는 메인 프로세서와 별개로, 또는 그 일부로서 구현될 수 있다.
다양한 실시예들에 따르면, 제1 프로세서(323)는 전자 장치(101)와 제1 통신 링크를 연결하고, 제2 장치(230)와 제2 통신 링크를 연결할 수 있다. 상기 제1 통신 링크과 상기 제2 통신 링크는 다른 링크(또는 채널)이거나, 다른 통신 방식으로 연결될 수 있다, 제1 프로세서(323)는 상기 제1 통신 링크에 대한 정보(예: 블루투스 주소, FHS(filesystem hierarchy system) 패킷 정보, 링크 키)를 제2 장치(230)로 전송할 수 있다. 제1 프로세서(323)는 전자 장치(101)로부터 녹음 지시를 수신하면, 제2 장치(230)로 마이크 오픈을 지시할 수 있다. 제1 프로세서(323)는 제2 장치(230)로 마이크 오픈 지시(또는 마이크 오픈 명령)를 하고 일정 시간이 경과하면, 제1 마이크(313)를 오픈하여 오디오를 수신(또는 획득)할 수 있다. 제1 프로세서(323)는 제2 장치(230)와 전송 버퍼 상태를 교환하거나, 신호 세기를 교환함으로써, 전송 환경(또는 무선 전송 환경)을 모니터링(또는 분석)할 수 있다. 상기 전송 버퍼 상태는 제1 장치(210)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간 또는 제2 장치(230)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제1 장치(210)의 신호 세기(예: RSSI(receiver signal strength indicator)) 또는 제2 장치(230)의 신호 세기를 포함할 수 있다.
다양한 실시예들에 따르면, 제1 프로세서(323)는 전송 환경에 기반하여 오디오의 비트 레이트(bit rate)를 결정할 수 있다. 예를 들어, 제1 프로세서(323)는 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제1 프로세서(323)는 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제1 프로세서(323)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다. 제1 프로세서(323)는 상기 결정된 비트 레이트에 기반하여 오디오를 인코딩하고 저장할 수 있다. 제1 프로세서(323)는 제2 장치(230)와 동일한 시간에 획득한 오디오에 대하여 제2 장치(230)와 동일한 인덱스 번호(또는 인덱스 값, 인덱스 정보)를 부여하여 오디오를 인코딩할 수 있다. 제1 프로세서(323)는 저장된 제1 오디오 데이터(또는 오디오 패킷)를 전자 장치(101)로 전송하거나, 제2 장치(230)로부터 획득한 제2 오디오 데이터와 함께 전자 장치(101)로 전송할 수 있다.
제1 터치 센서(325)는 제1 장치(210)를 제어하기 위한 센서일 수 있다. 제1 장치(210)에서 소리를 출력하는 중에 제1 터치 센서(325)에서 터치가 검출되면 제1 장치(210)는 재생을 정지할 수 있다. 재생 정지 후, 제1 터치 센서(325)에서 터치가 검출되면 제1 장치(210)는 재생을 시작할 수 있다. 제1 터치 센서(325)는 사용자가 제1 장치(210)를 착용한 상태에서 터치를 입력받기 위해, 사용자의 귀에 삽입되지 않는 제1 장치(210)의 외부 영역에 배치될 수 있다. 터치 입력은 예를 들어, 한 번 터치, 복수 터치, 스와이프(swife) 또는 튕기기(flick)를 포함할 수 있다. 어떤 실시예에서는, 제1 터치 센서(325)를 통한 터치 인식은 다양한 방식으로 이루어질 수 있다. 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 어떤 실시예에서는, 제1 장치(210)는 물리적인 버튼 또는 광학식 키를 포함할 수 있다.
제1 메모리(327)(또는 버퍼)는 제1 장치(210)의 적어도 하나의 구성요소(예: 제1 센서 모듈(311), 또는 제1 프로세서(323))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다.
제1 배터리(329)는 제1 장치(210)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 제1 배터리(329)는 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
제2 장치(230)는 제2 센서 모듈(331), 제2 마이크(333), 제2 스피커(335), 제2 충전 모듈(337), 제2 인터페이스(339), 제2 통신 모듈(341), 제2 프로세서(343), 제2 터치 센서(345), 제2 메모리(347), 또는 제2 배터리(349) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에서는, 제2 장치(230)에는, 이 구성요소들 중 적어도 하나가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 구성요소로 통합될 수 있다. 제1 장치(210)에 포함된 구성 요소와 제2 장치(230)에 포함된 구성 요소는 동일 또는 유사하므로, 구별을 위해 구성 요소 앞에 "제1", "제2"을 표기할 수 있다. 제1 장치(210)와 동일한 구성 요소에 대해서는 간략히 설명할 수 있다.
제2 센서 모듈(331)은 제1 장치(210)의 착용 여부를 판단하는데 활용되는 것으로, 근접 센서, 터치 센서, 가속도 센서, 또는 자이로 센서 중 적어도 하나를 포함할 수 있다. 제2 마이크(333)는 소리를 전기 신호로 변환시킬 수 있다. 제2 스피커(335)는 전기 신호를 소리로 변환시킬 수 있다. 제2 스피커(335)는 오디오(또는 음향) 신호를 제2 장치(230)의 외부로 출력할 수 있다. 제2 스피커(335)는 리시버를 포함할 수 있다. 제2 스피커(335)는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 제2 스피커(335)와 별개로, 또는 그 일부로서 구현될 수 있다.
제2 충전 모듈(337)은 PMIC의 적어도 일부로서, 제2 장치(230)에 공급되는 전력을 관리할 수 있다. 제2 충전 모듈(337)은 제2 인터페이스(339)를 통해 수신되는 전력으로 제1 배터리(329)를 충전시킬 수 있다. 제2 인터페이스(339)는 제2 장치(230)가 케이스(350)와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다.
제2 통신 모듈(341)은 외부 전자 장치(예: 도 1의 전자 장치(101) 또는 제1 장치(210))와 무선 통신 채널을 수립하고, 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 제2 통신 모듈(341)은 외부 전자 장치로부터 음향 신호를 수신하거나, 외부 전자 장치로 센싱 정보(또는 센싱 신호) 또는 음향 신호를 전송할 수 있다.
제2 프로세서(343)는 소프트웨어를 실행하여 제2 프로세서(343)에 연결된 제2 장치(230)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 다양한 실시예들에 따르면, 제2 프로세서(343)는 제1 장치(210)와 제2 통신 링크를 연결하거나, 제1 장치(210)로부터 수신된 제1 통신 링크 정보에 기반하여 전자 장치(101)와 제1 통신 링크를 연결할 수 있다. 제2 프로세서(343)는 제1 장치(210)로부터 마이크 오픈 지시(또는 마이크 오픈 명령)를 수신하면, 일정 시간이 경과한 후, 제2 마이크(333)를 오픈하여 오디오를 수신(또는 획득)할 수 있다. 제2 프로세서(343)는 제1 장치(210)와 전송 버퍼 상태를 교환하거나, 신호 세기를 교환함으로써, 전송 환경(또는 무선 전송 환경)을 모니터링(또는 분석)할 수 있다. 상기 전송 버퍼 상태는 제1 장치(210)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간 또는 제2 장치(230)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제1 장치(210)의 신호 세기(예: RSSI) 또는 제2 장치(230)의 신호 세기를 포함할 수 있다.
다양한 실시예들에 따르면, 제2 프로세서(343)는 전송 환경에 기반하여 오디오의 비트 레이트를 결정할 수 있다. 예를 들어, 제2 프로세서(343)는 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제2 프로세서(343)는 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제2 프로세서(343)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다. 제2 프로세서(343)는 상기 결정된 비트 레이트에 기반하여 오디오를 인코딩하고 저장할 수 있다. 제2 프로세서(343)는 제1 장치(210)와 동일한 시간에 획득한 오디오에 대하여 제1 장치(210)와 동일한 인덱스 번호(또는 인덱스 값, 인덱스 정보)를 부여하여 오디오를 인코딩할 수 있다. 제2 프로세서(343)는 저장된 제2 오디오 데이터(또는 오디오 패킷)를 제1 장치(210) 또는 전자 장치(101)로 전송할 수 있다.
제2 터치 센서(345)는 제2 장치(230)를 제어하기 위한 센서일 수 있다. 제2 장치(230)에서 소리를 출력하는 중에 제2 터치 센서(345)에서 터치가 검출되면 제2 장치(230)는 재생을 정지할 수 있다. 재생 정지 후, 제2 터치 센서(345)에서 터치가 검출되면 제2 장치(230)는 재생을 시작할 수 있다. 제2 메모리(347)(또는 버퍼)는 제2 장치(230)의 적어도 하나의 구성요소(예: 제2 센서 모듈(331), 또는 제2 프로세서(343))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 제2 배터리(349)는 제2 장치(230)의 적어도 하나의 구성요소에 전력을 공급할 수 있다.
케이스(250)는 제1 장치 인터페이스(371), 제2 장치 인터페이스(373), 검출 모듈(375), 전원 인터페이스(377), 케이스 프로세서(380), 배터리(385), 또는 충전 모듈(390) 중 적어도 하나를 포함할 수 있다. 제1 장치 인터페이스(371) 또는 제2 장치 인터페이스(373)는 제1 장치(210) 또는 제2 장치(230)와 물리적으로 연결될 수 있다. 예를 들어, 제1 장치 인터페이스(371)는 제1 장치(210)의 제1 인터페이스(319)와 연결될 수 있다. 제2 장치 인터페이스(373)는 제2 장치(230)의 제2 인터페이스(339)와 연결될 수 있다.
케이스 프로세서(380)는 케이스(250)의 동작을 제어하는 것일 수 있다. 케이스 프로세서(380)는 케이스(250)에 포함된 다른 구성요소(예: 충전 모듈(390), 검출 모듈(375))를 제어하고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 예를 들어, 케이스 프로세서(380)는 제1 장치(210)가 연결되면, 제1 장치(210)가 충전되도록 제어하고, 제2 장치(230)가 연결되면, 제2 장치(230)가 충전되도록 제어할 수 있다.
충전 모듈(390)은 제1 장치(210), 제2 장치(230) 또는 케이스(250)에 공급되는 전력을 관리할 수 있다. 충전 모듈(390)은 제1 장치 인터페이스(371)를 통해 제1 장치(210)로 전력을 공급하고, 제2 장치 인터페이스(373)를 통해 제2 장치(230)로 전력을 공급할 수 있다. 충전 모듈(390)은 전원 인터페이스(377)를 통해 수신되는 전력으로 배터리(385)를 충전시킬 수 있다. 충전 모듈(390)은 도 1의 충전 모듈(170)과 동일 또는 유사할 수 있다.
검출 모듈(375)은 제1 장치(210) 또는 제2 장치(230)가 케이스(250)에 장착(또는 수용)되는지 여부를 검출할 수 있다. 검출 모듈(375)은 제1 장치(210) 또는 제2 장치(230)가 케이스(250)의 수용부에 장착되면, 케이스 프로세서(380)에 전달할 수 있다. 검출 모듈(375)은 제1 장치(210) 또는 제2 장치(230) 중 적어도 하나가 케이스(250)에 위치하는지를 검출하는 적어도 하나의 센서를 포함할 수 있다. 검출 모듈(375)은 제1 장치(210) 또는 제2 장치(230)에 접촉(또는 연결)되는 접촉부들(예: 제1 장치 인터페이스(371) 또는 제2 장치 인터페이스(373))을 주기적으로 "핑(ping)"하는 회로일 수 있다. 검출 모듈(375)은 자기 센서, 광센서, 스위치, 홀 효과 센서, 자속 센서, 용량성 센서, 광검출기, 근접 검출기, 순간 스위치, 기계적 센서 또는 전기 센서일 수 있다. 배터리(385)는 케이스(250)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 배터리(385)는 도 1의 배터리(190)와 동일 또는 유사할 수 있다. 전원 인터페이스(377)는 외부 전원부와 물리적으로 연결될 수 있다.
도 4a 내지 도 4d는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간의 네트워크 환경을 도시한 도면이다.
도 4a는 전자 장치와 웨어러블 디바이스가 제1 방식으로 네트워크 연결된 상태를 도시한 도면이다.
도 4a를 참조하면, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))는 제1 방식(410)으로 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))와 연결될 수 있다. 웨어러블 디바이스(200)는 TWS 방식으로 좌, 우가 분리되어 제1 장치(예: 도 2의 제1 장치(210)) 및 제2 장치(예: 도 2의 제2 장치(230))를 포함할 수 있다. 제1 장치(210)는 전자 장치(101)와 직접 통신 연결 가능한 PE(primary equipment) 디바이스라 하고, 제2 장치(230)는 전자 장치(101)와 직접 통신 연결 되어 있지 않은 나머지 디바이스를 SE(secondary equipment) 디바이스라 할 수 있다. 제1 방식(410)은 릴레이(relay) 방식으로서, 제1 장치(210)는 전자 장치(101)와 제1 통신 링크(401)를 형성하고, 제2 장치(230)와 제2 통신 링크(403)를 형성(또는 연결)하는 것일 수 있다. 제1 통신 링크(401) 및 제2 통신 링크(403)는 서로 다른 링크(또는 채널)이거나, 서로 다른 통신 방식일 수 있다. 예를 들어, 제1 통신 링크(401)는 블루투스(bluetooth) 방식으로 연결되며, 제2 통신 링크(403)는 저전력 블루투스(bluetooth low energy) 방식으로 연결될 수 있다.
제2 장치(230)는 제2 통신 링크(403)를 통해 자신이 획득한 제2 오디오 데이터(예: audio packet2)를 제1 장치(210)로 전송할 수 있다. 제1 장치(210)는 자신이 획득한 제1 오디오 데이터(예: audio packet1)와 제2 장치(230)로부터 획득한 제2 오디오 데이터를 동기화시켜(예: audio packet1 + audio packet2) 제1 통신 링크(401)를 통해 전자 장치(101)로 전송할 수 있다. 전자 장치(101)는 수신된 제1 오디오 데이터 및 제2 오디오 데이터를 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 또는, 전자 장치(101)는 각 오디오 데이터에 포함된 인덱스 번호에 기반하여 제1 오디오 데이터 및 제2 오디오 데이터를 동기화시켜 저장할 수도 있다. 전자 장치(101)는 제1 오디오 데이터 및 제2 오디오 데이터를 스피커(예: 도 1의 음향 출력 모듈(155))를 통해 출력할 수 있다.
도 4b는 전자 장치와 웨어러블 디바이스가 제2 방식으로 네트워크 연결된 상태를 도시한 도면이다.
도 4b를 참조하면, 전자 장치(101)는 제2 방식(430)으로 웨어러블 디바이스(200)와 연결될 수 있다. 제2 방식(430)은 스니핑(sniffing) 방식으로서, 제1 장치(210)는 전자 장치(101)와 제1 통신 링크(401)를 형성하고, 제2 장치(230)와 제2 통신 링크(403)를 형성(또는 연결)하며, 제1 통신 링크(401)에 대한 정보(예: 제1 통신 링크 정보)를 제2 장치(230)로 전송하여, 제2 장치(230)는 제1 통신 링크 정보에 기반하여 전자 장치(101)와 제1-1 통신 링크(401-1)를 형성(또는 연결)하는 것일 수 있다. 상기 제1 통신 링크 정보는 블루투스 주소, FHS 패킷 정보, 링크 키와 같이 제1 통신 링크(401)에 연결하기 위한 정보를 포함할 수 있다. 제1 통신 링크(401) 및 제1-1 통신 링크(401-1)은 동일한 채널 또는 동일한 통신 방식일 수 있다. 제2 장치(230)는 제1-1 통신 링크(401-1)를 통해 제1 장치(210)와 전자 장치(101) 간에 송수신되는 정보(또는 패킷)를 수신(예: 스니핑)할 수 있다. 전자 장치(101)는 제1 통신 링크(401)로 연결된 제1 장치(210) 및 제1-1 통신 링크(401-1)로 연결된 제2 장치(230)를 동일한 장치로 인식할 수 있다.
제2 방식(430)에서, 제2 통신 링크(403)는 제1 방식(410)과 다르게, 제1 장치(210)와 제2 장치(230) 간의 제어 신호 및 정보를 송수신하는 용도로 사용되고, 데이터 패킷 전달용으로 사용하지 않을 수 있다. 제1 장치(210)는 제1 통신 링크(401)를 통해 자신이 획득한 제1 오디오 데이터(예: audio packet1)를 전자 장치(101)로 전송하고, 제2 장치(230)는 제1-1 통신 링크(401-1)를 통해 자신이 획득한 제2 오디오 데이터(예: audio packet2)를 직접 전자 장치(101)로 전송할 수 있다. 제1 장치(210) 및 제2 장치(230)는 각각 제1 통신 링크(401) 또는 제1-1 통신 링크(401-1)를 통해 자신이 획득한 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 전자 장치(101)는 제1 오디오 데이터 및 제2 오디오 데이터에 포함된 인덱스 번호에 기반하여 제1 오디오 데이터 및 제2 오디오 데이터를 동기화시켜 메모리(130)에 저장할 수 있다. 전자 장치(101)는 제1 오디오 데이터 및 제2 오디오 데이터를 음향 출력 모듈(155)을 통해 출력할 수 있다.
도 4c는 전자 장치와 웨어러블 디바이스가 제3 방식으로 네트워크 연결된 상태를 도시한 도면이다.
도 4c를 참조하면, 전자 장치(101)는 제3 방식(450)으로 웨어러블 디바이스(200)와 연결될 수 있다. 제3 방식(450)은 독립 링크 방식으로서, 제1 장치(210)는 전자 장치(101)와 제1 통신 링크(401)를 형성하고, 제2 장치(230)는 전자 장치(101)와 제3 통신 링크(405)를 형성하고, 제1 장치(210)와 제2 장치(230) 간에는 제2 통신 링크(403)를 형성(또는 연결)할 수 있다. 제1 통신 링크(401) 및 제3 통신 링크(405)는 동일 또는 유사한 통신 방식일 수 있다.
제3 방식(450)에서, 제2 통신 링크(403)는 제1 방식(410)과 다르게, 제1 장치(210)와 제2 장치(230) 간의 제어 신호 및 정보를 송수신하는 용도로 사용되고, 데이터 패킷 전달용으로 사용하지 않을 수 있다. 제1 장치(210)는 제1 통신 링크(401)를 통해 자신이 획득한 제1 오디오 데이터(예: audio packet1)를 전자 장치(101)로 전송하고, 제2 장치(230)는 제3 통신 링크(405)를 통해 자신이 획득한 제2 오디오 데이터(예: audio packet2)를 직접 전자 장치(101)로 전송할 수 있다. 전자 장치(101)는 제1 오디오 데이터 및 제2 오디오 데이터에 포함된 인덱스 번호에 기반하여 제1 오디오 데이터 및 제2 오디오 데이터를 동기화시켜 메모리(130)에 저장할 수 있다. 전자 장치(101)는 제1 오디오 데이터 및 제2 오디오 데이터를 음향 출력 모듈(155)을 통해 출력할 수 있다.
도 4d는 전자 장치와 복수의 웨어러블 디바이스가 제4 방식으로 네트워크 연결된 상태를 도시한 도면이다.
도 4d를 참조하면, 전자 장치(101)는 제4 방식(470)으로 복수의 무선 입출력 장치와 연결될 수 있다. 제4 방식(470)은 독립 링크 방식으로서, 제1 장치(210)는 전자 장치(101)와 제1 통신 링크(401)를 형성하고, 제2 장치(230)는 전자 장치(101)와 제3 통신 링크(405)를 형성하고, 제3 장치(270)는 전자 장치(101)와 제4 통신 링크(407)를 형성하고, 제n 장치(27N)는 전자 장치(101)와 제5 통신 링크(409)를 형성할 수 있다. 제1 통신 링크(401), 및 제3 통신 링크(405), 제4 통신 링크(407) 및 제5 통신 링크(409)는 동일 또는 유사한 통신 방식일 수 있다.
제3 장치(270)는 블루투스 스피커이고, 제n 장치(27N)는 가전 기기(예: 냉장고)일 수 있다. 이러한 예시는 발명의 이해를 돕기 위한 것일 뿐, 예시에 의해 본 발명이 제한되는 것은 아니다.
제4 방식(470)에서, 제1 장치(210)는 제1 통신 링크(401)를 통해 자신이 획득한 제1 오디오 데이터(예: audio packet1)를 전자 장치(101)로 전송하고, 제2 장치(230)는 제3 통신 링크(405)를 통해 자신이 획득한 제2 오디오 데이터(예: audio packet2)를 전자 장치(101)로 전송하고, 제3 장치(270)는 제4 통신 링크(407)를 통해 자신이 획득한 제3 오디오 데이터(예: audio packet3)를 전자 장치(101)로 전송하고, 제n 장치(27n)는 제5 통신 링크(409)를 통해 자신이 획득한 제n 오디오 데이터(예: audio packetn)를 전자 장치(101)로 전송할 수 있다. 전자 장치(101)는 제1 오디오 데이터 내지 제n 오디오 데이터에 포함된 인덱스 번호에 기반하여 제1 오디오 데이터 내지 제n 오디오 데이터를 동기화시켜 메모리(130)에 저장할 수 있다. 전자 장치(101)는 제1 오디오 데이터 내지 제n 오디오 데이터를 음향 출력 모듈(155)을 통해 출력할 수 있다.
다양한 실시예들에 따른 전자 장치(예: 도 2의 제1 장치(210))는 마이크(예: 도 3의 제1 마이크(313)), 통신 모듈(예: 도 3의 제1 통신 모듈(321)), 전송 버퍼를 포함하는 메모리(예: 도 3의 제1 메모리(327)), 및 상기 마이크, 상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서(예: 도 3의 제1 프로세서(323))를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 제1 외부 전자 장치(예: 도 1의 전자 장치(101))와 제1 통신 링크를 연결하고, 상기 통신 모듈을 통해 제2 외부 전자 장치(예: 도 2의 제2 장치(230))와 제2 통신 링크를 연결하고, 상기 제 1 외부 전자 장치로부터 녹음 요청이 수신됨에 따라 상기 마이크를 구동하여 마이크 입력 신호를 획득하고, 상기 통신 모듈 또는 상기 제2 외부 전자 장치와의 전송 환경을 모니터링하고, 상기 전송 환경에 기반하여 오디오의 비트 레이트를 결정하고, 상기 결정된 비트 레이트에 기반하여 오디오를 인코딩하고, 상기 인코딩된 오디오 데이터를 상기 제1 외부 전자 장치로 전송하도록 설정될 수 있다.
상기 프로세서는, 상기 제2 외부 전자 장치와 전송 버퍼 상태 또는 신호 세기를 교환하고, 상기 전송 버퍼 상태 또는 상기 신호 세기에 기반하여 전송 환경을 모니터링하도록 설정될 수 있다.
상기 프로세서는, 상기 전송 버퍼 상태가 제1 임계치 이하이거나, 상기 신호 세기가 신호 임계치를 초과하는 경우, 제1 비트 레이트를 결정하고, 상기 전송 버퍼 상태가 제1 임계치를 초과하거나, 상기 신호 세기가 신호 임계치 이하인 경우, 상기 제1 비트 레이트보다 작은 제2 비트 레이트를 결정하도록 설정될 수 있다.
상기 프로세서는, 상기 제2 외부 전자 장치와 동일한 시간에 획득한 오디오에 대하여 상기 제2 외부 전자 장치와 동일한 인덱스 번호를 부여하도록 설정될 수 있다.
상기 프로세서는, 상기 오디오를 인코딩하여 제1 오디오 데이터를 획득하고, 상기 제2 통신 링크를 통해 상기 제2 외부 전자 장치로부터 제2 오디오 데이터를 수신하고, 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화하여 상기 제1 통신 링크를 통해 상기 제1 외부 전자 장치로 전송하도록 설정될 수 있다.
상기 프로세서는, 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터에 각각 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화하도록 설정될 수 있다.
상기 프로세서는, 상기 제2 외부 전자 장치로 상기 제1 통신 링크에 대한 정보를 전송하도록 설정될 수 있다.
다양한 실시예들에 따른 전자 장치(예: 도 2의 제2 장치(230))는 마이크(예: 도 3의 제2 마이크(333)), 통신 모듈(예: 도 3의 제2 통신 모듈(341)), 전송 버퍼를 포함하는 메모리(예: 도 3의 제2 메모리(347)), 및 상기 마이크, 상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서(예: 도 3의 제2 프로세서(343))를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 제1 외부 전자 장치(예: 도 1의 전자 장치(101))와 제1 통신 링크로 연결된, 제2 외부 전자 장치(예: 도 2의 제1 장치(210))와 제2 통신 링크를 연결하고, 상기 제2 외부 전자 장치로부터 마이크 오픈 명령을 수신하고, 상기 마이크를 구동하여 마이크 입력 신호를 획득하고, 상기 통신 모듈 또는 상기 제2 외부 전자 장치와의 전송 환경을 모니터링하고, 상기 전송 환경에 기반하여 오디오의 비트레이트를 결정하고, 상기 결정된 비트 레이트에 기반하여 오디오를 인코딩하고, 상기 인코딩된 오디오 데이터를 상기 제1 외부 전자 장치 또는 상기 제2 외부 전자 장치로 전송하도록 설정될 수 있다.
상기 프로세서는, 상기 제2 외부 전자 장치와 전송 버퍼 상태 또는 신호 세기를 교환하고, 상기 전송 버퍼 상태 또는 상기 신호 세기에 기반하여 전송 환경을 모니터링하도록 설정될 수 있다.
상기 프로세서는, 상기 전송 버퍼 상태가 제1 임계치 이하이거나, 상기 신호 세기가 신호 임계치를 초과하는 경우, 제1 비트 레이트를 결정하고, 상기 전송 버퍼 상태가 제1 임계치를 초과하거나, 상기 신호 세기가 신호 임계치 이하인 경우, 상기 제1 비트 레이트보다 작은 제2 비트 레이트를 결정하도록 설정될 수 있다.
상기 프로세서는, 상기 제2 외부 전자 장치와 동일한 시간에 획득한 오디오에 대하여 상기 제2 외부 전자 장치와 동일한 인덱스 번호를 부여하도록 설정될 수 있다.
상기 프로세서는, 상기 인코딩한 오디오 데이터를 상기 제2 통신 링크를 통해 상기 제2 외부 전자 장치로 전송하도록 설정될 수 있다.
상기 프로세서는, 상기 제2 통신 링크를 통해 상기 제2 외부 전자 장치로부터 상기 제1 통신 링크에 대한 정보를 수신하고, 상기 제1 통신 링크에 대한 정보에 기반하여 상기 제1 외부 전자 장치와 제1 통신 링크를 연결하도록 설정될 수 있다.
상기 프로세서는, 상기 인코딩한 오디오 데이터를 상기 제1 통신 링크를 통해 상기 제1 외부 전자 장치로 전송하도록 설정될 수 있다.
다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))는 통신 모듈(예: 도 1의 통신 모듈(190)), 메모리(예: 도 1의 메모리(130)), 및 상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서(예: 도 1의 프로세서(120))를 포함하고, 상기 프로세서는, 상기 통신 모듈을 통해 제1 외부 전자 장치(예: 도 2의 제1 장치(210))와 제1 통신 링크로 연결하고, 사용자로부터 녹음 요청을 수신함에 따라 상기 제1 외부 전자 장치로 녹음을 지시하고, 상기 제1 외부 전자 장치에서 획득한 제1 오디오 데이터 또는 상기 제1 외부 전자 장치와 연결된 제2 외부 전자 장치(예: 도 2의 제2 장치(230))에서 획득한 제2 오디오 데이터를 수신하고, 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화하도록 설정될 수 있다.
상기 프로세서는, 상기 제1 통신 링크를 스니핑한 제2 외부 전자 장치로부터 상기 제2 오디오 데이터를 수신하도록 설정될 수 있다.
상기 프로세서는, 각 오디오 데이터에 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화하도록 설정될 수 있다.
상기 프로세서는, 상기 통신 모듈을 통해 상기 제2 외부 전자 장치와 제2 통신 링크로 연결하고, 상기 통신 모듈을 통해 제3 외부 전자 장치와 제3 통신 링크로 연결하도록 설정될 수 있다.
상기 프로세서는, 상기 제2 통신 링크를 통해 상기 제2 외부 전자 장치로부터 상기 제2 오디오 데이터를 수신하고, 상기 제3 통신 링크를 통해 상기 제3 외부 전자 장치로부터 상기 제3 오디오 데이터를 수신하도록 설정될 수 있다.
상기 프로세서는, 상기 제1 오디오 데이터 내지 상기 제3 오디오 데이터를 동기화하도록 설정될 수 있다.
도 5는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제1 방식에 따른 동작 방법을 도시한 흐름도(500)이다.
도 5를 참조하면, 동작 501에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))는 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제1 장치(예: 도 2의 제1 장치(210))와 제1 통신 링크(예: 도 4a 내지 도 4d의 제1 통신 링크(401))를 연결(또는 형성)할 수 있다. 제1 장치(210)는 통신 모듈(예: 도 3의 제1 통신 모듈(321))을 통해 전자 장치(101)와 제1 통신 링크(401)를 형성할 수 있다. 제1 통신 링크(401)는 블루투스, 저전력 블루투스와 같은 근거리 무선 통신일 수 있다. 통신 링크를 형성하는 동작은 공지 기술에 해당하므로 자세한 설명을 생략할 수 있다.
동작 503에서, 제1 장치(210)는 제1 통신 모듈(321)을 통해 웨어러블 디바이스(200)의 제2 장치(예: 도 2의 제2 장치(230))와 제2 통신 링크(예: 도 4a 내지 도 4c의 제2 통신 링크(403))를 연결(또는 형성)할 수 있다. 상기 제2 통신 링크(403)는 상기 제1 통신 링크(401)와 링크가 상이하거나, 상이한 통신 방식일 수 있다. 도 5는 도 4a의 릴레이 방식으로 오디오 데이터를 처리하는 방법을 도시한 것일 수 있다.
동작 505에서, 전자 장치(101)는 사용자로부터 녹음 요청을 수신할 수 있다. 예를 들어, 전자 장치(101)는 녹음을 위한 어플리케이션을 실행하고, 녹음 버튼을 선택(또는 누르는)하는 사용자 입력이 수신되면, 녹음 요청을 수신한 것으로 판단할 수 있다.
동작 507에서, 전자 장치(101)는 녹음 요청에 따라 제1 장치(210)로 녹음 지시를 할 수 있다. 전자 장치(101)는 제1 장치(210)하고만 제1 통신 링크(401)로 연결되어 있으므로, 제1 장치(210)로 녹음 지시를 전송할 수 있다.
동작 509에서, 제1 장치(210)는 상기 녹음 지시에 따라 제2 장치(230)로 마이크 오픈을 지시할 수 있다. 상기 마이크 오픈 지시는 마이크를 구동(또는 오픈)시켜 오디오를 획득하라는 명령일 수 있다. 상기 마이크 오픈 지시는 제1 장치(210)와 제2 장치(230) 간의 동기화된 클럭 정보에 기반하여 마이크를 구동할 시간(또는 시점)을 지시(또는 안내)하는 것일 수 있다. 예를 들어, 상기 마이크 오픈 지시는 마이크 오픈 지시를 수신받은 후, 일정 시간 후에 마이크를 구동하도록 하는 것일 수 있다.
동작 511-1에서, 제1 장치(210)는 제1 마이크(예: 도 3의 제1 마이크(313))를 오픈(또는 구동)할 수 있다. 제1 장치(210)는 상기 마이크 오픈 지시를 전송하고, 일정 시간 후에 제1 마이크(313)를 구동시켜 제2 장치(230)와 동일한 시간에 오디오를 획득할 수 있다. 제1 장치(210)는 제1 마이크(313)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 511-2에서, 제2 장치(230)는 제2 마이크(예: 도 3의 제2 마이크(333))를 오픈(또는 구동)할 수 있다. 제2 장치(230)는 상기 마이크 오픈 지시를 수신하고, 일정 시간 후에 제2 마이크(333)를 구동시켜 제1 장치(210)와 동일한 시간에 오디오를 획득할 수 있다. 제2 장치(230)는 제2 마이크(333)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 511-1 및 동작 511-2는 동시에 수행되는 것으로 해석할 수 있다.
동작 513에서, 제1 장치(210) 및 제2 장치(230)는 전송 환경을 모니터링(또는 분석)할 수 있다. 상기 전송 환경을 모니터링하기 위해, 제1 장치(210) 및 제2 장치(230)는 전송 버퍼 상태 또는 신호 세기를 서로 교환할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 송신 장치(예: 제1 장치(210), 제2 장치(230))의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 제1 장치(210)는 제1 장치(210)의 잔여 버퍼 공간 및 제2 장치(230)의 잔여 버퍼 공간에 기반하여 제1 장치(210)와 제2 장치(230) 간의 패킷 전송 상황을 파악할 수 있다. 상기 컨트롤러 전송 버퍼는 송신 장치의 마이크 입력 버퍼 또는 오디오 인코더에서 부호화한 오디오 신호(또는 오디오 데이터)를 저장하는 출력 버퍼일 수 있다.
상기 신호 세기는 제1 장치(210)에서 측정된 신호 강도 세기(예: RSSI) 또는 제2 장치(230)에서 측정된 신호 강도 세기를 의미할 수 있다. 제1 장치(210)와 제2 장치(230) 간의 거리 또는 제1 장치(210)와 전자 장치(101) 간의 거리가 가까운 상태에서는 신호 강도 세기가 신호 임계치를 초과(예: 전송 상태 좋음)할 수 있다. 또는, 제1 장치(210)와 제2 장치(230) 간의 거리 또는 제1 장치(210)와 전자 장치(101) 간의 거리가 멀리 떨어진 상태에서는 신호 강도 세기가 신호 임계치 이하(예: 전송 상태 나쁨)일 수 있다. 제1 장치(210) 및 제2 장치(230)는 서로의 전송 환경을 서로 공유할 수 있다.
동작 515-1에서, 제1 장치(210)는 상기 모니터링한 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제1 장치(210)는 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제1 장치(210)는 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제1 장치(210)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다.
동작 515-2에서, 제2 장치(230)는 상기 모니터링한 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제2 장치(230)는 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제2 장치(230)는 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제2 장치(230)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다.
다양한 실시예들에 따르면, 도 5는 도 4a의 릴레이 방식으로, 제1 장치(210)는 전자 장치(101) 또는 제2 장치(230)와 통신하고, 제2 장치(230)는 제1 장치(210)와 통신할 수 있다. 제1 장치(210) 또는 제2 장치(230)는 전송 환경이 다를 수 있으며, 제1 장치(210)의 전송 환경과 제2 장치(230))의 전송 환경이 다른 경우, 전송 환경이 나쁜 장치를 기준으로 비트 레이트가 결정될 수 있다. 예를 들어, 좌, 우가 분리된 TWS 방식의 웨어러블 디바이스(200)는 제1 장치(210)와 제2 장치(230)가 각각 다른 비트 레이트로 부호화하게 되면, 사용자가 듣기에 제1 장치(210)와 제2 장치(230)의 매칭에 불편함을 느낄 수 있다. 따라서 제1 장치(210) 또는 제2 장치(230)의 전송 환경이 제2 임계치를 초과하는 경우, 제1 장치(210) 또는 제2 장치(230)는 비트 레이트를 모두 낮출 수 있다.
다양한 실시예들에 따르면, 전송 버퍼 상태와 관련된 임계치는 하나 이상일 수 있으며, 각 임계치에 기반하여 비트 레이트가 다르게 결정될 수 있다. 상기 신호 세기와 관련된 신호 임계치는 하나 이상일 수 있으며, 각 신호 임계치에 기반하여 비트 레이트가 다르게 결정될 수 있다. 상기 전송 버퍼 상태에 기반한 전송 환경이 상기 신호 세기에 기반한 전송 환경과 다른 경우, 상기 전송 버퍼 상태에 기반한 전송 환경을 우선하여 비트 레이트가 결정될 수 있다. 또는, 상기 전송 버퍼 상태에 따른 하나 이상의 임계치 중 해당하는 임계치와 상기 신호 세기에 따른 하나 이상의 임계치 중 해당하는 임계치에 기반하여 비트 레이트가 결정될 수 있다. 상기 비트 레이트를 결정하는 구체적인 설명은 이하 도 7을 통해 상세히 설명하기로 한다.
동작 515-1 및 동작 515-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 517-1에서, 제1 장치(210)는 제1 마이크(313)를 통해 획득한 오디오(예: 마이크 입력 신호)에 대한 인코딩을 수행할 수 있다. 제1 장치(210)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 제1 장치(210)는 제2 통신 링크(403)를 통해 제2 장치(230)와 마이크 입력을 동기화할 수 있다. 동기화된 마이크 입력 신호는 제1 장치(210)의 오디오 인코더를 통해 부호화되며, 제1 장치(210)는 동시간에 부호화된 오디오 데이터에 대하여 제2 장치(230)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 517-2에서, 제2 장치(230)는 제2 마이크(333)를 통해 획득한 오디오에 대한 인코딩을 수행할 수 있다. 제2 장치(230)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 제2 장치(230)는 제2 통신 링크(403)를 통해 제1 장치(210)와 마이크 입력을 동기화할 수 있다. 동기화된 마이크 입력 신호는 제2 장치(230)의 오디오 인코더를 통해 부호화되며, 제2 장치(230)는 동시간에 부호화된 오디오 데이터에 대하여 제1 장치(210)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 517-1 및 동작 517-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 519-1에서, 제1 장치(210)는 인코딩한 오디오 데이터를 제1 메모리(예: 도 3의 제1 메모리(327))에 저장할 수 있다. 제1 메모리(327)에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제1 장치(210)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제1 오디오 데이터', '제1 오디오 비트스트림' 또는 '제1 오디오 패킷'이라 할 수 있다.
동작 519-2에서, 제2 장치(230)는 인코딩한 오디오 데이터를 제2 메모리(예: 도 3의 제2 메모리(347))에 저장할 수 있다. 제2 메모리(347)에 저장하는 것은 제1 장치(210)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제2 장치(230)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제2 오디오 데이터', '제2 오디오 비트스트림' 또는 '제2 오디오 패킷'이라 할 수 있다.
제1 장치(210)에서 획득 및 인코딩한 오디오 데이터와 제2 장치(230)에서 획득 및 인코딩한 오디오 데이터를 구별하기 위해 "제1", "제2"로 표기할 수 있다.
동작 519-1 및 동작 519-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 521에서, 제2 장치(230)는 제2 통신 링크(403)를 통해 오디오 데이터(예: 제2 오디오 데이터)를 제1 장치(210)로 전송할 수 있다. 제2 장치(230)는 제1 장치(210)와 동일한 시간에 제2 마이크(333)로부터 획득한 오디오 데이터에 인덱스 번호를 포함시켜 제1 장치(210)로 전송할 수 있다.
동작 523에서, 제1 장치(210)는 제2 장치(230)로부터 수신한 제2 오디오 데이터와 제1 오디오 데이터를 동기화할 수 있다. 제1 장치(210)에서 획득 및 인코딩한 오디오 신호는 제1 오디오 데이터를 의미할 수 있다. 릴레이 방식에서는 제2 장치(230)는 전자 장치(101)와 통신할 수 없으므로, 제1 장치(210)가 제2 장치(230)를 대신하여 제2 오디오 데이터를 전송할 수 있다. 제1 장치(210)는 상기 각 오디오 데이터에 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터와 상기 제2 오디오 데이터를 동기화할 수 있다. 제1 장치(210)는 동일한 인덱스 번호를 가지는 오디오 데이터를 동기화할 수 있다. 실시예에 따라, 전자 장치(101)에서 오디오 데이터를 동기화하는 경우, 동작 523은 생략될 수 있다.
동작 525에서, 제1 장치(210)는 제1 통신 링크(401)을 통해 동기화된 오디오 데이터를 전송할 수 있다. 상기 동기화된 오디오 데이터는 동일한 인덱스 번호를 가지는 제1 오디오 데이터와 제2 오디오 데이터를 포함할 수 있다.
동작 527에서, 전자 장치(101)는 오디오 데이터를 동기화할 수 있다. 실시예에 따라 동작 523을 수행한 경우 동작 527은 생략될 수 있다. 전자 장치(101)는 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 또는, 전자 장치(101)는 오디오 디코더를 통해 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 디코딩하여 스테레오 오디오 신호를 생성할 수 있다. 오디오 디코더의 입력은 싱크 조정을 통해 동일한 시간에 제1 장치(210)와 제2 장치(230)에서 인코딩된 비트스트림일 수 있다. 생성된 스테레오 오디오 신호는 신호 처리하여 스피커(예: 도 1의 음향 출력 모듈(155))를 통해 출력할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 무선 전송에 따라 손실된 오디오 데이터를 보상할 수 있다. 각 오디오 데이터에 포함되는 인덱스 번호는 오디오 프레임을 인코딩할 때마다 순차적으로 증가(예: Index=0, 1, 2, 3, 4, 5)할 수 있다. 중간에 인덱스 번호가 누락되게 되면, 프레임 인덱스 값을 통하여 확인할 수 있다. 예를 들어, 오디오 데이터의 프레임 인덱스가 '0, 1, 2, 4, 5'인 경우, 전자 장치(101)는 3번째 프레임이 누락된 것으로 판단할 수 있다. 전자 장치(101)는 2번째 프레임 또는 4번째 프레임에 기반하여 3번째 프레임을 생성(또는 보상)할 수 있다. 프레임 보상은 공지 기술에 해당하므로, 자세한 설명을 생략할 수 있다.
다양한 실시예들에 따르면, 상기 오디오 데이터는 블루투스 패킷을 통해 전송되고, 블루투스 패킷에는 순차 번호(sequence number)가 포함될 수 있다. 상기 순차 번호도 프레임 번호와 유사하게, 블루투스 패킷을 전송할 때마다 순차적으로 증가할 수 있다. 전자 장치(101)는 상기 오디오 데이터가 전송되는 블루투스 패킷의 순차 번호에 기반하여 누락된 프레임을 생성할 수 있다.
도 6은 다양한 실시예들에 따른 웨어러블 디바이스의 전송 버퍼 상태를 도시한 도면이다.
도 6을 참조하면, 다양한 실시예들에 따른 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))는 제1 장치(예: 도 2의 제1 장치(210)) 및 제2 장치(230))에 각각 포함된 마이크(예: 도 3의 제1 마이크(313), 제2 마이크(333))로부터 마이크 입력 신호를 획득할 수 있다. 제1 전송 환경(610)(예: 전송 환경이 좋은 상태)에서, 마이크 입력 신호는 마이크 입력 버퍼(601)에 전달되고, 제1 버퍼 레벨(611)까지 저장될 수 있다. 마이크 입력 버퍼(601)에 저장된 마이크 입력 신호는 오디오 인코더(603)로 전달되어 인코딩될 수 있다. 인코딩된 오디오 신호는 출력 버퍼(605)(또는 전송 버퍼)에 입력될 수 있다. 출력 버퍼(605)에 저장된 오디오 신호는 오디오 비트스트림(또는 오디오 패킷)으로 전송될 수 있다. 제1 전송 환경(610)에서는, 출력 버퍼(605)에 제1 임계치(613)까지 오디오 신호가 저장될 수 있다. 제1 전송 환경(610)은 음 끊김이 없는 일반적인 전송 환경으로 마이크 입력 버퍼(601) 또는 출력 버퍼(605)는 항상 일정한 버퍼 레벨(예: 제1 버퍼 레벨(611) 또는 제1 임계치(613))을 유지하며 오디오 데이터를 출력할 수 있다.
제2 전송 환경(650)(예: 전송 환경이 나쁜 상태)에서, 마이크 입력 신호는 마이크 입력 버퍼(601)에 전달되고, 제1 버퍼 레벨(611)까지 저장되며, 오디오 인코더(603)로 전달되어 인코딩될 수 있다. 인코딩된 오디오 신호는 출력 버퍼(605)에 저장되게 되는데, 제2 전송 환경(650)에서는, 출력 버퍼(605)에 제2 임계치(651)를 초과하여 오디오 신호가 저장될 수 있다. 제1 장치(210) 또는 제2 장치(230)는 비트 레이트에 따라 오디오 데이터의 크기를 정할 수 있고, 오디오 데이터의 크기가 클수록 오디오 음질이 좋을 수 있다. 다만, 전송 환경이 좋지 않은 경우에도, 오디오 데이터의 크기를 줄이지 않는 경우 음 끊김이 발생할 수 있다.
다양한 실시예들에 따르면, 제2 전송 환경(650)은 약전계 상황으로, 패킷 전송이 원활하지 않게 되고, 패킷 미스가 반복되면서 지속적으로 재전송을 시도할 수 있다. 이 경우, 마이크 입력 버퍼(601) 또는 출력 버퍼(605)에 저장된 오디오 데이터는 정상적으로 출력되지 않고, 마이크 입력 버퍼(601) 또는 출력 버퍼(605)에 쌓이게 될 수 있다. 제1 장치(210) 또는 제2 장치(230)는 출력 버퍼(605)에 제2 임계치(651)를 초과하여 오디오 신호가 저장되는 경우, 전송 환경이 나쁜 상태로 판단하고, 비트 레이트를 줄여 출력 버퍼(605)에 저장되는 오디오 데이터의 크기를 줄일 수 있다. 예를 들어, 비트 레이트가 크면 오디오 데이터의 크기가 커지고, 비트레이트가 작으면 오디오 데이터의 크기가 작을 수 있다. 제1 장치(210) 또는 제2 장치(230)는 제1 전송 환경(610)인 경우, 제1 비트 레이트로 결정하고, 제2 전송 환경(650)인 경우, 상기 제1 비트 레이트보다 작은 제2 비트 레이트로 결정할 수 있다.
다양한 실시예들에 따르면, 제1 장치(210) 또는 제2 장치(230)는 오디오 데이터의 크기에 기반하여 전송에 유리한 패킷 타입을 선택할 수 있다. 제1 장치(210) 또는 제2 장치(230)는 제2 전송 환경(650)에서도 원활한 데이터 통신이 가능하며 마이크 입력 버퍼(601) 또는 출력 버퍼(605)의 오버플로우(overflow)를 방지할 수 있다. 전송 환경이 좋아져서, 마이크 입력 버퍼(601) 또는 출력 버퍼(605)의 버퍼 레벨이 다시 정상 상태(예: 제1 버퍼 레벨(611) 또는 제1 임계치(613) 이하)로 돌아오는 경우, 제1 장치(210) 또는 제2 장치(230)는 비트 레이트를 조절하여 다시 높여줄 수 있다.
다양한 실시예들에 따르면, 좌, 우가 분리된 TWS 방식의 웨어러블 디바이스(200)는 제1 장치(210)와 제2 장치(230)가 각각 다른 비트 레이트로 부호화하게 되면, 사용자가 듣기에 제1 장치(210)와 제2 장치(230)의 매칭에 불편함을 느낄 수 있다. 따라서 제1 장치(210) 또는 제2 장치(230)의 전송 환경이 제2 임계치(651)를 초과하는 경우, 제1 장치(210) 또는 제2 장치(230)는 비트 레이트를 모두 낮출 수 있다.
도면에서는 제2 전송 환경(650)에서, 마이크 입력 버퍼(601)에 마이크 입력 신호가 제1 버퍼 레벨(611)까지 저장되는 것으로 도시하고 있지만, 마이크 입력 신호는 마이크 입력 버퍼(601)에 제1 버퍼 레벨(611)을 초과하여 저장될 수도 있다. 마이크 입력 버퍼(601)에 제1 버퍼 레벨(611)을 초과하여 마이크 입력 신호가 저장된 경우, 제1 장치(210) 또는 제2 장치(230)는 전송 환경이 나쁜 상태로 판단할 수 있다.
도 7은 다양한 실시예들에 따른 웨어러블 디바이스의 제1 장치에서 제1 방식에 따른 오디오 처리 방법을 도시한 흐름도(700)이다.
도 7을 참조하면, 동작 701에서, 다양한 실시예들에 따른 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제1 장치(예: 도 2의 제1 장치(210))에 포함된 제1 프로세서(예: 도 3의 제1 프로세서(323))는 통신 모듈(예: 도 3의 제1 통신 모듈(321))을 통해 전자 장치(예: 도 1의 전자 장치(101))와 제1 통신 링크(예: 도 4a 내지 도 4d의 제1 통신 링크(401))를 연결하고, 웨어러블 디바이스(200)의 제2 장치(예: 도 2의 제2 장치(230))와 제2 통신 링크(예: 도 4a 내지 도 4c의 제2 통신 링크(403))를 연결할 수 있다. 제1 통신 링크(401) 및 제2 통신 링크(403)는 서로 다른 링크(또는 채널)이거나, 서로 다른 통신 방식일 수 있다.
동작 703에서, 제1 프로세서(323)는 제2 장치(230)로 마이크 오픈을 지시할 수 있다. 전자 장치(101)는 사용자로부터 녹음 요청을 수신하면, 제1 통신 링크(401)를 통해 제1 장치(210)로 녹음을 지시할 수 있다. 예를 들어, 전자 장치(101)는 녹음을 위한 어플리케이션을 실행하고, 녹음 버튼을 선택(또는 누르는)하는 사용자 입력이 수신되면, 제1 장치(210)로 녹음을 지시할 수 있다. 제1 프로세서(323)는 전자 장치(101)로부터의 녹음 지시를 수신함에 따라 제2 통신 링크(403)를 통해 제2 장치(230)로 마이크 오픈을 지시할 수 있다.
동작 705에서, 제1 프로세서(323)는 마이크(예: 도 3의 제1 마이크(313))를 구동하고, 마이크 입력 신호를 획득할 수 있다. 제1 프로세서(323)는 상기 마이크 오픈 지시를 전송하고, 일정 시간 후에 제1 마이크(313)를 구동할 수 있다. 제1 프로세서(323)는 제1 마이크(313)를 통해 마이크 입력 신호를 획득할 수 있다. 상기 마이크 입력 신호는 마이크 입력 버퍼(예: 도 6의 마이크 입력 버퍼(601))에 저장될 수 있다.
동작 707에서, 제1 프로세서(323)는 전송 환경을 모니터링(또는 분석)할 수 있다. 제1 프로세서(323)는 상기 전송 환경을 모니터링하기 위해, 제2 장치(230)와 전송 버퍼 상태 또는 신호 세기(예: RSSI)를 서로 교환할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 송신 장치(예: 제1 장치(210), 제2 장치(230))의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 제1 프로세서(323)는 제1 장치(210)의 잔여 버퍼 공간 및 제2 장치(230)의 잔여 버퍼 공간에 기반하여 제1 장치(210)와 제2 장치(230) 간의 패킷 전송 상황을 파악할 수 있다. 상기 컨트롤러 전송 버퍼는 마이크 입력 버퍼(601) 또는 오디오 인코더에서 부호화한 오디오 신호(또는 오디오 데이터)를 저장하는 출력 버퍼(예: 도 6의 출력 버퍼(605))일 수 있다.
동작 709에서, 제1 프로세서(323)는 상기 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제1 프로세서(323)는 상기 전송 버퍼 상태가 제1 임계치 이하이거나, 상기 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제1 프로세서(323)는 상기 전송 버퍼 상태가 제1 임계치를 초과하거나, 상기 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제1 프로세서(323)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다.
다양한 실시예들에 따르면, 블루투스 표준에서는 다양한 사용 용도에 맞게 여러 가지 프로파일을 정의하고 있으며, 오디오 신호 전송을 위해서는 일반적으로 A2DP(Advanced Audio Distribution Profile)가 사용될 수 있다, A2DP는 고음질 오디오 신호를 전송하기 위한 프로파일로서, 패킷을 이용하여 오디오 데이터를 전송하며, 전송하는 오디오 데이터의 크기에 따라 적절한 패킷 타입이 선택될 수 있다. 패킷 타입은 사용하는 타입 슬롯(time slot)의 개수가 다를 수 있는데, 예를 들어, 패킷 타입 '2-DH3'은 3개의 타입 슬롯을 사용하고, 패킷 타입 '2-DH5'는 5개의 타임 슬롯을 사용할 수 있다. 하나의 타임 슬롯은 625μsec의 시간을 가질 수 있다. 더 적은 타입 슬롯을 사용하는 패킷 타입은 그렇지 않은 패킷 타입보다 전송 에러가 발생할 확률이 더 적을 수 있다. 적은 타임 슬롯을 사용하는 패킷 타입은 동일한 전송 주기에서 더 많은 재전송 기회를 얻을 수 있기 때문에 전송 에러에 더 강인할 수 있다.
예를 들어, 20msec 단위로 오디오 신호를 전송한다고 가정하면, 20msec는 32개의 타입 슬롯(예: 625usec * 32 = 20msec)을 가질 수 있다. 패킷 타입이 '2-DH3'인 경우, 20msec 동안 8번의 전송 기회를 가지며, 패팃 타입이 '2-DH5'인 경우, 20msec 동안 5번의 전송 기회를 가질 수 있다. 패킷 전송에 에러(또는 미스)가 발생하는 경우, 재전송 기회가 많은 '2-DH3' 패킷 타입이 '2-DH5' 패킷 타입보다 에러에 강인한 특성을 가질 수 있다. 이러한 점을 고려하여, 제1 프로세서(323)는 전송 환경이 좋은 경우, 비트레이트에 기반하여 2-DH5, 3-DH5와 같은 패킷 타입을 선택함으로써, 많은 양의 오디오 데이터를 전송하여 고음질 서비스를 제공할 수 있다. 제1 프로세서(323)는 전송 환경이 나쁜 경우, 비트레이트에 기반하여 '2-DH3'와 같은 패킷 타입을 선택함으로써, 전송하는 오디오 데이터 양을 줄여 음질은 소폭 떨어지지만 음 끊김을 최소화할 수 있다.
다양한 실시예들에 따르면, 전송 버퍼 상태와 관련된 임계치는 하나 이상일 수 있으며, 각 임계치에 기반하여 비트 레이트가 다르게 결정될 수 있다. 상기 신호 세기와 관련된 신호 임계치는 하나 이상일 수 있으며, 각 신호 임계치에 기반하여 비트 레이트가 다르게 결정될 수 있다. 상기 전송 버퍼 상태에 기반한 전송 환경이 상기 신호 세기에 기반한 전송 환경과 다른 경우, 상기 전송 버퍼 상태에 기반한 전송 환경을 우선하여 비트 레이트가 결정될 수 있다. 또는, 상기 전송 버퍼 상태에 따른 하나 이상의 임계치 중 해당하는 임계치와 상기 신호 세기에 따른 하나 이상의 임계치 중 해당하는 임계치에 기반하여 비트 레이트가 결정될 수 있다.
예를 들어, 상기 전송 버퍼 상태가 제1 임계치 이하이고, 상기 신호 세기가 신호 임계치 이하인 경우, 상기 전송 버퍼 상태에 따른 전송 환경과 상기 신호 세기에 따른 전송 환경이 다를 수 있다. 상기 전송 버퍼 상태에 따른 전송 환경과 상기 신호 세기에 따른 전송 환경이 다른 경우, 제1 프로세서(323)는 상기 전송 버퍼 상태에 기반하여 제1 비트 레이트를 결정할 수 있다. 또는, 상기 전송 버퍼 상태에 따른 전송 환경과 상기 신호 세기에 따른 전송 환경이 다른 경우, 제1 프로세서(323)는 상기 신호 세기에 기반하여 비트 레이트를 결정할 수 있다. 또는, 상기 전송 버퍼 상태에 대응하는 임계치가 제1 임계치, 또는 제1 임계치보다 큰 제2 임계치로 구분될 수 있다.
제1 프로세서(323)는 상기 전송 버퍼 상태가 제1 임계치 이하이고, 상기 신호 세기가 신호 임계치 이하인 경우, 상기 전송 버퍼 상태에 기반하여 제1 비트 레이트를 결정할 수 있다. 또는, 제1 프로세서(323)는 상기 전송 버퍼 상태가 제1 임계치에서 제2 임계치 사이이고, 상기 신호 세기가 신호 임계치 이하인 경우, 제2 비트 레이트를 결정할 수 있다. 제1 프로세서(323)는 상기 전송 버퍼 상태가 제2 임계치를 초과하고, 상기 신호 세기가 신호 임계치 이하인 경우, 제3 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 크고, 상기 제2 비트 레이트는 상기 제3 비트 레이트보다 클 수 있다.
다양한 실시예들에 따르면, 상기 신호 세기에 대응하는 임계치가 제1 신호 임계치, 제1 신호 임계치보다 큰 제2 신호 임계치로 구분될 수 있다. 제1 프로세서(323)는 상기 전송 버퍼 상태가 제1 임계치 이하이고, 상기 신호 세기가 제2 신호 임계치를 초과하는 경우, 제1 비트 레이트를 결정할 수 있다. 또는, 제1 프로세서(323)는 상기 전송 버퍼 상태가 제1 임계치에서 제2 임계치 사이이고, 상기 신호 세기가 제1 신호 임계치에서 제2 신호 임계치 사이인 경우, 제2 비트 레이트를 결정할 수 있다. 제1 프로세서(323)는 상기 전송 버퍼 상태가 제2 임계치를 초과하고, 상기 신호 세기가 제1 신호 임계치 이하인 경우, 제3 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 크고, 상기 제2 비트 레이트는 상기 제3 비트 레이트보다 클 수 있다.
다양한 실시예들에 따르면, 제1 장치(210)의 전송 환경과 제2 장치(230)의 전송 환경이 다른 경우, 전송 환경이 나쁜 장치를 기준으로 비트 레이트가 결정될 수 있다. 예를 들어, 제1 장치(210)의 전송 환경은 강전계 상황이고, 제2 장치(230)의 전송 환경은 약전계 상황인 경우, 제1 프로세서(323)는 약전계 상황에 기반하여 비트 레이트를 결정할 수 있다. 제1 장치(210)의 전송 환경은 약전계 상황이고, 제2 장치(230)의 전송 환경은 강전계 상황인 경우, 제1 프로세서(323)는 약전계 상황에 기반하여 비트 레이트를 결정할 수 있다.
다양한 실시예들에 따르면, 제1 방식(예: 도 4a의 릴레이 방식)에서는, 제1 장치(210)의 전송 환경에 우선 순위를 두어 비트 레이트가 결정될 수 있다. 예를 들어, 제1 장치(210)의 전송 환경은 강전계 상황이고, 제2 장치(230)의 전송 환경은 약전계 상황인 경우, 제1 프로세서(323)는 강전계 상황에 기반하여 비트 레이트를 결정할 수 있다. 제1 장치(210)의 전송 환경은 약전계 상황이고, 제2 장치(230)의 전송 환경은 강전계 상황인 경우, 제1 프로세서(323)는 약전계 상황에 기반하여 비트 레이트를 결정할 수 있다.
동작 711에서, 제1 프로세서(323)는 상기 결정된 비트 레이트에 기반하여 오디오 인코딩 또는 저장할 수 있다. 제1 프로세서(323)는 상기 결정된 비트 레이트로 상기 마이크 입력 신호를 인코딩하고, 인코딩된 오디오 데이터를 출력 버퍼(605)에 저장할 수 있다. 상기 비트 레이트에 따라 오디오 데이터의 크기를 정할 수 있고, 오디오 데이터의 크기가 클수록 오디오 음질이 좋을 수 있다. 제1 프로세서(323)는 상기 결정된 비트 레이트에 기반하여 오디오 인코더를 통해 상기 마이크 입력 신호를 인코딩할 수 있다. 제1 장치(210)의 제1 마이크(313)를 통해 획득한 마이크 입력 신호를 인코딩 및 저장한 오디오 데이터는 '제1 오디오 데이터', '제1 오디오 비트스트림' 또는 '제1 오디오 패킷'이라 할 수 있다.
다양한 실시예들에 따르면, 제1 프로세서(323)는 제2 장치(230)와 동시간에 부호화된 오디오 데이터에 대하여 제2 장치(230)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 713에서, 제1 프로세서(323)는 제2 통신 링크(403)를 통해 제2 장치(230)로부터 오디오 데이터(예: 제2 오디오 데이터)를 수신할 수 있다. 제2 장치(230)는 상기 결정된 비트 레이트로 상기 마이크 입력 신호를 인코딩하고, 인코딩된 오디오 데이터를 출력 버퍼(605)에 저장할 수 있다. 제2 장치(230)는 출력 버퍼(605)에 저장된 제2 오디오 데이터를 제1 장치(210)로 전송할 수 있다.
동작 715에서, 제1 프로세서(323)는 오디오 데이터를 동기화 또는 전송할 수 있다. 제1 프로세서(323)는 동작 711에서 인코딩 및 저장한 제1 오디오 데이터와 동작 713에서 수신된 제2 오디오 데이터를 동기화할 수 있다. 제1 프로세서(323)는 각 오디오 데이터에 포함된 인덱스 번호에 기반하여 제1 오디오 데이터와 제2 오디오 데이터를 동기화할 수 있다. 제1 프로세서(323)는 동일한 인덱스 번호를 가지는 제1 오디오 데이터 및 제2 오디오 데이터를 동기화할 수 있다. 제1 프로세서(323)는 제1 통신 링크(401)를 통해 전자 장치(101)로 상기 동기화된 오디오 데이터를 저장할 수 있다.
다양한 실시예들에 따르면, 제1 프로세서(323)는 동작 711에서 인코딩 및 저장한 제1 오디오 데이터와 동작 713에서 수신된 제2 오디오 데이터를 동기화하지 않고 전자 장치(101)로 전송할 수 있다. 제1 오디오 데이터와 제2 오디오 데이터가 동기화되지 않는 경우, 전자 장치(101)에서 동기화될 수 있다.
도 8은 다양한 실시예들에 따른 웨어러블 디바이스의 제2 장치의 제1 방식에 따른 오디오 처리 방법을 도시한 흐름도(800)이다.
도 8을 참조하면, 동작 801에서, 다양한 실시예들에 따른 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제2 장치(예: 도 2의 제2 장치(230))에 포함된 제2 프로세서(예: 도 3의 제2 프로세서(343))는 통신 모듈(예: 도 3의 제2 통신 모듈(341))을 통해 제1 장치(예: 도 2의 제1 장치(210))와 제2 통신 링크(예: 도 4a 내지 도 4c의 제2 통신 링크(403))를 연결할 수 있다. 제2 통신 링크(403)는 제1 장치(210)와 제2 장치(230) 간에 형성되는 통신 링크일 수 있다.
동작 803에서, 제2 프로세서(343)는 제2 통신 링크(403)를 통해 제1 장치(210)로부터 마이크 오픈 지시를 수신할 수 있다. 전자 장치(101)는 사용자로부터 녹음 요청을 수신하면, 제1 통신 링크(401)를 통해 제1 장치(210)로 녹음을 지시할 수 있다. 제1 장치(210)는 전자 장치(101)로부터의 녹음 지시를 수신함에 따라 제2 통신 링크(403)를 통해 제2 장치(230)로 마이크 오픈을 지시할 수 있다.
동작 805에서, 제2 프로세서(343)는 마이크(예: 도 3의 제2 마이크(333))를 구동하고, 마이크 입력 신호(예: 제2 마이크 입력 신호)를 획득할 수 있다. 제2 프로세서(343)는 상기 마이크 오픈 지시를 수신하고, 일정 시간 후에 제2 마이크(333)를 구동할 수 있다. 제2 프로세서(343)는 제2 마이크(333)를 통해 제2 마이크 입력 신호를 획득할 수 있다. 상기 제2 마이크 입력 신호는 마이크 입력 버퍼(예: 도 6의 마이크 입력 버퍼(601))에 저장될 수 있다.
동작 807에서, 제2 프로세서(343)는 전송 환경을 모니터링(또는 분석)할 수 있다. 제2 프로세서(343)는 상기 전송 환경을 모니터링하기 위해, 제1 장치(210)와 전송 버퍼 상태 또는 신호 세기(예: RSSI)를 서로 교환할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 송신 장치(예: 제1 장치(210), 제2 장치(230))의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 제2 프로세서(343)는 제1 장치(210)의 잔여 버퍼 공간 및 제2 장치(230)의 잔여 버퍼 공간에 기반하여 제1 장치(210)와 제2 장치(230) 간의 패킷 전송 상황을 파악할 수 있다. 상기 컨트롤러 전송 버퍼는 마이크 입력 버퍼(601) 또는 오디오 인코더에서 부호화한 오디오 신호(또는 오디오 데이터)를 저장하는 출력 버퍼(예: 도 6의 출력 버퍼(605))일 수 있다.
동작 809에서, 제2 프로세서(343)는 상기 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제2 프로세서(343)는 상기 전송 버퍼 상태가 제1 임계치 이하이거나, 상기 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제2 프로세서(343)는 상기 전송 버퍼 상태가 제1 임계치를 초과하거나, 상기 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제2 프로세서(343)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다.
다양한 실시예들에 따르면, 전송 버퍼 상태와 관련된 임계치는 하나 이상일 수 있으며, 각 임계치에 기반하여 비트 레이트가 다르게 결정될 수 있다. 상기 신호 세기와 관련된 신호 임계치는 하나 이상일 수 있으며, 각 신호 임계치에 기반하여 비트 레이트가 다르게 결정될 수 있다. 상기 전송 버퍼 상태에 기반한 전송 환경이 상기 신호 세기에 기반한 전송 환경과 다른 경우, 상기 전송 버퍼 상태에 기반한 전송 환경을 우선하여 비트 레이트가 결정될 수 있다. 또는, 상기 전송 버퍼 상태에 따른 하나 이상의 임계치 중 해당하는 임계치와 상기 신호 세기에 따른 하나 이상의 임계치 중 해당하는 임계치에 기반하여 비트 레이트가 결정될 수 있다.
다양한 실시예들에 따르면, 제1 장치(210)의 전송 환경과 제2 장치(230)의 전송 환경이 다른 경우, 전송 환경이 나쁜 장치를 기준으로 비트 레이트가 결정될 수 있다. 예를 들어, 제1 장치(210)의 전송 환경은 강전계 상황이고, 제2 장치(230)의 전송 환경은 약전계 상황인 경우, 제1 프로세서(323)는 약전계 상황에 기반하여 비트 레이트를 결정할 수 있다. 제1 장치(210)의 전송 환경은 약전계 상황이고, 제2 장치(230)의 전송 환경은 강전계 상황인 경우, 제1 프로세서(323)는 약전계 상황에 기반하여 비트 레이트를 결정할 수 있다.
동작 809는 도 7의 동작 709와 동일 또는 유사하므로 자세한 설명을 생략할 수 있다.
동작 811에서, 제2 프로세서(343)는 상기 결정된 비트 레이트에 기반하여 오디오 인코딩 또는 저장할 수 있다. 제2 프로세서(343)는 상기 결정된 비트 레이트로 상기 제2 마이크 입력 신호를 인코딩하고, 인코딩된 제2 오디오 데이터를 출력 버퍼(605)에 저장할 수 있다. 상기 비트 레이트에 따라 오디오 데이터의 크기를 정할 수 있고, 오디오 데이터의 크기가 클수록 오디오 음질이 좋을 수 있다. 제2 프로세서(343)는 상기 결정된 비트 레이트에 기반하여 오디오 인코더를 통해 상기 제2 마이크 입력 신호를 인코딩할 수 있다. 제2 장치(230)의 제2 마이크(333)를 통해 획득한 제2 마이크 입력 신호를 인코딩 및 저장한 오디오 데이터는 '제2 오디오 데이터', '제2 오디오 비트스트림' 또는 '제2 오디오 패킷'이라 할 수 있다.
다양한 실시예들에 따르면, 제2 프로세서(343)는 제1 장치(210)와 동시간에 부호화된 오디오 데이터에 대하여 제1 장치(210)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 813에서, 제2 프로세서(343)는 제2 통신 링크(403)를 통해 제1 장치(210)로 오디오 데이터(예: 제2 오디오 데이터)를 전송할 수 있다. 제2 프로세서(343)는 동작 811에서 인코딩 및 저장한 제2 오디오 데이터를 출력 버퍼(605)에 저장하고, 제1 장치(210)로 전송할 수 있다. 제1 방식(예: 릴레이 방식)에서, 제2 장치(230)는 전자 장치(예: 도 1의 전자 장치(101))와 연결되지 않았으므로, 제1 장치(210)를 통해 전자 장치(101)로 제2 오디오 데이터를 전송할 수 있다.
도 9는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제2 방식에 따른 동작 방법을 도시한 흐름도(900)이다.
도 9를 참조하면, 동작 901에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))는 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제1 장치(예: 도 2의 제1 장치(210))와 제1 통신 링크(예: 도 4a 내지 도 4d의 제1 통신 링크(401))를 연결(또는 형성)할 수 있다. 상기 제1 통신 링크(401)는 블루투스, 저전력 블루투스와 같은 근거리 무선 통신일 수 있다. 통신 링크를 형성하는 동작은 공지 기술에 해당하므로 자세한 설명을 생략할 수 있다.
동작 903에서, 제1 장치(210)는 웨어러블 디바이스(200)의 제2 장치(예: 도 2의 제2 장치(230))와 제2 통신 링크(예: 도 4a 내지 도 4c의 제2 통신 링크(403))를 연결(또는 형성)할 수 있다. 상기 제2 통신 링크(403)는 상기 제1 통신 링크(401)와 링크가 상이하거나, 상이한 통신 방식일 수 있다.
동작 905에서, 제1 장치(210)는 제2 통신 링크(403)를 통해 제1 통신 링크 정보를 제2 장치(230)로 전송할 수 있다. 상기 제1 통신 링크 정보는 제1 통신 링크(401)에 연결하기 위한 정보로서, 예를 들어, 블루투스 주소, FHS 패킷 정보, 또는 링크 키를 포함할 수 있다.
동작 907에서, 제2 장치(230)는 상기 제1 통신 링크 정보에 기반하여 전자 장치(101)와 제1 통신 링크(예: 도 4b의 제1-1 통신 링크(401-1))를 연결할 수 있다. 제1 통신 링크(401) 및 제1-1 통신 링크(401-1)은 동일한 채널 또는 동일한 통신 방식일 수 있다. 제2 장치(230)는 제1-1 통신 링크(401-1)를 통해 제1 장치(210)와 전자 장치(101) 간에 송수신되는 정보(또는 패킷)를 수신(예: 스니핑)할 수 있다. 전자 장치(101)는 제1 통신 링크(401)로 연결된 제1 장치(210) 및 제1-1 통신 링크(401-1)로 연결된 제2 장치(230)를 동일한 장치로 인식할 수 있다. 도 9는 도 4b의 스니핑 방식으로 오디오 데이터를 처리하는 방법을 도시한 것일 수 있다.
동작 909에서, 전자 장치(101)는 사용자로부터 녹음 요청을 수신할 수 있다. 예를 들어, 전자 장치(101)는 녹음을 위한 어플리케이션을 실행하고, 녹음 버튼을 선택(또는 누르는)하는 사용자 입력이 수신되면, 녹음 요청을 수신한 것으로 판단할 수 있다.
동작 911에서, 전자 장치(101)는 녹음 요청에 따라 제1 장치(210)로 녹음 지시를 할 수 있다. 전자 장치(101)는 제1 통신 링크(401)를 통해 제1 장치(210)로 녹음 지시를 전송할 수 있다.
동작 913에서, 제1 장치(210)는 상기 녹음 지시에 따라 제2 장치(230)로 마이크 오픈을 지시할 수 있다. 상기 마이크 오픈 지시는 마이크를 구동(또는 오픈)시켜 오디오를 획득하라는 명령일 수 있다. 예를 들어, 상기 마이크 오픈 지시는 마이크 오픈 지시를 수신받은 후, 일정 시간 후에 마이크를 구동하도록 하는 것일 수 있다.
동작 915-1에서, 제1 장치(210)는 제1 마이크(예: 도 3의 제1 마이크(313))를 오픈(또는 구동)할 수 있다. 제1 장치(210)는 상기 마이크 오픈 지시를 전송하고, 일정 시간 후에 제1 마이크(313)를 구동시켜 제2 장치(230)와 동일한 시간에 오디오를 획득할 수 있다. 제1 장치(210)는 제1 마이크(313)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 915-2에서, 제2 장치(230)는 제2 마이크(예: 도 3의 제2 마이크(333))를 오픈(또는 구동)할 수 있다. 제2 장치(230)는 상기 마이크 오픈 지시를 수신하고, 일정 시간 후에 제2 마이크(333)를 구동시켜 제1 장치(210)와 동일한 시간에 오디오를 획득할 수 있다. 제2 장치(230)는 제2 마이크(333)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 915-1 및 동작 915-2는 동시에 수행되는 것으로 해석할 수 있다.
동작 917에서, 제1 장치(210) 및 제2 장치(230)는 전송 환경을 모니터링(또는 분석)할 수 있다. 상기 전송 환경을 모니터링하기 위해, 제1 장치(210) 및 제2 장치(230)는 전송 버퍼 상태 또는 신호 세기를 서로 교환할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 송신 장치(예: 제1 장치(210), 제2 장치(230))의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제1 장치(210)에서 측정된 신호 강도 세기(예: RSSI) 또는 제2 장치(230)에서 측정된 신호 강도 세기를 의미할 수 있다. 제1 장치(210)와 제2 장치(230) 간의 거리 또는 제1 장치(210)와 전자 장치(101) 간의 거리가 가까운 상태에서는 신호 강도 세기가 신호 임계치를 초과(예: 전송 상태 좋음)할 수 있다. 또는, 제1 장치(210)와 제2 장치(230) 간의 거리 또는 제1 장치(210)와 전자 장치(101) 간의 거리가 멀리 떨어진 상태에서는 신호 강도 세기가 신호 임계치를 이하(예: 전송 상태 나쁨)일 수 있다. 제1 장치(210) 및 제2 장치(230)는 서로의 전송 환경을 서로 공유할 수 있다. 동작 917은 도 5의 동작 513과 동일 또는 유사하므로, 자세한 설명을 생략할 수 있다.
동작 919-1에서, 제1 장치(210)는 상기 모니터링한 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제1 장치(210)는 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제1 장치(210)는 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제1 장치(210)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다.
동작 919-2에서, 제2 장치(230)는 상기 모니터링한 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제2 장치(230)는 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제2 장치(230)는 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제2 장치(230)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다.
동작 919-1 및 동작 919-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 921-1에서, 제1 장치(210)는 제1 마이크(313)를 통해 획득한 오디오(예: 마이크 입력 신호)에 대한 인코딩을 수행할 수 있다. 제1 장치(210)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 제1 장치(210)는 제2 통신 링크(403)를 통해 제2 장치(230)와 마이크 입력을 동기화할 수 있다. 동기화된 마이크 입력 신호는 제1 장치(210)의 오디오 인코더를 통해 부호화되며, 제1 장치(210)는 동시간에 부호화된 오디오 데이터에 대하여 제2 장치(230)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 921-2에서, 제2 장치(230)는 제2 마이크(333)를 통해 획득한 오디오에 대한 인코딩을 수행할 수 있다. 제2 장치(230)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 제2 장치(230)는 제2 통신 링크(403)를 통해 제1 장치(210)와 마이크 입력을 동기화할 수 있다. 동기화된 마이크 입력 신호는 제2 장치(230)의 오디오 인코더를 통해 부호화되며, 제2 장치(230)는 동시간에 부호화된 오디오 데이터에 대하여 제1 장치(210)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 921-1 및 동작 921-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 923-1에서, 제1 장치(210)는 인코딩한 오디오 데이터를 제1 메모리(예: 도 3의 제1 메모리(327))에 저장할 수 있다. 제1 메모리(327)에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제1 장치(210)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제1 오디오 데이터', '제1 오디오 비트스트림' 또는 '제1 오디오 패킷'이라 할 수 있다.
동작 923-2에서, 제2 장치(230)는 인코딩한 오디오 데이터를 제2 메모리(예: 도 3의 제2 메모리(347))에 저장할 수 있다. 제2 메모리(347)에 저장하는 것은 제1 장치(210)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제2 장치(230)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제2 오디오 데이터', '제2 오디오 비트스트림' 또는 '제2 오디오 패킷'이라 할 수 있다.
제1 장치(210)에서 획득 및 인코딩한 오디오 데이터와 제2 장치(230)에서 획득 및 인코딩한 오디오 데이터를 구별하기 위해 "제1", "제2"로 표기할 수 있다.
동작 923-1 및 동작 923-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 925에서, 제1 장치(210)는 제1 통신 링크(401)를 통해 제1 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 스니핑 방식에서는 제2 장치(230)가 전자 장치(101)와 통신할 수 있으므로, 제1 장치(210)는 자신의 제1 오디오 데이터만 전자 장치(101)로 전송할 수 있다. 제1 장치(210)는 제2 장치(230)와 동일한 시간에 제1 마이크(313)로부터 획득한 제1 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
동작 927에서, 제2 장치(230)는 제1 통신 링크(401)(예: 제1-1 통신 링크(401-1))를 통해 제2 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 제2 장치(230)는 제1 장치(210)와 동일한 시간에 제2 마이크(333)로부터 획득한 제2 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
도면에서는 동작 925가 먼저 수행되고, 동작 927이 나중에 수행되는 것으로 도시하고 있지만, 제1 장치(210) 또는 제2 장치(230)의 전송 환경에 따라 동작 927이 먼저 수행되고, 동작 925가 나중에 수행될 수도 있다. 또는 동작 925 또는 동작 927이 동시에 수행될 수도 있다.
동작 929에서, 전자 장치(101)는 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 제1 통신 링크(401)를 통해 각각 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 수신할 수 있다. 예를 들어, 전자 장치(101)는 제1 장치(210)로부터 상기 제1 오디오 데이터를 수신하고, 제1-1 통신 링크(401-1)를 통해 제2 장치(230)로부터 제2 오디오 데이터를 수신할 수 있다. 전자 장치(101)는 각각 수신된 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터에 각각 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 또는, 전자 장치(101)는 블루투스 패킷에 포함된 순차 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 오디오 디코더를 통해 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 디코딩하여 스테레오 오디오 신호를 생성할 수 있다. 오디오 디코더의 입력은 싱크 조정을 통해 동일한 시간에 제1 장치(210)와 제2 장치(230)에서 인코딩된 비트스트림일 수 있다. 생성된 스테레오 오디오 신호는 신호 처리하여 메모리(예: 도 1의 메모리(130))에 저장하거나, 또는 스피커(예: 도 1의 음향 출력 모듈(155))를 통해 출력할 수 있다.
도 10은 다양한 실시예들에 따른 웨어러블 디바이스의 제1 장치에서 제2 방식에 따른 오디오 처리 방법을 도시한 흐름도(1000)이다.
도 10을 참조하면, 동작 1001에서, 다양한 실시예들에 따른 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제1 장치(예: 도 2의 제1 장치(210))에 포함된 제1 프로세서(예: 도 3의 제1 프로세서(323))는 통신 모듈(예: 도 3의 제1 통신 모듈(321))을 통해 전자 장치(예: 도 1의 전자 장치(101))와 제1 통신 링크(예: 도 4a 내지 도 4d의 제1 통신 링크(401))를 연결하고, 제2 장치(예: 도 2의 제2 장치(230))와 제2 통신 링크(예: 도 4a 내지 도 4c의 제2 통신 링크(403))를 연결할 수 있다. 동작 1001은 도 7의 동작 701과 동일 또는 유사할 수 있다.
동작 1003에서, 제1 장치(210)는 제2 통신 링크(403)를 통해 제1 통신 링크 정보를 제2 장치(230)로 전송할 수 있다. 상기 제1 통신 링크 정보는 제1 통신 링크(401)에 연결하기 위한 정보로서, 예를 들어, 블루투스 주소, FHS 패킷 정보, 또는 링크 키를 포함할 수 있다. 제2 장치(230)는 상기 제1 통신 링크 정보에 기반하여 전자 장치(101)와 제1 통신 링크(예: 도 4b의 제1-1 통신 링크(401-1))를 연결할 수 있다.
동작 1005에서, 제1 프로세서(323)는 제2 장치(230)로 마이크 오픈을 지시할 수 있다. 전자 장치(101)는 사용자로부터 녹음 요청을 수신하면, 제1 통신 링크(401)를 통해 제1 장치(210)로 녹음을 지시할 수 있다. 예를 들어, 전자 장치(101)는 녹음을 위한 어플리케이션을 실행하고, 녹음 버튼을 선택(또는 누르는)하는 사용자 입력이 수신되면, 제1 장치(210)로 녹음을 지시할 수 있다. 제1 프로세서(323)는 전자 장치(101)로부터의 녹음 지시를 수신함에 따라 제2 통신 링크(403)를 통해 제2 장치(230)로 마이크 오픈을 지시할 수 있다. 동작 1005는 도 7의 동작 703과 동일 또는 유사할 수 있다.
동작 1007에서, 제1 프로세서(323)는 마이크(예: 도 3의 제1 마이크(313))를 구동하고, 마이크 입력 신호(예: 제1 마이크 입력 신호)를 획득할 수 있다. 제1 프로세서(323)는 상기 마이크 오픈 지시를 전송하고, 일정 시간 후에 제1 마이크(313)를 구동할 수 있다. 제1 프로세서(323)는 제1 마이크(313)를 통해 제1 마이크 입력 신호를 획득할 수 있다. 상기 제1 마이크 입력 신호는 마이크 입력 버퍼(예: 도 6의 마이크 입력 버퍼(601))에 저장될 수 있다. 동작 1007은 도 7의 동작 705와 동일 또는 유사할 수 있다.
동작 1009에서, 제1 프로세서(323)는 전송 환경을 모니터링(또는 분석)할 수 있다. 제1 프로세서(323)는 상기 전송 환경을 모니터링하기 위해, 제2 장치(230)와 전송 버퍼 상태 또는 신호 세기(예: RSSI)를 서로 교환할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 송신 장치(예: 제1 장치(210), 제2 장치(230))의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 제1 프로세서(323)는 제1 장치(210)의 잔여 버퍼 공간 및 제2 장치(230)의 잔여 버퍼 공간에 기반하여 제1 장치(210)와 제2 장치(230) 간의 패킷 전송 상황을 파악할 수 있다. 상기 컨트롤러 전송 버퍼는 마이크 입력 버퍼(601) 또는 오디오 인코더에서 부호화한 오디오 신호(또는 오디오 데이터)를 저장하는 출력 버퍼(예: 도 6의 출력 버퍼(605))일 수 있다. 동작 1009은 도 7의 동작 707과 동일 또는 유사할 수 있다.
동작 1011에서, 제1 프로세서(323)는 상기 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제1 프로세서(323)는 상기 전송 버퍼 상태가 제1 임계치 이하이거나, 상기 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제1 프로세서(323)는 상기 전송 버퍼 상태가 제1 임계치를 초과하거나, 상기 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제1 프로세서(323)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다. 동작 1011은 도 7의 동작 709과 동일 또는 유사하므로, 자세한 설명을 생략할 수 있다.
동작 1013에서, 제1 프로세서(323)는 상기 결정된 비트 레이트에 기반하여 오디오 인코딩 또는 저장할 수 있다. 제1 프로세서(323)는 상기 결정된 비트 레이트로 상기 제1 마이크 입력 신호를 인코딩하고, 인코딩된 제1 오디오 데이터를 출력 버퍼(605)에 저장할 수 있다. 제1 프로세서(323)는 상기 결정된 비트 레이트에 기반하여 오디오 인코더를 통해 상기 제1 마이크 입력 신호를 인코딩할 수 있다. 제1 장치(210)의 제1 마이크(313)를 통해 획득한 제1 마이크 입력 신호를 인코딩 및 저장한 오디오 데이터는 '제1 오디오 데이터', '제1 오디오 비트스트림' 또는 '제1 오디오 패킷'이라 할 수 있다.
다양한 실시예들에 따르면, 제1 프로세서(323)는 제2 장치(230)와 동시간에 부호화된 제1 오디오 데이터에 대하여 제2 장치(230)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 1015에서, 제1 프로세서(323)는 제1 통신 링크(401)를 통해 제1 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 스니핑 방식(또는 제2 방식)에서는, 제2 장치(230)가 전자 장치(101)와 연결될 수 있으므로, 제1 장치(210)는 자신이 획득한 제1 오디오 데이터만 전자 장치(101)로 전송할 수 있다.
다양한 실시예들에 따르면, 스니핑 방식에서는, 전자 장치(101)가 제1 장치(210)에서 전송한 제1 오디오 데이터와 제2 장치(230)에서 전송한 제2 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 각 오디오 데이터에 포함된 인덱스 번호에 기반하여 제1 오디오 데이터와 제2 오디오 데이터를 동기화할 수 있다.
도 11은 다양한 실시예들에 따른 웨어러블 디바이스의 제2 장치의 제2 방식에 따른 오디오 처리 방법을 도시한 흐름도(1100)이다.
도 11을 참조하면, 동작 1101에서, 다양한 실시예들에 따른 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제2 장치(예: 도 2의 제2 장치(230))에 포함된 제2 프로세서(예: 도 3의 제2 프로세서(343))는 통신 모듈(예: 도 3의 제2 통신 모듈(341))을 통해 제1 장치(예: 도 2의 제1 장치(210))와 제2 통신 링크(예: 도 4a 내지 도 4c의 제2 통신 링크(403))를 연결할 수 있다. 제2 통신 링크(403)는 제1 장치(210)와 제2 장치(230) 간에 형성되는 통신 링크일 수 있다.
동작 1103에서, 제2 프로세서(343)는 제2 통신 링크(403)를 통해 제1 장치(210)로부터 제1 통신 링크 정보를 수신할 수 있다. 상기 제1 통신 링크 정보는 제1 통신 링크(예: 도 4a 내지 도 4d의 제1 통신 링크(401))에 연결하기 위한 정보로서, 예를 들어, 블루투스 주소, FHS 패킷 정보, 또는 링크 키를 포함할 수 있다.
동작 1105에서, 제2 프로세서(343)는 상기 제1 통신 링크 정보에 기반하여 전자 장치(101)와 제1 통신 링크(예: 도 4b의 제1-1 통신 링크(401-1))를 연결할 수 있다. 제1 통신 링크(401) 및 제1-1 통신 링크(401-1)은 동일한 채널 또는 동일한 통신 방식일 수 있다. 제2 프로세서(343)는 제1-1 통신 링크(401-1)를 통해 제1 장치(210)와 전자 장치(101) 간에 송수신되는 정보(또는 패킷)를 수신(예: 스니핑)할 수 있다. 전자 장치(101)는 제1 통신 링크(401)로 연결된 제1 장치(210) 및 제1-1 통신 링크(401-1)로 연결된 제2 장치(230)를 동일한 장치로 인식할 수 있다.
동작 1107에서, 제2 프로세서(343)는 제2 통신 링크(403)를 통해 제1 장치(210)로부터 마이크 오픈 지시를 수신할 수 있다. 전자 장치(101)는 사용자로부터 녹음 요청을 수신하면, 제1 통신 링크(401)를 통해 제1 장치(210)로 녹음을 지시할 수 있다. 제1 장치(210)는 전자 장치(101)로부터의 녹음 지시를 수신함에 따라 제2 통신 링크(403)를 통해 제2 장치(230)로 마이크 오픈을 지시할 수 있다.
동작 1109에서, 제2 프로세서(343)는 마이크(예: 도 3의 제2 마이크(333))를 구동하고, 마이크 입력 신호(예: 제2 마이크 입력 신호)를 획득할 수 있다. 제2 프로세서(343)는 상기 마이크 오픈 지시를 수신하고, 일정 시간 후에 제2 마이크(333)를 구동할 수 있다. 제2 프로세서(343)는 제2 마이크(333)를 통해 제2 마이크 입력 신호를 획득할 수 있다. 상기 제2 마이크 입력 신호는 마이크 입력 버퍼(예: 도 6의 마이크 입력 버퍼(601))에 저장될 수 있다.
동작 1111에서, 제2 프로세서(343)는 전송 환경을 모니터링(또는 분석)할 수 있다. 제2 프로세서(343)는 상기 전송 환경을 모니터링하기 위해, 제1 장치(210)와 전송 버퍼 상태 또는 신호 세기(예: RSSI)를 서로 교환할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 송신 장치(예: 제1 장치(210), 제2 장치(230))의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 제2 프로세서(343)는 제1 장치(210)의 잔여 버퍼 공간 및 제2 장치(230)의 잔여 버퍼 공간에 기반하여 제1 장치(210)와 제2 장치(230) 간의 패킷 전송 상황을 파악할 수 있다. 상기 컨트롤러 전송 버퍼는 마이크 입력 버퍼(601) 또는 오디오 인코더에서 부호화한 오디오 신호(또는 오디오 데이터)를 저장하는 출력 버퍼(예: 도 6의 출력 버퍼(605))일 수 있다. 동작 1111은 도 8의 동작 807과 동일 또는 유사할 수 있다.
동작 1113에서, 제2 프로세서(343)는 상기 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제2 프로세서(343)는 상기 전송 버퍼 상태가 제1 임계치 이하이거나, 상기 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제2 프로세서(343)는 상기 전송 버퍼 상태가 제1 임계치를 초과하거나, 상기 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제2 프로세서(343)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다. 동작 1113은 도 8의 동작 809와 동일 또는 유사하므로, 자세한 설명을 생략할 수 있다.
동작 1115에서, 제2 프로세서(343)는 상기 결정된 비트 레이트에 기반하여 오디오 인코딩 또는 저장할 수 있다. 제2 프로세서(343)는 상기 결정된 비트 레이트로 상기 제2 마이크 입력 신호를 인코딩하고, 인코딩된 오디오 데이터를 출력 버퍼(605)에 저장할 수 있다. 제2 프로세서(343)는 상기 결정된 비트 레이트에 기반하여 오디오 인코더를 통해 상기 제2 마이크 입력 신호를 인코딩할 수 있다. 제2 장치(230)의 제2 마이크(333)를 통해 획득한 제2 마이크 입력 신호를 인코딩 및 저장한 오디오 데이터는 '제2 오디오 데이터', '제2 오디오 비트스트림' 또는 '제2 오디오 패킷'이라 할 수 있다.
동작 1117에서, 제2 프로세서(343)는 제1 통신 링크(예: 제1-1 통신 링크(401-1))를 통해 전자 장치(101)로 제2 오디오 데이터를 전송할 수 있다. 제2 프로세서(343)는 동작 1115에서 인코딩 및 저장한 제2 오디오 데이터를 출력 버퍼(605)에 저장하고, 전자 장치(101)로 전송할 수 있다. 제2 방식(예: 스니핑 방식)에서, 제2 장치(230)는 전자 장치(예: 도 1의 전자 장치(101))와 연결되었으므로, 직접 전자 장치(101)로 제2 오디오 데이터를 전송할 수 있다.
도 12는 다양한 실시예들에 따른 웨어러블 디바이스에서 전송하는 오디오 데이터의 일례를 도시한 도면이다.
도 12를 참조하면, 다양한 실시예들에 따른 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제1 장치(예: 도 2의 제1 장치(210))는 제1 오디오 데이터(1210)를 생성할 수 있다. 제1 오디오 데이터(1210)는 제1 장치(210)에 포함된 제1 마이크(예: 도 3의 제1 마이크(313))를 통해 획득한 마이크 입력 신호(예: 제1 마이크 입력 신호)를 인코딩한 것일 수 있다. 제1 오디오 데이터(1210)는 sync word(1211), CRC(cyclical redundancy check)(1213), Index number(1215) 또는 frame payload 1(1217) 중 적어도 하나를 포함할 수 있다. 도시한 제1 오디오 데이터(1210)는 블루투스 패킷 중 오디오 데이터에 대응하는 필드만 도시한 것일 수 있다. sync word(1211)는 오디오 데이터에 대한 것임을 나타내는 식별자일 수 있다. CRC(1213)는 오디오 데이터의 오류를 검출하기 위한 필드일 수 있다. Index number(1215)는 제1 장치(210)에서 제2 장치(예: 도 2의 제2 장치(230))와 동일한 시간에 획득한 마이크 입력 신호에 부여한 것일 수 있다. frame payload 1(1217)은 인코딩한 오디오 신호가 포함될 수 있다.
제2 장치(230)는 제2 오디오 데이터(1230)를 생성할 수 있다. 제2 오디오 데이터(1230)는 제2 장치(230)에 포함된 제2 마이크(예: 도 3의 제2 마이크(333))를 통해 획득한 마이크 입력 신호(예: 제2 마이크 입력 신호)를 인코딩한 것일 수 있다. 제2 오디오 데이터(1230)는 sync word(1231), CRC(cyclical redundancy check)(1233), Index number(1235) 또는 frame payload 2(1237) 중 적어도 하나를 포함할 수 있다. sync word(1231)는 오디오 데이터에 대한 것임을 나타내는 식별자일 수 있다. CRC(1233)는 오디오 데이터의 오류를 검출하기 위한 필드일 수 있다. Index number(1235)는 제2 장치(230)에서 제1 장치(210)와 동일한 시간에 획득한 마이크 입력 신호에 부여한 것일 수 있다. frame payload 2(1237)는 인코딩한 오디오 신호가 포함될 수 있다.
제1 오디오 데이터(1210)와 제2 오디오 데이터(1230)가 동일한 시간에 획득한 마이크 입력 신호로 생성된 경우, 제1 오디오 데이터(1210)에 포함된 Index number(1215)와 제2 오디오 데이터(1230)에 포함된 Index number(1235)는 동일할 수 있다. 전송 환경이 좋은 경우(예: 도 6의 제1 전송 환경(610)), 제1 오디오 데이터(1210)에 포함된 Index number(1215)와 제2 오디오 데이터(1230)에 포함된 Index number(1235)는 동일할 수 있다. 전송 환경이 나쁜 경우(또는 지하철과 같은 혼잡 상황)(예: 도 6의 제2 전송 환경(650)), 제1 오디오 데이터(1210)에 포함된 Index number(1215)와 제2 오디오 데이터(1230)에 포함된 Index number(1235)는 서로 다른 시간대의 오디오 데이터가 전자 장치(예: 도 1의 전자 장치(101))에 전달될 수 있다. 서로 다른 시간대 생성된 오디오 데이터가 전자 장치(101)에 전달되는 경우, 좌, 우 싱크가 잘 맞지 않을 수 있다. 제1 장치(210) 또는 전자 장치(101)는 동일한 인덱스 번호를 가지는 오디오 데이터를 동기화시킬 수 있다. 전자 장치(101)는 동일한 인덱스 번호를 오디오 데이터를 동기화시켜 디코딩함으로써, 좌, 우 싱크를 잘 맞출 수 있다.
도 13은 다양한 실시예들에 따른 전자 장치에서 오디오 데이터를 처리하는 방법을 도시한 흐름도(1300)이다.
도 13을 참조하면, 동작 1301에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))는 통신 모듈(예: 도 1의 통신 모듈(190))를 통해 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제1 장치(예: 도 2의 제1 장치(210))와 제1 통신 링크(예: 도 4a 내지 도 4d의 제1 통신 링크(401))를 연결(또는 형성)할 수 있다. 상기 제1 통신 링크(401)는 블루투스, 저전력 블루투스와 같은 근거리 무선 통신일 수 있다. 릴레이 방식(예: 도 4a의 제1 방식(410))에서, 프로세서(120)는 제1 장치(210)와 제1 통신 링크(401)로 연결될 수 있다. 스니핑 방식(예: 도 4b의 제2 방식(430))에서, 프로세서(120)는 제1 장치(210)와 제1 통신 링크(401)로 연결되고, 제2 장치(예: 도 2의 제2 장치(230))와 제1-1 통신 링크(예: 도 4b의 제1-1 통신 링크(401-1))를 형성(또는 연결)할 수 있다.
동작 1303에서, 프로세서(120)는 녹음을 요청할 수 있다. 프로세서(120)는 사용자로부터 녹음 요청을 수신하고, 녹음 요청에 따라 제1 장치(210)로 녹음을 요청(또는 녹음 지시)할 수 있다. 프로세서(120)는 녹음을 위한 어플리케이션을 실행하고, 녹음 버튼을 선택(또는 누르는)하는 사용자 입력이 수신되면, 녹음 요청을 수신한 것으로 판단할 수 있다. 프로세서(120)는 제1 장치(210)와 제1 통신 링크(401)로 연결되어 있으므로, 제1 장치(210)로 녹음 지시를 전송할 수 있다.
동작 1305에서, 프로세서(120)는 제1 장치(210)로부터 제1 오디오 데이터를 수신할 수 있다. 제1 방식(410))에서, 상기 제1 오디오 데이터는 제1 장치(210) 및 제2 장치(230)에서 획득한 오디오 데이터를 포함할 수 있다. 제2 방식(430))에서, 상기 제1 오디오 데이터는 제1 장치(210)에서 획득한 오디오 데이터를 포함할 수 있다.
동작 1307에서, 프로세서(120)는 제2 장치(230)로부터 제2 오디오 데이터를 수신할 수 있다. 제1 방식(410))인 경우, 동작 1307은 생략 가능할 수 있다. 상기 제2 오디오 데이터는 제2 장치(230)에서 획득한 오디오 데이터를 포함할 수 있다.
동작 1309에서, 프로세서(120)는 오디오 데이터의 인덱스에 기반하여 오디오 데이터를 동기화할 수 있다. 프로세서(120)는 제1 장치(210)의 제1 오디오 데이터와 제2 장치(230)의 제2 오디오 데이터에 각각 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 프로세서(120)는 동일한 인덱스 번호를 가지는 제1 오디오 데이터 및 제2 오디오 데이터를 동기화하고 메모리(예: 도 1의 메모리(130))에 저장할 수 있다. 프로세서(120)는 오디오 디코더를 통해 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 디코딩하여 스테레오 오디오 신호를 생성할 수 있다. 오디오 디코더의 입력은 싱크 조정을 통해 동일한 시간에 제1 장치(210)와 제2 장치(230)에서 인코딩된 비트스트림일 수 있다. 생성된 스테레오 오디오 신호는 신호 처리하여 스피커(예: 도 1의 음향 출력 모듈(155))를 통해 출력할 수 있다.
다양한 실시예들에 따르면, 프로세서(120)는 무선 전송에 따라 손실된 오디오 데이터를 보상할 수 있다. 각 오디오 데이터에 포함되는 인덱스 번호는 오디오 프레임을 인코딩할 때마다 순차적으로 증가(예: Index=0, 1, 2, 3, 4, 5)할 수 있다. 중간에 인덱스 번호가 누락되게 되면, 프레임 인덱스 값을 통하여 확인할 수 있다. 예를 들어, 오디오 데이터의 프레임 인덱스가 '0, 1, 2, 4, 5'인 경우, 프로세서(120)는 3번째 프레임이 누락된 것으로 판단할 수 있다. 프로세서(120)는 2번째 프레임 또는 4번째 프레임에 기반하여 3번째 프레임을 생성(또는 보상)할 수 있다. 프레임 보상은 공지 기술에 해당하므로, 자세한 설명을 생략할 수 있다.
다양한 실시예들에 따르면, 상기 오디오 데이터는 블루투스 패킷을 통해 전송되고, 블루투스 패킷에는 순차 번호가 포함될 수 있다. 상기 순차 번호도 프레임 번호와 유사하게, 블루투스 패킷을 전송할 때마다 순차적으로 증가할 수 있다. 프로세서(120)는 상기 오디오 데이터가 전송되는 블루투스 패킷의 순차 번호에 기반하여 누락된 프레임을 생성할 수 있다.
도 14는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제3 방식에 따른 동작 방법을 도시한 흐름도(1400)이다.
도 14를 참조하면, 동작 1401에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))는 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제1 장치(예: 도 2의 제1 장치(210))와 제1 통신 링크(예: 도 4a 내지 도 4d의 제1 통신 링크(401))를 연결(또는 형성)할 수 있다. 제1 통신 링크(401)는 블루투스, 저전력 블루투스와 같은 근거리 무선 통신일 수 있다. 통신 링크를 형성하는 동작은 공지 기술에 해당하므로 자세한 설명을 생략할 수 있다.
동작 1403에서, 전자 장치(101)는 웨어러블 디바이스(200)의 제2 장치(예: 도 2의 제2 장치(230))와 제3 통신 링크(예: 도 4c 및 도 4d의 제3 통신 링크(405))를 연결(또는 형성)할 수 있다. 제3 통신 링크(405)는 제1 통신 링크(401)와 동일 또는 유사한 통신 방식일 수 있다.
도면에서는 동작 1401이 먼저 수행되고, 동작 1403이 나중에 수행되는 것으로 도시하고 있지만, 동작 1403이 먼저 수행되고, 동작 1401이 나중에 수행되거나, 동작 1401 및 동작 1403은 동시에 수행될 수 있다.
동작 1405에서, 전자 장치(101)는 제1 장치(210) 및 제2 장치(230)로 제2 통신 링크 연결을 요청할 수 있다. 전자 장치(101)는 제1 장치(210)로 제2 장치(230)에 대한 장치 정보를 전송하고, 제1 장치(210)가 제2 장치(230)와 제2 통신 링크(예: 도 4a 내지 도 4c의 제2 통신 링크(403))를 형성하도록 지시할 수 있다. 전자 장치(101)는 제2 장치(230)로 제1 장치(210)에 대한 장치 정보를 전송하고, 제2 장치(230)가 제1 장치(210)와 제2 통신 링크(403)를 형성하도록 지시할 수 있다.
동작 1407에서, 제1 장치(210) 및 제2 장치(230)는 제2 통신 링크(403)를 형성할 수 있다. 제1 장치(210)는 전자 장치(101)로부터 수신된 제2 장치(230)의 장치 정보에 기반하여 제2 장치(230)와 제2 통신 링크(403)를 형성할 수 있다. 제2 장치(230)는 전자 장치(101)로부터 수신된 제1 장치(210)의 장치 정보에 기반하여 제1 장치(210)와 제2 통신 링크(403)를 형성할 수 있다. 다만, 실시예에 따라 동작 1407은 생략 가능할 수 있다.
동작 1409에서, 전자 장치(101)는 사용자로부터 녹음 요청을 수신할 수 있다. 예를 들어, 전자 장치(101)는 녹음을 위한 어플리케이션을 실행하고, 녹음 버튼을 선택(또는 누르는)하는 사용자 입력이 수신되면, 녹음 요청을 수신한 것으로 판단할 수 있다.
동작 1411에서, 전자 장치(101)는 상기 녹음 요청에 따라 제1 장치(210)로 녹음 지시(또는 마이크 오픈 지시)를 할 수 있다. 전자 장치(101)는 제1 통신 링크(401)를 통해 제1 장치(210)로 녹음 지시를 전송할 수 있다. 제1 장치(210)는 상기 녹음 지시에 따라 마이크를 구동(또는 오픈)시켜 오디오를 획득할 수 있다. 예를 들어, 제1 장치(210)는 상기 녹음 지시를 수신받은 후, 일정 시간 후에 마이크를 구동하도록 하는 것일 수 있다.
동작 1413에서, 전자 장치(101)는 상기 녹음 요청에 따라 제2 장치(230)로 녹음을 지시할 수 있다. 전자 장치(101)는 제3 통신 링크(405)를 통해 제2 장치(230)로 녹음 지시를 전송할 수 있다. 제2 장치(230)는 상기 녹음 지시에 따라 마이크를 구동(또는 오픈)시켜 오디오를 획득할 수 있다.
도면에서는 동작 1411이 먼저 수행되고, 동작 1413이 나중에 수행되는 것으로 도시하고 있지만, 동작 1411 및 동작 1413은 동시에 수행되거나, 동작 1413이 먼저 수행되고, 동작 1411이 나중에 수행될 수 있다. 설명은 발명의 이해를 돕기 위한 것으로 설명에 의해 본 발명이 제한되는 것은 아니다.
동작 1415-1에서, 제1 장치(210)는 제1 마이크(예: 도 3의 제1 마이크(313))를 오픈(또는 구동)할 수 있다. 제1 장치(210)는 상기 마이크 오픈 지시를 전송하고, 일정 시간 후에 제1 마이크(313)를 구동시켜 제2 장치(230)와 동일한 시간에 오디오를 획득할 수 있다. 제1 장치(210)는 제1 마이크(313)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 1415-2에서, 제2 장치(230)는 제2 마이크(예: 도 3의 제2 마이크(333))를 오픈(또는 구동)할 수 있다. 제2 장치(230)는 상기 마이크 오픈 지시를 수신하고, 일정 시간 후에 제2 마이크(333)를 구동시켜 제1 장치(210)와 동일한 시간에 오디오를 획득할 수 있다. 제2 장치(230)는 제2 마이크(333)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 1415-1 및 동작 1415-2는 동시에 수행되는 것으로 해석할 수 있다.
동작 1417에서, 제1 장치(210) 및 제2 장치(230)는 전송 환경을 모니터링(또는 분석)할 수 있다. 상기 전송 환경을 모니터링하기 위해, 제1 장치(210) 및 제2 장치(230)는 제2 통신 링크(403)를 통해 전송 버퍼 상태 또는 신호 세기를 서로 교환할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 송신 장치(예: 제1 장치(210), 제2 장치(230))의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제1 장치(210)에서 측정된 신호 강도 세기(예: RSSI) 또는 제2 장치(230)에서 측정된 신호 강도 세기를 의미할 수 있다. 제1 장치(210)와 제2 장치(230) 간의 거리 또는 제1 장치(210)와 전자 장치(101) 간의 거리가 가까운 상태에서는 신호 강도 세기가 신호 임계치를 초과(예: 전송 상태 좋음)할 수 있다. 또는, 제1 장치(210)와 제2 장치(230) 간의 거리 또는 제1 장치(210)와 전자 장치(101) 간의 거리가 멀리 떨어진 상태에서는 신호 강도 세기가 신호 임계치를 이하(예: 전송 상태 나쁨)일 수 있다. 제1 장치(210) 및 제2 장치(230)는 서로의 전송 환경을 서로 공유할 수 있다. 동작 1417은 도 5의 동작 513과 동일 또는 유사하므로, 자세한 설명을 생략할 수 있다.
동작 1419-1에서, 제1 장치(210)는 상기 모니터링한 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제1 장치(210)는 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제1 장치(210)는 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제1 장치(210)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다.
동작 1419-2에서, 제2 장치(230)는 상기 모니터링한 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 제2 장치(230)는 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 제2 장치(230)는 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 제2 장치(230)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다.
동작 1419-1 및 동작 1419-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 1421-1에서, 제1 장치(210)는 제1 마이크(313)를 통해 획득한 오디오(예: 마이크 입력 신호)에 대한 인코딩을 수행할 수 있다. 제1 장치(210)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 제1 장치(210)는 제2 통신 링크(403)를 통해 제2 장치(230)와 마이크 입력을 동기화할 수 있다. 동기화된 마이크 입력 신호는 제1 장치(210)의 오디오 인코더를 통해 부호화되며, 제1 장치(210)는 동시간에 부호화된 오디오 데이터에 대하여 제2 장치(230)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 1421-2에서, 제2 장치(230)는 제2 마이크(333)를 통해 획득한 오디오에 대한 인코딩을 수행할 수 있다. 제2 장치(230)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 제2 장치(230)는 제2 통신 링크(403)를 통해 제1 장치(210)와 마이크 입력을 동기화할 수 있다. 동기화된 마이크 입력 신호는 제2 장치(230)의 오디오 인코더를 통해 부호화되며, 제2 장치(230)는 동시간에 부호화된 오디오 데이터에 대하여 제1 장치(210)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 1421-1 및 동작 1421-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 1423-1에서, 제1 장치(210)는 인코딩한 오디오 데이터를 제1 메모리(예: 도 3의 제1 메모리(327))에 저장할 수 있다. 제1 메모리(327)에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제1 장치(210)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제1 오디오 데이터', '제1 오디오 비트스트림' 또는 '제1 오디오 패킷'이라 할 수 있다.
동작 1423-2에서, 제2 장치(230)는 인코딩한 오디오 데이터를 제2 메모리(예: 도 3의 제2 메모리(347))에 저장할 수 있다. 제2 메모리(347)에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제2 장치(230)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제2 오디오 데이터', '제2 오디오 비트스트림' 또는 '제2 오디오 패킷'이라 할 수 있다.
제1 장치(210)에서 획득 및 인코딩한 오디오 데이터와 제2 장치(230)에서 획득 및 인코딩한 오디오 데이터를 구별하기 위해 "제1", "제2"로 표기할 수 있다.
동작 1423-1 및 동작 1423-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 1425에서, 제1 장치(210)는 제1 통신 링크(401)를 통해 제1 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 독립 링크 방식에서는 제2 장치(230)가 전자 장치(101)와 통신할 수 있으므로, 제1 장치(210)는 자신의 제1 오디오 데이터만 전자 장치(101)로 전송할 수 있다. 제1 장치(210)는 제2 장치(230)와 동일한 시간에 제1 마이크(313)로부터 획득한 제1 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
동작 1427에서, 제2 장치(230)는 제3 통신 링크405)를 통해 제2 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 제2 장치(230)는 제1 장치(210)와 동일한 시간에 제2 마이크(333)로부터 획득한 제2 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
도면에서는 동작 1425가 먼저 수행되고, 동작 1427이 나중에 수행되는 것으로 도시하고 있지만, 제1 장치(210) 또는 제2 장치(230)의 전송 환경에 따라 동작 1427이 먼저 수행되고, 동작 1425가 나중에 수행될 수도 있다. 또는 동작 1425 또는 동작 1427이 동시에 수행될 수도 있다.
동작 1429에서, 전자 장치(101)는 오디오 데이터를 동기화할 수 있다. 예를 들어, 전자 장치(101)는 제1 통신 링크(401)를 통해 제1 장치(210)로부터 상기 제1 오디오 데이터를 수신하고, 제3 통신 링크(405)를 통해 제2 장치(230)로부터 제2 오디오 데이터를 수신할 수 있다. 전자 장치(101)는 각각 수신된 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터에 각각 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 또는, 전자 장치(101)는 블루투스 패킷에 포함된 순차 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 오디오 디코더를 통해 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 디코딩하여 스테레오 오디오 신호를 생성할 수 있다. 오디오 디코더의 입력은 싱크 조정을 통해 동일한 시간에 제1 장치(210)와 제2 장치(230)에서 인코딩된 비트스트림일 수 있다. 생성된 스테레오 오디오 신호는 신호 처리하여 메모리(예: 도 1의 메모리(130))에 저장하거나, 또는 스피커(예: 도 1의 음향 출력 모듈(155))를 통해 출력할 수 있다.
도 15는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제4 방식에 따른 동작 방법을 도시한 흐름도(1500)이다.
도 15를 참조하면, 동작 1501에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))는 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제1 장치(예: 도 2의 제1 장치(210))와 제1 통신 링크(예: 도 4a 내지 도 4d의 제1 통신 링크(401))를 연결(또는 형성)할 수 있다. 제1 통신 링크(401)는 블루투스, 저전력 블루투스와 같은 근거리 무선 통신일 수 있다. 통신 링크를 형성하는 동작은 공지 기술에 해당하므로 자세한 설명을 생략할 수 있다.
동작 1503에서, 전자 장치(101)는 웨어러블 디바이스(200)의 제2 장치(예: 도 2의 제2 장치(230))와 제3 통신 링크(예: 도 4c 및 도 4d의 제3 통신 링크(405))를 연결(또는 형성)할 수 있다. 제3 통신 링크(405)는 제1 통신 링크(401)와 동일 또는 유사한 통신 방식일 수 있다.
도면에서는 동작 1501이 먼저 수행되고, 동작 1503이 나중에 수행되는 것으로 도시하고 있지만, 동작 1503이 먼저 수행되고, 동작 1501이 나중에 수행되거나, 동작 1501 및 동작 1503은 동시에 수행될 수 있다.
동작 1505서, 전자 장치(101)는 사용자로부터 녹음 요청을 수신할 수 있다. 예를 들어, 전자 장치(101)는 녹음을 위한 어플리케이션을 실행하고, 녹음 버튼을 선택(또는 누르는)하는 사용자 입력이 수신되면, 녹음 요청을 수신한 것으로 판단할 수 있다.
동작 1507에서, 전자 장치(101)는 상기 녹음 요청에 따라 제1 장치(210)로 녹음 지시(또는 마이크 오픈 지시)를 할 수 있다. 전자 장치(101)는 제1 통신 링크(401)를 통해 제1 장치(210)로 녹음 지시를 전송할 수 있다. 제1 장치(210)는 상기 녹음 지시에 따라 마이크를 구동(또는 오픈)시켜 오디오를 획득할 수 있다. 예를 들어, 제1 장치(210)는 상기 녹음 지시를 수신받은 후, 일정 시간 후에 마이크를 구동하도록 하는 것일 수 있다.
동작 1509에서, 전자 장치(101)는 상기 녹음 요청에 따라 제2 장치(230)로 녹음을 지시할 수 있다. 전자 장치(101)는 제3 통신 링크(405)를 통해 제2 장치(230)로 녹음 지시를 전송할 수 있다. 제2 장치(230)는 상기 녹음 지시에 따라 마이크를 구동(또는 오픈)시켜 오디오를 획득할 수 있다.
동작 1507 및 동작 1509는 별개로 수행되는 것으로 도시하고 있지만, 동시에 수행되거나, 유사한 시간에 수행될 수 있다. 설명은 발명의 이해를 돕기 위한 것으로 설명에 의해 본 발명이 제한되는 것은 아니다.
동작 1511-1에서, 제1 장치(210)는 제1 마이크(예: 도 3의 제1 마이크(313))를 오픈(또는 구동)할 수 있다. 제1 장치(210)는 상기 녹음 지시를 수신하고 일정 시간 후에 제1 마이크(313)를 구동시켜 제2 장치(230)와 동일한 시간에 오디오를 획득할 수 있다. 제1 장치(210)는 제1 마이크(313)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 1511-2에서, 제2 장치(230)는 제2 마이크(예: 도 3의 제2 마이크(333))를 오픈(또는 구동)할 수 있다. 제2 장치(230)는 상기 녹음 지시를 수신하고, 일정 시간 후에 제2 마이크(333)를 구동시켜 제1 장치(210)와 동일한 시간에 오디오를 획득할 수 있다. 제2 장치(230)는 제2 마이크(333)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 1511-1 및 동작 1511-2는 동시에 수행되는 것으로 해석할 수 있다.
동작 1513에서, 제1 장치(210)는 제1 전송 환경을 전자 장치(101)로 전송할 수 있다. 상기 제1 전송 환경은 제1 장치(210)의 전송 버퍼 상태 또는 신호 세기를 포함할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 제1 장치(210)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제1 장치(210)에서 측정된 신호 강도 세기(예: RSSI)를 의미할 수 있다.
동작 1515에서, 제2 장치(230)는 제2 전송 환경을 전자 장치(101)로 전송할 수 있다. 상기 제2 전송 환경은 제2 장치(230)의 전송 버퍼 상태 또는 신호 세기를 포함할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 제2 장치(230)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제2 장치(230)에서 측정된 신호 강도 세기(예: RSSI)를 의미할 수 있다.
동작 1517에서, 전자 장치(101)는 상기 제1 전송 환경 및 상기 제2 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 전자 장치(101)는 제1 장치(210) 또는 제2 장치(230)의 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 전자 장치(101)는 제1 장치(210) 또는 제2 장치(230)의 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 전자 장치(101)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다. 전자 장치(101)는 상기 결정된 비트 레이트를 제1 장치(210) 및 제2 장치(230)로 전송할 수 있다.
제1 장치(210) 또는 제2 장치(230)의 전송 환경이 다른 경우, 전송 환경이 좋지 않은 장치를 기준으로 비트 레이트를 결정할 수 있다. 예를 들어, 전자 장치(101)는 제1 장치(210) 및 제2 장치(230)의 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우, 제1 비트 레이트를 결정할 수 있다. 전자 장치(101)는 제1 장치(210) 및 제2 장치(230)의 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우, 제2 비트 레이트를 결정할 수 있다. 또는, 전자 장치(101)는 제1 장치(210) 또는 제2 장치(230) 중 어느 하나라도 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우, 제2 비트 레이트를 결정할 수 있다.
동작 1519-1에서, 제1 장치(210)는 제1 마이크(313)를 통해 획득한 오디오(예: 마이크 입력 신호)에 대한 인코딩을 수행할 수 있다. 제1 장치(210)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 마이크 입력 신호는 제1 장치(210)의 오디오 인코더를 통해 부호화되며, 제1 장치(210)는 동시간에 부호화된 오디오 데이터에 대하여 제2 장치(230)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 1519-2에서, 제2 장치(230)는 제2 마이크(333)를 통해 획득한 오디오에 대한 인코딩을 수행할 수 있다. 제2 장치(230)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 마이크 입력 신호는 제2 장치(230)의 오디오 인코더를 통해 부호화되며, 제2 장치(230)는 동시간에 부호화된 오디오 데이터에 대하여 제1 장치(210)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 1519-1 및 동작 1519-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 1521-1에서, 제1 장치(210)는 인코딩한 오디오 데이터를 제1 메모리(예: 도 3의 제1 메모리(327))에 저장할 수 있다. 제1 메모리(327)에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제1 장치(210)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제1 오디오 데이터', '제1 오디오 비트스트림' 또는 '제1 오디오 패킷'이라 할 수 있다.
동작 1521-2에서, 제2 장치(230)는 인코딩한 오디오 데이터를 제2 메모리(예: 도 3의 제2 메모리(347))에 저장할 수 있다. 제2 메모리(347)에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제2 장치(230)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제2 오디오 데이터', '제2 오디오 비트스트림' 또는 '제2 오디오 패킷'이라 할 수 있다.
제1 장치(210)에서 획득 및 인코딩한 오디오 데이터와 제2 장치(230)에서 획득 및 인코딩한 오디오 데이터를 구별하기 위해 "제1", "제2"로 표기할 수 있다.
동작 1521-1 및 동작 1521-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 1523에서, 제1 장치(210)는 제1 통신 링크(401)를 통해 제1 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 독립 링크 방식에서는 제2 장치(230)가 전자 장치(101)와 통신할 수 있으므로, 제1 장치(210)는 자신의 제1 오디오 데이터만 전자 장치(101)로 전송할 수 있다. 제1 장치(210)는 제2 장치(230)와 동일한 시간에 제1 마이크(313)로부터 획득한 제1 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
동작 1523에서, 제2 장치(230)는 제3 통신 링크(405)를 통해 제2 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 제2 장치(230)는 제1 장치(210)와 동일한 시간에 제2 마이크(333)로부터 획득한 제2 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
도면에서는 동작 1523이 먼저 수행되고, 동작 1525가 나중에 수행되는 것으로 도시하고 있지만, 제1 장치(210) 또는 제2 장치(230)의 전송 환경에 따라 동작 1525가 먼저 수행되고, 동작 1523이 나중에 수행될 수도 있다. 또는 동작 1523 또는 동작 1525가 동시에 수행될 수도 있다.
동작 1527에서, 전자 장치(101)는 오디오 데이터를 동기화할 수 있다. 예를 들어, 전자 장치(101)는 제1 통신 링크(401)를 통해 제1 장치(210)로부터 상기 제1 오디오 데이터를 수신하고, 제3 통신 링크(405)를 통해 제2 장치(230)로부터 제2 오디오 데이터를 수신할 수 있다. 전자 장치(101)는 각각 수신된 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터에 각각 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 또는, 전자 장치(101)는 블루투스 패킷에 포함된 순차 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 오디오 디코더를 통해 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 디코딩하여 스테레오 오디오 신호를 생성할 수 있다. 오디오 디코더의 입력은 싱크 조정을 통해 동일한 시간에 제1 장치(210)와 제2 장치(230)에서 인코딩된 비트스트림일 수 있다. 생성된 스테레오 오디오 신호는 신호 처리하여 메모리(예: 도 1의 메모리(130))에 저장하거나, 또는 스피커(예: 도 1의 음향 출력 모듈(155))를 통해 출력할 수 있다.
도 16a 및 도 16b는 다양한 실시예들에 따른 전자 장치와 웨어러블 디바이스 간에 제5 방식에 따른 동작 방법을 도시한 흐름도이다.
도 16a 및 도 16b를 참조하면, 동작 1601에서, 다양한 실시예들에 따른 전자 장치(예: 도 1의 전자 장치(101))는 웨어러블 디바이스(예: 도 2의 웨어러블 디바이스(200))의 제1 장치(예: 도 2의 제1 장치(210))와 제1 통신 링크(예: 도 4a 내지 도 4d의 제1 통신 링크(401))를 연결(또는 형성)할 수 있다. 제1 통신 링크(401)는 블루투스, 저전력 블루투스와 같은 근거리 무선 통신일 수 있다. 통신 링크를 형성하는 동작은 공지 기술에 해당하므로 자세한 설명을 생략할 수 있다.
동작 1603에서, 전자 장치(101)는 웨어러블 디바이스(200)의 제2 장치(예: 도 2의 제2 장치(230))와 제3 통신 링크(예: 도 4c 및 도 4d의 제3 통신 링크(405))를 연결(또는 형성)할 수 있다. 제3 통신 링크(405)는 제1 통신 링크(401)와 링크가 동일한 채널 또는 동일한 통신 방식일 수 있다.
동작 1605에서, 전자 장치(101)는 제3 장치(예: 도 4d의 제3 장치(270))와 제4 통신 링크(예: 도 4d의 제4 통신 링크(407))를 연결(또는 형성)할 수 있다. 제4 통신 링크(407)는 제1 통신 링크(401) 또는 제3 통신 링크(405)와 동일 또는 유사한 통신 방식일 수 있다.
동작 1607에서, 전자 장치(101)는 제n 장치(예: 도 4d의 제1 장치(27n))와 제5 통신 링크(예: 도 4d의 제5 통신 링크(409))를 연결(또는 형성)할 수 있다. 제5 통신 링크(409)는 제1 통신 링크(401), 제3 통신 링크(405) 또는 제4 통신 링크(407)와 동일 또는 유사한 통신 방식일 수 있다.
도면에서는 동작 1601 내지 동작 1607이 순차적으로 수행되는 것으로 도시하고 있지만, 동작 1601 내지 동작 1607은 동시에 수행되거나, 순서에 상관없이 수행될 수 있다.
동작 1609에서, 전자 장치(101)는 사용자로부터 녹음 요청을 수신할 수 있다. 예를 들어, 전자 장치(101)는 녹음을 위한 어플리케이션을 실행하고, 녹음 버튼을 선택(또는 누르는)하는 사용자 입력이 수신되면, 녹음 요청을 수신한 것으로 판단할 수 있다.
동작 1611에서, 전자 장치(101)는 상기 녹음 요청에 따라 제1 장치(210) 내지 제n 장치(27n)로 녹음을 지시할 수 있다. 전자 장치(101)는 제1 통신 링크(401)를 통해 제1 장치(210)로 녹음 지시를 전송하고, 제3 통신 링크(405)를 통해 제2 장치(230)로 녹음 지시를 전송하고, 제4 통신 링크(407)를 통해 제3 장치(270)로 녹음 지시를 전송하고, 제5 통신 링크(409)를 통해 제n 장치(27n)로 녹음 지시를 전송할 수 있다.
동작 1613-1에서, 제1 장치(210)는 제1 마이크(예: 도 3의 제1 마이크(313))를 오픈(또는 구동)할 수 있다. 제1 장치(210)는 상기 녹음 지시를 수신하고, 일정 시간 후에 제1 마이크(313)를 구동시켜 오디오를 획득할 수 있다. 제1 장치(210)는 제1 마이크(313)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 1613-2에서, 제2 장치(230)는 제2 마이크(예: 도 3의 제2 마이크(333))를 오픈(또는 구동)할 수 있다. 제2 장치(230)는 상기 녹음 지시를 수신하고, 일정 시간 후에 제2 마이크(333)를 구동시켜 오디오를 획득할 수 있다. 제2 장치(230)는 제2 마이크(333)를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 1613-3에서, 제3 장치(270)는 제3 마이크(예: 도 3의 제1 마이크(313) 또는 제2 마이크(333))를 오픈(또는 구동)할 수 있다. 상기 제3 마이크는 제3 장치(270)에 포함된 것일 수 있다. 제3 장치(270)는 상기 녹음 지시를 수신하고, 일정 시간 후에 상기 제3 마이크를 구동시켜 오디오를 획득할 수 있다. 제3 장치(270)는 상기 제3 마이크를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 1613-4에서, 제n 장치(27n)는 제n 마이크(예: 도 3의 제1 마이크(313) 또는 제2 마이크(333))를 오픈(또는 구동)할 수 있다. 상기 제n 마이크는 제n 장치(27n)에 포함된 것일 수 있다. 제n 장치(27n)는 상기 녹음 지시를 수신하고, 일정 시간 후에 상기 제n 마이크를 구동시켜 오디오를 획득할 수 있다. 제n 장치(27n)는 상기 제n 마이크를 통해 오디오를 획득(또는 수신)할 수 있다.
동작 1613-1 내지 동작 1613-4는 동시에 수행되는 것으로 해석할 수 있다. 제1 장치(210) 내지 제n 장치(27n)는 동일한 시간에 오디오를 획득할 수 있다.
동작 1615에서, 제1 장치(210)는 제1 전송 환경을 전자 장치(101)로 전송할 수 있다. 상기 제1 전송 환경은 제1 장치(210)의 전송 버퍼 상태 또는 신호 세기를 포함할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 제1 장치(210)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제1 장치(210)에서 측정된 신호 강도 세기(예: RSSI)를 의미할 수 있다.
동작 1617에서, 제2 장치(230)는 제2 전송 환경을 전자 장치(101)로 전송할 수 있다. 상기 제2 전송 환경은 제2 장치(230)의 전송 버퍼 상태 또는 신호 세기를 포함할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 제2 장치(230)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제2 장치(230)에서 측정된 신호 강도 세기(예: RSSI)를 의미할 수 있다.
동작 1619에서, 제3 장치(270)는 제3 전송 환경을 전자 장치(101)로 전송할 수 있다. 상기 제3 전송 환경은 제3 장치(270)의 전송 버퍼 상태 또는 신호 세기를 포함할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 제3 장치(270)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제3 장치(270)에서 측정된 신호 강도 세기(예: RSSI)를 의미할 수 있다.
동작 1621에서, 제n 장치(27n)는 제n 전송 환경을 전자 장치(101)로 전송할 수 있다. 상기 제n 전송 환경은 제n 장치(27n)의 전송 버퍼 상태 또는 신호 세기를 포함할 수 있다. 예를 들어, 상기 전송 버퍼 상태는 제n 장치(27n)의 컨트롤러 전송 버퍼의 현재 잔여 버퍼 공간을 의미할 수 있다. 상기 신호 세기는 제n 장치(27n)에서 측정된 신호 강도 세기(예: RSSI)를 의미할 수 있다.
동작 1623에서, 전자 장치(101)는 상기 제1 전송 환경 내지 상기 제n 전송 환경에 기반하여 비트 레이트를 결정할 수 있다. 전자 장치(101)는 제1 장치(210) 내지 제n 장치(27n)의 전송 버퍼 상태가 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우 강전계(예: 전송 환경이 좋은 상태)라 판단하고 제1 비트 레이트를 결정할 수 있다. 또는, 전자 장치(101)는 제1 장치(210) 내지 제n 장치(27n)의 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우 약전계(예: 전송 환경이 나쁜 상태)라 판단하고 제2 비트 레이트를 결정할 수 있다. 상기 제1 비트 레이트는 상기 제2 비트 레이트보다 클 수 있다. 전자 장치(101)는 상기 비트 레이트가 결정되면, 결정된 비트 레이트에 기반하여 패킷 타입을 결정할 수 있다. 전자 장치(101)는 상기 결정된 비트 레이트를 제1 장치(210) 내지 제n 장치(27n)로 전송할 수 있다.
제1 장치(210) 내지 제n 장치(27n)의 전송 환경이 다른 경우, 전송 환경이 좋지 않은 장치를 기준으로 비트 레이트를 결정할 수 있다. 예를 들어, 전자 장치(101)는 제1 장치(210) 내지 제n 장치(27n)의 전송 버퍼 상태가 모두 제1 임계치 이하이거나, 신호 세기가 신호 임계치를 초과하는 경우, 제1 비트 레이트를 결정할 수 있다. 전자 장치(101)는 제1 장치(210) 내지 제n 장치(27n) 중 어느 하나라도 전송 버퍼 상태가 제1 임계치를 초과하거나, 신호 세기가 신호 임계치 이하인 경우, 제2 비트 레이트를 결정할 수 있다.
동작 1625-1에서, 제1 장치(210)는 제1 마이크(313)를 통해 획득한 오디오(예: 마이크 입력 신호)에 대한 인코딩을 수행할 수 있다. 제1 장치(210)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 마이크 입력 신호는 제1 장치(210)의 오디오 인코더를 통해 부호화되며, 제1 장치(210)는 동시간에 부호화된 오디오 데이터에 대하여 제2 장치(230) 내지 제n 장치(27n)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 1625-2에서, 제2 장치(230)는 제2 마이크(333)를 통해 획득한 오디오에 대한 인코딩을 수행할 수 있다. 제2 장치(230)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 마이크 입력 신호는 제2 장치(230)의 오디오 인코더를 통해 부호화되며, 제2 장치(230)는 동시간에 부호화된 오디오 데이터에 대하여 제1 장치(210), 제3 장치(270) 및 제n 장치(27n)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 1625-3에서, 제3 장치(270)는 제3 마이크를 통해 획득한 오디오에 대한 인코딩을 수행할 수 있다. 제3 장치(270)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 마이크 입력 신호는 제3 장치(270)의 오디오 인코더를 통해 부호화되며, 제3 장치(270)는 동시간에 부호화된 오디오 데이터에 대하여 제1 장치(210), 제2 장치(230) 및 제n 장치(27n)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 1625-4에서, 제n 장치(27n)는 제3 마이크를 통해 획득한 오디오에 대한 인코딩을 수행할 수 있다. 제n 장치(27n)는 상기 결정된 비트 레이트로 마이크 입력 신호를 부호화(또는 인코딩)할 수 있다. 마이크 입력 신호는 제n 장치(27n)의 오디오 인코더를 통해 부호화되며, 제n 장치(27n)는 동시간에 부호화된 오디오 데이터에 대하여 제1 장치(210) 내지 제3 장치(270)와 동일한 인덱스 번호(또는 인덱스 값)을 부여할 수 있다. 상기 인덱스 번호는 부호화된 오디오 데이터(또는 비트스트림) 내에 위치하거나, 전송되는 오디오 패킷의 헤더에 포함될 수도 있다.
동작 1625-1 내지 동작 1625-4는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 1627-1에서, 제1 장치(210)는 인코딩한 오디오 데이터를 제1 메모리(예: 도 3의 제1 메모리(327))에 저장할 수 있다. 제1 메모리(327)에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제1 장치(210)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제1 오디오 데이터', '제1 오디오 비트스트림' 또는 '제1 오디오 패킷'이라 할 수 있다.
동작 1627-2에서, 제2 장치(230)는 인코딩한 오디오 데이터를 제2 메모리(예: 도 3의 제2 메모리(347))에 저장할 수 있다. 제2 메모리(347)에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제2 장치(230)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제2 오디오 데이터', '제2 오디오 비트스트림' 또는 '제2 오디오 패킷'이라 할 수 있다.
동작 1627-3에서, 제3 장치(270)는 인코딩한 오디오 데이터를 제3 메모리(예: 도 3의 제1 메모리(347) 또는 제2 메모리(347))에 저장할 수 있다. 제3 메모리에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제3 장치(270)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제3 오디오 데이터', '제3 오디오 비트스트림' 또는 '제3 오디오 패킷'이라 할 수 있다.
동작 1627-4에서, 제n 장치(27n)는 인코딩한 오디오 데이터를 제n 메모리(예: 도 3의 제1 메모리(347) 또는 제2 메모리(347))에 저장할 수 있다. 제n 메모리에 저장하는 것은 전자 장치(101)로 전송하기 전에 출력 버퍼에 임시 저장하는 것을 의미할 수 있다. 제n 장치(27n)의 상기 출력 버퍼로부터 출력되는 오디오 데이터를 '제n 오디오 데이터', '제n 오디오 비트스트림' 또는 '제n 오디오 패킷'이라 할 수 있다.
제1 장치(210)에서 획득 및 인코딩한 오디오 데이터, 제2 장치(230)에서 획득 및 인코딩한 오디오 데이터, 제3 장치(270)에서 획득 및 인코딩한 오디오 데이터, 제n 장치(27n)에서 획득 및 인코딩한 오디오 데이터를 구별하기 위해 "제1", "제2", "제3", "제n"으로 표기할 수 있다.
동작 1627-1 및 동작 1627-2는 동시에 또는 유사한 시간에 수행되는 것으로 해석할 수 있다.
동작 1629에서, 제1 장치(210)는 제1 통신 링크(401)를 통해 제1 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 독립 링크 방식에서는 제2 장치(230) 내지 제n 장치(27n)가 전자 장치(101)와 통신할 수 있으므로, 제1 장치(210)는 자신의 제1 오디오 데이터만 전자 장치(101)로 전송할 수 있다. 제1 장치(210)는 제2 장치(230) 내지 제n 장치(27n)와 동일한 시간에 제1 마이크(313)로부터 획득한 제1 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
동작 1631에서, 제2 장치(230)는 제3 통신 링크(405)를 통해 제2 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 제2 장치(230)는 제1 장치(210), 제3 장치(270) 및 제n 장치(27n)와 동일한 시간에 제2 마이크(333)로부터 획득한 제2 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
동작 1633에서, 제3 장치(270)는 제4 통신 링크(407)를 통해 제3 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 제3 장치(270)는 제1 장치(210), 제2 장치(230) 및 제n 장치(27n)와 동일한 시간에 제3 마이크로부터 획득한 제3 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
동작 1635에서, 제n 장치(27n)는 제5 통신 링크(409)를 통해 제n 오디오 데이터를 전자 장치(101)로 전송할 수 있다. 제n 장치(27n)는 제1 장치(210), 제2 장치(230) 및 제3 장치(270)와 동일한 시간에 제n 마이크로부터 획득한 제n 오디오 데이터에 인덱스 번호를 포함시켜 전자 장치(101)로 전송할 수 있다.
도면에서는 동작 1629 내지 동작 1635가 순차적으로 수행되는 것으로 도시하고 있지만, 제1 장치(210) 내지 제n 장치(27n)의 전송 환경에 따라 동작 1629 내지 동작 1635가 동시에 수행되거나, 순서에 상관없이 수행될 수도 있다.
동작 1637에서, 전자 장치(101)는 오디오 데이터를 동기화할 수 있다. 예를 들어, 전자 장치(101)는 제1 통신 링크(401)를 통해 제1 장치(210)로부터 상기 제1 오디오 데이터를 수신하고, 제3 통신 링크(405)를 통해 제2 장치(230)로부터 제2 오디오 데이터를 수신하고, 제4 통신 링크(407)를 통해 제3 장치(270)로부터 제3 오디오 데이터를 수신하고, 제5 통신 링크(409)를 통해 제n 장치(27n)로부터 제n 오디오 데이터를 수신할 수 있다. 전자 장치(101)는 각각 수신된 상기 제1 오디오 데이터 내지 상기 제n 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 상기 제1 오디오 데이터 내지 상기 제n 오디오 데이터에 각각 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터 내지 상기 제n 제1 오디오 데이터를 동기화할 수 있다.
또는, 전자 장치(101)는 블루투스 패킷에 포함된 순차 번호에 기반하여 상기 제1 오디오 데이터 내지 상기 제n 오디오 데이터를 동기화할 수 있다. 전자 장치(101)는 오디오 디코더를 통해 상기 제1 오디오 데이터 내지 상기 제n 오디오 데이터를 디코딩하여 스테레오 오디오 신호를 생성할 수 있다. 오디오 디코더의 입력은 싱크 조정을 통해 동일한 시간에 제1 장치(210) 내지 제n 장치(27n)에서 인코딩된 비트스트림일 수 있다. 생성된 스테레오 오디오 신호는 신호 처리하여 메모리(예: 도 1의 메모리(130))에 저장하거나, 또는 스피커(예: 도 1의 음향 출력 모듈(155))를 통해 출력할 수 있다.
본 명세서와 도면에 개시된 본 발명의 다양한 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
101: 전자 장치
120: 프로세서
130: 메모리
210: 제1 장치
230: 제2 장치
120: 프로세서
130: 메모리
210: 제1 장치
230: 제2 장치
Claims (20)
- 전자 장치에 있어서,
마이크;
통신 모듈;
전송 버퍼를 포함하는 메모리; 및
상기 마이크, 상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
상기 통신 모듈을 통해 제1 외부 전자 장치와 제1 통신 링크를 연결하고,
상기 통신 모듈을 통해 제2 외부 전자 장치와 제2 통신 링크를 연결하고,
상기 제 1 외부 전자 장치로부터 녹음 요청이 수신됨에 따라서 마이크를 구동하여 마이크 입력 신호를 획득하고,
상기 통신 모듈 또는 상기 제2 외부 전자 장치와의 전송 환경을 모니터링하고,
상기 전송 환경에 기반하여 오디오의 비트 레이트를 결정하고,
상기 결정된 비트 레이트에 기반하여 오디오를 인코딩하고,
상기 인코딩된 오디오 데이터를 상기 제1 외부 전자 장치로 전송하도록 설정된 전자 장치.
- 제1항에 있어서, 상기 프로세서는,
상기 제2 외부 전자 장치와 전송 버퍼 상태 또는 신호 세기를 교환하고,
상기 전송 버퍼 상태 또는 상기 신호 세기에 기반하여 전송 환경을 모니터링하도록 설정된 전자 장치.
- 제2항에 있어서, 상기 프로세서는,
상기 전송 버퍼 상태가 제1 임계치 이하이거나, 상기 신호 세기가 신호 임계치를 초과하는 경우, 제1 비트 레이트를 결정하고,
상기 전송 버퍼 상태가 제1 임계치를 초과하거나, 상기 신호 세기가 신호 임계치 이하인 경우, 상기 제1 비트 레이트보다 작은 제2 비트 레이트를 결정하도록 설정된 전자 장치.
- 제1항에 있어서, 상기 프로세서는,
상기 제2 외부 전자 장치와 동일한 시간에 획득한 오디오에 대하여 상기 제2 외부 전자 장치와 동일한 인덱스 번호를 부여하도록 설정된 전자 장치.
- 제1항에 있어서, 상기 프로세서는,
상기 오디오를 인코딩하여 제1 오디오 데이터를 획득하고,
상기 제2 통신 링크를 통해 상기 제2 외부 전자 장치로부터 제2 오디오 데이터를 수신하고,
상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화하여 상기 제1 통신 링크를 통해 상기 제1 외부 전자 장치로 전송하도록 설정된 전자 장치.
- 제5항에 있어서, 상기 프로세서는,
상기 제1 오디오 데이터 및 상기 제2 오디오 데이터에 각각 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화하도록 설정된 전자 장치.
- 제1항에 있어서, 상기 프로세서는,
상기 제2 외부 전자 장치로 상기 제1 통신 링크에 대한 정보를 전송하도록 설정된 전자 장치.
- 전자 장치에 있어서,
마이크;
통신 모듈;
전송 버퍼를 포함하는 메모리; 및
상기 마이크, 상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
상기 통신 모듈을 통해 제1 외부 전자 장치와 제1 통신 링크로 연결된, 제2 외부 전자 장치와 제2 통신 링크를 연결하고,
상기 제2 외부 전자 장치로부터 마이크 오픈 명령을 수신하고,
상기 마이크를 구동하여 마이크 입력 신호를 획득하고,
상기 통신 모듈 또는 상기 제2 외부 전자 장치와의 전송 환경을 모니터링하고,
상기 전송 환경에 기반하여 오디오의 비트레이트를 결정하고,
상기 결정된 비트 레이트에 기반하여 오디오를 인코딩하고,
상기 인코딩된 오디오 데이터를 상기 제1 외부 전자 장치 또는 상기 제2 외부 전자 장치로 전송하도록 설정된 전자 장치.
- 제8항에 있어서, 상기 프로세서는,
상기 제2 외부 전자 장치와 전송 버퍼 상태 또는 신호 세기를 교환하고,
상기 전송 버퍼 상태 또는 상기 신호 세기에 기반하여 전송 환경을 모니터링하도록 설정된 전자 장치.
- 제9항에 있어서, 상기 프로세서는,
상기 전송 버퍼 상태가 제1 임계치 이하이거나, 상기 신호 세기가 신호 임계치를 초과하는 경우, 제1 비트 레이트를 결정하고,
상기 전송 버퍼 상태가 제1 임계치를 초과하거나, 상기 신호 세기가 신호 임계치 이하인 경우, 상기 제1 비트 레이트보다 작은 제2 비트 레이트를 결정하도록 설정된 전자 장치.
- 제8항에 있어서, 상기 프로세서는,
상기 제2 외부 전자 장치와 동일한 시간에 획득한 오디오에 대하여 상기 제2 외부 전자 장치와 동일한 인덱스 번호를 부여하도록 설정된 전자 장치.
- 제8항에 있어서, 상기 프로세서는,
상기 인코딩한 오디오 데이터를 상기 제2 통신 링크를 통해 상기 제2 외부 전자 장치로 전송하도록 설정된 전자 장치.
- 제8항에 있어서, 상기 프로세서는,
상기 제2 통신 링크를 통해 상기 제2 외부 전자 장치로부터 상기 제1 통신 링크에 대한 정보를 수신하고,
상기 제1 통신 링크에 대한 정보에 기반하여 상기 제1 외부 전자 장치와 제1 통신 링크를 연결하도록 설정된 전자 장치.
- 제13항에 있어서, 상기 프로세서는,
상기 인코딩한 오디오 데이터를 상기 제1 통신 링크를 통해 상기 제1 외부 전자 장치로 전송하도록 설정된 전자 장치.
- 전자 장치에 있어서,
통신 모듈;
메모리; 및
상기 통신 모듈, 또는 상기 메모리와 작동적으로 연결된 프로세서를 포함하고, 상기 프로세서는,
상기 통신 모듈을 통해 제1 외부 전자 장치와 제1 통신 링크로 연결하고,
사용자로부터 녹음 요청을 수신함에 따라 상기 제1 외부 전자 장치로 녹음을 지시하고,
상기 제1 외부 전자 장치에서 획득한 제1 오디오 데이터 또는 상기 제1 외부 전자 장치와 연결된 제2 외부 전자 장치에서 획득한 제2 오디오 데이터를 수신하고,
상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화하도록 설정된 전자 장치.
- 제15항에 있어서, 상기 프로세서는,
상기 제1 통신 링크를 스니핑한 제2 외부 전자 장치로부터 상기 제2 오디오 데이터를 수신하도록 설정된 전자 장치.
- 제15항에 있어서, 상기 프로세서는,
각 오디오 데이터에 포함된 인덱스 번호에 기반하여 상기 제1 오디오 데이터 및 상기 제2 오디오 데이터를 동기화하도록 설정된 전자 장치.
- 제15항에 있어서, 상기 프로세서는,
상기 통신 모듈을 통해 상기 제2 외부 전자 장치와 제2 통신 링크로 연결하고,
상기 통신 모듈을 통해 제3 외부 전자 장치와 제3 통신 링크로 연결하도록 설정된 전자 장치.
- 제18항에 있어서, 상기 프로세서는,
상기 제2 통신 링크를 통해 상기 제2 외부 전자 장치로부터 상기 제2 오디오 데이터를 수신하고,
상기 제3 통신 링크를 통해 상기 제3 외부 전자 장치로부터 상기 제3 오디오 데이터를 수신하도록 설정된 전자 장치.
- 제19항에 있어서, 상기 프로세서는,
상기 제1 오디오 데이터 내지 상기 제3 오디오 데이터를 동기화하도록 설정된 전자 장치.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210056641A KR20220149250A (ko) | 2021-04-30 | 2021-04-30 | 복수의 장치에서 획득한 오디오 데이터 녹음 방법 및 전자 장치 |
EP22795989.7A EP4300994A4 (en) | 2021-04-30 | 2022-04-05 | METHOD AND ELECTRONIC DEVICE FOR RECORDING AUDIO DATA FROM MULTIPLE DEVICES |
PCT/KR2022/004849 WO2022231155A1 (ko) | 2021-04-30 | 2022-04-05 | 복수의 장치에서 획득한 오디오 데이터 녹음 방법 및 전자 장치 |
US17/837,229 US12047444B2 (en) | 2021-04-30 | 2022-06-10 | Electronic device and method for recording audio data acquired from multiple devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210056641A KR20220149250A (ko) | 2021-04-30 | 2021-04-30 | 복수의 장치에서 획득한 오디오 데이터 녹음 방법 및 전자 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220149250A true KR20220149250A (ko) | 2022-11-08 |
Family
ID=83847007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210056641A KR20220149250A (ko) | 2021-04-30 | 2021-04-30 | 복수의 장치에서 획득한 오디오 데이터 녹음 방법 및 전자 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20220149250A (ko) |
WO (1) | WO2022231155A1 (ko) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529565B2 (en) * | 2004-04-08 | 2009-05-05 | Starkey Laboratories, Inc. | Wireless communication protocol |
KR101917174B1 (ko) * | 2012-02-24 | 2018-11-09 | 삼성전자주식회사 | 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치 |
KR102386309B1 (ko) * | 2015-06-04 | 2022-04-14 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서의 입출력 제어 방법 |
KR102500284B1 (ko) * | 2016-11-30 | 2023-02-16 | 삼성전자주식회사 | 무선 연결을 이용한 오디오 스트리밍 방법 및 장치 |
US10419853B2 (en) * | 2018-02-21 | 2019-09-17 | Apple Inc. | Binaural audio capture using untethered wireless headset |
-
2021
- 2021-04-30 KR KR1020210056641A patent/KR20220149250A/ko active Search and Examination
-
2022
- 2022-04-05 WO PCT/KR2022/004849 patent/WO2022231155A1/ko active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022231155A1 (ko) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230179912A1 (en) | Electronic apparatus comprising sound radiation unit | |
KR20220103543A (ko) | 자동 음량 제어를 수행하는 웨어러블 장치 | |
KR20220102492A (ko) | 오디오 데이터를 처리하기 위한 오디오 장치 및 그의 동작 방법 | |
US12047444B2 (en) | Electronic device and method for recording audio data acquired from multiple devices | |
KR20220017332A (ko) | 오디오 데이터를 처리하는 전자 장치와 이의 동작 방법 | |
US12081932B2 (en) | Electronic device for reducing internal noise and method thereof | |
KR20220149250A (ko) | 복수의 장치에서 획득한 오디오 데이터 녹음 방법 및 전자 장치 | |
KR20220094863A (ko) | 전력 공급 장치를 이용하여 오디오 출력 장치를 찾는 방법 및 그 전력 공급 장치 | |
KR20220103548A (ko) | 오디오 데이터를 처리하는 전자 장치 및 그 동작 방법 | |
KR20210133004A (ko) | 음질 향상 방법 및 그 장치 | |
KR20220105402A (ko) | 오디오 데이터를 처리하는 전자 장치와 이의 동작 방법 | |
KR20220034530A (ko) | 소리를 출력하는 전자 장치와 이의 동작 방법 | |
US20240121333A1 (en) | Electronic device and operating method thereof | |
US20230199051A1 (en) | Electronic device and sink device for transmitting and receiving audio packet, and operating methods thereof | |
KR20220050641A (ko) | 전자 장치 및 전자 장치에서 무선 오디오 입출력 장치를 이용한 오디오 레코딩 방법 | |
KR20230080264A (ko) | 오디오 패킷을 송, 수신하는 전자 장치, 싱크 장치 및 그 동작 방법들 | |
KR20230125700A (ko) | 외부 소음에 기반한 마이크 및 센서 제어 방법 및 전자 장치 | |
KR20220144504A (ko) | 오디오 출력을 위한 전자 장치 및 그 동작 방법 | |
KR20220102448A (ko) | 다중 장치 간 통신 방법 및 이를 위한 전자 장치 | |
KR20220101866A (ko) | 잡음 환경에 따라서 통신 연결을 전환하는 전자 장치 및 그 제어 방법 | |
KR20230072355A (ko) | 오디오 스트리밍을 수행하는 전자 장치 및 그 동작 방법 | |
KR20230063045A (ko) | 전자 장치 및 그의 동작 방법 | |
KR20240074614A (ko) | 연결의 우선순위를 식별하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체 | |
KR20240022940A (ko) | 다른 전자 장치의 어드버타이징 프로세스와 동기화된 어드버타이징 프로세스를 수행하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체 | |
KR20230051037A (ko) | 오디오 서비스를 제공하는 전자 장치 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |