KR20240037116A - 전자 장치 및 전자 장치에서 음원 파일 재생 방법 - Google Patents

전자 장치 및 전자 장치에서 음원 파일 재생 방법 Download PDF

Info

Publication number
KR20240037116A
KR20240037116A KR1020220127920A KR20220127920A KR20240037116A KR 20240037116 A KR20240037116 A KR 20240037116A KR 1020220127920 A KR1020220127920 A KR 1020220127920A KR 20220127920 A KR20220127920 A KR 20220127920A KR 20240037116 A KR20240037116 A KR 20240037116A
Authority
KR
South Korea
Prior art keywords
sound source
source file
pcm data
output
electronic device
Prior art date
Application number
KR1020220127920A
Other languages
English (en)
Inventor
허진
이정원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20240037116A publication Critical patent/KR20240037116A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72442User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for playing music files
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/36Memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2499/00Aspects covered by H04R or H04S not otherwise provided for in their subgroups
    • H04R2499/10General applications
    • H04R2499/11Transducers incorporated or for use in hand-held devices, e.g. mobile phones, PDA's, camera's

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일 실시 예에 따른 전자 장치는, 스피커, 통신 모듈, 메모리, 및 프로세서를 포함할 수 있다. 일 실시예에 따른 프로세서는 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 제1 PCM 데이터를 획득하고 획득된 제1 PCM 데이터를 저장할 수 있다. 일 실시예에 따른 프로세서는 음원 출력 이벤트 발생에 기반하여 상기 제1 PCM 데이터 출력 조건의 만족 여부를 식별할 수 있다. 일 실시예에 따른 프로세서는 상기 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 상기 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 상기 스피커를 통해 출력할 수 있다. 일 실시예에 따른 프로세서는 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 상기 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 상기 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 상기 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 상기 스피커를 통해 출력하도록 설정될 수 있다.

Description

