KR101036232B1 - 오디오 재생을 위한 데이터 처리 방법, 오디오 재생 방법 및 오디오 재생 장치 - Google Patents
오디오 재생을 위한 데이터 처리 방법, 오디오 재생 방법 및 오디오 재생 장치 Download PDFInfo
- Publication number
- KR101036232B1 KR101036232B1 KR1020090088031A KR20090088031A KR101036232B1 KR 101036232 B1 KR101036232 B1 KR 101036232B1 KR 1020090088031 A KR1020090088031 A KR 1020090088031A KR 20090088031 A KR20090088031 A KR 20090088031A KR 101036232 B1 KR101036232 B1 KR 101036232B1
- Authority
- KR
- South Korea
- Prior art keywords
- audio
- audio data
- buffer
- application processor
- buffers
- Prior art date
Links
Images
Classifications
-
- 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/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- 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/10—Digital recording or reproducing
-
- 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/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/10537—Audio or video recording
- G11B2020/10546—Audio or video recording specifically adapted for audio data
-
- 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/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
-
- 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/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10629—Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
-
- 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/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10675—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
- G11B2020/10685—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control input interface, i.e. the way data enter the buffer, e.g. by informing the sender that the buffer is busy
-
- 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/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10675—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
- G11B2020/10731—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control wherein the buffer I/O can be temporarily suspended, e.g. by refusing to accept further data to be buffered
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
오디오 재생을 위한 데이터 처리 방법, 오디오 재생 방법 및 오디오 재생 장치가 개시된다. 오디오 재생을 위한 데이터 처리 방법은, 사용자 명령에 의해 선택된 오디오 파일에 대하여 저장부로부터 n번째로 상기 오디오 파일의 일부분인 제n 오디오 데이터를 독출하는 단계; 상기 독출된 제n 오디오 데이터를 디코딩하는 단계; 및 상기 디코딩된 제n 오디오 데이터를 후단의 오디오 재생부의 제m 버퍼로 전송하는 단계를 포함한다. 이에 의하면, 오디오 재생을 위해 어플리케이션 프로세서를 항상 구동시킬 필요는 없게 되어 배터리의 전력 소모를 줄일 수 있는 효과가 있다.
오디오, 재생, 어플리케이션 프로세서, DAC
Description
본 발명은 오디오 재생을 위한 소모 전력을 감소시킬 수 있는 데이터 처리 방법, 오디오 재생 방법 및 오디오 재생 장치에 관한 것이다.
과거, 오디오 재생 장치는 아날로그 오디오 신호 자체를 소정 카세트 테이프와 같은 기록매체로부터 독출하여 재생하는 방식을 사용하였으나, 근래에는 오디오 재생 장치가 디지털 데이터를 처리하는 단말로서 제공되고 있다. 또한, 오디오 데이터의 저장 효율 및 네트워크를 통한 전송 효율을 높이기 위해 오디오 신호를 디지털 데이터로 변환하는 과정이 일반적으로 수행되고 있으며, 나아가 디지털 데이터를 압축 및 신장하는 과정이 일반적으로 수행되고 있다.
도 1은 일반적인 오디오 재생 장치의 기본적인 블록구성도이고, 도 2는 일반적인 오디오 재생 방법의 순서도이다.
도 1을 참조하면, 오디오 재생 장치(1)는 코어(15)를 포함하는 어플리케이션 프로세서(10), 입력부(20), 저장부(30), RAM(40), 표시부(50), DAC(60), 스피커(70)를 포함한다.
단계 S100에서 오디오 재생 장치(1)는 입력부(20)를 통해 오디오 파일 선택, 재생, 재생 정지, 삭제 등의 다양한 사용자 명령을 입력받는다.
어플리케이션 프로세서(Application Processor, AP)(10)는 입력된 사용자 명령에 따라 상응하는 동작을 수행한다. 이하에서는 입력된 사용자 명령이 오디오 파일 재생인 경우를 가정하여 설명한다.
단계 S110에서 어플리케이션 프로세서(10)는 사용자 명령에 상응하여 선택된 오디오 파일을 저장부(30)에서 독출한다.
단계 S120에서 어플리케이션 프로세서(10)의 코어(15)는 독출된 오디오 파일을 RAM(Random Access Memory)(40)과 연동하여 디코딩을 수행한다. 코어(15)는 오디오 코덱을 구비하고 있어 인코딩된 오디오 파일의 디코딩이 가능하다.
단계 S130에서 어플리케이션 프로세서(10)는 디코딩된 오디오 파일과 관련된 오디오 재생 정보를 표시부(50)로 전송하여 현재 상태를 표시하도록 할 수 있다. 오디오 재생 정보는 재생 중인 오디오 파일의 이름, 총 재생 시간, 재생된 시간, 남은 시간 등을 포함할 수 있다.
단계 S140에서 디코딩된 오디오 파일은 PCM(Pulse Code Modulation) 데이터로 DAC(Digital Analog Converter)(60)에서 아날로그 변환되어 스피커(70)를 통해 출력된다.
오디오 파일의 재생은 단계 S110 내지 S140가 반복 수행됨으로써 이루어진다.
소모 전력을 최소화하기 위해 일정 기간 사용자에 의한 사용자 명령의 입력이 없는 경우 표시부(50)가 슬립(sleep) 상태로 전환되도록 하기 위해 단계 S130에서의 표시부(50)를 통한 표시는 중단된다.
이와 같이 종래에는 저장부(30)에 저장된 오디오 파일을 재생할 때 오디오 파일의 재생 시간동안 어플리케이션 프로세서(10)가 재생할 오디오 파일을 실시간으로 디코딩하여 DAC(60)에 디코딩된 PCM 데이터를 전송하는 방식을 따른다.
이는 오디오 파일의 재생을 위해 어플리케이션 프로세서(10) 및 디코딩을 위한 오디오 코덱이 항상 구동 상태로 유지되어야 하므로, 전체적인 소모 전력이 증가하는 문제점이 있었다.
특히 모바일 기기와 같이 한정된 전력을 가지는 배터리를 주전원으로 하는 기기에 있어서 종래와 같은 오디오 파일 재생 방법은 전력 소모를 증가시키고 오디오 파일의 재생 가능 시간을 단축시키는 한계가 있었다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
따라서, 본 발명은 오디오 재생을 위해 어플리케이션 프로세서를 항상 구동시킬 필요는 없게 되어 배터리의 전력 소모를 줄일 수 있는 오디오 재생을 위한 데이터 처리 방법 및 오디오 재생 방법을 제공하기 위한 것이다.
또한, 본 발명은 오디오 재생을 위해 어플리케이션 프로세서가 항상 구동될 필요는 없게 되어 오디오 재생 중에도 어플리케이션 프로세서가 타 기능을 수행하기에 충분한 여력을 확보하는 것이 가능한 오디오 재생을 위한 데이터 처리 방법 및 오디오 재생 방법을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 어플리케이션 프로세서에서 오디오 재생을 위한 데이터를 처리하는 방법 및 이를 수행하기 위한 프로그램이 기록된 기록매체가 제공된다.
일 실시예에 따른 데이터 처리 방법은, (a) 사용자 명령에 의해 선택된 하나 이상의 오디오 파일에 대하여 저장부로부터 n번째로 상기 오디오 파일의 일부분인 제n 오디오 데이터를 독출하는 단계-여기서, n은 1 이상의 자연수임-; (b) 상기 독출된 제n 오디오 데이터를 디코딩하는 단계; 및 (c) 상기 디코딩된 제n 오디오 데이터가 후단의 오디오 재생부의 제m 버퍼에 저장되도록 하는 단계-여기서, m = n mod M이며, M은 상기 오디오 재생부의 버퍼의 수 이고 나머지가 0(zero)인 경우 m=M임-를 포함할 수 있다.
상기 단계 (a)는 상기 제m 버퍼의 저장 용량에 상응하여 상기 제n 오디오 데이터를 독출할 수 있다.
(d) 저장부에 상기 오디오 파일에 대하여 독출할 오디오 데이터가 잔존하는지 확인하는 단계; (e) 잔존하지 않는 경우 슬립모드로 진입하고, 잔존하는 경우 n을 1 증가시켜 상기 단계 (a)로 되돌아가는 단계를 더 포함할 수 있다.
상기 단계 (e)는 잔존하는 경우, (e-1) 상기 오디오 재생부에 빈 버퍼가 있는지 확인하는 단계; (e-2) 상기 빈 버퍼가 있는 경우 n을 1 증가시켜 상기 단계 (a)로 되돌아가고, 상기 빈 버퍼가 없는 경우 슬립모드로 진입하는 단계를 포함할 수 있다.
(e-3) 상기 슬립모드 유지 중 미리 지정된 조건을 충족하는지 판단하는 단계; (e-4) 상기 조건을 충족하는 경우 n을 1 증가시켜 상기 단계 (a)로 되돌아가는 단계를 더 포함할 수 있다.
상기 조건의 충족은 모니터링을 통해 상기 오디오 재생부의 버퍼 중 하나가 비는 것을 인지하거나, 상기 오디오 재생부의 버퍼의 저장 용량과 출력 속도를 이용하여 상기 버퍼 중 하나가 비는 시점을 계산하고 상기 시점에 이르거나, 상기 오디오 재생부가 상기 버퍼 중 하나로부터의 오디오 데이터 출력이 완료되는 경우 생성하여 출력하는 인터럽트 신호를 수신하는 것 중 하나일 수 있다.
본 발명의 다른 측면에 따르면, 어플리케이션 프로세서의 후단에 연결된 오디오 재생부에서 오디오를 재생하는 방법 및 이를 수행하기 위한 프로그램이 기록된 기록매체가 제공된다.
일 실시예에 따른 오디오 재생 방법은, (a) 상기 제m 버퍼에 저장된 제n 오 디오 데이터를 DAC(Digital Analog Converter)에 전송하여 후단의 스피커로 출력하는 단계-여기서, n은 1 이상의 자연수이고, m = n mod M 이며, M은 상기 오디오 재생부의 버퍼의 수이고, 나머지가 0(zero)인 경우 m=M임-; (b) 다음 출력 순서의 버퍼에 오디오 데이터가 저장되었는지 확인하는 단계; 및 (c) 상기 확인 결과 저장된 경우 n을 1 증가시키고 상기 단계 (a)로 되돌아가며, 저장되지 않은 경우 동작을 종료하는 단계를 포함할 수 있다.
상기 다음 출력 순서의 버퍼는 1 ≤ m ≤ (M-1) 인 경우 제(m+1) 버퍼이고, m=M 인 경우 제1 버퍼일 수 있다.
상기 어플리케이션 프로세서에서 오디오 파일 중 일부분을 n번째 디코딩한 제n 오디오 데이터를 제m 버퍼에 저장하는 단계가 선행될 수 있다.
상기 제n 오디오 데이터는 상기 어플리케이션 프로세서에 의해 상기 제m 버퍼의 저장 용량에 상응하여 분할 독출될 수 있다.
본 발명의 또 다른 측면에 따르면, 전단의 어플리케이션 프로세서로부터 전송된 오디오 데이터를 저장하는 복수의 버퍼; 상기 오디오 데이터를 아날로그 변환하여 후단의 스피커로 출력하는 DAC(Digital Analog Converter); 및 출력 순서에 따라 상기 버퍼에 저장된 오디오 데이터를 순차적으로 상기 DAC로 전송하는 처리기를 포함하는 오디오 재생기가 제공된다.
상기 처리기는 저장하고 있는 오디오 데이터를 출력함으로 인해 상기 버퍼 중 하나가 비는 경우 인터럽트 신호를 생성하여 상기 어플리케이션 프로세서로 전송할 수 있다.
본 발명의 또 다른 측면에 따르면, 사용자 명령을 입력받는 입력부; 하나 이상의 오디오 파일을 저장하고 있는 저장부; 디코딩 대상이 되는 오디오 데이터를 임시로 저장하는 RAM; 디코딩된 오디오 데이터를 저장하는 복수의 버퍼를 구비하고, 순차적으로 아날로그 변환하여 출력하는 오디오 재생부; 상기 오디오 재생부로부터 출력되는 아날로그 신호를 외부로 출력하는 스피커; 및 상기 사용자 명령에 따라 상기 저장부에 저장된 오디오 파일에 속하는 오디오 데이터를 순차적으로 독출하여 상기 RAM과 연동하여 디코딩하고, 상기 오디오 재생부로 전송하는 어플리케이션 프로세서를 포함하는 오디오 재생 장치가 제공된다.
상기 오디오 재생부는 M(2 이상의 자연수)개의 버퍼를 포함하되, 상기 어플리케이션 프로세서는 n번째 독출하는 제n 오디오 데이터에 대하여 제m 버퍼의 저장 용량에 상응하는 데이터 양만큼 독출하여 디코딩하며, m = n mod M이고, mod는 나머지 함수이되 나머지가 0인 경우 m=M일 수 있다.
상기 어플리케이션 프로세서는 상기 오디오 재생부의 버퍼가 모두 풀(full)인 경우에 슬립모드로 진입할 수 있다.
상기 어플리케이션 프로세서는 모니터링을 통해 상기 오디오 재생부의 버퍼 중 하나가 비는 것을 인지하거나, 상기 오디오 재생부의 버퍼의 저장 용량과 출력 속도를 이용하여 상기 버퍼 중 하나가 비는 시점을 계산하고 상기 시점에 이르거나, 상기 오디오 재생부가 상기 버퍼 중 하나로부터의 오디오 데이터 출력이 완료되는 경우 생성하여 출력하는 인터럽트 신호를 수신하는 경우 상기 슬립모드에서 벗어나 동작모드로 재진입할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 오디오 재생을 위해 어플리케이션 프로세서를 항상 구동시킬 필요는 없게 되어 배터리의 전력 소모를 줄일 수 있는 효과가 있다.
또한, 오디오 재생을 위해 어플리케이션 프로세서가 항상 구동될 필요는 없게 되어 오디오 재생 중에도 어플리케이션 프로세서가 타 기능을 수행하기에 충분한 여력을 확보하는 것이 가능하다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나 의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 오디오 재생 장치의 개략적인 블록구성도이다. 도 3을 참조하면, 오디오 재생 장치(100), 어플리케이션 프로세서(110), 코어(115), 입력부(20), 표시부(50), 저장부(30), RAM(40), 오디오 재생부(160), 처리기(162), 복수의 버퍼(164), DAC(166), 스피커(70)가 도시되어 있다.
본 실시예에 따른 오디오 재생 장치(100)의 어플리케이션 프로세서(110)는 오디오 파일에 대하여 지속적으로 디코딩을 수행하고, 디코딩된 오디오 데이터를 오디오 재생부(160)의 각 버퍼(164)로 전송한 후 슬립모드로 진입하여 소모 전력을 최소화할 수 있다.
또한, 본 실시예에 따른 오디오 재생 장치(100)는 이동통신단말, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 노트북, 넷북, 내비게이션 단말 등의 모바일 기기에 구비되어 오디오 기능을 수행할 수 있다.
입력부(20)는 사용자로부터 오디오 파일 선택, 재생, 재생 정지, 삭제 등의 다양한 사용자 명령을 입력받는다. 입력부(20)는 키패드, 버튼, 터치스크린 등일 수 있다.
표시부(50)는 어플리케이션 프로세서(110)와 연결되어 오디오 재생과 관련된 정보를 표시한다. 표시부(50)는 예를 들어 LCD, OLED 디스플레이 등과 같이 영상 신호를 화면에 표시할 수 있는 장치일 수 있다.
저장부(30)는 하나 이상의 오디오 파일을 저장하고 있는 저장공간이다. 저장부(30)는 전원이 없는 상태에서도 데이터를 계속 저장할 수 있는 낸드 플래시(NAND Flash), SD/MMC 카드 등일 수 있다.
오디오 재생부(160)는 어플리케이션 프로세서(110)에서 디코딩된 후 전송되는 오디오 데이터를 복수의 버퍼(164)에 저장한 후 처리기(162)를 통해 DAC(166)로 보내 아날로그 변환시키고 스피커(70)를 통해 출력되도록 한다.
버퍼(164-1, 164-2, …, 164-M, 이하 '164'라 통칭함)는 M(2 이상의 자연수)개가 있는 것으로 가정하며, 어플리케이션 프로세서(110)에서 디코딩되어 전송되는 디지털 오디오 데이터가 일차적으로 저장된다. 각 버퍼(164)의 저장 용량은 서로 동일하거나 다를 수 있다.
디지털 오디오 데이터는 독출된 순서에 따라 각 버퍼(164)에 순차적으로 저장되는 것이 바람직하다. 이에 대해서는 관련 도면을 참조하여 후술하기로 한다.
처리기(162)는 미리 정해진 순서에 따라 버퍼(164)에 저장되어 있는 디코딩된 오디오 데이터를 DAC(166)로 보내는 기능을 수행한다.
DAC(166)는 처리기(162)를 통해 버퍼(164)로부터 전송된 디지털 오디오 데이터를 아날로그 변환하여 스피커(70)로 출력한다. 여기서, 디지털 오디오 데이터는 어플리케이션 프로세서(110)에 의해 디코딩된 PCM 데이터일 수 있다.
오디오 재생부(160)는 버퍼(164)의 수, 각 버퍼(164)의 저장 용량 등에 관한 버퍼 정보를 생성하여 어플리케이션 프로세서(110)에 전송할 수 있다. 물론, 해당 정보는 어플리케이션 프로세서(110)가 미리 인지하도록 할 수도 있다.
또한, 오디오 재생부(160)는 특정 버퍼(164)에 저장된 오디오 데이터의 출력이 완료된 경우, 즉 해당 버퍼(164)가 빈 경우에 인터럽트 신호를 생성하여 어플리케이션 프로세서(110)로 출력함으로써 타 버퍼(164)에 저장 완료된 다음 순위의 오디오 데이터가 어플리케이션 프로세서(110)로부터 전송되어 해당 버퍼(164)에 저장되도록 할 수 있다.
어플리케이션 프로세서(110)는 입력부(20)를 통해 입력된 사용자 명령에 따라 미리 지정된 동작을 수행한다. 이하에서는 입력된 사용자 명령이 오디오 재생인 경우를 가정하여 설명하기로 한다.
어플리케이션 프로세서(110)는 선택된 하나 이상의 오디오 파일에 대하여 소정 량의 오디오 데이터를 독출한다. 어플리케이션 프로세서(110)는 독출된 오디오 데이터가 버퍼 정보를 기초로 하여 저장될 순서에 해당하는 버퍼의 저장 용량에 상응하는 데이터 양을 가지거나 스피커(70)를 통해 끊김없이 오디오 출력이 이루어질 수 있을 정도의 데이터 양을 가지도록 한다.
이를 위해 어플리케이션 프로세서(110)는 버퍼 정보를 분석하고, 오디오 재생부(160)에 구비된 버퍼(164)의 수 및 각 버퍼(164)의 저장 용량에 따라 하나 이상의 오디오 파일을 분할하여 독출할 때 독출 순서에 따른 오디오 데이터 양을 결정할 수 있다.
그리고 해당 오디오 데이터를 RAM(40)과 연동하여 디코딩한다. RAM(40)은 코어(115)가 디코딩 작업을 수행하기 위해 오디오 데이터를 임시로 가져와 저장하고 있는 저장소로서, 예를 들어 SDRAM 등일 수 있다.
어플리케이션 프로세서(110)는 현재 디코딩되는 오디오 파일과 관련한 오디오 재생 정보를 생성하여 표시부(50)로 전송함으로써 현재 상태가 표시되도록 한다. 오디오 재생 정보는 재생 중인 오디오 파일의 이름, 총 재생 시간, 재생된 시간, 남은 시간 등 중 하나 이상을 포함할 수 있다.
그리고 디코딩이 완료된 오디오 데이터, 즉 PCM 데이터는 오디오 재생부(160)로 전송되어 순서에 맞는 버퍼(164)에 저장된다.
어플리케이션 프로세서(110)는 저장부(30)에 오디오 데이터가 잔존하는지 여부를 판단하고, 재생 대상이 되는 오디오 파일에 속하는 모든 오디오 데이터의 디코딩 및 오디오 재생부(160)로의 전송이 완료된 경우와 같이 처리할 잔존 오디오 데이터가 없는 경우에는 슬립모드로 진입한다.
또는 어플리케이션 프로세서(110)는 오디오 데이터를 독출하여 디코딩함에 있어서 오디오 재생부(160)의 모든 버퍼(164)가 풀(full)이 된 경우에 슬립모드로 전환되어 소모 전력을 줄일 수 있다.
이 경우 예를 들어 어플리케이션 프로세서(110)는 슬립모드 중에 모니터링을 위한 모니터링 모듈만이 활성화되어 오디오 재생부(160)의 버퍼들(164)을 모니터링하고 있으며, 어느 하나의 버퍼가 비는 경우 이를 인지하고, 해당 버퍼에 저장가능한 용량만큼의 오디오 데이터를 독출하여 디코딩을 수행하고 디코딩된 PCM 데이터를 해당 버퍼로 전송하여 저장할 수 있다.
또는 어플리케이션 프로세서(110)는 현재 스피커(70)를 통해 출력되는 오디오 데이터가 저장되어 있는 버퍼의 저장 용량 및 재생을 위한 출력 속도를 이용하여 해당 버퍼가 비는 시점을 계산하고, 해당 시점이 될 때까지는 슬립모드로 전환되어 있고, 해당 시점에서 동작 모드로 전환되어 해당 버퍼에 저장가능한 용량만큼의 오디오 데이터를 독출하여 디코딩을 수행하고 디코딩된 PCM 데이터를 해당 버퍼로 전송하여 저장할 수 있다. 이 시점에서 오디오 재생부(160)는 차순위의 버퍼에 저장된 디코딩된 PCM 데이터를 처리할 것이다.
또는 어플리케이션 프로세서(110)는 슬립모드 중에 오디오 재생부(160)로부터의 인터럽트 신호에 의해 동작 모드로 전환되어 인터럽트 신호에 기초하여 오디오 데이터를 독출하여 디코딩을 수행하고 디코딩된 PCM 데이터를 오디오 재생 부(160)로 전송하여 저장할 수 있다. 여기서, 오디오 재생부(160)는 특정 버퍼(164)에 저장된 오디오 데이터의 출력이 완료된 경우에 인터럽트 신호를 생성하여 어플리케이션 프로세서(110)로 출력함으로써 어플리케이션 프로세서(110)가 턴온되어 동작 모드로 전환되도록 할 수 있다.
본 실시예에서 어플리케이션 프로세서(110) 또는/및 오디오 재생부(160)는 별도의 칩으로 구현되거나 하나의 칩에 통합 구현될 수 있다.
도 4는 본 발명의 일 실시예에 따른 어플리케이션 프로세서에서의 데이터 처리 방법의 순서도이고, 도 5는 본 발명의 일 실시예에 따른 오디오 파일에 속하는 오디오 데이터의 독출 순서에 따른 버퍼에의 저장 순서를 설명하기 위한 도면이다.
단계 S210에서 어플리케이션 프로세서(110)는 사용자 명령에 의해 선택된 하나 이상의 오디오 파일에 대하여 저장부(30)로부터 n번째로 제n 오디오 데이터를 독출한다. 여기서, n은 1 이상의 자연수이며, 선택된 하나 이상의 오디오 파일은 버퍼의 저장 용량, 어플리케이션 프로세서(110)의 처리 효율 등에 따라 복수의 오디오 데이터로 구분될 수 있다.
하나의 오디오 파일 끝부분과 다음 오디오 파일의 첫부분은 별개의 오디오 데이터로 구분될 수 있다. 또는 함께 독출되어 하나의 오디오 데이터로 이용될 수도 있다.
단계 S220에서 독출된 제n 오디오 데이터를 디코딩한다. 이때 RAM(40)과 연동하여 디코딩이 수행될 수 있다.
단계 S230에서 디코딩된 제n 오디오 데이터를 오디오 재생부(160)로 전송하여 제m 버퍼(164)에 저장한다. 여기서, m은 n mod M이며, M은 오디오 재생부(160)에 구비된 버퍼의 수이다. mod는 나머지를 구하는 함수로, m은 n을 M으로 나눈 나머지이며, 나머지가 0(zero)인 경우 m=M으로 설정될 수 있다.제n 오디오 데이터는 제m 버퍼(164)에 저장되기 때문에, 단계 S210에서 어플리케이션 프로세서(110)는 제m 버퍼(164)의 저장 용량에 상응하는 데이터 양의 제n 오디오 데이터를 독출한다. 즉, 제n 오디오 데이터는 제m 버퍼(164)의 저장 용량을 초과하지 않는(즉, 저장 용량과 일치하거나 그 이하인) 데이터 양을 가질 수 있다.
여기서, 어플리케이션 프로세서(110)에 의해 독출된 오디오 데이터는 오디오 재생부(160)의 제1 버퍼(164-1) 내지 제M 버퍼(164-M) 내에 순차적으로 저장되는 것으로 가정한다. 오디오 재생부(160)에 구비된 각 버퍼(164)는 그 저장 용량이 동일하거나 서로 다를 수 있다. 전술한 바와 같이, 오디오 재생부(160)는 버퍼의 수, 각 버퍼(164)의 저장 용량 등을 포함하는 버퍼 정보를 어플리케이션 프로세서(110)에 전송함으로써, 어플리케이션 프로세서(110)는 독출 순서에 따라 현재 독출될 오디오 데이터가 저장될 버퍼(164)의 저장 용량을 확인하고, 독출될 오디오 데이터의 데이터 양을 결정할 수 있도록 할 수도 있다.
어플리케이션 프로세서(110)는 순차적으로 제1 내지 제n 오디오 데이터를 독출하여 디코딩 처리하며, 각 디코딩된 오디오 데이터는 오디오 재생부(160)의 각 버퍼(164)에 순차적으로 저장된다.
단계 S240에서 어플리케이션 프로세서(110)는 저장부(30)에 독출할 오디오 데이터가 잔존하는지 여부를 확인한다.
단계 S245에서 독출할 오디오 데이터가 잔존하지 않는 경우 어플리케이션 프로세서(110)는 슬립모드로 전환되며, 구동을 멈추어 소모 전력을 줄일 수 있다.
단계 S250에서 독출할 오디오 데이터가 있는 경우 오디오 재생부(160)에 빈 버퍼가 있는지 여부를 확인한다.
단계 S255에서 빈 버퍼가 있는 경우에 어플리케이션 프로세서(110)는 n을 1 증가시킨 후 단계 S210으로 되돌아가 상술한 동작을 반복 수행한다.
단계 S260에서 빈 버퍼가 없는 경우, 즉 모든 버퍼가 풀(full)이 된 경우에 어플리케이션 프로세서(110)는 슬립모드로 전환되며, 구동을 멈추어 소모 전력을 줄일 수 있다.
그리고 단계 S270에서 미리 지정된 조건을 충족하는 경우에 어플리케이션 프로세서(110)는 동작 모드로 전환되고 n을 1 증가시킨 후 단계 S210으로 되돌아가 상술한 동작을 반복 수행한다. 하지만, 미리 지정된 조건을 충족하지 않는 경우에 어플리케이션 프로세서(110)는 슬립모드를 유지하며, 미리 지정된 조건이 충족되는지를 반복적으로 확인한다.
여기서, 미리 지정된 조건의 충족은 다음과 같다.
일 실시예에서는 어플리케이션 프로세서(110)가 슬립모드 중에도 오디오 재생부(160)의 버퍼들(164)을 모니터링하는 모니터링 모듈이 활성화되어 있어 오디오 재생부(160)에 구비된 버퍼들(164) 중 어느 하나가 비는 경우 이를 인지함으로써 어플리케이션 프로세서(110)를 동작 모드로 전환할 수 있다.
다른 실시예에서는 오디오 재생부(160)의 각 버퍼의 저장 용량 및 스피커(70)를 통한 출력 속도를 이용하여 각 버퍼가 비는 시점을 계산하고, 해당 시점이 되는 경우에 어플리케이션 프로세서(110)를 동작 모드로 전환할 수 있다.
또 다른 실시예에서는 어느 하나의 버퍼가 비는 경우 오디오 재생부(160)가 생성하여 출력하는 인터럽트 신호를 수신하면, 해당 인터럽트 신호에 기초하여 어플리케이션 프로세서(110)를 동작 모드로 전환할 수 있다.
상술한 각 단계의 수행 중에 어플리케이션 프로세서(110)는 입력부(20)를 통해 재생 중지, 전원 오프(off) 등의 사용자 명령이 입력되는 경우 그 수행을 멈추고 미리 정해진 동작을 수행할 수 있다.
도 5를 참조하면, 오디오 파일에 속하는 오디오 데이터의 독출 순서에 따른 버퍼에의 저장 순서가 도시되어 있다.
제n 오디오 데이터(35(n))은 하나 이상의 오디오 파일에 대해서 n번째 독출되는 오디오 데이터이다.
제n 오디오 데이터(35(n))는 어플리케이션 프로세서(110)에 의해 디코딩된 후 오디오 재생부(160)의 제m 버퍼(164(m))에 저장된다. 여기서, m은 n mod M이다. 그리고 제(n+1) 오디오 데이터(35(n+1))는 어플리케이션 프로세서(110)에 의해 디코딩된 후 오디오 재생부(160)의 제(m+1) 버퍼(164(m+1))에 저장된다. 여기서, (m+1)은 (n+1) mod M이다. 전술한 바와 같이, 나머지가 0인 경우 해당 차수의 오디오 데이터는 디코딩된 후 제M 버퍼에 저장될 것이다.
본 실시예에서 어플리케이션 프로세서(110)는 버퍼 정보를 이용하여 제m 버퍼(164(m))의 저장 용량에 상응하도록 제n 오디오 데이터(35(n))를 독출한다. 즉, 제n 오디오 데이터(35(n))는 제m 버퍼(164(m))에서 최대로 허용하는 용량 이하의 데이터 양을 가지는 것이 바람직하다.
도 5에서는 제(n+1) 오디오 데이터(35(n+1))가 오디오 파일 #2의 끝부분과 오디오 파일 #3의 첫부분을 함께 독출한 오디오 데이터인 것으로 도시되어 있다. 하지만, 본 발명은 이에 한정되지 않으며, 선순위 오디오 파일의 끝부분과 후순위 오디오 파일의 첫부분을 별개의 오디오 데이터로 독출하는 경우도 본 발명의 권리범위에 속할 것이다.
도 6은 본 발명의 일 실시예에 따른 오디오 재생부에서의 오디오 재생 방법의 순서도이다.
단계 S300에서는 도 4의 단계 S230과 같은 단계로서, 오디오 재생부(160)는 어플리케이션 프로세서(110)로부터 수신한 디코딩된 제n 오디오 데이터를 제m 버퍼(164)에 저장한다.
오디오 재생부(160)의 처리기(162)는 각 버퍼(164)에 저장된 오디오 데이터를 순차적으로 DAC(166)로 제공하여 아날로그 변환되고 스피커(70)를 통해 출력되도록 한다. 따라서, 단계 S310에서 오디오 재생부(160)는 제m 버퍼(164)에 저장된 제n 오디오 데이터를 출력한다. 여기서, n은 1 이상의 자연수이고, m = n mod M (단, 나머지가 0인 경우 m=M임)이며, M은 오디오 재생부(160)의 버퍼의 수이다.
처리기(162)를 이용해 출력 순서에 따라 제m 버퍼(164)에 저장된 제n 오디오 데이터를 DAC(166)로 제공하여 아날로그 변환되도록 하고(단계 S312) 스피커(70)를 통해 출력되도록 한다(단계 S314).
단계 S320에서 다음 출력 순서의 버퍼에 오디오 데이터가 저장되었는지 확인한다. 여기서, 다음 출력 순서인 버퍼는 1 ≤ m ≤ (M-1) 인 경우 제(m+1) 버퍼이고, m=M 인 경우 제1 버퍼이다. 즉, 버퍼의 저장 및 출력 순서는 제1 버퍼(164-1), 제2 버퍼(164-2), …, 제M 버퍼(164-M), 제1 버퍼(164-1), 제2 버퍼(164-2), …가 된다.
다음 출력 순서의 버퍼에 입력된 오디오 데이터가 없는 경우에는 그 동작을 종료하며, 입력된 오디오 데이터가 있는 경우에는 n을 1 증가시키고 단계 S310 이하 단계를 반복 수행한다.
여기서, 단계 S300은 n 및 m에 무관하게 어플리케이션 프로세서(110)로부터 오디오 데이터가 입력될 때마다 수행될 수 있다.
이하에서는 M이 2인 경우를 가정하여 본 발명에 따른 오디오 재생 장치의 동작에 대하여 상세히 설명하기로 한다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 어플리케이션 프로세서(110)에서의 데이터 처리 방법의 순서도이다.
도 7a를 참조하면, 단계 S405에서 어플리케이션 프로세서(110)는 입력부(20)를 통해 오디오 재생을 위한 사용자 명령을 입력받는다.
단계 S410에서 어플리케이션 프로세서(110)는 사용자 명령에 상응하여 선택된 오디오 파일을 저장부(30)로부터 독출한다. 여기서, 오디오 파일 전체를 독출하는 것이 아니라, 본 실시예에서는 오디오 파일에 속하는 오디오 데이터 중 일부분(예를 들어, 최초 10초 정도)에 대해서 우선적으로 독출한다.
제1 오디오 데이터를 독출함에 있어서, 다음의 단계 S412 내지 단계 S414가 수행될 수도 있다.
단계 S412에서 어플리케이션 프로세서(110)는 오디오 재생부(160)에 구비된 복수의 버퍼(164)에 대한 버퍼 정보를 기초하여 최초 오디오 데이터가 저장될 제1 버퍼(164-1)의 저장 용량을 산출할 수 있다. 버퍼 정보는 오디오 재생부(160)로부터 미리 수신하여 저장하고 있거나, 어플리케이션 프로세서(110)가 미리 인지하고 있을 수 있다.
그리고 단계 S414에서 어플리케이션 프로세서(110)는 산출된 제1 버퍼(164-1)의 저장 용량에 따라 저장 가능한 만큼의 제1 오디오 데이터를 독출한다. 혹은 오디오 재생 장치(100)가 빠른 반응 시간을 나타내도록 하기 위해 저장 용량과 무관하게 즉시 재생이 개시될 수 있는 정도의 용량일 수도 있을 것이다.
단계 S415에서 어플리케이션 프로세서(110)의 코어(115)는 독출한 제1 오디오 데이터에 대하여 RAM(40)과 연동하여 디코딩을 수행한다.
단계 S420에서 어플리케이션 프로세서(110)는 디코딩된 제1 오디오 데이터 를 오디오 재생부(160)로 전송한다. 전송된 제1 오디오 데이터는 오디오 재생부(160)의 제1 버퍼(164-1)에 저장된다.
단계 S425에서 어플리케이션 프로세서(110)는 단계 S410에서 독출된 제1 오디오 데이터 이후의 제2 오디오 데이터를 독출한다.
제2 오디오 데이터를 독출함에 있어서, 다음의 단계 S426 내지 단계 S428이 수행될 수도 있다.
단계 S426에서 어플리케이션 프로세서(110)는 버퍼 정보에 기초하여 다음 순위의 오디오 데이터인 제2 오디오 데이터가 저장될 제2 버퍼(164-2)의 저장 용량을 산출할 수 있다.
그리고 단계 S428에서 어플리케이션 프로세서(110)는 산출된 제2 버퍼(164-2)의 저장 용량에 따라 저장 가능한 만큼의 제2 오디오 데이터를 독출할 수 있다. 여기서, 독출되는 제2 오디오 데이터는 제1 버퍼(164-1)에 저장된 제1 오디오 데이터가 오디오 재생부(160)에서 모두 출력되기 이전에 저장 완료될 수 있는 데이터 양만큼을 독출할 수도 있다.
단계 S430에서 어플리케이션 프로세서(110)의 코어(115)는 독출한 제2 오디오 데이터에 대하여 RAM(40)과 연동하여 디코딩을 수행한다.
단계 S435에서 어플리케이션 프로세서(110)는 디코딩된 제2 오디오 데이터를 오디오 재생부(160)로 전송한다. 전송된 제2 오디오 데이터는 오디오 재생부(160)의 제2 버퍼(164-2)에 저장된다.
도 7b를 참조하면, 단계 S440에서 어플리케이션 프로세서(110)는 저장 부(30)에 독출할 오디오 데이터가 잔존하는지 여부를 확인한다.
독출할 오디오 데이터가 없는 경우는 선택된 오디오 파일에 대하여 오디오 데이터의 디코딩 및 오디오 재생부(160)로의 전송이 완료된 경우로서, 사용자로부터 일정 시간 이상 입력부(20)를 통한 입력이 없는 경우에 단계 S445로 진행하여 어플리케이션 프로세서(110)는 슬립모드로 진입할 수 있다.
독출할 오디오 데이터가 있는 경우에 단계 S450으로 진행하여 어플리케이션 프로세서(110)는 제1 버퍼(164-1)가 비었는지 여부를 확인한다. 제1 버퍼(164-1)가 비었는지 여부의 확인은 예를 들어 모니터링 모듈을 이용하여 모니터링하거나, 제1 버퍼(164-1)의 저장 용량과 출력 속도를 이용하여 제1 버퍼(164-1)가 비는 시점을 계산하거나, 오디오 재생부(160)에서 제1 버퍼(164-1)가 비는 경우에 생성하여 출력하는 인터럽트 신호를 수신함으로써 이루어질 수 있다.
제1 버퍼(164-1)가 비지 않은 경우에는 단계 S455로 진행하여 어플리케이션 프로세서(110)는 슬립모드로 전환되고, 단계 S460에서 미리 지정된 조건을 충족하는지 여부를 확인한다.
미리 지정된 조건을 충족하는 경우에 단계 S410으로 되돌아가 다음 순위의 오디오 데이터에 대하여 상술한 단계들을 반복 수행한다.
하지만, 미리 지정된 조건을 충족하지 않는 경우에 어플리케이션 프로세서(110)는 슬립모드를 유지하며, 미리 지정된 조건이 충족되는지를 반복적으로 확인한다.
여기서, 미리 지정된 조건의 충족은 모니터링 모듈이 활성화되어 있어 제1 버퍼(164-1)가 비는 경우를 인지하거나, 제1 버퍼(164-1)가 비는 시점을 계산하여 해당 시점에 이르거나, 오디오 재생부(160)가 생성하여 출력하는 인터럽트 신호를 수신함으로써 이루어질 수 있다.
여기서는 제1 버퍼(164-1)가 비는 경우를 가정하여 설명하였지만, 제2 버퍼(164-2)에 대해서도 동일하게 미리 지정된 조건이 충족되는지 여부를 확인한 후 제2 버퍼(164-2)에 저장할 오디오 데이터를 독출하여 디코딩하는 작업을 수행할 수 있음은 물론이다.
도 8은 본 발명의 일 실시예에 따른 오디오 재생부(160)에서의 오디오 재생 방법의 순서도이다.
단계 S500에서는 단계 S420에 연결되어 어플리케이션 프로세서(110)로부터 전송된 제(2k+1) 오디오 데이터를 제1 버퍼(164-1)에 저장한다. 여기서, k는 0 이상의 정수이다.
단계 S510에서 제1 버퍼(164-1)에 저장된 제(2k+1) 오디오 데이터를 처리기(162)를 이용하여 DAC(166)로 제공하고 아날로그 변환하여 스피커(70)를 통해 출력한다.
실시예에 따라 제1 버퍼(164-1)에 저장된 제(2k+1) 오디오 데이터의 출력이 완료됨으로써 제1 버퍼(164-1)가 비는 경우에 오디오 재생부(160)는 인터럽트 신호를 생성하여 어플리케이션 프로세서(110)로 전송할 수 있다.
단계 S510의 수행 중에 단계 S530에서 단계 S435에 연결되어 어플리케이션 프로세서(110)로부터 전송된 제(2k+2) 오디오 데이터를 제2 버퍼(164-2)에 저장할 수 있다.
단계 S520에서 제2 버퍼(164-2)에 새로운 오디오 데이터의 저장이 있는지 여부를 확인한다. 제2 버퍼(164-2)에 제(2k+2) 오디오 데이터의 저장이 없는 경우 그 동작을 종료하며, 저장이 있는 경우 단계 S540으로 진행한다.
단계 S540에서 제1 버퍼(164-1)에 저장된 제(2k+1) 오디오 데이터 출력이 완료된 후에 제2 버퍼(164-2)에 저장된 제2 오디오 데이터를 처리기(162)를 이용하여 DAC(166)로 전송하고 아날로그 변환하여 스피커(70)를 통해 출력한다.
단계 S540의 수행 중에 어플리케이션 프로세서(110)로부터 새로운 오디오 데이터가 입력되는 경우에 단계 S500이 새롭게 진행되어 제1 버퍼(164-1)에 새로운 오디오 데이터가 저장될 수 있다.
단계 S550에서는 제1 버퍼(164-1)로 새로운 오디오 데이터가 저장되었는지 여부를 확인하고, 저장된 오디오 데이터가 없는 경우 그 동작을 종료한다.
저장된 오디오 데이터가 있는 경우 단계 S510으로 되돌아가 각 버퍼(164)에 저장된 오디오 데이터의 출력이 지속적으로 이루어지도록 한다.
상술한 데이터 처리 방법 또는/및 오디오 재생 방법은 디지털 처리 장치에 내장된 소프트웨어 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 자명하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 일반적인 오디오 재생 장치의 기본적인 블록구성도.
도 2는 일반적인 오디오 재생 방법의 순서도.
도 3은 본 발명의 일 실시예에 따른 오디오 재생 장치의 개략적인 블록구성도.
도 4는 본 발명의 일 실시예에 따른 어플리케이션 프로세서에서의 데이터 처리 방법의 순서도.
도 5는 본 발명의 일 실시예에 따른 오디오 파일에 속하는 오디오 데이터의 독출 순서에 따른 버퍼에의 저장 순서를 설명하기 위한 도면.
도 6은 본 발명의 일 실시예에 따른 오디오 재생부에서의 오디오 재생 방법의 순서도.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 어플리케이션 프로세서(110)에서의 데이터 처리 방법의 순서도.
도 8은 본 발명의 일 실시예에 따른 오디오 재생부(160)에서의 오디오 재생 방법의 순서도.
Claims (18)
- 후단의 오디오 재생부에서 오디오 재생 중에 어플리케이션 프로세서에서 연속적인 오디오 재생을 위한 데이터를 처리하는 방법으로서,(a) 사용자 명령에 의해 선택된 하나 이상의 오디오 파일에 대하여 저장부로부터 상기 오디오 파일의 일부분인 제n 오디오 데이터를 독출하는 단계-여기서, n은 1 이상의 자연수이고, 상기 제n 오디오 데이터는 상기 어플리케이션 프로세서에 의해 n번째로 독출된 오디오 데이터임-;(b) 상기 독출된 제n 오디오 데이터를 디코딩하는 단계;(c) 상기 디코딩된 제n 오디오 데이터가 상기 오디오 재생부에 포함되는 복수의 버퍼 중 제m 버퍼에 저장되도록 하는 단계-여기서, m = n mod M이며, M은 상기 오디오 재생부의 버퍼의 수로서 2 이상의 자연수이고 나머지가 0(zero)인 경우 m=M임-;(d) 저장부에 상기 오디오 파일에 대하여 독출할 오디오 데이터가 잔존하는지 확인하는 단계; 및(e) 독출할 오디오 데이터가 잔존하지 않는 경우 슬립모드로 진입하고,독출할 오디오 데이터가 잔존하는 경우 상기 오디오 재생부에 빈 버퍼가 있는지 확인한 후 상기 빈 버퍼가 있는 경우 n을 1 증가시켜 상기 단계 (a)로 되돌아가고 상기 빈 버퍼가 없는 경우 슬립모드로 진입하는 단계를 포함하는 오디오 재생을 위한 데이터 처리 방법.
- 제1항에 있어서,상기 단계 (a)는 상기 제m 버퍼의 저장 용량에 상응하여 상기 제n 오디오 데이터를 독출하는 것을 특징으로 하는 오디오 재생을 위한 데이터 처리 방법.
- 삭제
- 삭제
- 제1항에 있어서,(e-1) 상기 슬립모드 유지 중 미리 지정된 조건을 충족하는지 판단하는 단계;(e-2) 상기 조건을 충족하는 경우 n을 1 증가시켜 상기 단계 (a)로 되돌아가는 단계를 더 포함하는 것을 특징으로 하는 오디오 재생을 위한 데이터 처리 방법.
- 제5항에 있어서,상기 조건의 충족은 모니터링을 통해 상기 오디오 재생부의 버퍼 중 하나가 비는 것을 인지하거나, 상기 오디오 재생부의 버퍼의 저장 용량과 출력 속도를 이용하여 상기 버퍼 중 하나가 비는 시점을 계산하고 상기 시점에 이르거나, 상기 오디오 재생부가 상기 버퍼 중 하나로부터의 오디오 데이터 출력이 완료되는 경우 생성하여 출력하는 인터럽트 신호를 수신하는 것 중 하나인 것을 특징으로 하는 오디오 재생을 위한 데이터 처리 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 전단의 어플리케이션 프로세서로부터 전송된 오디오 데이터를 저장하는 복수의 버퍼;상기 오디오 데이터를 아날로그 변환하여 후단의 스피커로 출력하는 DAC(Digital Analog Converter); 및출력 순서에 따라 상기 버퍼에 저장된 오디오 데이터를 순차적으로 상기 DAC로 전송하는 처리기를 포함하되,상기 처리기는 저장하고 있는 오디오 데이터를 출력함으로 인해 상기 버퍼 중 하나가 비는 경우 인터럽트 신호를 생성하여 상기 어플리케이션 프로세서로 전송하여 슬립모드에 있는 상기 어플리케이션 프로세서를 동작모드로 전환시키는 것을 특징으로 하는 오디오 재생기.
- 삭제
- 사용자 명령을 입력받는 입력부;하나 이상의 오디오 파일을 저장하고 있는 저장부;디코딩 대상이 되는 오디오 데이터를 임시로 저장하는 RAM;디코딩된 오디오 데이터를 저장하는 복수의 버퍼를 구비하고, 순차적으로 아날로그 변환하여 출력하는 오디오 재생부;상기 오디오 재생부로부터 출력되는 아날로그 신호를 외부로 출력하는 스피커; 및상기 사용자 명령에 따라 상기 저장부에 저장된 오디오 파일에 속하는 오디오 데이터를 순차적으로 독출하여 상기 RAM과 연동하여 디코딩하고, 상기 오디오 재생부로 전송하는 어플리케이션 프로세서를 포함하되,상기 어플리케이션 프로세서는 상기 오디오 재생부의 버퍼가 모두 풀(full)인 경우에 슬립모드로 진입하는 것을 특징으로 하는 오디오 재생 장치.
- 제13항에 있어서,상기 오디오 재생부는 M(2 이상의 자연수)개의 버퍼를 포함하되,상기 어플리케이션 프로세서는 n번째 독출하는 제n 오디오 데이터에 대하여 제m 버퍼의 저장 용량에 상응하는 데이터 양만큼 독출하여 디코딩하며,m = n mod M이고, mod는 나머지 함수이되 나머지가 0인 경우 m=M인 것을 특징으로 하는 오디오 재생 장치.
- 삭제
- 제13항에 있어서,상기 어플리케이션 프로세서는 모니터링을 통해 상기 오디오 재생부의 버퍼 중 하나가 비는 것을 인지하거나, 상기 오디오 재생부의 버퍼의 저장 용량과 출력 속도를 이용하여 상기 버퍼 중 하나가 비는 시점을 계산하고 상기 시점에 이르거나, 상기 오디오 재생부가 상기 버퍼 중 하나로부터의 오디오 데이터 출력이 완료되는 경우 생성하여 출력하는 인터럽트 신호를 수신하는 경우 상기 슬립모드에서 벗어나 동작모드로 재진입하는 것을 특징으로 하는 오디오 재생 장치.
- 제1항, 제2항, 제5항 및 제6항 중 어느 하나에 기재된 오디오 재생을 위한 데이터 처리 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체.
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090088031A KR101036232B1 (ko) | 2009-09-17 | 2009-09-17 | 오디오 재생을 위한 데이터 처리 방법, 오디오 재생 방법 및 오디오 재생 장치 |
US12/883,725 US8509930B2 (en) | 2009-09-17 | 2010-09-16 | Data processing method for audio data playback, audio data playback method and audio data playback device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090088031A KR101036232B1 (ko) | 2009-09-17 | 2009-09-17 | 오디오 재생을 위한 데이터 처리 방법, 오디오 재생 방법 및 오디오 재생 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110030080A KR20110030080A (ko) | 2011-03-23 |
KR101036232B1 true KR101036232B1 (ko) | 2011-05-20 |
Family
ID=43731324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090088031A KR101036232B1 (ko) | 2009-09-17 | 2009-09-17 | 오디오 재생을 위한 데이터 처리 방법, 오디오 재생 방법 및 오디오 재생 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8509930B2 (ko) |
KR (1) | KR101036232B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8738824B1 (en) * | 2010-04-21 | 2014-05-27 | Marvell International Ltd. | Low power audio codec |
KR20120108570A (ko) * | 2011-03-24 | 2012-10-05 | 삼성전자주식회사 | 오디오 장치, 및 그 동작 방법 |
KR101804799B1 (ko) * | 2011-10-25 | 2017-12-06 | 삼성전자주식회사 | 저전력으로 오디오 데이터를 재생하는 장치 및 방법 |
KR20160090487A (ko) * | 2015-01-22 | 2016-08-01 | 삼성전자주식회사 | 오디오 프로세싱 시스템 |
US10210111B2 (en) * | 2017-04-10 | 2019-02-19 | Dell Products L.P. | Systems and methods for minimizing audio glitches when incurring system management interrupt latency |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000060285A (ko) * | 1999-03-13 | 2000-10-16 | 김영환 | 디지탈 오디오 디코더 및 그에 따른 디코딩 방법 |
KR20040026745A (ko) * | 2002-09-26 | 2004-04-01 | 엘지전자 주식회사 | 컴퓨터 오디오 시스템의 전원 관리방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060010472A1 (en) * | 2004-07-06 | 2006-01-12 | Balazs Godeny | System, method, and apparatus for creating searchable media files from streamed media |
US8762561B2 (en) * | 2008-07-23 | 2014-06-24 | Qualcomm Incorporated | System, method or apparatus for combining multiple streams of media data |
-
2009
- 2009-09-17 KR KR1020090088031A patent/KR101036232B1/ko active IP Right Grant
-
2010
- 2010-09-16 US US12/883,725 patent/US8509930B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000060285A (ko) * | 1999-03-13 | 2000-10-16 | 김영환 | 디지탈 오디오 디코더 및 그에 따른 디코딩 방법 |
KR20040026745A (ko) * | 2002-09-26 | 2004-04-01 | 엘지전자 주식회사 | 컴퓨터 오디오 시스템의 전원 관리방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20110030080A (ko) | 2011-03-23 |
US20110066264A1 (en) | 2011-03-17 |
US8509930B2 (en) | 2013-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101036232B1 (ko) | 오디오 재생을 위한 데이터 처리 방법, 오디오 재생 방법 및 오디오 재생 장치 | |
JP2010078979A (ja) | 音声録音装置、録音音声検索方法及びプログラム | |
JP2009157272A (ja) | 音声再生装置 | |
CN101809999B (zh) | 声音信号控制装置 | |
US8030563B2 (en) | Electronic audio playing apparatus and method | |
EP2302633A1 (en) | Storage device and driving method thereof | |
CN109495776B (zh) | 一种音频发送、播放的方法及智能终端 | |
CN1954602A (zh) | 录像再生编辑装置 | |
EP1551024A2 (en) | File access method for a storage medium in a wireless terminal | |
CN1148061C (zh) | 图像重放设备 | |
CN100556111C (zh) | 信息处理设备 | |
US8463106B2 (en) | Contents reproducing device | |
US7974518B2 (en) | Record reproducing device, simultaneous record reproduction control method and simultaneous record reproduction control program | |
CN114302180A (zh) | 视频单帧播放方法、设备、服务器、系统及存储介质 | |
US8957775B2 (en) | Electronic device and wireless control method | |
KR100745250B1 (ko) | 오디오/비디오 동기용 멀티미디어 파일 작성 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체 및 오디오/비디오동조화 장치 | |
US8090970B2 (en) | Apparatus and method for playing multimedia data | |
JP2004335013A (ja) | データ蓄積装置およびデータ蓄積方法 | |
US11909985B2 (en) | Electronic device and method of operating the same | |
KR20120074059A (ko) | 오디오 데이터 출력 방법 및 장치 | |
CN111757168B (zh) | 音频解码方法、装置、存储介质及设备 | |
JP2005057460A (ja) | 映像及び音声信号記録装置 | |
JP2005107617A (ja) | 音声データ検索装置。 | |
US20030226119A1 (en) | Integrated circuit design of a standard access interface for playing compressed music | |
EP2302867B1 (en) | Method and apparatus for managing multimedia communication recordings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140428 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150428 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180425 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190425 Year of fee payment: 9 |