전자 장치 및 전자 장치에서 음원 파일 재생 방법{ELECTRONIC DEVICE AND METHOD FOR PLAYING SOUND SOURCE FILE IN THE ELECTRONIC DEVICE}
본 개시는 전자 장치 및 전자 장치에서 음원 파일을 재생하는 방법에 관한 것이다.
전자 정보 통신 기술이 발달하면서 통신 장치 또는 전자 장치에 다양한 기능이 통합되고 있으며, 전자 장치가 다른 전자 장치와 통신을 통해 연동하는 연동 기능을 수행할 수도 있도록 구현되고 있다. 예를 들어, 휴대형 전자 장치(예: 모바일 단말, 태블릿 단말 또는 웨어러블 전자 장치)는 통신 기능과 아울러, 음원 재생 기능을 포함하고 있으며, 제조 시 저장된 음원 뿐만 아니라 어플리케이션의 추가 설치를 통해 어플리케이션과 연관된 다양한 음원의 재생을 수행할 수 있다.
전자 장치는 다양한 음원들의 음원 파일들을 저장할 수 있다. 음원들은 특수목적음(지정된 목적을 가진 음)에 대응된 음원(이하 지정된 음원이라고도 함)을 포함할 수 있다. 예를 들면, 지정된 음원은 전자 장치 부팅 후 지정된 이벤트 발생 시마다 또는 어플리케이션 실행 중 어플리케이션의 요청 시마다 적어도 1 회 이상 재생될 수 있는 음원일 수 있으며 타입별로 구분되어 저장될 수 있다. 예를 들면, 지정된 음원은 지정된 타입의 음원을 포함할 수 있으며, 벨소리 타입의 벨소리음, 알림 타입의 알림음, 또는 알람 타입의 알람음을 포함할 수 있다.
지정된 음원은 인코더(encoder)에 의해 압축되어 먹서를 통해 먹싱된 음원 파일로 전자 장치에 저장될 수 있다. 전자 장치는 부팅 후 지정된 이벤트 발생 시마다 또는 어플리케이션의 요청 시마다 지정된 음원 파일에 대한 재생을 위해 디먹싱을 수행하고 디먹싱된 오디오 프레임에 대해 디코딩을 수행하고 디코딩을 통해 획득된 PCM(pulse code modulation) 데이터를 렌더링하여 오디오 사운드를 출력할 수 있다.
음원 파일을 오디오 사운드로 출력하기 위해서는 디먹싱 및/또는 디코딩 처리가 필요하며 이는 PCM 데이터를 오디오 사운드로 출력하는 것보다 시간이 더 소요된다. 지정된 음원 파일에 대한 재생이 반복적으로 이루어지는 경우 지정된 음원 파일에 대한 디먹싱 및/또는 디코딩 처리도 반복적으로 이루어지게 되며 이는 프로세서(예: CPU(center processor unit)) 사용 측면에서 비효율적일 수 있다.
또한 전자 장치는 빈번한 업데이트를 수행하면서도 부팅 후 종료하지 않은 채 오랜 기간 동작하는 경우가 많은데 이러한 경우 디먹서 및/또는 디코더의 동작 에러 발생 확률이 높고 이로 인해 지정된 음원 파일의 재생이 이루어지지 않는 경우가 발생할 수 있다.
또한 전자 장치에서 고도화된 멀티 태스킹이 수행되어 프로세서(예: CPU)의 사용량이 높은 경우 멀티 태스킹 도중 지정된 음원 재생까지 하게 되면 프로세서 사용량을 추가적으로 사용하게 될 수 있고 프로세서 사용량이 원활하지 못한 경우 지정된 음원 재생도 원활하게 이루어지지 못하고 음원 출력이 끊어지는 현상도 발생할 수 있다.
일 실시 예에 따른 전자 장치는, 스피커, 통신 모듈, 메모리, 및 프로세서를 포함할 수 있다. 일 실시예에 따른 메모리는, 실행 시에, 프로세서가, 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 제1 PCM 데이터를 획득하고 획득된 제1 PCM 데이터를 저장하도록 설정된 인스트럭션들을 저장할 수 있다.
일 실시예에 따른 메모리는, 실행 시에, 프로세서가, 음원 출력 이벤트 발생에 기반하여 상기 제1 PCM 데이터 출력 조건의 만족 여부를 식별하도록 설정된 인스트럭션들을 저장할 수 있다.
일 실시예에 따른 메모리는, 실행 시에, 프로세서가, 상기 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 상기 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 상기 스피커를 통해 출력하도록 설정된 인스트럭션들을 저장할 수 있다.
일 실시예에 따른 메모리는, 실행 시에, 프로세서가, 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 상기 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 상기 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 상기 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 상기 스피커를 통해 출력하도록 설정된 인스트럭션들을 저장할 수 있다.
일 실시 예에 따른 전자 장치에서 음원 파일 재생 방법은 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 제1 PCM 데이터를 획득하고 획득된 제1 PCM 데이터를 저장하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 방법은 음원 출력 이벤트 발생에 기반하여 상기 제1 PCM 데이터 출력 조건의 만족 여부를 식별하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 방법은 상기 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 상기 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 스피커를 통해 출력하는 동작을 포함할 수 있다.
일 실시 예에 따른 상기 방법은 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 상기 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 상기 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 상기 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 상기 스피커를 통해 출력하는 동작을 포함할 수 있다.
일 실시 예에 따른 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 전자 장치에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 제1 PCM 데이터를 획득하고 획득된 제1 PCM 데이터를 저장하는 동작, 음원 출력 이벤트 발생에 기반하여 상기 제1 PCM 데이터 출력 조건의 만족 여부를 식별하는 동작, 상기 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 상기 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 스피커를 통해 출력하는 동작, 및 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 상기 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 상기 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 상기 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 상기 스피커를 통해 출력하는 동작을 포함할 수 있다.
본 개시의 실시 예에 따르면, 지정된 음원 파일에 대한 재생 시 디먹싱 및/또는 디코딩 동작의 반복 수행을 줄여 프로세서(예: CPU(center processor unit)) 사용 효율을 높일 수 있는 전자 장치 및 전자 장치에서 음원 파일 재생 방법을 제공할 수 있다.
일 실시예에 따르면 지정된 음원 파일 재생 시 디먹서 및/또는 디코더의 사용을 줄임으로써 부팅 후 종료하지 않은 채 오랜 기간 동작 하는 경우에도 디먹서 및/또는 디코더의 동작 에러로 인해 지정된 음원 파일의 재생이 이루어지지 않는 경우를 방지할 수 있도록 하는 전자 장치 및 전자 장치에서 음원 파일 재생 방법을 제공할 수 있다.
일 실시예에 따르면 고도화된 멀티 태스킹 환경에서 지정된 음원 파일 재생 시 디먹서 및/또는 디코더 사용 없이도 음원 파일이 원활하게 재생될 수 있도록 하는 전자 장치 및 전자 장치에서 음원 파일 재생 방법을 제공할 수 있다.
도 1은 일 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 실시 예에 따른 전자 장치의 블록도이다.
도 3은 일 실시예에 따른 전자 장치의 프로세서 및 메모리의 동작을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 전자 장치에서 음원 파일 재생 동작에 대한 흐름도이다.
도 5는 일 실시예에 따른 전자 장치에서 디폴트 PCM 데이터 저장 동작에 대한 흐름도이다.
도 6은 일 실시예에 따른 전자 장치에서 PCM 데이터 저장 공간 크기에 기반한 디폴트 PCM 데이터 저장 동작에 대한 흐름도이다.
도 7은 일 실시예에 따른 전자 장치에서 어플리케이션 PCM 데이터 저장 동작에 대한 흐름도이다.
도 8은 일 실시예에 따른 PCM 저장부의 PCM 데이터 저장 예를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 음원 정보와 음원 정보에 대응된 PCM 데이터의 구조를 나타낸 도면이다.
도 10은 일 실시예에 따른 전자 장치의 부팅 후 음원 출력 이벤트 발생에 따른 동작에 대한 흐름도이다.
도 11은 일 실시예에 따른 어플리케이션 음원 파일 재생 시간 PCM 데이터 크기에 기반한 어플리케이션 PCM 데이터 저장 동작을 나타낸 흐름도이다.
도 12는 일 실시예에 따른 디폴트 음원 파일 변경에 따른 디폴트 PCM 데이터 삭제 및 추가 동작을 나타낸 흐름도이다.
도 13은 일 실시예에 따른 무음, 진동 또는 방해 금지 모드에서 PCM 저장부의 데이터 삭제 동작을 나타낸 흐름도이다.
도 14a 및 도 14b는 일 실시예에 따른 전자 장치에서 음원 파일 출력 요청 시 동작 흐름도이다.
도 15는 일 실시예에 따른 전자 장치와 외부 전자 장치를 나타낸 도면이다.
도 16은 일 실시예에 따른 전자 장치에서 PCM 데이터 출력 이벤트 발생 시 출력 장치 식별에 기반한 PCM 데이터 출력 동작 흐름도이다.
이하, 첨부된 도면들을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예를 들어, 인공지능 전자 장치)를 지칭할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시예들을 배제하도록 해석될 수 없다.
도 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 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 일 실시예에 따른 전자 장치의 블록도이다.
도 2를 참조하면, 일 실시예에 따른 전자 장치(201)(예: 도 1의 전자 장치(101))는 적어도 하나의 프로세서(이하, 프로세서라고도 함)(220), 오디오 모듈(230), 스피커(240), 메모리(250), 디스플레이(260), 및/또는 통신 모듈(270)을 포함할 수 있다. 전자 장치(201)는 이에 한정되지 않고 다양한 구성 요소들을 더 포함하여 구성 또는 상기 구성들 중 일부를 제외하여 구성될 수 있다. 일 실시예에 따른 전자 장치(201)는 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 더 포함할 수 있다.
일 실시예에 따른 프로세서(220)는 지정된 제1 음원(예: 디폴트 음원 또는 어플리케이션 음원) 파일을 디먹싱 및/또는 디코딩하여 PCM 데이터(이하 '제1 PCM 데이터(예: 디폴트 PCM 데이터 또는 어플리케이션 PCM 데이터)'라고 함)를 획득하고 제1 PCM 데이터를 메모리(250)에 저장할 수 있다. 예를 들면, PCM 데이터는 무압축 선형 오디오 데이터일 수 있으며, PCM 데이터 외에 다른 용어로도 사용할 수 있다.
일 실시예에 따른 지정된 제1 음원 파일은 전자 장치 부팅 후 지정된 이벤트 발생 시마다 또는 어플리케이션 실행 중 어플리케이션의 요청 시마다 재생될 수 있는 음원의 파일일 수 있으며 타입별로 구분될 수 있다. 예를 들면, 지정된 제1 음원 파일은 지정된 타입의 음원 파일을 포함할 수 있으며, 벨소리 타입의 벨소리음 파일, 알림 타입의 알림음 파일, 또는 알람 타입의 알람음 파일을 포함할 수 있다.
예를 들면, 지정된 제1 음원 파일은 전자 장치 제조 시 메모리(250)에 저장된 특수목적(또는 지정된 목적을 가진) 음원에 대응된 음원 파일(예: 디폴트 음원 파일)이거나 전자 장치에 설치된 어플리케이션(예: PCM 데이터를 저장하도록 지정된 어플리케이션)의 특수목적(또는 지정된 목적을 가진) 음원에 대응된 음원 파일(예: 어플리케이션 음원 파일)일 수 있다.
일 실시예에 따른 프로세서(220)는 전자 장치(201)의 부팅이 완료되면 메모리(250)에 저장된 지정된 제1 음원 파일(예: 디폴트 음원 파일)을 식별하여 디폴트 음원 파일에 대응된 제1 PCM 데이터(또는 디폴트 PCM 데이터)를 획득하고 디폴트 음원 파일의 정보와 디폴트 PCM 데이터를 메모리(250)의 지정된 저장 영역(이하 PCM 저장부 또는 PCM 저장 영역)에 저장할 수 있다.
일 실시예에 따른 프로세서(220)는 디폴트 PCM 데이터 저장 후, PCM 데이터 저장 대상 어플리케이션을 식별(결정)할 수 있다. 예를 들면 PCM 데이터 저장 대상 어플리케이션은 어플리케이션의 요청에 의한 음원 파일 재생 시 재생되는 음원 파일의 PCM 데이터를 저장하도록 지정된 어플리케이션일 수 있다.
일 실시예에 따른 프로세서(220)는 전자 장치(201)의 부팅 후 어플리케이션에 의한 음원 파일 재생 요청 시 재생 요청된 어플리케이션 파일이 PCM 데이터 저장 대상이 되는 지정된 제1 음원 파일(예: 어플리케이션 음원 파일)인지 식별하고, 재생 요청된 어플리케이션 파일을 디먹싱 및 디코딩하여 재생하면서 어플리케이션 음원 파일에 대응된 제1 PCM 데이터(예: 어플리케이션 PCM 데이터)를 획득하고 어플리케이션 음원 파일의 정보와 어플리케이션 PCM 데이터를 PCM 저장 영역에 저장할 수 있다.
일 실시예에 따르면 프로세서(220)는 재생 요청된 어플리케이션 파일 재생 시 어플리케이션 음원 파일에 대한 디먹싱 및 디코딩 완료 전 어플리케이션 음원 파일 재생 종료 요청이 있으면 어플리케이션 음원 파일 출력은 도중에 종료하고, 어플리케이션 음원 파일에 대한 디먹싱 및 디코딩은 종료하지 않고 완료하여 어플리케이션 음원 파일에 대응된 어플리케이션 PCM 데이터를 획득하여 저장할 수 있다.
일 실시예에 따른 프로세서(220)는 음원 출력 이벤트 발생에 기반하여 제1 PCM 데이터 출력 조건 만족 여부를 식별할 수 있다. 일 실시예에 따른 음원 출력 이벤트는 디폴트 음원 파일 출력(또는 재생) 요청이거나, 어플리케이션의 어플리케이션 음원 파일 출력(또는 재생) 요청을 포함할 수 있다. 일 실시예에 따른 제1 PCM 데이터 출력 조건은 출력 요청된 음원 파일에 대한 PCM 데이터가 메모리(250)의 PCM 저장부에 존재하는지 여부, 출력 요청된 음원의 음원 파일에 대한 접근이 가능한지 여부, 출력 요청된 음원이 어플리케이션 음원이면 어플리케이션 음원 파일의 출력이 가능한지 여부, 출력 요청된 음원의 음원 파일에 대한 디먹서 및/또는 디코더 사용이 가능한지 여부 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 프로세서(220)는 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 메모리(250)에 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 출력할 수 있다. 예를 들면, 프로세서(220)는 출력 요청된 음원 파일에 대한 제1 PCM 데이터가 PCM 저장부에 존재하거나, 출력 요청된 음원 파일에 대한 접근이 불가능하거나, 출력 요청된 음원 파일이 어플리케이션 음원 파일이고 어플리케이션 음원 파일의 출력이 불가능하거나, 출력 요청된 음원 파일에 대한 디먹서 및/또는 디코더 사용이 불가능한 경우 메모리(250)에 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 출력할 수 있다.
일 실시예에 따른 프로세서(220)는 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 출력할 수 있다. 예를 들면, 프로세서(220)는 출력 요청된 음원 파일에 대한 제1 PCM 데이터가 PCM 저장부에 존재하지 않고, 출력 요청된 음원 파일에 대한 접근이 가능하고 출력 요청된 음원 파일이 어플리케이션 음원 파일이고 어플리케이션 음원 파일의 출력이 가능하고, 출력 요청된 음원 파일에 대한 디먹서 및/또는 디코더 사용이 가능한 경우 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 출력할 수 있다.
일 실시예에 따른 오디오 모듈(230)은 전기 신호(예: PCM 데이터에 대응된 전기 신호)를 소리(예: 오디오 사운드)로 변환시켜 스피커(240)를 통해 출력할 수 있다.
일 실시예에 따른 메모리(250)는 PCM 저장부(또는 PCM 데이터 저장 영역)을를 포함할 수 있으며, PCM 저장부에 PCM 데이터를 저장할 수 있다. 일 실시예에 따른 메모리(250)는 기능 동작에 사용되는 프로그램(예: 도 1의 프로그램(140))을 비롯하여, 프로그램(140) 실행 중에 발생되는 다양한 데이터를 저장할 수 있다. 상기 메모리(250)는 크게 프로그램 영역(140)과 데이터 영역(미도시)을 포함할 수 있다. 상기 프로그램 영역(140)은 전자 장치(201)를 부팅시키는 운영체제(OS)(예: 도 1의 운영 체제(142))와 같은 전자 장치(201)의 구동을 위한 관련된 프로그램 정보들을 저장할 수 있다. 예를 들면, 메모리(250)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예를 들어, secure digital(SD) 또는 extreme digital(XD) 메모리), 램(RAM), 롬(ROM) 중의 적어도 하나의 저장매체를 포함하여 구성될 수 있다.
일 실시예에 따른 디스플레이(260)는 프로세서(220)의 제어에 기반하여 각종 정보를 표시할 수 있다. 예를 들면, 디스플레이(260)는 지정된 제1 음원 파일, 지정된 제1 음원 파일의 저장 또는 삭제. 지정된 제1 음원 파일의 재생과 연관된 화면을 표시할 수 있다. 일 실시예에 따르면, 디스플레이(260)는 터치 스크린의 형태로 구현될 수 있다. 상기 디스플레이(260)는 터치 스크린 형태로 입력 모듈과 함께 구현되는 경우, 사용자의 터치 동작에 따라 발생되는 다양한 정보들을 표시할 수 있다
일 실시예에 따른 통신 모듈(270)은 외부 전자 장치(예: 도 1의 전자 장치(102 또는 104), 도 1의 서버(108), 또는 다른 사용자의 전자 장치)와 통신할 수 있다.
일 실시예에 따르면, 전자 장치(도 1의 101 또는 도 2의 201)는 스피커(도 2의 240), 통신 모듈(도 1의 통신 모듈 170; 및 도 2의 통신 모듈 270), 메모리(도 1의 메모리 130; 및 도 2의 메모리 250), 및 프로세서(도 1의 120; 도 2의 220)를 포함할 수 있다. 상기 메모리는, 실행 시에, 상기 프로세서가, 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 제1 PCM 데이터를 획득하고 획득된 제1 PCM 데이터를 저장하도록 설정된 인스트럭션들을 저장할 수 있다. 상기 메모리는, 실행 시에, 상기 프로세서가, 음원 출력 이벤트 발생에 기반하여 상기 제1 PCM 데이터 출력 조건의 만족 여부를 식별하도록 설정된 인스트럭션들을 저장할 수 있다. 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 상기 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 상기 스피커를 통해 출력하도록 설정된 인스트럭션들을 저장할 수 있다. 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 상기 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 상기 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 상기 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 상기 스피커를 통해 출력하도록 설정된 인스트럭션들을 저장할 수 있다.
일 실시예에 따르면, 상기 지정된 제1 음원 파일은 벨소리 타입 음원 파일, 알림 타입 음원 파일, 또는 알람 타입 음원 파일 중 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 지정된 제1 음원 파일은 디폴트 음원 파일을 포함할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 전자 장치의 부팅 완료 식별에 기반하여 상기 디폴트 음원 파일을 상기 지정된 제1 음원 파일로 식별하고, 상기 디폴트 음원 파일에 대응된 상기 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 상기 디폴트 음원 파일에 대응된 상기 제1 PCM 데이터를 획득하고, 상기 디폴트 음원 파일에 대응된 상기 제1 PCM 데이터를 상기 메모리의 PCM 저장부에 저장하도록 설정될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 전자 장치의 부팅 완료 식별에 기반하여 상기 메모리의 저장 공간 크기를 식별하고 상기 메모리의 저장 공간 크기에 기반하여 PCM 데이터 저장 공간 크기를 식별하고, 상기 PCM 데이터 저장 공간 크기에 기반하여 복수의 음원 파일들 중 PCM 데이터를 획득할 상기 디폴트 음원 파일을 선택하도록 설정될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 전자 장치에 설치된 어플리케이션으로부터 상기 어플리케이션 음원 파일의 재생 요청에 기반하여 상기 어플리케이션 음원 파일을 상기 지정된 제1 음원 파일로 식별하고, 상기 어플리케이션 음원 파일에 대응된 상기 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 상기 상기 어플리케이션 음원 파일에 대응된 제1 PCM 데이터를 획득하고, 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터를 재생하면서 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터를 상기 메모리의 PCM 저장부에 저장하도록 설정될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 어플리케이션 음원 파일에 대응된 상기 제1 지정된 음원 파일을 디먹싱 및/또는 디코딩 중 상기 어플리케이션 음원 파일에 대응된 상기 제1 지정된 음원 파일의 재생 중단 요청 시 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터의 획득 및 저장은 유지하고, 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터의 재생은 중단하도록 설정될 수 있다.
일 실시예에 따르면, 상기 제1 PCM 데이터 출력 조건은, 상기 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하는지 여부, 상기 지정된 제1 음원 파일에 대한 접근이 가능한지 여부, 상기 지정된 제1 음원 파일이 어플리케이션 음원 파일이면 어플리케이션 음원 파일의 출력이 가능한지 여부, 및/또는 상기 지정된 제1 음원 파일에 대한 디먹서 및/또는 디코더 사용이 가능한지 여부 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하거나, 상기 지정된 제1 음원 파일에 대한 접근이 불가능하거나, 상기 지정된 제1 음원 파일이 어플리케이션 음원 파일이고 상기 어플리케이션 음원 파일의 출력이 불가능하거나, 상기 지정된 제1 음원 파일에 대한 디먹서 및/또는 디코더 사용이 불가능한 경우 상기 제1 PCM 데이터 출력 조건을 만족하는 것으로 식별하도록 설정될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하지 않고, 지정된 제1 음원 파일에 대한 접근이 가능하고, 상기 지정된 제1 음원 파일이 어플리케이션 음원 파일이고 상기 어플리케이션 음원 파일의 출력이 가능하고, 상기 지정된 제1 음원 파일에 대한 디먹서 및/또는 디코더 사용이 가능한 경우 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것으로 식별하도록 설정될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 전자 장치가 절전 모드인지 여부, 상기 어플리케이션 음원 파일이 외부의 서버에 저장되어 있고 상기 외부의 서버에 접근이 가능한지 여부, 프로세서 사용율이 지정된 사용율 이상인지 여부, 및/또는 상기 전자 장치가 게임을 포함하는 멀티 태스킹 상태인지 여부 중 적어도 하나에 기반하여 상기 어플리케이션 음원 파일의 출력이 가능한지 여부를 식별하도록 설정될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 저장된 제1 PCM 데이터 출력 시 상기 제1 PCM 데이터의 출력 장치가 외부 전자 장치이면 상기 외부 전자 장치에서 이용 가능한 오디오 코덱 정보를 획득하고, 상기 제1 PCM 데이터가 상기 외부 전자 장치에서 이용 가능한 오디오 코덱으로 인코딩된 상태이면, 상기 제1 PCM 데이터를 상기 외부 전자 장치에 전송하고, 상기 제1 PCM 데이터가 상기 외부 전자 장치에서 이용 가능한 오디오 코덱으로 인코딩된 상태가 아니면 상기 제1 PCM 데이터를 상기 외부 전자 장치에서 이용 가능한 오디오 코덱으로 인코딩하여 상기 외부 전자 장치에 전송하도록 설정될 수 있다.
일 실시예에 따르면, 상기 인스트럭션들은 상기 프로세서가, 상기 전자 장치의 모드가 무음 모드, 진동 모드 또는 방해 금지 모드로 변경되면 상기 PCM 저장부에 저장된 복수의 제1 PCM 데이터들 중 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터를 삭제하도록 설정될 수 있다.
도 3은 일 실시예에 따른 전자 장치의 프로세서 및 메모리의 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따른 프로세서(220)는 재생부(310), 조건 판단부(320), 처리 방식 결정부(330), 렌더러부(340), 디먹서부(350) 및/또는 디코더부(360)를 포함할 수 있다. 일 실시예에 따른 재생부(310), 조건 판단부(320), 처리 방식 결정부(330), 렌더러부(340), 디먹서부(350) 및/또는 디코더부(360)는 프로세서(220)에 의해 실행되는 소프트웨어 모듈일 수 있으며, 프로세서(220)에 포함되거나 프로세서(220)와 별도로 전자 장치(201)에 포함되어 프로세서(220)의 제어 하에 동작할 수 있다. 일 실시예에 따르면, 재생부(310), 조건 판단부(320), 처리 방식 결정부(330), 렌더러부(340), 디먹서부(350) 및/또는 디코더부(360)는 프로세서(220)와 독립적으로 존재하는 하드웨어 모듈로 구현될 수도 있다. 일 실시예에 다른 메모리(250)는 PCM 저장부(370)를 포함할 수 있다.
일 실시예에 따른 재생부(310)는 전자 장치 부팅 후 지정된 이벤트 발생 또는 어플리케이션 실행 중 어플리케이션의 요청에 의한 음원 파일 재생 요청을 식별할 수 있다.
일 실시예에 따른 조건 판단부(320)는 음원 파일 재생과 연관된 각종 조건 판단을 수행할 수 있다. 일 실시예에 따른 조건 판단부(320)는 전자 장치(201)의 부팅 완료 여부 및/또는 제1 PCM 데이터 출력 조건 만족 여부에 대한 판단을 수행할 수 있다. 예를 들면, 제1 PCM 데이터 출력 조건 만족 여부는 출력 요청된 음원 파일에 대한 PCM 데이터가 PCM 저장부(370)에 존재하는지 여부, 출력 요청된 음원 파일에 대한 접근이 가능한지 여부, 출력 요청된 음원 파일이 어플리케이션 음원 파일이면 어플리케이션 음원 파일의 출력이 가능한지 여부, 출력 요청된 음원 파일에 대한 디먹서 및/또는 디코더 사용이 가능한지 여부를 식별할 수 있다.
일 실시예에 따른 처리 방식 결정부(330)는 재생부(310)에 의해 음원 파일 재생 요청이 식별되면 조건 판단부(320)에 의해 판단된 제1 PCM 데이터 출력 조건 만족 여부에 기반하여 제1 PCM 데이터 출력 조건을 만족하지 않는 경우 재생 요청된 음원 파일이 디먹서부(350) 및/또는 디코더부(360)에 제공되어 처리되도록 제어(또는 결정)할 수 있다. 일 실시예에 따른 처리 방식 결정부(330)는 재생부(310)에 의해 음원 파일 재생 요청이 식별되면 조건 판단부(320)에 의해 판단된 제1 PCM 데이터 출력 조건 만족 여부에 기반하여 제1 PCM 데이터 출력 조건을 만족하는 경우 PCM 저장부(370)에 저장된 제1 PCM 데이터가 렌더링 되도록 제어(또는 결정)할 수 있다.
일 실시예에 따른 디먹서부(350)는 음원 파일을 디먹싱하여 오디오 프레임을 획득할 수 있다. 일 실시예에 따른 디코더부(360)는 디먹서부(350)에 의해 획득된 오디오 프레임을 압축 해제하여 제2 PCM 데이터를 획득할 수 있다. 일 실시예에 따른 렌더러부(340)는 제2 PCM 데이터를 렌더링할 수 있다. 예를 들면, 렌더러부(340)는 제2 PCM 데이터를 렌더링하여 오디오 모듈(230)을 통해 스피커(240)로 출력할 수 있다.
도 4는 일 실시예에 따른 전자 장치에서 음원 파일 재생 동작에 대한 흐름도이다.
도 4를 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 410 내지 440 동작 중 적어도 하나의 동작을 수행할 수 있다.
410 동작에서, 일 실시예에 따른 프로세서는(220)는 지정된 제1 음원(예: 디폴트 음원 또는 어플리케이션 음원) 파일을 디먹싱 및/또는 디코딩하여 제1 PCM 데이터(예: 디폴트 PCM 데이터 또는 어플리케이션 PCM 데이터)를 획득하고 제1 PCM 데이터를 저장할 수 있다. 일 실시예에 따른 지정된 제1 음원 파일은 전자 장치 부팅 후 지정된 이벤트 발생 시마다 또는 어플리케이션 실행 중 어플리케이션의 요청 시마다 적어도 1 회 이상 로 재생될 수 있는 음원의 파일일 수 있으며 타입별로 구분될 수 있다. 예를 들면, 지정된 제1 음원 파일은 지정된 타입의 음원 파일을 포함할 수 있으며, 벨소리 타입의 벨소리음 파일, 알림 타입의 알림음 파일, 또는 알람 타입의 알람음 파일을 포함할 수 있다. 예를 들면, 지정된 제1 음원 파일은 전자 장치 제조 시 메모리(250)에 저장된 특수목적(또는 지정된 목적을 가진) 음원에 대응된 음원 파일(예: 디폴트 음원 파일)이거나 전자 장치에 설치된 어플리케이션(예: PCM 데이터를 저장하도록 지정된 어플리케이션)의 특수목적(또는 지정된 목적을 가진) 음원에 대응된 음원 파일(예: 어플리케이션 음원 파일)일 수 있다. 일 실시예에 따른 프로세서(220)는 전자 장치(201)의 부팅이 완료되면 메모리(250)에 저장된 지정된 제1 음원 파일(예: 디폴트 음원 파일)을 식별하여 디폴트 음원 파일에 대응된 제1 PCM 데이터(또는 디폴트 PCM 데이터)를 획득하고 디폴트 음원 파일의 정보와 디폴트 PCM 데이터를 메모리(250)의 지정된 저장 영역(이하 PCM 저장부 또는 PCM 저장 영역)에 저장할 수 있다. 일 실시예에 따른 프로세서(220)는 디폴트 PCM 데이터 저장 후, PCM 데이터 저장 대상 어플리케이션을 식별(결정)할 수 있다. 예를 들면 PCM 데이터 저장 대상 어플리케이션은 어플리케이션의 요청에 의한 음원 파일 재생 시 재생되는 음원 파일의 PCM 데이터를 저장하도록 지정된 어플리케이션일 수 있다. 일 실시예에 따른 프로세서(220)는 전자 장치(201)의 부팅 후 어플리케이션에 의한 음원 파일 재생 요청 시 재생 요청된 어플리케이션 파일이 PCM 데이터 저장 대상이 되는 지정된 제1 음원 파일(예: 어플리케이션 음원 파일)인지 식별하고, 재생 요청된 어플리케이션 파일을 디먹싱 및 디코딩하여 재생하면서 어플리케이션 음원 파일에 대응된 제1 PCM 데이터(예: 어플리케이션 PCM 데이터)를 획득하고 어플리케이션 음원 파일의 정보와 어플리케이션 PCM 데이터를 PCM 저장 영역에 저장할 수 있다.
일 실시예에 따르면 프로세서(220)는 재생 요청된 어플리케이션 파일 재생 시 어플리케이션 음원 파일에 대한 디먹싱 및 디코딩 완료 전 어플리케이션 음원 파일 재생 종료 요청이 있으면 어플리케이션 음원 파일 출력은 도중에 종료하고, 어플리케이션 음원 파일에 대한 디먹싱 및 디코딩은 종료하지 않고 완료하여 어플리케이션 음원 파일에 대응된 어플리케이션 PCM 데이터를 획득하여 저장할 수 있다.
420 동작에서, 일 실시예에 따른 프로세서(220)는 음원 출력 이벤트 발생에 기반하여 제1 PCM 데이터 출력 조건 만족 여부를 식별할 수 있다. 일 실시예에 따른 음원 출력 이벤트는 디폴트 음원 파일 출력(또는 재생) 요청이거나, 어플리케이션의 어플리케이션 음원 파일 출력(또는 재생) 요청을 포함할 수 있다. 일 실시예에 따른 제1 PCM 데이터 출력 조건은 출력 요청된 음원 파일에 대한 PCM 데이터가 메모리(250)의 PCM 저장부에 존재하는지 여부, 출력 요청된 음원의 음원 파일에 대한 접근이 가능한지 여부, 출력 요청된 음원이 어플리케이션 음원이면 어플리케이션 음원 파일의 출력이 가능한지 여부, 출력 요청된 음원의 음원 파일에 대한 디먹서 및/또는 디코더 사용이 가능한지 여부 중 적어도 하나를 식별할 수 있다.
430 동작에서, 일 실시예에 따른 프로세서(220)는 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 PCM 저장부(370)에 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 출력할 수 있다. 예를 들면, 프로세서(220)는 출력 요청된 음원 파일에 대한 제1 PCM 데이터가 PCM 저장부에 존재하거나, 출력 요청된 음원 파일에 대한 접근이 불가능하거나, 출력 요청된 음원 파일이 어플리케이션 음원 파일이고 어플리케이션 음원 파일의 출력이 불가능하거나, 출력 요청된 음원 파일에 대한 디먹서 및/또는 디코더 사용이 불가능한 경우 메모리(250)에 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 출력할 수 있다.
440 동작에서, 일 실시예에 따른 프로세서(220)는 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 출력할 수 있다. 예를 들면, 프로세서(220)는 출력 요청된 음원 파일에 대한 제1 PCM 데이터가 PCM 저장부에 존재하지 않고, 출력 요청된 음원 파일에 대한 접근이 가능하고 출력 요청된 음원 파일이 어플리케이션 음원 파일이고 어플리케이션 음원 파일의 출력이 가능하고, 출력 요청된 음원 파일에 대한 디먹서 및/또는 디코더 사용이 가능한 경우 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 출력할 수 있다.
일 실시예에 따른 음원 파일 재생 방법은 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 제1 PCM 데이터를 획득하고 획득된 제1 PCM 데이터를 저장하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 음원 출력 이벤트 발생에 기반하여 상기 제1 PCM 데이터 출력 조건의 만족 여부를 식별하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 상기 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 스피커를 통해 출력하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 상기 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 상기 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 상기 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 상기 스피커를 통해 출력하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법에서 상기 지정된 제1 음원 파일은 벨소리 타입 음원 파일, 알림 타입 음원 파일, 또는 알람 타입 음원 파일 중 하나를 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 전자 장치의 부팅 완료 식별에 기반하여 디폴트 음원 파일을 상기 지정된 제1 음원 파일로 식별하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 디폴트 음원 파일에 대응된 상기 제1 지정된 음원 파일을 디먹싱 및/또는 디코딩하여 상기 디폴트 음원 파일에 대응된 상기 제1 PCM 데이터를 획득하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 디폴트 음원 파일에 대응된 상기 제1 PCM 데이터를 상기 메모리의 PCM 저장부에 저장하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 전자 장치의 부팅 완료 식별에 기반하여 상기 메모리의 저장 공간 크기를 식별하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 메모리의 저장 공간 크기에 기반하여 PCM 데이터 저장 공간 크기를 식별하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 PCM 데이터 저장 공간 크기에 기반하여 복수의 음원 파일들 중 PCM 데이터를 획득할 상기 디폴트 음원 파일을 선택하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 전자 장치에 설치된 어플리케이션으로부터 어플리케이션 음원 파일의 재생 요청에 기반하여 상기 어플리케이션 음원 파일을 상기 지정된 제1 음원 파일로 식별하고, 상기 어플리케이션 음원 파일에 대응된 상기 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터를 획득하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터를 재생하면서 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터를 상기 메모리의 PCM 저장부에 저장하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 어플리케이션 음원 파일에 대응된 상기 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩 중 상기 어플리케이션 음원 파일에 대응된 상기 지정된 제1 음원 파일의 재생 중단 요청을 식별하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법은 상기 어플리케이션 음원 파일에 대응된 상기 지정된 제1 음원 파일의 재생 중단 요청에 기반하여 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터의 획득 및 저장은 유지하고, 상기 어플리케이션 음원 파일에 대응된 상기 제1 PCM 데이터의 재생은 중단하는 동작을 포함할 수 있다.
일 실시예에 따른 상기 방법에서 상기 제1 PCM 데이터 출력 조건은, 상기 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하는지 여부, 상기 지정된 제1 음원 파일에 대한 접근이 가능한지 여부, 상기 지정된 제1 음원 파일이 어플리케이션 음원 파일이면 어플리케이션 음원 파일의 출력이 가능한지 여부, 및/또는 상기 지정된 제1 음원 파일에 대한 디먹서 및/또는 디코더 사용이 가능한지 여부를 포함할 수 있다.
일 실시예에 따른 상기 방법에서 상기 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하거나, 상기 지정된 제1 음원 파일에 대한 접근이 불가능하거나, 상기 제1 음원 파일이 어플리케이션 음원 파일이고 상기 어플리케이션 음원 파일의 출력이 불가능하거나, 상기 지정된 제1 음원 파일에 대한 디먹서 및/또는 디코더 사용이 불가능한 경우 상기 제1 PCM 데이터 출력 조건을 만족하는 것으로 식별할 수 있다.
일 실시예에 따른 상기 방법에서 상기 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하지 않고, 상기 지정된 제1 음원 파일에 대한 접근이 가능하고, 상기 지정된 제1 음원 파일이 상기 어플리케이션 음원 파일이고 상기 어플리케이션 음원 파일의 출력이 가능하고, 상기 지정된 제1 음원 파일에 대한 디먹서 및/또는 디코더 사용이 가능한 경우 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것으로 식별할 수 있다.
일 실시예에 따른 상기 방법은 상기 전자 장치가 절전 모드인지 여부, 상기 어플리케이션 음원 파일이 외부의 서버에 저장되어 있고 상기 외부의 서버에 접근이 가능한지 여부, 프로세서 사용율이 지정된 사용율 이상인지 여부, 및/또는 상기 전자 장치가 게임을 포함하는 멀티 태스킹 상태인지 여부에 기반하여 상기 어플리케이션 음원 파일의 출력이 가능한지 여부를 식별하는 동작을 포함할 수 있다.
도 5는 일 실시예에 따른 전자 장치에서 디폴트 PCM 데이터 저장 동작에 대한 흐름도이다.
도 5를 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 510 내지 540 동작 중 적어도 하나의 동작을 수행할 수 있다.
510 동작에서, 일 실시예에 따른 프로세서는(220)는 전자 장치(201)의 부팅 완료를 식별할 수 있다. 예를 들면, 프로세서(220)는 전자 장치(201)의 전원 온에 기반하여 부팅을 시작할 수 있고 부팅이 완료됨을 식별할 수 있다.
520 동작에서, 일 실시예에 따른 프로세서는(220)는 전자 장치(201)의 부팅 완료 식별에 기반하여 지정된 디폴트 음원 파일을 식별할 수 있다. 일 실시예에 따르면 프로세서(220)는 지정된 디폴트 음원 파일에 대한 정보를 이용하거나 음원 파일을 관리하는 DB(database)를 이용하여 메모리(250)에 저장된 음원 파일들 중 지정된 디폴트 파일과 지정된 디폴트 파일의 저장 위치를 식별할 수 있다. 예를 들면, 디폴트 음원 파일은 지정된 타입의 디폴트 음원 파일을 포함할 수 있으며, 벨소리 타입의 벨소리음 파일, 알림 타입의 알림음 파일, 및/또는 알람 타입의 알람음 파일을 포함할 수 있다. 예를 들면, 프로세서(220)는 복수의 음원 파일들 중 PCM 데이터를 저장할 제1 벨소리음 파일, 제1 알림음 파일, 및/또는 제1 알람음 파일을 식별할 수 있다. 일 실시예에 따르면 프로세서(220)는 PCM 데이터 저장 공간의 크기와 상관없이 또는 PCM 데이터 저장 공간의 크기를 고려하여 PCM 데이터로 저장할 적어도 하나의 디폴트 음원 파일을 식별할 수 있다.
530 동작에서, 일 실시예에 따른 프로세서는(220)는 디먹서(예: 도 3의 디먹서부(350)) 및/또는 디코더(도 3의 디코더부(360))를 이용하여 디폴트 음원 파일에 대응된 디폴트 PCM 데이터를 획득할 수 있다. 일 실시예에 따른 프로세서는(220)는 하나 또는 복수의 디폴트 음원 파일에 대응된 디폴트 PCM 데이터를 획득할 수 있다. 예를 들면, 프로세서(220)는 디먹서부(350)를 이용하여 PCM 데이터를 저장하도록 식별된 제1 벨소리음 파일을 제1 벨소리음 오디오 프레임으로 디먹싱하고, 디코더부(360)를 이용하여 제1 벨소리음 오디오 프레임을 디코딩하여 압축 해제된 제1 벨소리음 PCM 데이터를 획득할 수 있다. 예를 들면, 프로세서(220)는 디먹서부(350)를 이용하여 PCM 데이터를 저장하도록 식별된 제1 알림음 파일을 제1 알림음 오디오 프레임으로 디먹싱하고, 디코더부(360)를 이용하여 제1 알림음 오디오 프레임을 디코딩하여 압축 해제된 제1 알림음 PCM 데이터를 획득할 수 있다. 예를 들면, 프로세서(220)는 디먹서부(350)를 이용하여 PCM 데이터를 저장하도록 식별된 제1 알람음 파일을 제1 알람음 오디오 프레임으로 디먹싱하고, 디코더부(360)를 이용하여 제1 알람음 오디오 프레임을 디코딩하여 압축 해제된 제1 알람음 PCM 데이터를 획득할 수 있다.
540 동작에서, 일 실시예에 따른 프로세서는(220)는 디폴트 음원 파일의 정보 및 디폴트 PCM 데이터를 저장할 수 있다. 일 실시예에 따른 프로세서는(220)는 디폴트 음원 파일의 정보를 포함하는 음원 정보 및 디폴트 PCM 데이터를 PCM 저장부(370)에 저장할 수 있다. 일 실시예에 따른 프로세서는(220)는 디폴트 PCM 데이터 저장 시 타임스탬프(timestamp)를 함께 저장할 수 있다. 예를 들면, 디폴트 음원 파일의 정보는 PCM 저장부(370)에서 디폴트 PCM 데이터를 검색하고 재생하는데 이용되는 정보를 포함할 수 있다. 예를 들면, 음원 정보는 파일 이름, 파일 패스, 파일 크기, 길이, 샘플링 레이트, 채널, 비트 크기, 음원 타입, PCM 크기, 반복 여부 중 적어도 하나를 포함할 수 있다. 예를 들면, 파일 이름은 음원 파일의 이름을 포함할 수 있고, 파일 패스는 음원 파일의 저장 경로를 포함할 수 있고, 길이는 음원 파일의 길이를 포함할 수 있고, 샘플링 레이트는 음원 파일의 샘플링 레이트를 포함할 수 있고 채널은 음원 파일의 채널을 포함할 수 있고, 비트 크기는 음원 파일의 비트 크기를 포함할 수 있고, 음원 타입은 음원 파일의 타입을 포함할 수 있고, PCM 크기는 PCM 데이터의 크기를 포함할 수 있고, 반복 여부는 PCM 데이터의 재생을 자동 반복할지 여부를 나타내는 값을 포함할 수 있다.
도 6은 일 실시예에 따른 전자 장치에서 PCM 데이터 저장 공간 크기에 기반한 디폴트 PCM 데이터 저장 동작에 대한 흐름도이다.
도 6을 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 610 내지 640 동작 중 적어도 하나의 동작을 수행할 수 있다.
610 동작에서, 일 실시예에 따른 프로세서는(220)는 디바이스 부팅 완료 식별에 기반하여 PCM 데이터 저장 공간 크기를 식별할 수 있다. 일 실시예에 따르면, 프로세서(220)는 메모리(250)의 전체 저장 공간 크기를 기반으로 PCM 저장부(370)로 이용할 PCM 데이터 저장 공간 크기를 식별(또는 결정)할 수 있다. 예를 들면, 메모리(250)의 저장 공간 크기는 다양할 수 있으며, 메모리(250)의 저장 공간 크기에 따라 PCM 데이터 저장 공간 크기가 다르게 식별(결정)될 수 있다.
메모리(250)의 저장 공간 크기(GB) PCM 저장부(370)의 저장 공간 크기(MB)
8 초과 8
4초과 ~ 8 이하 4
1 초과 ~ 4이하 3
상기 표 1을 참조하면, 일 실시예에 따른 프로세서(220)는 메모리(250)의 저장 공간 크기가 8GB 초과인 경우 PCM 저장부(370)의 저장 공간 크기를 8MB로 식별(또는 결정)할 수 있고, 메모리(250)의 저장 공간 크기가 4GB초과 ~ 8GB이하인 경우 PCM 저장부(370)의 저장 공간 크기를 4MB로 식별(또는 결정)할 수 있고, 메모리(250)의 저장 공간 크기가 1GB 초과 ~ 4GB이하인 경우 PCM 저장부(370)의 저장 공간 크기를 3MB로 식별(또는 결정)할 수 있다. 상기 표 1에서는 메모리(250)의 저장 공간 크기가 8GB 초과인 경우, 4GB초과 ~ 8GB이하인 경우, 1GB 초과 ~ 4GB이하인 경우를 예를 들어 설명하였으나, 일 예일 뿐 메모리(250)의 저장 공간 크기와 PCM 저장부(370)의 저장 공간 크기의 비율은 당업자가 다양한 값으로 다르게 정할 수 있다.
620 동작에서, 일 실시예에 따른 프로세서는(220)는 복수의 디폴트 음원 파일들 각각의 PCM 데이터 크기에 기반하여 PCM 데이터를 저장할 적어도 하나의 디폴트 음원 파일을 식별할 수 있다. 일 실시예에 따르면 프로세서(220)는 디폴트로 설정된 벨소리음 파일, 알림음 파일, 및/또는 알람음 파일 중 적어도 하나를 식별하고 각각의 예상 PCM 데이터 크기에 기반하여 PCM 데이터를 저장할 벨소리음 파일, 알림음 파일, 및/또는 알람음 파일을 식별할 수 있다. 예를 들면, 프로세서(220)는 벨소리음 파일, 알림음 파일, 및/또는 알람음 파일에 대한 PCM 데이터 크기를 예상하고, 예상된 PCM 데이터 크기에 기반하여 PCM 데이터를 저장할 벨소리음 파일, 알림음 파일, 및/또는 알람음 파일을 식별할 수 있다.
Figure pat00001
상기 수학식 1을 참조하면, 일 실시예에 따른 프로세서(220)는 상기 수학식 1을 통해 계산된 예상 PCM 데이터 크기를 기반으로 PCM 데이터를 저장할 적어도 하나의 디폴트 음원 파일을 식별할 수 있다. 예를 들면, 프로세서(220)는 디폴트 벨소리음 파일에 대한 예상 PCM 데이터 크기(이하 예상 디폴트 벨소리음 PCM 데이터 크기라고도 함)를 식별하고, 예상 디폴트 벨소리음 PCM 데이터 크기와 PCM 저장부(370)의 저장 공간 상의 이용 가능한 저장 공간 크기(예: PCM 저장부(370)의 저장 공간 크기/3, 이외 다른 크기도 가능할 수 있음)를 비교할 수 있다. 프로세서(220)는 예상 디폴트 벨소리음 PCM 데이터 크기가 PCM 저장부(370)의 저장 공간 상의 이용 가능한 저장 공간 크기보다 작은 경우 디폴트 벨소리음 파일을 PCM 데이터를 저장할 음원 파일로 식별(결정)할 수 있고, 예상 디폴트 벨소리음 PCM 데이터 크기가 PCM 저장부(370)의 저장 공간 상의 이용 가능한 저장 공간 크기보다 크거나 같은 경우 디폴트 벨소리음 파일이 아니라 메모리(250)에 저장된 벨소리음 파일들 중 가장 작은 크기의 벨소리음 파일을 PCM 데이터를 저장할 음원 파일로 식별(결정)할 수 있다. 일예를 들면, 프로세서(220)는 디폴트 알림음 파일에 대한 예상 PCM 데이터 크기(이하 예상 디폴트 알림음 PCM 데이터 크기라고도 함)를 식별하고, 예상 디폴트 알림음 PCM 데이터 크기와 PCM 저장부(370)의 저장 공간 상의 이용 가능한 저장 공간 크기(예: PCM 저장부(370)의 저장 공간 크기/3, 이외 다른 크기도 가능할 수 있음)를 비교할 수 있다. 프로세서(220)는 예상 디폴트 알림음 PCM 데이터 크기가 PCM 저장부(370)의 저장 공간 상의 이용 가능한 저장 공간 크기보다 작은 경우 디폴트 알림음 파일을 PCM 데이터를 저장할 음원 파일로 식별(결정)할 수 있고, 예상 디폴트 알림음 PCM 데이터 크기가 PCM 저장부(370)의 저장 공간 상의 이용 가능한 저장 공간 크기보다 크거나 같은 경우 디폴트 알림음 파일이 아니라 메모리(250)에 저장된 알림음 파일들 중 가장 작은 크기의 알림음 파일을 PCM 데이터를 저장할 음원 파일로 식별(결정)할 수 있다. 일 예를 들면, 프로세서(220)는 디폴트 알람음 파일에 대한 예상 PCM 데이터 크기(이하 예상 디폴트 알람음 PCM 데이터 크기라고도 함)를 식별하고, 예상 디폴트 알람음 PCM 데이터 크기와 PCM 저장부(370)의 저장 공간 상의 이용 가능한 저장 공간 크기(예: PCM 저장부(370)의 저장 공간 크기/3, 이외 다른 크기도 가능할 수 있음)를 비교할 수 있다. 프로세서(220)는 예상 디폴트 알람음 PCM 데이터 크기가 PCM 저장부(370)의 저장 공간 상의 이용 가능한 저장 공간 크기보다 작은 경우 디폴트 알람음 파일을 PCM 데이터를 저장할 음원 파일로 식별(결정)할 수 있고, 예상 디폴트 알람음 PCM 데이터 크기가 PCM 저장부(370)의 저장 공간 상의 이용 가능한 저장 공간 크기보다 크거나 같은 경우 디폴트 알람음 파일이 아니라 메모리(250)에 저장된 알람음 파일들 중 가장 작은 크기의 알림음 파일을 PCM 데이터를 저장할 음원 파일로 식별(결정)할 수 있다. 상기에서는 벨소리음 파일, 알림음 파일, 알람음 파일의 경우를 예를 들어 설명하였으나, 일 예일 뿐 디폴트 음원 파일은 다른 타입의 파일도 가능할 수 있다.
630 동작에서, 일 실시예에 따른 프로세서는(220)는 상기 식별된 적어도 하나의 디폴트 음원 파일을 디먹싱 및/또는 디코딩하여 적어도 하나의 디폴트 PCM 데이터를 획득하고 획득된 적어도 하나의 디폴트 PCM 데이터를 PCM 저장부(370)에 저장할 수 있다. 예를 들면, 프로세서(220)는 획득된 적어도 하나의 디폴트 PCM 데이터와 적어도 하나의 디폴트 PCM 데이터 각각의 음원 정보를 함께 저장할 수 있다.
640 동작에서, 일 실시예에 따른 프로세서는(220)는 PCM 데이터의 저장 대상이 되는 어플리케이션을 식별할 수 있다. 예를 들면, 프로세서(220)는 디폴트 음원 파일 외에 PCM 데이터를 저장할 어플리케이션 음원 파일을 가지는 어플리케이션을 식별할 수 있다. 예를 들면, 디폴트 음원 파일 외에 PCM 데이터를 저장할 어플리케이션 음원 파일을 가지는 어플리케이션은 전화 어플리케이션, 메시지 어플리케이션, 및/또는 시계 어플리케이션을 포함하여 미리 지정되거나 특수목적 음원 사용 빈도가 높은 어플리케이션을 기반으로 지정될 수 있다. 예를 들면, 프로세서(220)는 어플리케이션으로부터 음원 재생 요청 시 어플리케이션 별로 특수목적 음원 재생 요청 횟수를 메모리(250)에 파일 또는 DB로 저장할 있으며, 미리 기록된 특수목적 음원 재생 요청 횟수를 기반으로 PCM 데이터의 저장 대상이 되는 어플리케이션 또는 어플리케이션 음원 파일을 식별할 수 있다.
도 7은 일 실시예에 따른 전자 장치에서 어플리케이션 PCM 데이터 저장 동작에 대한 흐름도이다.
도 7을 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 710 내지 760 동작 중 적어도 하나의 동작을 수행할 수 있다.
710 동작에서, 일 실시예에 따른 프로세서는(220)는 어플리케이션으로부터 출력(또는 재생) 요청된 어플리케이션 음원 파일을 식별할 수 있다.
720 동작에서, 일 실시예에 따른 프로세서는(220)는 출력 요청된 어플리케이션 음원 파일을 PCM 데이터 저장할 어플리케이션 음원 파일로 지정할 수 있다. 예를 들면, 프로세서(220)는 출력 요청된 어플리케이션 음원 파일에 대응된 어플리케이션 PCM 데이터가 PCM 저장부(370)에 존재하지 않는 경우 출력 요청된 어플리케이션 음원 파일을 PCM 데이터 저장할 어플리케이션 음원 파일로 지정할 수 있다. 프로세서(220)는 출력 요청된 어플리케이션 음원 파일에 대응된 어플리케이션 PCM 데이터가 PCM 저장부(370)에 존재하는 경우 PCM 저장부(370)에 존재하는 어플리케이션 음원 파일에 대응된 어플리케이션 PCM 데이터를 출력할 수 있다.
730 동작에서, 일 실시예에 따른 프로세서는(220)는 지정된 어플리케이션 음원 파일을 디먹싱 및/또는 디코딩하여 어플리케이션 PCM 데이터를 획득하고, 획득되는 어플리케이션 PCM 데이터의 재생 및 저장을 시작할 수 있다. 예를 들면, 프로세서(220)는 획득되는 어플리케이션 PCM 데이터를 재생하면서 동시에 PCM 저장부(370)에 저장할 수 있다.
740 동작에서, 일 실시예에 따른 프로세서는(220)는 지정된 어플리케이션 음원 파일에 대한 디먹싱 및/또는 디코딩 완료 전 지정된 어플리케이션 음원 파일 재생 종료 요청이 있는지 여부를 식별할 수 있다. 예를 들면 프로세서(220)는 벨소리 음원 파일에 대한 디먹싱 및/또는 디코딩 완료 전 사용자로부터 벨소리음 재생 종료(예: 벨소리음이 울리는 도중 전화 수신) 요청이 있는 경우 이를 식별할 수 있다. 예를 들면 프로세서(220)는 알림 또는 알람 음원 파일에 대한 디먹싱 및/또는 디코딩 완료 전 사용자로부터 알림음 또는 알람음 재생 종료(예: 알림음 또는 알람음이 울리는 도중 알림 또는 알람 확인) 요청이 있는 경우 이를 식별할 수 있다.
750 동작에서, 일 실시예에 따른 프로세서는(220)는 어플리케이션 음원 파일에 대한 디먹싱 및/또는 디코딩 완료 전 지정된 어플리케이션 음원 파일 재생 종료 요청이 있으면(740동작 - 예) 어플리케이션 PCM 데이터의 재생(또는 출력) 수행은 종료하고 저장 수행은 유지할 수 있다.
760 동작에서, 일 실시예에 따른 프로세서는(220)는 지정된 어플리케이션 음원 파일 재생 종료 요청 없는 상태에서(740동작 - 아니오) 어플리케이션 음원 파일에 대한 디먹싱 및/또는 디코딩이 완료되는지 식별할 수 있다. 일 실시예에 따른 프로세서는(220)는 지정된 어플리케이션 음원 파일 재생 종료 요청 없는 상태에서 어플리케이션 음원 파일에 대한 디먹싱 및/또는 디코딩이 완료되면 어플리케이션 PCM 데이터의 재생(또는 출력) 및 저장을 완료할 수 있다. 일 실시예에 따른 프로세서는(220)는 지정된 어플리케이션 음원 파일 재생 종료 요청 없는 상태에서 어플리케이션 음원 파일에 대한 디먹싱 및/또는 디코딩이 완료되지 않으면 어플리케이션 음원 파일에 대한 디먹싱 및/또는 디코딩이 완료될 때까지 740 동작 및 750 동작을 수행할 수 있다.
일 실시예에 따르면 프로세서(220)는 부팅 후 어플리케이션 음원 파일의 최초 재생 요청에 따라 어플리케이션 음원 파일에 대한 어플리케이션 PCM 데이터를 획득하여 재생 및 저장을 수행하고, 어플리케이션 음원 파일에 대한 다음 재생 요청이 있는 경우 저장된 어플리케이션 PCM 데이터를 이용하여 재생을 수행할 수 있다. 일 실시예에 따르면 어플리케이션 음원 파일에 대한 최초 어플리케이션 PCM 데이터 재생 및 저장 시 어플리케이션 음원 파일에 대한 어플리케이션 PCM 데이터가 전부 획득되지 않은 상태에서 어플리케이션 음원 파일에 대한 재생이 종료가 요청된 경우에도 재생은 종료하더라도 어플리케이션 음원 파일에 대한 어플ž레이션 PCM 데이터 획득은 완료하여 저장할 수 있다.
도 8은 일 실시예에 따른 PCM 저장부의 PCM 데이터 저장 예를 설명하기 위한 도면이다.
도 8을 참조하면, 일 실시예에 따른 프로세서(220)는 적어도 하나의 디폴트 음원 파일 또는 어플리케이션 음원 파일을 각각 디먹싱하여 적어도 하나의 인코딩된 오디오 프레임(encoded frame #1 ~ #N)을 획득할 수 있다. 일 실시예에 따른 프로세서(220)는 적어도 하나의 인코딩된 오디오 프레임(encoded frame #1 ~ #N)을 각각 디코딩하여 압축 해제된 적어도 하나의 PCM 데이터(pcm #1 ~ #N)을 획득할 수 있다. 일 실시예에 따른 프로세서(220)는 적어도 하나의 PCM 데이터(pcm #1 ~ #N)를 획득 순서 또는 지정된 조건의 순서에 기반하여 PCM 저장부(370)에 저장할 수 있다.
도 9는 일 실시예에 따른 음원 정보와 음원 정보에 대응된 PCM 데이터의 구조를 나타낸 도면이다.
도 9를 참조하면, 일 실시예에 따른 프로세서(220)는 PCM 저장부(370)의 저장 공간(910)에 PCM 데이터와 음원 정보를 함께 저장할 수 있다. 예를 들면, 벨소리음의 음원 파일에 대응된 PCM DATA와 음원정보 #1을 함께 저장하고, 알림음의 음원 파일에 대응된 PCM DATA와 음원정보 #2를 함께 저장하고, 알람음의 음원 파일에 대응된 PCM DATA와 음원정보 #3을 함께 저장할 수 있다. 일 실시예에 따른 음원 정보(920)는 PCM 저장부(370)에서 PCM 데이터(예: 디폴트 PCM 데이터 또는 어플리케이션 PCM 데이터)를 검색하고 재생하는데 이용되는 정보를 포함할 수 있다. 예를 들면, 음원 정보(920)는 파일 이름, 파일 패스, 파일 크기, 길이, 샘플링 레이트, 채널, 비트 크기, 음원 타입, PCM 크기, 반복 여부 중 적어도 하나를 포함할 수 있다. 예를 들면, 파일 이름은 음원 파일의 이름(예: Home coming. ogg)을 포함할 수 있고, 파일 패스는 음원 파일의 저장 경로(예: /storage)를 포함할 수 있고, 파일 크기는 음원 파일의 크기(예: 286561 byte)를 포함할 수 있고, 길이는 음원 파일의 길이(예: 13833ms)를 포함할 수 있고, 샘플링 레이트는 음원 파일의 샘플링 레이트(예: 48000hz)를 포함할 수 있고 채널은 음원 파일의 채널(2 채널)을 포함할 수 있고, 비트 크기는 음원 파일의 비트 크기(예: 16bit)를 포함할 수 있고, 음원 타입은 음원 파일의 타입(예: 타입 3)(여기서 타입 1은 벨소리 타입, 타입 2는 알림음 타입, 타입 3은 알람음 타입일 수 있음)을 포함할 수 있고, PCM 크기는 PCM 데이터의 크기(예: 2646600 byte)를 포함할 수 있고, 반복 여부는 PCM 데이터의 재생을 자동 반복할지 여부를 나타내는 값(예: 1) (여기서 1은 재생 반복을 나타내는 값이고, 0은 재생을 반복하지 않음을 나타내는 값을 포함할 수 있음)을 포함할 수 있다.
도 10은 일 실시예에 따른 전자 장치의 부팅 후 음원 출력 이벤트 발생에 따른 동작에 대한 흐름도이다.
도 10을 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 1010 내지 1080 동작 중 적어도 하나의 동작을 수행할 수 있다.
1010 동작에서, 일 실시예에 따른 프로세서는(220)는 전자 장치의 부팅 식별에 기반하여 지정된 디폴트 음원 파일에 대응된 디폴트 PCM 데이터를 획득 및 저장할 수 있다. 예를 들면, 프로세서(220)는 도 5의 510 동작 내지 540 동작을 통해 디폴트 음원 파일에 대응된 디폴트 PCM 데이터를 획득 및 저장할 수 있다.
1020 동작에서, 일 실시예에 따른 프로세서는(220)는 음원 출력 이벤트가 발생하는지 여부를 식별할 수 있다. 예를 들면, 프로세서는(220)는 지정된 음원 파일(예: 특수목적 음원)의 출력 요청이 있는지 식별할 수 있다. 예를 들면, 프로세서는(220)는 디폴트 음원 또는 어플리케이션 음원의 출력 이벤트 발생을 식별할 수 있다.
1030 동작에서, 일 실시예에 따른 프로세서는(220)는 음원 출력 이벤트 발생 시(1020 동작-예) 출력 요청된 음원이 PCM 저장부에 존재하는 음원인지 식별할 수 있다. 예를 들면, 프로세서는(220)는 출력 요청된 음원 파일에 대응된 PCM 데이터가 PCM 저장부(370)에 미리 저장되어 있는지 식별할 수 있다. 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원 파일에 대응된 PCM 데이터가 PCM 저장부(370)에 저장되어 있는 경우(1030 동작-예) 1040 동작을 수행할 수 있다. 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원 파일에 대응된 PCM 데이터가 PCM 저장부(370)에 저장되어 있지 않은 경우(1030 동작-아니오) 1050 동작을 수행할 수 있다.
1040 동작에서, 일 실시예에 따른 프로세서는(220)는 저장된 PCM 데이터를 재생(또는 출력)할 수 있다. 예를 들면, 프로세서(220)는 출력 요청된 음원의 음원 파일에 대한 디먹싱 및/또는 디코딩 없이 PCM 저장부(370)에서 출력 요청된 음원의 PCM 데이터를 검색하여 렌더러부(340)를 통해 검색된 PCM 데이터에 대응된 오디오 사운드를 출력할 수 있다. 일 실시예에 따른 프로세서는(220)는 PCM 저장부(370)에서 출력 요청된 음원의 PCM 데이터와 음원 정보를 확인하고, 음원 정보에 포함된 샘플링 레이트, 채널, 비트 크기를 이용하여 렌더러부(340)를 설정하고(또는 렌더러를 호출(또는 생성))할 수 있다. 일 실시예에 따른 프로세서는(220)는 상기 설정 또는 호출 또는 생성된 렌더러부(340)에 출력 요청된 음원의 PCM 데이터를 전달할 수 있다. 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원의 PCM 데이터가 반복 재생되도록 설정된 경우 출력 요청된 음원의 PCM 데이터를 렌더러부(340)에 반복적으로 전달할 수 있다. 일 실시예에 따른 렌더러부(340)는 출력 요청된 음원의 PCM 데이터를 렌더링하여 PCM 데이터에 대응하는 오디오 사운드를 스피커(240)를 통해 출력할 수 있다. 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원의 PCM 데이터의 재생이 종료된 경우 동작을 중단할 수 있다. 일 실시예에 따른 프로세서(220)는 PCM 저장부(370)에 저장된 PCM 데이터의 재생 중 SEEK 요청을 수신할 수 있다. 예를 들면, SEEK 요청은 재생 위치 이동 요청을 포함할 수 있다. 일 실시예에 따른 프로세서(220)는 PCM 저장부(370)에 저장된 PCM 데이터의 재생 중 SEEK 요청이 수신되면 지정된 계산식을 통해 PCM 데이터의 재생 위치를 식별하고, 식별된 재생 위치부터 순차적으로 PCM 데이터를 렌더러부(340)에 전달할 수 있다.
Figure pat00002
일 실시예에 따르면 프로세서(220)는 상기 수학식 2를 이용하여 PCM 데이터의 재생 위치 값을 식별하고, 식별된 PCM 데이터의 재생 위치 값부터 순차적으로 PCM 데이터를 렌더러부(340)에 전달할 수 있다.
예를 들면, sampling rate를 고려한 sample 1개가 차지하는 ms 시간 값 = 1000 / 44100 (sampling rate)이고, sample 1개를 구성하는 크기는 2 (channel count) * 2 (16 bit depth / 8)이고, seek 요청된 위치가 100 ms인 경우, 프로세서(220)는 상기 수학식 2에 따라 100 / (1000 / 44100) * 4 = 17640 byte와 같이 계산하고, PCM 데이터의 주소의 시작지점에서 상기 계산된 17640 byte 위치를 더한 위치부터 순차적으로 PCM 데이터를 렌더러부(340)에 전달할 수 있다.
1050 동작에서, 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원에 대한 음원 파일 접근이 가능한지 식별할 수 있다. 예를 들면, 출력 요청된 음원 파일이 삭제되었거나 출력 요청된 음원 파일이 저장된 저장 공간에 접근이 불가능한 경우 프로세서는(220)는 출력 요청된 음원에 대한 음원 파일 접근이 가능하지 않은 것으로 식별할 수 있다. 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원에 대한 음원 파일 접근이 가능하지 않은 경우(1050 동작-아니오) 1040 동작을 수행할 수 있다. 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원에 대한 음원 파일 접근이 가능한 경우(1050 동작-예) 1060 동작을 수행할 수 있다.
1060 동작에서, 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원이 어플리케이션 음원 파일이고 어플리케이션 음원 파일이 출력 가능 상태인지 식별할 수 있다. 일 실시예에 따르면, 프로세서(220)는 전자 장치(201)가 절전 모드인지 여부, 출력 요청된 어플리케이션 음원 파일이 외부의 서버에 저장되어 있고 외부의 서버에 접근이 가능한지 여부, 프로세서 사용율(예: CPU 사용율)이 지정된 사용율(예: 80%) 이상인지 여부, 및/또는 게임을 포함하는 멀티 태스킹 상태인지 여부 중 적어도 하나를 식별하여 어플리케이션 음원 파일이 출력 가능한지 여부를 식별할 수 있다. 예를 들면, 프로세서(220)는 전자 장치(201)가 절전 모드가 아니고, 출력 요청된 어플리케이션 음원 파일이 외부의 서버에 저장되어 있고 외부의 서버에 접근이 가능하고, 프로세서 사용율(예: CPU 사용율)이 지정된 사용율(예: 80%) 이상이 아니고, 게임을 포함하는 멀티 태스킹 상태가 아닌 경우 어플리케이션 음원 파일이 출력 가능 상태인 것으로 식별할 수 있다. 예를 들면, 프로세서(220)는 전자 장치(201)가 절전 모드이거나, 출력 요청된 어플리케이션 음원 파일이 외부의 서버에 저장되어 있고 외부의 서버에 접근이 가능하지 않거나(예: 비행기 모드이거나 통신이 가능하지 않거나, 서버 접속이 불가능하거나), 프로세서 사용율(예: CPU 사용율)이 지정된 사용율(예: 80%) 이상이거나, 게임을 포함하는 멀티 태스킹 상태인 경우 어플리케이션 음원 파일이 출력 불가능 상태인 것으로 식별할 수 있다. 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원이 어플리케이션 음원 파일이고 어플리케이션 음원 파일이 출력 불가능 상태인 경우(1060 동작-아니오) 1040 동작을 수행할 수 있다. 일 실시예에 따른 프로세서는(220)는 출력 요청된 음원이 어플리케이션 음원 파일이고 어플리케이션 음원 파일이 출력 가능 상태인 경우(1060 동작-예) 1070 동작을 수행할 수 있다.
1070 동작에서, 일 실시예에 따른 프로세서는(220)는 디먹서 및/또는 디코더 사용이 가능한지 식별할 수 있다. 예를 들면, 프로세서는(220)는 사용 가능한 디먹서 및/또는 디코더의 존재 여부 및/또는 사용 가능한 디먹서 및/또는 디코더의 에러 여부를 식별할 수 있다. 일 실시예에 따르면 프로세서는(220)는 디먹서 및/또는 디코더 사용이 불가능한 경우(1070 동작-아니오) 1040 동작을 수행할 수 있다. 일 실시예에 따르면 프로세서는(220)는 디먹서 및/또는 디코더 사용이 가능한 경우(1070동작-예) 1080 동작을 수행할 수 있다.
1080 동작에서, 일 실시예에 따른 프로세서는(220)는 어플리케이션 음원 파일을 디먹싱 및/또는 디코딩하여 어플리케이션 PCM 데이터를 획득하고 어플리케이션 PCM 데이터의 재생(또는 출력) 및 저장을 수행할 수 있다. 예를 들면, 프로세서(220)는 도 7의 730 동작 내지 760 동작과 같이 어플리케이션 PCM 데이터의 재생(또는 출력) 및 저장을 수행할 수 있다. 예를 들면, 프로세서(220)는 디먹서부(350) 및/또는 디코더부(360)를 통해 어플리케이션 음원 파일에 대한 디먹싱 및/또는 디코딩을 수행하여 어플리케이션 PCM 데이터를 획득하고 획득된 PCM 데이터를 저장하면서 렌더러부를 통해 획득된 PCM 데이터에 대응된 오디오 사운드를 출력할 수 있다.
도 11은 일 실시예에 따른 어플리케이션 음원 파일 재생 시간 PCM 데이터 크기에 기반한 어플리케이션 PCM 데이터 저장 동작을 나타낸 흐름도이다.
도 11을 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 1110 내지 1160 동작 중 적어도 하나의 동작을 수행할 수 있다.
1110 동작에서, 일 실시예에 따른 프로세서(220)는 PCM 데이터 저장 대상 어플리케이션으로부터 어플리케이션 음원 파일 출력 요청이 있는지 식별할 수 있다. 예를 들면, 프로세서(220)는 음원 파일 출력 요청 시 출력 요청된 음원 파일이 PCM 데이터 저장 대상 어플리케이션으로부터 어플리케이션 음원 파일 출력인지 식별할 수 있다.
1120 동작에서, 일 실시예에 따른 프로세서(220)는 PCM 데이터 저장 대상 어플리케이션으로부터 어플리케이션 음원 파일 출력 요청이 있으면(1110동작- 예) 음원 타입을 확인(또는, 식별할) 수 있다. 예를 들면, 음원 타입은 벨소리 타입, 알림 타입, 및/또는 알림 타입을 포함할 수 있으며, 이외 특수목적 음원과 연관된 다른 타입을 더 포함할 수 있다.
1130 동작에서, 일 실시예에 따른 프로세서(220)는 출력 요청된 어플리케이션 음원 파일의 재생 시간(duration)이 상기 식별된 음원 타입의 음원 파일 재생 시간(duration) 제한값보다 큰지 여부를 식별할 수 있다. 일 실시예에 따르면 프로세서(220)는 출력 요청된 어플리케이션 음원 파일의 재생 시간(duration)이 상기 식별된 음원 타입의 음원 파일 재생 시간(duration) 제한값보다 크면(1130동작-아니오) 1140 동작을 수행할 수 있다. 일 실시예에 따르면 프로세서(220)는 출력 요청된 어플리케이션 음원 파일의 재생 시간(duration)이 상기 식별된 음원 타입의 음원 파일 재생 시간(duration) 제한값보다 크지 않으면(1130동작-예) 1150 동작을 수행할 수 있다.
1140 동작에서, 일 실시예에 따른 프로세서(220)는 출력 요청된 어플리케이션 음원 파일을 디먹싱 및/디코딩하여 어플리케이션 PCM 데이터를 획득하고, 획득된 어플리케이션 PCM 데이터에 대응된 오디오 사운드를 출력하되 획득된 어플리케이션 PCM 데이터는 저장하지 않을 수 있다.
1150 동작에서, 일 실시예에 따른 프로세서(220)는 출력 요청된 어플리케이션 음원 파일에 대한 PCM 데이터 크기가 PCM 데이터 저장 공간의 여유 공간보다 작은지 식별할 수 있다. 일 실시예에 따른 프로세서(220)는 어플리케이션 음원 파일의 재생 시간(duration)이 음원 타입의 음원 파일 재생 시간(duration) 제한값보다 크지 않은 상태에서 어플리케이션 음원 파일에 대한 PCM 데이터 크기가 PCM 데이터 저장 공간의 여유 공간보다 작지 않으면(1150 동작-아니오) 1140 동작을 수행할 수 있다. 일 실시예에 따른 프로세서(220)는 어플리케이션 음원 파일의 재생 시간(duration)이 음원 타입의 음원 파일 재생 시간(duration) 제한값보다 크지 않은 상태에서 어플리케이션 음원 파일에 대한 PCM 데이터 크기가 PCM 데이터 저장 공간의 여유 공간보다 작으면(1150 동작-예) 1160 동작을 수행할 수 있다.
1160 동작에서, 일 실시예에 따른 프로세서(220)는 출력 요청된 어플리케이션 음원 파일을 디먹싱 및/디코딩하여 어플리케이션 PCM 데이터를 획득하고, 획득된 어플리케이션 PCM 데이터에 대응된 오디오 사운드를 출력하면서 획득된 어플리케이션 PCM 데이터를 PCM 저장부(370)에 저장할 수 있다.
일 실시예에 따르면 프로세서(220)는 지정된 삭제 조건에 기반하여 PCM 저장부(370)에 저장된 어플리케이션 PCM 데이터의 일부 또는 전부를 삭제할 수 있다.
일 실시예에 따르면 프로세서(220)는 PCM 저장부(370)의 이용 가능한 저장 공간 부족 시 PCM 저장부(370)에 저장된 어플리케이션 PCM 데이터의 일부 또는 전부를 삭제할 수 있다. 일 실시예에 따르면 프로세서(220)는 어플리케이션 PCM 데이터의 저장이 필요한 경우 PCM 저장부(370)의 이용 가능한 저장 공간 부족 시 PCM 저장부(370)에 저장된 어플리케이션 PCM 데이터의 일부 또는 전부를 삭제할 수 있다.
예를 들면, 프로세서(220)는 PCM 저장부(370)에 저장된 어플리케이션 PCM 데이터의 삭제 시 PCM 저장부(370)에 저장된 어플리케이션 PCM 데이터들 각각의 접근 시간을 식별하고, 어플리케이션 PCM 데이터들 각각의 접근 시간에 기반하여 지정된 시간 동안 접근하지 않은 PCM 데이터를 삭제할 수 있다.
파일 이름(file name) 음원 타입 접근 시간
디폴트 음원 파일(default) Galaxy Bells 1 (벨소리)
Spaceline.ogg 2 (알림)
Homecoming.ogg 3 (알람)
어플리케이션 음원 파일(not default) Whistle.ogg 2 (알림) 2022/02/02
Beep Once.ogg 2 (알림) 2022/03/29
Chaos.ogg 2 (알림) 2022/03/29
상기 표 2를 참조하면, 일 실시예에 따른 프로세서(220)는 상기 표 2와 같이 PCM 저장부(370)에 저장된 어플리케이션 PCM 데이터들(예: Whistle.ogg, Beep Once.ogg, Chaos.ogg) 각각의 접근 시간(예: 2022/02/02, 2022/03/29, 2022/03/29)을 식별하고 가장 오랫동안 접근하지 않은 어플리케이션 PCM 데이터(예: Whistle.ogg)를 삭제할 수 있다.
파일 이름(file name) 음원 타입 접근 시간
디폴트 음원 파일(default) Galaxy Bells 1 (벨소리)
Spaceline.ogg 2 (알림)
Homecoming.ogg 3 (알람)
어플리케이션 음원 파일(not default) Beep Once.ogg 2 (알림) 2022/03/29
Chaos.ogg 2 (알림) 2022/03/29
상기 표 3을 참조하면, 일 실시예에 따른 프로세서(220)는 PCM 저장부(370)에 저장된 어플리케이션 PCM 데이터들(예: Whistle.ogg, Beep Once.ogg, Chaos.ogg) 중 가장 오랫동안 접근하지 않은 어플리케이션 PCM 데이터(예: Whistle.ogg)를 삭제하고 PCM 저장부(370)에 저장된 PCM 데이터들을 업데이트할 수 있다.
도 12는 일 실시예에 따른 디폴트 음원 파일 변경에 따른 디폴트 PCM 데이터 삭제 및 추가 동작을 나타낸 흐름도이다.
도 12를 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 1210 내지 1250 동작 중 적어도 하나의 동작을 수행할 수 있다.
1210 동작에서, 일 실시예에 따른 프로세서(220)는 디폴트 음원 파일의 삭제 및 추가 여부를 식별할 수 있다. 예를 들면, 프로세서(220)는 어플리케이션에 의해 제1 디폴트 음원 파일을 제2 디폴트 음원 파일로 변경 요청이 수신될 수 있으며, 제1 디폴트 음원 파일이 제2 디폴트 음원 파일로 변경 요청된 경우 제1 디폴트 음원 파일의 삭제 및 제2 디폴트 음원 파일의 추가가 요청된 것을 식별할 수 있다.
파일 이름(file name) 음원 타입
디폴트 음원 파일(default) Galaxy Bells 1 (벨소리)
Spaceline.ogg 2 (알림)
Homecoming.ogg 3 (알람)
상기 표 4를 참조하면, 예를 들면, 프로세서(220)는 사용자의 요청으로 디폴트 벨소리가 제1 벨소리(예: Galaxy Bells)에서 제2 벨소리(예: Asteroid)로 변경 요청된 경우 벨소리 어플리케이션을 통해 제1 벨소리에 대응된 제1 디폴트 음원 파일의 삭제 및 제2 벨소리에 대응된 제2 디폴트 음원 파일의 추가 요청을 식별할 수 있다.
1220 동작에서, 일 실시예에 따른 프로세서(220)는 디폴트 음원 파일의 삭제 및 추가가 요청되는 경우(1210동작-예) 디먹서 및/또는 디코더의 이용이 가능한지 식별할 수 있다.
1230 동작에서, 일 실시예에 따른 프로세서(220)는 디먹서 및/또는 디코더의 이용이 가능하지 않은 경우 디폴트 음원 파일의 삭제 및 추가 요청을 무시하고 종료할 수 있다. 일 실시예에 따른 프로세서(220)는 디먹서 및/또는 디코더의 이용이 가능한 경우(1230동작-예) 1240 동작을 수행할 수 있다.
1240 동작에서, 일 실시예에 따른 프로세서(220)는 삭제 요청된 디폴트 음원 파일(예: 제1 디폴트 음원 파일)의 PCM 데이터를 삭제할 수 있다.
1250 동작에서, 일 실시예에 따른 프로세서(220)는 디먹서 및/또는 디코더를 이용하여 추가될 디폴트 음원 파일(예: 제2 디폴트 음원 파일)에 대응된 PCM 데이터를 획득하고, 획득된 PCM 데이터를 저장할 수 있다.
파일 이름(file name) 음원 타입
디폴트 음원 파일(default) Asteroid 1 (벨소리)
Spaceline.ogg 2 (알림)
Homecoming.ogg 3 (알람)
상기 표 5를 참조하면, 예를 들면, 프로세서(220)는 Galaxy Bells 에 대응된 제1 디폴트 음원 파일을 삭제하고, Asteroid 에 대응된 제2 디폴트 음원 파일이 추가한 후 PCM 저장부(370)의 PCM 데이터 음원 목록을 업데이트할 수 있다.
도 13은 일 실시예에 따른 무음, 진동 또는 방해 금지 모드에서 PCM 저장부의 데이터 삭제 동작을 나타낸 흐름도이다.
도 13을 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 1310 및 1320 동작 중 적어도 하나의 동작을 수행할 수 있다.
1310 동작에서, 일 실시예에 따른 프로세서(220)는 전자 장치(201)의 모드가 무음, 진동 또는 방해 금지 모드로 변경되는지 식별할 수 있다. 예를 들면, 프로세서(220)는 전자 장치(201)가 음원 출력이 가능한 모드에서 무음, 진동 또는 방해 금지 모드와 같이 음원 출력이 불가능한 모드로 진입하는지 식별할 수 있다.
1320 동작에서, 일 실시예에 따른 프로세서(220)는 전자 장치(201)의 모드가 무음, 진동 또는 방해 금지 모드로 변경되는 경우(1310동작-예) PCM 저장부에서 디폴트 PCM 외의 PCM 데이터(예: 어플리케이션 PCM 데이터)를 삭제할 수 있다.
파일 이름(file name) 음원 타입
디폴트 음원 파일(default) Galaxy Bells 1 (벨소리)
Spaceline.ogg 2 (알림)
Homecoming.ogg 3 (알람)
어플리케이션 음원 파일(not default) Whistle.ogg 2 (알림)
Beep Once.ogg 2 (알림)
Chaos.ogg 2 (알림)
상기 표 6을 참조하면, 일 실시예에 따른 프로세서(220)는 전자 장치(201)의 모드가 무음, 진동 또는 방해 금지 모드로 변경되는 경우 디폴트 음원 파일(default)에 대응된 디폴트 PCM 데이터를 제외한 어플리케이션 음원 파일(not default)(예: Whistle.ogg, Beep Once.ogg, Chaos.ogg)의 어플리케이션 PCM 데이터를 삭제할 수 있다.
파일 이름(file name) 음원 타입
디폴트 음원 파일(default) Galaxy Bells 1 (벨소리)
Spaceline.ogg 2 (알림)
Homecoming.ogg 3 (알람)
상기 표 7를 참조하면, 예를 들면, 프로세서(220)는 PCM 저장부(370)에 디폴트 PCM 데이터만 존재하도록 PCM 데이터 음원 목록을 업데이트할 수 있다.
도 14a 및 도 14b는 일 실시예에 따른 전자 장치에서 음원 파일 출력 요청 시 동작 흐름도이다.
도 14a 및 도 14b를 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 1401 내지 1433 동작 중 적어도 하나의 동작을 수행할 수 있다.
1401 동작에서, 일 실시예에 따른 프로세서(220)의 재생부(310)는 어플리케이션으로부터 음원 파일 출력 요청을 수신할 수 있다. 예를 들면, 음원 파일 출력 요청은 어플리케이션의 어플리케이션 음원 파일 출력(또는 재생) 요청을 포함할 수 있다.
1403 동작에서, 일 실시예에 따른 프로세서(220)의 재생부(310)는 어플리케이션으로부터 출력 요청된 음원 파일의 음원 타입(예: 벨소리)을 수신할 수 있다.
1405 동작에서, 일 실시예에 따른 프로세서(220)의 재생부(310)는 조건 판단부(320)에 출력 요청된 음원(예: A 음원)의 캐시 여부 확인을 요청할 수 있다.
1406 동작에서, 일 실시예에 따른 프로세서(220)의 조건 판단부(320)는 A 음원(A 음원의 PCM 데이터)가 PCM 저장부(370)의 캐시 목록에 있는지 확인(식별)할 수 있다.
1407 동작에서, 일 실시예에 따른 프로세서(220)의 조건 판단부(320)는 A 음원(A 음원의 PCM 데이터)가 PCM 저장부(370)의 캐시 목록에 있는지 확인되면 이를 재생부(310)로 알릴 수 있다.
1409 동작에서, 일 실시예에 따른 프로세서(220)의 재생부(310)는 처리 방식 결정부(320)에 PCM 데이터 재생을 요청할 수 있다.
1411 동작에서, 일 실시예에 따른 프로세서(220)의 처리 방식 결정부(320)는 음원 정보를 이용하여 재생 요청된 PCM 데이터의 샘플링 레이트, 채널, 비트 크기를 식별(확인)할 수 있다.
1413 동작에서, 일 실시예에 따른 프로세서(220)의 처리 방식 결정부(320)는 재생 요청된 PCM 데이터의 샘플링 레이트, 채널, 비트 크기를 렌더러(340)에 전달하고 오디오 사운드 출력 준비를 요청할 수 있다.
1415 동작에서, 일 실시예에 따른 프로세서(220)의 처리 방식 결정부(320)는 PCM 저장부(370)로부터 PCM 데이터의 일부를 리드(read)할 수 있다.
1417 동작에서, 일 실시예에 따른 프로세서(220)의 처리 방식 결정부(320)는 PCM 저장부(370)로부터 리드한 PCM 데이터의 일부를 렌더러(340)에 전달할 수 있다. 렌더러(340)는 처리 방식 결정부(320)로부터 전달되는 PCM 데이터의 일부를 오디오 사운드로 출력할 수 있다.
1419 동작에서, 일 실시예에 따른 프로세서(220)의 처리 방식 결정부(320)는 PCM 저장부(370)로부터 PCM 데이터의 다른 일부를 계속해서 리드(read)할 수 있다.
1421 동작에서, 일 실시예에 따른 프로세서(220)의 처리 방식 결정부(320)는 PCM 저장부(370)로부터 리드한 PCM 데이터의 다른 일부를 계속해서 렌더러(340)에 전달할 수 있다. 렌더러(340)는 처리 방식 결정부(320)로부터 전달되는 PCM 데이터의 다른 일부를 계속해서 오디오 사운드로 출력할 수 있다.
1423 동작에서, 일 실시예에 따른 프로세서(220)의 처리 방식 결정부(320)는 PCM 저장부(370)로부터 PCM 데이터의 리드가 완료된 경우 이를 알리는 정보(end of pcm stream)을 PCM 저장부(370)에 전달할 수 있다.
1425 동작에서, 일 실시예에 따른 프로세서(220)의 처리 방식 결정부(320)는 PCM 데이터의 자동 반복 재생 설정을 확인할 수 있다.
1427 동작에서, 일 실시예에 따른 프로세서(220)의 처리 방식 결정부(320)는 PCM 데이터가 자동 반복 재생되도록 설정되었거나 재생부(310)로부터 반복 재생되도록 설정된 경우 PCM 데이터의 처음 위치부터 다시 리드하고, 1429 동작에서 PCM 저장부(370)로부터 리드한 PCM 데이터를 렌더러(340)로 전달하여 오디오 사운드가 반복 출력되도록 할 수 있다.
1431 동작에서, 일 실시예에 따른 프로세서(220)의 재생부(1431)는 음원 출력 종료 요청을 수신할 수 있다.
1433 동작에서, 일 실시예에 따른 프로세서(220)의 재생부(1431)는 음원 출력 종료 요청을 처리 방식 결정부(320)에 전달할 수 있다. 처리 방식 결정부(320)는 음원 출력 종료 요청에 따라 PCM 데이터 리드 및 렌더러(340)로의 전달을 종료하여 음원 출력이 종료되도록 할 수 있다. 일 실시예에 따르면 처리 방식 결정부(320)에 의한 음원 출력 종료 시 PCM 저장부(370)에 저장된 PCM 데이터들에 대한 접근 시간 정보가 갱신될 수 있다.
도 15는 일 실시예에 따른 전자 장치와 외부 전자 장치를 나타낸 도면이다.
도 15를 참조하면, 일 실시예에 따른 전자 장치(1501)(예: 도 1의 전자 장치(101) 또는 도 2의 전자 장치(201))는 지정된 음원 파일에 대한 PCM 데이터가 통신을 통해 외부 전자 장치(1502)에서 출력되도록 할 수 있다. 일 실시예에 따르면 전자 장치(1501)는 source 기기(예: 휴대폰 또는 스마트 폰일) 수 있고, 외부 전자 장치(1502)는 sink 기기(예: AR(augmented reality) GLASS, Watch, 또는 무선 이어폰)일 수 있다.
일 실시예에 따른 전자 장치(1501)는 PCM 데이터 출력 이벤트 발생 시 PCM 데이터가 통신을 통해 외부 전자 장치(1502)에서 출력되도록 하는 경우, PCM 데이터가 외부 전자 장치(1502)에서 이용하는 코덱으로 인코딩되어 있는 경우 인코딩 PCM 데이터를 외부 전자 장치(1502)로 제공하여 출력되도록 하고, PCM 데이터가 외부 전자 장치(1502)에서 이용하는 코덱으로 인코딩되어 있지 않은 경우 인코딩을 수행하여 인코딩된 PCM 데이터를 저장하고 인코딩된 PCM 데이터를 외부 전자 장치(1502)에 제공하여 출력되도록 할 수 있다.
일 실시예에 따른 외부 전자 장치(1502)는 인코딩된 PCM 데이터 수신 시 저장 공간 또는 전력이 부족한 경우 인코딩된 PCM 데이터의 디코딩을 전자 장치(1501)에서 수행되도록 할 수 있다. 일 실시예에 따른 전자 장치(1501)는 외부 전자 장치(1502)의 저장 공간 및 전력에 기반하여 외부 전자 장치(1502)에서 수행될 처리 동작의 일부를 전자 장치(1501)에서 분산 처리되도록 할 수 있다.
도 16은 일 실시예에 따른 전자 장치에서 PCM 데이터 출력 이벤트 발생 시 출력 장치 식별에 기반한 PCM 데이터 출력 동작 흐름도이다.
도 16을 참조하면, 일 실시예에 따른 전자 장치(1501)(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120) 또는 도 2의 프로세서(220))는 1610 내지 1670 동작 중 적어도 하나의 동작을 수행할 수 있다.
1610 동작에서, 일 실시예에 따른 프로세서(220)는 PCM 저장 공간의 PCM 데이터 출력 이벤트가 발생하는지 여부를 식별할 수 있다. 예를 들면, PCM 저장 공간에는 디폴트 PCM 데이터 또는 어플리케이션 PCM 데이터가 저장되어 있을 수 있다.
1620 동작에서, 일 실시예에 따른 프로세서(220)는 PCM 저장 공간의 PCM 데이터 출력 이벤트가 발생한 경우(1610 동작-예) PCM 데이터의 출력 장치가 전자 장치(예: 도 15의 전자 장치(1501))인지 외부 전자 장치(예: 도 15의 외부 전자 장치(1502))인지 식별할 수 있다. 일 실시예에 따른 프로세서(220)는 전자 장치(1501)가 근거리 무선 통신 또는 유선으로 외부 전자 장치(1502)와 통신 연결되어 있고, 전자 장치(1501)의 오디오 데이터가 외부 전자 장치(1502)를 통해 출력되고 있는 경우 PCM 데이터의 출력 장치가 외부 전자 장치(1502)인 것으로 식별할 수 있고, 그렇지 않은 경우 PCM 데이터의 출력 장치가 전자 장치(1501)인 것으로 식별할 수 있다. 일 실시예에 따른 프로세서(220)는 PCM 데이터의 출력 장치가 전자 장치(1501)인 경우 1630 동작으로 진행할 수 있다. PCM 데이터의 출력 장치가 외부 전자 장치(1502)인 경우 1640 동작으로 진행할 수 있다.
1630 동작에서, 일 실시예에 따른 프로세서(220)는 전자 장치(1501)에서 PCM 데이터 출력 이벤트에 대응된 PCM 데이터를 출력(재생)할 수 있다.
1640 동작에서, 일 실시예에 따른 프로세서(220)는 외부 전자 장치(1502)에서 이용 가능한 오디오 코덱 정보를 획득할 수 있다. 예를 들면, 프로세서(220)는 미리 저장된 외부 전자 장치(1502)의 이용 가능한 오디오 코덱 정보를 획득하거나, 통신 모듈(270)을 통해 외부 전자 장치(1502)에 오디오 코덱 정보를 요청하여 수신할 수 있다.
외부 전자 장치에서 사용 가능한 코덱 목록
SBC
AAC
상기 표 8을 참조하면, 외부 전자 장치(1502)에서 사용 가능한 코덱은 SBC 코덱, AAC 코덱을 포함할 수 있다.1650 동작에서, 일 실시예에 따른 프로세서(220)는 외부 전자 장치에서 이용 가능한 오디오 코덱으로 인코딩된 데이터가 존재하는지 식별할 수 있다. 예를 들면, 프로세서(220)는 출력 요청된 PCM 데이터가 SBC 또는 AAC 코덱을 이용하여 인코딩된 데이터가 존재하는지 식별할 수 있다. 일 실시예에 따른 프로세서(220)는 외부 전자 장치(1502)에서 이용 가능한 오디오 코덱으로 인코딩된 데이터가 존재하지 않으면(1650 동작-아니오) 1660 동작을 수행하고, 외부 전자 장치(1502)에서 이용 가능한 오디오 코덱으로 인코딩된 데이터가 존재하면(1650 동작-예) 1670 동작을 수행할 수 있다.
File name Type 인코딩 정보 인코딩 데이터
Default Galaxy Bells 1 (벨소리) X  
Spaceline.ogg 2 (알림) X  
Homecoming.ogg 3 (알람음) X  
상기 표 9를 참조하면, 외부 전자 장치(1502)에서 이용 가능한 오디오 코덱으로 인코딩된 데이터가 존재하지 않는 경우를 나타낼 수 있다.1660 동작에서, 일 실시예에 따른 프로세서(220)는 PCM 데이터를 외부 전자 장치(1502)에서 이용 가능한 오디오 코덱을 이용하여 인코딩 및 저장할 수 있다.
File name Type 인코딩 정보 인코딩 데이터
Default Galaxy Bells 1 (벨소리) AAC O
Spaceline.ogg 2 (알림) X  
Homecoming.ogg 3 (알람음) X  
상기 표 10을 참조하면, 외부 전자 장치(1502)에서 이용 가능한 오디오 코덱으로 인코딩된 데이터가 존재하는 경우(Galaxy Bells)를 나타낼 수 있다.1670 동작에서, 일 실시예에 따른 프로세서(220)는 외부 전자 장치(1502)에서 이용 가능한 오디오 코덱으로 인코딩된 데이터를 외부 전자 장치(1502)에 전송할 수 있다. 외부 전자 장치(1502)는 인코딩된 데이터를 수신하여 디코딩하고 PCM 데이터를 출력할 수 있다.
본 문서에 개시된 일 실시 예에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 일 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "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) 또는 전자 장치(301)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(301))의 프로세서(예: 프로세서(520))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 일 실시예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 개시의 실시 예에 따르면, 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 전자 장치에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 지정된 제1 음원 파일을 디먹싱 및/또는 디코딩하여 제1 PCM 데이터를 획득하고 획득된 제1 PCM 데이터를 저장하는 동작, 음원 출력 이벤트 발생에 기반하여 상기 제1 PCM 데이터 출력 조건의 만족 여부를 식별하는 동작, 상기 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 상기 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 스피커를 통해 출력하는 동작, 및 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 상기 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 상기 제2 음원 파일을 디먹싱 및/또는 디코딩하여 제2 PCM 데이터를 획득하고, 상기 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 상기 스피커를 통해 출력하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 일 실시예에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    스피커(도 2의 240);
    통신 모듈(도 1의 통신 모듈 170; 및 도 2의 통신 모듈 270);
    메모리(도 1의 메모리 130; 및 도 2의 메모리 250); 및
    프로세서(도 1의 120; 도 2의 220)를 포함하고,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    지정된 제1 음원 파일을 디먹싱 및 디코딩하여 제1 PCM 데이터를 획득하고 획득된 제1 PCM 데이터를 저장하고,
    음원 출력 이벤트 발생에 기반하여 상기 제1 PCM 데이터 출력 조건의 만족 여부를 식별하고,
    상기 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 상기 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 상기 스피커를 통해 출력하고,
    상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 상기 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 상기 제2 음원 파일을 디먹싱 및 디코딩하여 제2 PCM 데이터를 획득하고, 상기 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 상기 스피커를 통해 출력하도록 설정된 인스트럭션들을 저장하는 전자 장치.
  2. 제1항에 있어서,
    상기 지정된 제1 음원 파일은 벨소리 타입 음원 파일, 알림 타입 음원 파일, 또는 알람 타입 음원 파일 중 하나를 포함하는 전자 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 지정된 제1 음원 파일은 디폴트 음원 파일을 포함하고,
    상기 인스트럭션들은 상기 프로세서가,
    상기 전자 장치의 부팅 완료 식별에 기반하여 상기 디폴트 음원 파일을 식별하고, 상기 디폴트 음원 파일을 디먹싱 및 디코딩하여 상기 제1 PCM 데이터를 획득하고, 상기 제1 PCM 데이터를 상기 메모리의 PCM 저장부에 저장하도록 하는 전자 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 전자 장치의 부팅 완료 식별에 기반하여 상기 메모리의 저장 공간 크기를 식별하고 상기 메모리의 저장 공간 크기에 기반하여 PCM 데이터 저장 공간 크기를 식별하고, 상기 PCM 데이터 저장 공간 크기에 기반하여 복수의 음원 파일들 중 PCM 데이터를 획득할 상기 디폴트 음원 파일을 선택하도록 설정된 전자 장치.
  5. 제1항에 있어서,
    상기 지정된 제1 음원 파일은 상기 전자 장치에 설치된 어플리케이션과 연관된 어플리케이션 음원 파일을 저장하고,
    상기 인스트럭션들은 상기 프로세서가,
    상기 어플리케이션으로부터 상기 어플리케이션 음원 파일의 재생 요청에 기반하여 상기 어플리케이션 음원 파일을 디먹싱 및 디코딩하여 상기 제1 PCM 데이터를 획득하고, 상기 제1 PCM 데이터를 재생 하면서 상기 제1 PCM 데이터를 상기 메모리의 PCM 저장부에 저장하도록 하는 전자 장치.
  6. 제1항 또는 제5항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 어플리케이션 음원 파일을 디먹싱 또는 디코딩 중 상기 어플리케이션 음원 파일의 재생 중단 요청 시 상기 제1 PCM 데이터의 획득 및 저장은 유지하고, 상기 제1 PCM 데이터의 재생은 중단하도록 설정된 전자 장치.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 제1 PCM 데이터 출력 조건은,
    상기 출력 요청된 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하는지 여부, 상기 출력 요청된 지정된 제1 음원 파일에 대한 접근이 가능한지 여부, 상기 출력 요청된 지정된 제1 음원 파일이 어플리케이션 음원 파일이면 어플리케이션 음원 파일의 출력이 가능한지 여부, 또는 상기 출력 요청된 지정된 제1 음원 파일에 대한 디먹서 및 디코더 사용이 가능한지 여부를 포함하는 전자 장치.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 출력 요청된 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하거나, 상기 출력 요청된 지정된 제1 음원 파일에 대한 접근이 불가능하거나, 상기 출력 요청된 지정된 제1 음원 파일이 어플리케이션 음원 파일이고 상기 어플리케이션 음원 파일의 출력이 불가능하거나, 상기 출력 요청된 지정된 제1 음원 파일에 대한 디먹서 및 디코더 사용이 불가능한 경우 상기 제1 PCM 데이터 출력 조건을 만족하는 것으로 식별하도록 설정된 전자 장치.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 출력 요청된 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하지 않고, 상기 출력 요청된 지정된 제1 음원 파일에 대한 접근이 가능하고, 상기 출력 요청된 지정된 제1 음원 파일이 어플리케이션 음원 파일이고 상기 어플리케이션 음원 파일의 출력이 가능하고, 상기 출력 요청된 지정된 제1 음원 파일에 대한 디먹서 및 디코더 사용이 가능한 경우 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것으로 식별하도록 설정된 전자 장치.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 인스트럭션들은 상기 프로세서가,
    상기 전자 장치가 절전 모드인지 여부, 상기 어플리케이션 음원 파일이 외부의 서버에 저장되어 있고 상기 외부의 서버에 접근이 가능한지 여부, 프로세서 사용율이 지정된 사용율 이상인지 여부, 또는 상기 전자 장치가 게임을 포함하는 멀티 태스킹 상태인지 여부에 기반하여 상기 어플리케이션 음원 파일의 출력이 가능한지 여부를 식별하도록 설정된 전자 장치.
  11. 전자 장치에서 음원 파일 재생 방법에 있어서,
    지정된 제1 음원 파일을 디먹싱 및 디코딩하여 제1 PCM 데이터를 획득하고 획득된 제1 PCM 데이터를 저장하는 동작;
    음원 출력 이벤트 발생에 기반하여 상기 제1 PCM 데이터 출력 조건의 만족 여부를 식별하는 동작;
    상기 제1 PCM 데이터 출력 조건을 만족하는 것에 기반하여 상기 저장된 제1 PCM 데이터를 이용하여 제1 오디오 사운드를 스피커를 통해 출력하는 동작; 및
    상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것에 기반하여 상기 음원 출력 이벤트에 대응된 제2 음원 파일을 획득하고 상기 제2 음원 파일을 디먹싱 및 디코딩하여 제2 PCM 데이터를 획득하고, 상기 제2 PCM 데이터를 이용하여 제2 오디오 사운드를 상기 스피커를 통해 출력하는 동작을 포함하는 방법.
  12. 제11항에 있어서,
    상기 지정된 제1 음원 파일은 벨소리 타입 음원 파일, 알림 타입 음원 파일, 또는 알람 타입 음원 파일 중 하나를 포함하는 방법.
  13. 제11항 또는 제12항에 있어서,
    상기 지정된 제1 음원 파일은 디폴트 음원 파일을 포함하고,
    상기 방법은
    상기 전자 장치의 부팅 완료 식별에 기반하여 상기 지정된 제1 음원 파일에 대응하는 디폴트 음원 파일을 식별하는 동작;
    상기 디폴트 음원 파일을 디먹싱 및 디코딩하여 상기 제1 PCM 데이터를 획득하는 동작; 및
    상기 제1 PCM 데이터를 상기 메모리의 PCM 저장부에 저장하는 동작을 포함하는 방법.
  14. 제11항 내지 제13항에 있어서,
    상기 전자 장치의 부팅 완료 식별에 기반하여 상기 메모리의 저장 공간 크기를 식별하는 동작;
    상기 메모리의 저장 공간 크기에 기반하여 PCM 데이터 저장 공간 크기를 식별하는 동작; 및
    상기 PCM 데이터 저장 공간 크기에 기반하여 복수의 음원 파일들 중 PCM 데이터를 획득할 상기 디폴트 음원 파일을 선택하는 동작을 포함하는 방법.
  15. 제11항 또는 제12항에 있어서,
    상기 지정된 제1 음원 파일은 상기 전자 장치에 설치된 어플리케이션과 연관된 어플리케이션 음원 파일을 포함하고,
    상기 어플리케이션으로부터 상기 어플리케이션 음원 파일의 재생 요청에 기반하여 상기 어플리케이션 음원 파일을 디먹싱 및 디코딩하여 상기 제1 PCM 데이터를 획득하는 동작; 및
    상기 제1 PCM 데이터를 재생하면서 상기 제1 PCM 데이터를 상기 메모리의 PCM 저장부에 저장하는 동작을 포함하는 방법.
  16. 제11항 또는 제15항에 있어서,
    상기 어플리케이션 음원 파일을 디먹싱 또는 디코딩 중 상기 어플리케이션 음원 파일의 재생 중단 요청을 식별하는 동작; 및
    상기 어플리케이션 음원 파일의 재생 중단 요청에 기반하여 상기 제1 PCM 데이터의 획득 및 저장은 유지하고, 상기 제1 PCM 데이터의 재생은 중단하는 동작을 포함하는 방법.
  17. 제11항 내지 제16항 중 어느 한 항에 있어서,
    상기 제1 PCM 데이터 출력 조건은,
    상기 출력 요청된 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하는지 여부, 상기 출력 요청된 지정된 제1 음원 파일에 대한 접근이 가능한지 여부, 상기 출력 요청된 지정된 제1 음원 파일이 어플리케이션 음원 파일이면 어플리케이션 음원 파일의 출력이 가능한지 여부, 또는 상기 출력 요청된 지정된 제1 음원 파일에 대한 디먹서 및 디코더 사용이 가능한지 여부를 포함하는 방법.
  18. 제11항 내지 제17항 중 어느 한 항에 있어서,
    상기 출력 요청된 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하거나, 상기 출력 요청된 지정된 제1 음원 파일에 대한 접근이 불가능하거나, 상기 출력 요청된 지정된 제1 음원 파일이 어플리케이션 음원 파일이고 상기 어플리케이션 음원 파일의 출력이 불가능하거나, 상기 출력 요청된 지정된 제1 음원 파일에 대한 디먹서 및 디코더 사용이 불가능한 경우 상기 제1 PCM 데이터 출력 조건을 만족하는 것으로 식별하는 방법.
  19. 제11항 내지 제18항 중 어느 한 항에 있어서,
    상기 출력 요청된 지정된 제1 음원 파일에 대한 상기 제1 PCM 데이터가 상기 메모리에 존재하지 않고, 상기 출력 요청된 지정된 제1 음원 파일에 대한 접근이 가능하고, 상기 출력 요청된 지정된 제1 음원 파일이 어플리케이션 음원 파일이고 상기 어플리케이션 음원 파일의 출력이 가능하고, 상기 출력 요청된 지정된 제1 음원 파일에 대한 디먹서 및 디코더 사용이 가능한 경우 상기 제1 PCM 데이터 출력 조건을 만족하지 않는 것으로 식별하는 방법.
  20. 제11항 내지 제19항 중 어느 한 항에 있어서,
    상기 전자 장치가 절전 모드인지 여부, 상기 어플리케이션 음원 파일이 외부의 서버에 저장되어 있고 상기 외부의 서버에 접근이 가능한지 여부, 프로세서 사용율이 지정된 사용율 이상인지 여부, 또는 상기 전자 장치가 게임을 포함하는 멀티 태스킹 상태인지 여부에 기반하여 상기 어플리케이션 음원 파일의 출력이 가능한지 여부를 식별하는 동작을 포함하는 방법.
KR1020220127920A 2022-09-14 2022-10-06 전자 장치 및 전자 장치에서 음원 파일 재생 방법 KR20240037116A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220115908 2022-09-14
KR1020220115908 2022-09-14

Publications (1)

Publication Number Publication Date
KR20240037116A true KR20240037116A (ko) 2024-03-21

Family

ID=90472628

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220127920A KR20240037116A (ko) 2022-09-14 2022-10-06 전자 장치 및 전자 장치에서 음원 파일 재생 방법

Country Status (1)

Country Link
KR (1) KR20240037116A (ko)

Similar Documents

Publication Publication Date Title
CN112470217A (zh) 用于确定要执行语音识别的电子装置的方法及电子装置
KR20220016544A (ko) 오디오 공유를 지원하는 전자 장치
KR20240037116A (ko) 전자 장치 및 전자 장치에서 음원 파일 재생 방법
KR20220118047A (ko) 어플리케이션의 모델 파일을 초기화하는 프로세서 및 이를 포함하는 전자 장치
KR20220136778A (ko) 오디오 공유를 지원하기 위한 전자 장치
KR20230049392A (ko) 멀티 서명된 apk 파일을 처리하는 전자 장치 및 그 동작 방법
KR20220016552A (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
US20230132125A1 (en) Method for preventing duplicate application of audio effects to audio data and electronic device supporting the same
US20230168856A1 (en) Electronic device including vibration device and method for operating the same
US11843818B2 (en) Electronic device and multimedia playback method thereof
US20230188919A1 (en) Electronic device and method thereof for outputting audio data
US20240089584A1 (en) Electronic device and operation method of electronic device
US20230196499A1 (en) Electronic device and operating method thereof
US20230281021A1 (en) Electronic device and application execution method for electronic device
KR20220013630A (ko) 오디오의 채널의 수를 변환하는 전자 장치 및 전자 장치의 동작 방법
KR20230078438A (ko) 진동 장치를 포함하는 전자 장치 및 그 동작 방법
KR20240026820A (ko) 전자 장치 및 전자 장치의 인식 모델 관리 방법
KR20240025417A (ko) 메모리를 관리하는 방법 및 이를 지원하는 전자 장치
KR20240014409A (ko) 알림과 관련된 동작을 수행하기 위한 방법 및 이를 지원하는 전자 장치
KR20240039547A (ko) 커스터마이징 소프트웨어 제공 장치 및 방법
KR20220133414A (ko) 음성 어시스턴트 서비스 제공 방법 및 이를 지원하는 전자 장치
KR20220156189A (ko) 전자 장치 및 전자 장치의 동작 방법
KR20230021508A (ko) 전자 장치 및 전자 장치의 멀티미디어 재생 방법
KR20240045935A (ko) 전자 장치 및 어플리케이션 간의 통신 방법
KR20230066841A (ko) 전자 장치 및 전자 장치에서 오디오 트랙의 메타 데이터를 이용한 오디오 모드 적용 방법